Código-fonte para inewave.nwlistcf.estados

from inewave.nwlistcf.modelos.estados import EstadosPeriodoNwlistcf

from cfinterface.files.blockfile import BlockFile
from typing import TypeVar, Optional
import pandas as pd  # type: ignore


[documentos] class Estados(BlockFile): """ Armazena os dados dos estados visitados pelo NEWAVE existentes no arquivo `estados.rel` do NWLISTCF. Esta classe armazena os estados de cada uma das variáveis envolvidas no problema e da função objetivo, para cada registro e REE dentro do registro. """ T = TypeVar("T") BLOCKS = [EstadosPeriodoNwlistcf] def __init__(self, data=...) -> None: super().__init__(data) self.__estados_periodos = None def __monta_tabela_estados(self) -> pd.DataFrame: df = None for b in self.data.of_type(EstadosPeriodoNwlistcf): dados = b.data if dados is None: continue elif df is None: df = b.data else: df = pd.concat([df, b.data], ignore_index=True) return df @property def estados(self) -> Optional[pd.DataFrame]: """ Tabela com os estados visitados na construção da FCF. - PERIODO (`int`) - IREG (`int`) - ITEc (`int`) - SIMc (`int`) - ITEf (`int`) - REE ou UHE (`int`) - FUNC. OBJ. (`float`) - EARM ou VARM (`float`) - EAF(1) ou VAF(1) (`float`) - ... - EAF(12) ou VAF(12) (`float`) - SGT(P1E1) (`float`) - ... - SGT(P3E3) (`float`) - MX_SAR (`float`) - MX_VMN ou MX_CURVA (`float`) :return: A tabela de estados como um DataFrame :rtype: pd.DataFrame | None """ if self.__estados_periodos is None: self.__estados_periodos = self.__monta_tabela_estados() return self.__estados_periodos