.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples/plot_forward.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_forward.py: ===================================================== Leitura dos binários forwarh.dat e forward.dat ===================================================== .. GENERATED FROM PYTHON SOURCE LINES 9-15 .. warning:: Estes arquivos podem mudar de formato com frequência mediante o versionamento do modelo. Recomenda-se atenção com o uso da propriedade `set_version` para a versão correta e, caso esta não seja suportada, a abertura de uma `issue `_. .. GENERATED FROM PYTHON SOURCE LINES 17-19 Para ilustrar o processamento destes arquivos, serão usados módulos de visualização como o plotly .. GENERATED FROM PYTHON SOURCE LINES 19-24 .. code-block:: Python import plotly.io as pio pio.templates.default = "ggplot2" .. GENERATED FROM PYTHON SOURCE LINES 25-29 O forward.dat é o arquivo binário de saída do modelo NEWAVE que contém as informações sobre a simulação final. Para casos oficiais, seu tamanho pode chegar a vários GB. A leitura deste arquivo só é possível ao processar anteriormente o arquivo forwarh.dat, que contém informações necessárias para configurar a leitura do forward.dat. .. GENERATED FROM PYTHON SOURCE LINES 29-49 .. code-block:: Python from inewave.newave.forwarh import Forwarh arq_cabecalho = Forwarh.read("./newave/forwarh.dat") tamanho_registro = arq_cabecalho.tamanho_registro_arquivo_forward numero_estagios = 1 # arq_cabecalho.numero_estagios_estudo numero_forwards = 2 # arq_cabecalho.numero_series_gravadas numero_forwards = arq_cabecalho.numero_registros_arquivo_forward numero_rees = arq_cabecalho.numero_rees numero_submercados = arq_cabecalho.numero_submercados numero_total_submercados = arq_cabecalho.numero_total_submercados numero_patamares_carga = arq_cabecalho.numero_patamares_carga numero_patamares_deficit = arq_cabecalho.numero_patamares_deficit numero_classes_termicas_submercados = ( arq_cabecalho.numero_classes_termicas_submercados ) .. GENERATED FROM PYTHON SOURCE LINES 50-53 Além do arquivo forwarh.dat, é necessário obter informações de alguns outros arquivos de entrada, que serão utilizadas para a montagem dos `DataFrame` retornados pelas propriedades da classe `Forward` de maneira coerente .. GENERATED FROM PYTHON SOURCE LINES 53-76 .. code-block:: Python from inewave.newave import Adterm, Agrint, Confhd, Conft arq_adterm = Adterm.read("./newave/adterm.dat") arq_agrint = Agrint.read("./newave/agrint.dat") arq_confhd = Confhd.read("./newave/confhd.dat") arq_conft = Conft.read("./newave/conft.dat") numero_agrupamentos_intercambio = len( arq_agrint.agrupamentos["agrupamento"].unique() ) uhes = arq_confhd.usinas nomes_usinas_hidreletricas = uhes["nome_usina"].to_list() numero_usinas_hidreletricas = len(nomes_usinas_hidreletricas) utes = arq_conft.usinas utes = utes.sort_values("submercado") nomes_classes_termicas = utes["nome_usina"].unique() lag_maximo_usinas_gnl = arq_adterm.despachos["lag"].max() .. GENERATED FROM PYTHON SOURCE LINES 77-85 .. warning:: Caso a leitura esteja sendo feita nos arquivos provenientes de uma execução oficial do modelo, recomenda-se que seja em um ambiente com quantidade suficiente de memória RAM. A implementação atual realiza a conversão de todos os dados lidos para formato de DataFrames, resultando em um grande consumo de memória. Os arquivos tratados neste exemplo são de uma execução reduzida específica para os testes. .. GENERATED FROM PYTHON SOURCE LINES 88-95 A leitura do arquivo binário com os dados é feita utilizando as informações adquiridas anteriormente. O número de estágios e simulações forward, que deveriam ser obtidos do arquivo cabeçalho, são atribuídos manualmente como constantes, pois o arquivo de dados foi editado manualmente para economia de espaço no repositório. Da mesma forma, as variáveis de número de parques eólicos equivalentes e estações de bombeamento também foram atribuídos manualmente, pois deveriam ser lidos dos arquivos em formato LIBS, que não existiam para o caso de teste. .. GENERATED FROM PYTHON SOURCE LINES 95-118 .. code-block:: Python from inewave.newave.forward import Forward arq_binario = Forward.read( "./newave/forward.dat", tamanho_registro=tamanho_registro, numero_estagios=1, numero_forwards=2, numero_rees=numero_rees, numero_submercados=numero_submercados, numero_total_submercados=numero_total_submercados, numero_patamares_carga=numero_patamares_carga, numero_patamares_deficit=numero_patamares_deficit, numero_agrupamentos_intercambio=numero_agrupamentos_intercambio, numero_classes_termicas_submercados=numero_classes_termicas_submercados, numero_usinas_hidreletricas=numero_usinas_hidreletricas, lag_maximo_usinas_gnl=lag_maximo_usinas_gnl, numero_parques_eolicos_equivalentes=0, numero_estacoes_bombeamento=0, nomes_classes_termicas=nomes_classes_termicas, nomes_usinas_hidreletricas=nomes_usinas_hidreletricas, ) .. GENERATED FROM PYTHON SOURCE LINES 119-122 O arquivo binário possui um grande número de propriedades, que podem ser consultadas diretamente na documentação do :ref:`Forward `. Um exemplo é o custo marginal da operação em R$/MWh .. GENERATED FROM PYTHON SOURCE LINES 122-125 .. code-block:: Python cmo = arq_binario.custo_marginal_operacao cmo .. raw:: html
estagio cenario submercado patamar valor
0 1 1 SUDESTE 1 737.010010
1 1 1 SUDESTE 2 737.010010
2 1 1 SUDESTE 3 182.199997
3 1 1 SUL 1 737.015015
4 1 1 SUL 2 737.015015
5 1 1 SUL 3 182.205002
6 1 1 NORDESTE 1 0.007271
7 1 1 NORDESTE 2 0.006899
8 1 1 NORDESTE 3 0.006899
9 1 1 NORTE 1 0.002271
10 1 1 NORTE 2 0.001899
11 1 1 NORTE 3 0.001899
12 1 2 SUDESTE 1 548.039978
13 1 2 SUDESTE 2 545.972778
14 1 2 SUDESTE 3 328.429993
15 1 2 SUL 1 548.044983
16 1 2 SUL 2 545.977783
17 1 2 SUL 3 328.434998
18 1 2 NORDESTE 1 334.051575
19 1 2 NORDESTE 2 334.051575
20 1 2 NORDESTE 3 328.424988
21 1 2 NORTE 1 334.046570
22 1 2 NORTE 2 334.046570
23 1 2 NORTE 3 328.424988


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