Código fonte para idecomp.decomp.relgnl

from idecomp._utils.bloco import Bloco
# from idecomp.decomp.modelos.relato import BlocoDadosGeraisRelato
from idecomp.decomp.modelos.relgnl import BlocoDadosUsinasRelGNL
from idecomp.decomp.modelos.relgnl import BlocoComandosUsinasAjustesTGRelGNL
from idecomp.decomp.modelos.relgnl import BlocoComandosUsinasAjustesRERelGNL
from idecomp.decomp.modelos.relgnl import BlocoRelatorioOperacaoRelGNL
from idecomp.decomp.modelos.relgnl import LeituraRelGNL
from idecomp._utils.arquivo import ArquivoBlocos
from idecomp._utils.dadosarquivo import DadosArquivoBlocos
from typing import Type
import pandas as pd  # type: ignore


[documentos]class RelGNL(ArquivoBlocos): """ Armazena os dados de saída do DECOMP referentes às térmicas de despacho antecipado (GNL). Esta classe lida com as informações de entrada fornecidas ao DECOMP e reproduzidas no `relgnl.rvx`, bem como as saídas finais da execução. """ def __init__(self, dados: DadosArquivoBlocos) -> None: super().__init__(dados) # Override
[documentos] @classmethod def le_arquivo(cls, diretorio: str, nome_arquivo="relgnl.rv0") -> 'RelGNL': """ """ leitor = LeituraRelGNL(diretorio) r = leitor.le_arquivo(nome_arquivo) return cls(r)
def __obtem_bloco(self, tipo: Type[Bloco]) -> Bloco: """ """ for b in self._blocos: if isinstance(b, tipo): return b raise ValueError(f"Não foi encontrado um bloco do tipo {tipo}") @property def usinas_termicas(self) -> pd.DataFrame: """ Tabela de informações das usinas térmicas GNL. **Retorna** `pd.DataFrame` **Sobre** """ b = self.__obtem_bloco(BlocoDadosUsinasRelGNL) return b.dados @property def comandos_usinas_registros_tg(self) -> pd.DataFrame: """ Tabela de comandos das usinas térmicas GNL com ajustes devido aos registros TG. **Retorna** `pd.DataFrame` **Sobre** """ b = self.__obtem_bloco(BlocoComandosUsinasAjustesTGRelGNL) return b.dados @property def comandos_usinas_restricoes_eletricas(self) -> pd.DataFrame: """ Tabela de comandos das usinas térmicas GNL com ajustes devido a restrições elétricas especiais. **Retorna** `pd.DataFrame` **Sobre** """ b = self.__obtem_bloco(BlocoComandosUsinasAjustesRERelGNL) return b.dados @property def relatorio_operacao_termica(self) -> pd.DataFrame: """ Tabela com o relatório do despacho sinalizado para as usinas térmicas GNL. **Retorna** `pd.DataFrame` **Sobre** """ b = self.__obtem_bloco(BlocoRelatorioOperacaoRelGNL) return b.dados