.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples/plot_sintese_execucao.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_examples_plot_sintese_execucao.py: ======================================== Síntese da Execução ======================================== .. GENERATED FROM PYTHON SOURCE LINES 8-15 Para realizar a síntese da execução de um caso do NEWAVE é necessário estar em um diretório no qual estão os principais arquivos de saída do modelo. Por exemplo, para se realizar a síntese de tempo de execução, é necessario o `newave.tim`. Para a síntese da convergência, o `pmo.dat`. Neste contexto, basta fazer:: $ sintetizador-newave execucao .. GENERATED FROM PYTHON SOURCE LINES 17-30 O sintetizador irá exibir o log da sua execução:: >>> 2024-04-22 10:33:42,304 INFO: # Realizando síntese da EXECUÇÃO # >>> 2024-04-22 10:33:42,306 INFO: Realizando síntese de PROGRAMA >>> 2024-04-22 10:33:42,315 INFO: Tempo para sintese de PROGRAMA: 0.01 s >>> 2024-04-22 10:33:42,315 INFO: Realizando síntese de CONVERGENCIA >>> 2024-04-22 10:33:42,941 INFO: Tempo para sintese de CONVERGENCIA: 0.63 s >>> 2024-04-22 10:33:42,942 INFO: Realizando síntese de TEMPO >>> 2024-04-22 10:33:42,946 INFO: Tempo para sintese de TEMPO: 0.00 s >>> 2024-04-22 10:33:42,946 INFO: Realizando síntese de CUSTOS >>> 2024-04-22 10:33:42,948 INFO: Tempo para sintese de CUSTOS: 0.00 s >>> 2024-04-22 10:33:42,951 INFO: Tempo para sintese da execucao: 0.65 s >>> 2024-04-22 10:33:42,951 INFO: # Fim da síntese # .. GENERATED FROM PYTHON SOURCE LINES 32-34 Os arquivos serão salvos no subdiretório `sintese`. Para realizar o processamento, pode ser utilizado o próprio `python`: .. GENERATED FROM PYTHON SOURCE LINES 34-41 .. code-block:: Python import plotly.express as px import pandas as pd convergencia = pd.read_parquet("sintese/CONVERGENCIA.parquet") custos = pd.read_parquet("sintese/CUSTOS.parquet") tempo = pd.read_parquet("sintese/TEMPO.parquet") .. GENERATED FROM PYTHON SOURCE LINES 42-43 O formato dos dados de CONVERGÊNCIA: .. GENERATED FROM PYTHON SOURCE LINES 43-45 .. code-block:: Python print(convergencia.head(10)) .. rst-class:: sphx-glr-script-out .. code-block:: none iteracao zinf delta_zinf zsup tempo 0 1 38352.81 NaN 45186.18 8 1 2 39662.03 3.414 41338.57 5 2 3 39665.26 0.008 39660.48 6 3 4 40458.95 2.001 35665.87 6 4 5 40510.69 0.128 35470.21 6 5 6 40619.30 0.268 39362.90 6 6 7 40620.26 0.002 38210.32 8 7 8 40621.08 0.002 46657.10 9 8 9 40789.08 0.414 52822.94 7 9 10 40805.40 0.040 40996.30 10 .. GENERATED FROM PYTHON SOURCE LINES 46-47 O formato dos dados de CUSTOS: .. GENERATED FROM PYTHON SOURCE LINES 47-49 .. code-block:: Python print(custos.head(10)) .. rst-class:: sphx-glr-script-out .. code-block:: none parcela valor_esperado desvio_padrao 0 GERACAO TERMICA 21045.13 0.00 1 DEFICIT 0.00 0.00 2 VERTIMENTO 0.00 0.00 3 EXCESSO ENERGIA 0.00 0.00 4 VIOLACAO CAR 0.00 0.00 5 VIOLACAO SAR 0.00 0.00 6 VIOL. OUTROS USOS 0.00 0.00 7 VIOLACAO EVMIN 0.00 0.00 8 VIOLACAO VZMIN 2976.33 611.93 9 INTERCAMBIO 0.97 0.04 .. GENERATED FROM PYTHON SOURCE LINES 50-51 O formato dos dados de TEMPO: .. GENERATED FROM PYTHON SOURCE LINES 51-53 .. code-block:: Python print(tempo.head(5)) .. rst-class:: sphx-glr-script-out .. code-block:: none etapa tempo 0 Leitura de Dados 0.0 1 Calculos Iniciais 905.0 2 Calculo da Politica 6131.0 3 Simulacao Final 901.0 .. GENERATED FROM PYTHON SOURCE LINES 54-56 Cada arquivo pode ser visualizado de diferentes maneiras, a depender da aplicação. Por exemplo, é comum avaliar a convergência do modelo através da variação do Zinf. .. GENERATED FROM PYTHON SOURCE LINES 56-64 .. code-block:: Python fig = px.line( convergencia, x="iteracao", y="delta_zinf", ) fig .. raw:: html


.. GENERATED FROM PYTHON SOURCE LINES 65-67 Quando se analisam os custos de cada fonte, geralmente são feitos gráficos de barras empilhadas ou setores: .. GENERATED FROM PYTHON SOURCE LINES 67-75 .. code-block:: Python fig = px.pie( custos.loc[custos["valor_esperado"] > 0], values="valor_esperado", names="parcela", ) fig .. raw:: html


.. GENERATED FROM PYTHON SOURCE LINES 76-77 Uma abordagem semelhante é utilizada na análise do tempo de execução: .. GENERATED FROM PYTHON SOURCE LINES 77-89 .. code-block:: Python from datetime import timedelta tempo["tempo"] = pd.to_timedelta(tempo["tempo"], unit="s") / timedelta(hours=1) tempo["label"] = [str(timedelta(hours=d)) for d in tempo["tempo"].tolist()] fig = px.bar( tempo, x="etapa", y="tempo", text="label", barmode="group", ) fig .. raw:: html


.. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 1.204 seconds) .. _sphx_glr_download_examples_plot_sintese_execucao.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_sintese_execucao.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_sintese_execucao.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_sintese_execucao.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_