Pacote Python para leitura e escrita dos arquivos de entrada e saída do modelo NEWAVE e dos programas auxiliares NWLISTOP e NWLISTCF.
O inewave é um pacote Python para manipulação dos arquivos de entrada e saída do programa NEWAVE. O NEWAVE é desenvolvido pelo CEPEL e utilizado para os estudos de planejamento e operação do Sistema Interligado Nacional (SIN).
- Leitura e escrita dos arquivos de entrada do NEWAVE, com suporte a modificações programáticas de decks de PMO
- Leitura dos arquivos de saída do NEWAVE e dos programas auxiliares NWLISTCF e NWLISTOP
- Dados tabulares expostos como
DataFramedo pandas, prontos para análise e visualização - Interface orientada a objetos consistente: cada arquivo corresponde a uma classe com método
reade, quando aplicável, métodowrite - Suporte a múltiplas versões de formato do mesmo arquivo, com seleção via argumento
version=no métodoread - Importação sob demanda (lazy import) para inicialização rápida mesmo com dezenas de classes disponíveis
Leitura do arquivo de saída pmo.dat e acesso aos dados de convergência como DataFrame:
from inewave.newave import Pmo
arq_pmo = Pmo.read("./pmo.dat")
arq_pmo.convergenciaLeitura de um arquivo de entrada, modificação de valores e escrita do resultado:
from inewave.newave import Vazoes
arq_vazoes = Vazoes.read("./vazoes.dat")
# Sensibilidade: elevar todas as vazões históricas em 10%
arq_vazoes.vazoes *= 1.1
arq_vazoes.write("./vazoes_sensibilidade.dat")O inewave é compatível com Python 3.11, 3.12, 3.13 e 3.14.
Instalação a partir do PyPI:
pip install inewave
Instalação da versão de desenvolvimento diretamente do repositório:
pip install git+https://github.com/rjmalves/inewave
A documentação completa do pacote está disponível em rjmalves.github.io/inewave e inclui:
- Tutorial — exemplos de leitura, escrita e modificação de arquivos
- Arquitetura — estrutura interna do pacote e do framework cfinterface
- Perguntas Frequentes — dúvidas comuns dos usuários
- Guia de Desempenho — características de performance e resultados de benchmarks
- Referencia da API — documentação de todas as classes e propriedades públicas
Contribuições são bem-vindas. Consulte o arquivo CONTRIBUTING.md para instruções sobre como configurar o ambiente de desenvolvimento, executar os testes e enviar pull requests.
Distribuído sob a licença MIT.