Código-fonte para inewave.newave.ree

from cfinterface.files.sectionfile import SectionFile
from cfinterface.components.section import Section
from typing import TypeVar, List, Type, Optional

import pandas as pd  # type: ignore

from inewave.newave.modelos.ree import (
    BlocoReesSubmercados,
    BlocoFicticiasIndividualizado,
)


[documentos] class Ree(SectionFile): """ Armazena os dados de entrada do NEWAVE referentes às configurações dos REEs. """ T = TypeVar("T") SECTIONS: List[Type[Section]] = [ BlocoReesSubmercados, BlocoFicticiasIndividualizado, ] @property def rees(self) -> Optional[pd.DataFrame]: """ Tabela com os REES e os submercados - codigo (`int`) - nome (`str`) - submercado (`int`) - mes_fim_individualizado (`int`) - ano_fim_individualizado (`int`) :return: A tabela como um DataFrame. :rtype: pd.DataFrame | None """ b = self.data.get_sections_of_type(BlocoReesSubmercados) if isinstance(b, BlocoReesSubmercados): return b.data return None @rees.setter def rees(self, df: pd.DataFrame): b = self.data.get_sections_of_type(BlocoReesSubmercados) if isinstance(b, BlocoReesSubmercados): b.data = df @property def remocao_ficticias(self) -> Optional[int]: """ Opção de remover usinas fictícias nos períodos individualizados. :return: O valor do campo. :rtype: int | None """ b = self.data.get_sections_of_type(BlocoFicticiasIndividualizado) if isinstance(b, BlocoFicticiasIndividualizado): return b.data[1] return None @remocao_ficticias.setter def remocao_ficticias(self, d: int): b = self.data.get_sections_of_type(BlocoFicticiasIndividualizado) if isinstance(b, BlocoFicticiasIndividualizado): b.data[1] = d