Código-fonte para inewave.libs.modelos.eolica

from typing import Optional
from cfinterface.components.register import Register
from cfinterface.components.line import Line
from cfinterface.components.integerfield import IntegerField
from cfinterface.components.literalfield import LiteralField
from cfinterface.components.floatfield import FloatField
from cfinterface.components.datetimefield import DatetimeField
from datetime import datetime


[documentos] class RegistroPEECadastro(Register): """ Registro que contém um cadastro de um parque eólico equivalente. """ IDENTIFIER = "PEE-CAD" IDENTIFIER_DIGITS = 7 LINE = Line( [ IntegerField(), LiteralField(), ], delimiter=";", ) @property def codigo_pee(self) -> Optional[int]: return self.data[0] @codigo_pee.setter def codigo_pee(self, c: int): self.data[0] = c @property def nome_pee(self) -> Optional[str]: return self.data[1] @nome_pee.setter def nome_pee(self, n: str): self.data[1] = n
[documentos] class RegistroPEEPotenciaInstaladaPeriodo(Register): """ Registro que contém a informação de início e fim de operação para uma certa potência instalada de um parque eólico equivalente. """ IDENTIFIER = "PEE-POT-INST-PER" IDENTIFIER_DIGITS = 16 LINE = Line( [ IntegerField(), DatetimeField(size=7, format="%Y/%m"), DatetimeField(size=7, format="%Y/%m"), FloatField(decimal_digits=3), ], delimiter=";", ) @property def codigo_pee(self) -> Optional[int]: """ O código do PEE. :return: O código :rtype: Optional[int] """ return self.data[0] @codigo_pee.setter def codigo_pee(self, c: int): self.data[0] = c @property def periodo_inicial(self) -> Optional[datetime]: """ A data de início para a validade da potência instalada. :return: A data :rtype: Optional[datetime] """ return self.data[1] @periodo_inicial.setter def periodo_inicial(self, p: datetime): self.data[1] = p @property def periodo_final(self) -> Optional[datetime]: """ A data de fim para a validade da potência instalada. :return: A data :rtype: Optional[datetime] """ return self.data[2] @periodo_final.setter def periodo_final(self, p: datetime): self.data[2] = p @property def potencia_instalada(self) -> Optional[float]: return self.data[3] @potencia_instalada.setter def potencia_instalada(self, n: float): self.data[3] = n
[documentos] class RegistroPEEConfiguracaoPeriodo(Register): """ Registro que contém um estado de operação de um PEE por período. """ IDENTIFIER = "PEE-CONFIG-PER" IDENTIFIER_DIGITS = 14 LINE = Line( [ IntegerField(), DatetimeField(size=7, format="%Y/%m"), DatetimeField(size=7, format="%Y/%m"), LiteralField(), ], delimiter=";", ) @property def codigo_pee(self) -> Optional[int]: """ O código do PEE. :return: O código :rtype: Optional[int] """ return self.data[0] @codigo_pee.setter def codigo_pee(self, c: int): self.data[0] = c @property def data_inicio(self) -> Optional[datetime]: """ A data de início para a validade do estado de operação. :return: A data :rtype: Optional[datetime] """ return self.data[1] @data_inicio.setter def data_inicio(self, n: datetime): self.data[1] = n @property def data_fim(self) -> Optional[datetime]: """ A data de fim para a validade do estado de operação. :return: A data :rtype: Optional[datetime] """ return self.data[2] @data_fim.setter def data_fim(self, n: datetime): self.data[2] = n @property def estado_operacao(self) -> Optional[str]: """ O estado de operação. :return: O estado :rtype: Optional[str] """ return self.data[3] @estado_operacao.setter def estado_operacao(self, n: str): self.data[3] = n
[documentos] class RegistroPEEFTE(Register): """ Registro que contém as informações da função de produção linear vento-potência para um PEE. """ IDENTIFIER = "PEE-FPVP-LIN-PU-PER" IDENTIFIER_DIGITS = 19 LINE = Line( [ IntegerField(), DatetimeField(size=7, format="%Y/%m"), DatetimeField(size=7, format="%Y/%m"), FloatField(size=20, decimal_digits=17), FloatField(size=20, decimal_digits=17), ], delimiter=";", ) @property def codigo_pee(self) -> Optional[int]: """ O código do PEE. :return: O código :rtype: Optional[int] """ return self.data[0] @codigo_pee.setter def codigo_pee(self, c: int): self.data[0] = c @property def data_inicio(self) -> Optional[datetime]: """ A data de início para a validade da função de transformação eólica. :return: A data :rtype: Optional[datetime] """ return self.data[1] @data_inicio.setter def data_inicio(self, c: datetime): self.data[1] = c @property def data_fim(self) -> Optional[datetime]: """ A data de fim para a validade da função de transformação eólica. :return: A data :rtype: Optional[datetime] """ return self.data[2] @data_fim.setter def data_fim(self, c: datetime): self.data[2] = c @property def coeficiente_linear(self) -> Optional[float]: """ O coeficiente linear para a FTE :return: O coeficiente :rtype: Optional[float] """ return self.data[3] @coeficiente_linear.setter def coeficiente_linear(self, c: float): self.data[3] = c @property def coeficiente_angular(self) -> Optional[float]: """ O coeficiente angular para a FTE :return: O coeficiente :rtype: Optional[float] """ return self.data[4] @coeficiente_angular.setter def coeficiente_angular(self, c: float): self.data[4] = c
[documentos] class RegistroPEEGeracaoPatamar(Register): """ Registro que contém as profundidades dos patamares de cada período para o histórico de geração de um PEE. """ IDENTIFIER = "PEE-GER-PROF-PER-PAT" IDENTIFIER_DIGITS = 20 LINE = Line( [ IntegerField(), DatetimeField(size=7, format="%Y/%m"), DatetimeField(size=7, format="%Y/%m"), IntegerField(), FloatField(decimal_digits=4), ], delimiter=";", ) @property def codigo_pee(self) -> Optional[int]: """ O código do PEE. :return: O código :rtype: Optional[int] """ return self.data[0] @codigo_pee.setter def codigo_pee(self, c: int): self.data[0] = c @property def data_inicio(self) -> Optional[datetime]: """ A data de início para a geração. :return: A data :rtype: Optional[datetime] """ return self.data[1] @data_inicio.setter def data_inicio(self, c: datetime): self.data[1] = c @property def data_fim(self) -> Optional[datetime]: """ A data de fim para a geração. :return: A data :rtype: Optional[datetime] """ return self.data[2] @data_fim.setter def data_fim(self, c: datetime): self.data[2] = c @property def indice_patamar(self) -> Optional[int]: """ O índice do patamar. :return: O patamar :rtype: Optional[int] """ return self.data[3] @indice_patamar.setter def indice_patamar(self, c: int): self.data[3] = c @property def profundidade(self) -> Optional[float]: """ O valor de profundidade da geração no patamar. :return: A profundidade do patamar :rtype: Optional[float] """ return self.data[4] @profundidade.setter def profundidade(self, c: float): self.data[4] = c
[documentos] class RegistroHistoricoVentoHorizonte(Register): """ Registro que contém o horizonte de históricos de vento. """ IDENTIFIER = "VENTO-HIST-HORIZ" IDENTIFIER_DIGITS = 16 LINE = Line( [ DatetimeField(size=7, format="%Y/%m"), DatetimeField(size=7, format="%Y/%m"), ], delimiter=";", ) @property def data_inicio(self) -> Optional[datetime]: """ A data de início do horizonte a ser considerado. :return: A data :rtype: Optional[datetime] """ return self.data[0] @data_inicio.setter def data_inicio(self, c: datetime): self.data[0] = c @property def data_fim(self) -> Optional[datetime]: """ A data de fim do horizonte a ser considerado. :return: A data :rtype: Optional[datetime] """ return self.data[1] @data_fim.setter def data_fim(self, c: datetime): self.data[1] = c
[documentos] class RegistroHistoricoVento(Register): """ Registro que contém os históricos de vento para o horizonte considerado em um PEE. """ IDENTIFIER = "VENTO-HIST" IDENTIFIER_DIGITS = 10 LINE = Line( [ IntegerField(), DatetimeField(size=7, format="%Y/%m"), DatetimeField(size=7, format="%Y/%m"), FloatField(decimal_digits=2), FloatField(decimal_digits=2), ], delimiter=";", ) @property def codigo_posto(self) -> Optional[int]: """ O código do posto. :return: O código :rtype: Optional[int] """ return self.data[0] @codigo_posto.setter def codigo_posto(self, c: int): self.data[0] = c @property def data_inicio(self) -> Optional[datetime]: """ A data de início do valor histórico. :return: A data :rtype: Optional[datetime] """ return self.data[1] @data_inicio.setter def data_inicio(self, c: datetime): self.data[1] = c @property def data_fim(self) -> Optional[datetime]: """ A data de fim do valor histórico. :return: A data :rtype: Optional[datetime] """ return self.data[2] @data_fim.setter def data_fim(self, c: datetime): self.data[2] = c @property def velocidade(self) -> Optional[float]: """ A velocidade média do vento no período. :return: A velocidade :rtype: Optional[float] """ return self.data[3] @velocidade.setter def velocidade(self, c: float): self.data[3] = c @property def direcao(self) -> Optional[float]: """ A direção média do vento no período. :return: A direção :rtype: Optional[float] """ return self.data[4] @direcao.setter def direcao(self, c: float): self.data[4] = c
[documentos] class RegistroPostoVentoCadastro(Register): """ Registro que contém um cadastro de um posto de vento. """ IDENTIFIER = "POSTO-VENTO-CAD" IDENTIFIER_DIGITS = 15 LINE = Line( [ IntegerField(), LiteralField(), ], delimiter=";", ) @property def codigo_posto(self) -> Optional[int]: """ O código do posto. :return: O código :rtype: Optional[int] """ return self.data[0] @codigo_posto.setter def codigo_posto(self, c: int): self.data[0] = c @property def nome_posto(self) -> Optional[str]: """ O nome do posto. :return: O nome :rtype: Optional[str] """ return self.data[1] @nome_posto.setter def nome_posto(self, n: str): self.data[1] = n
[documentos] class RegistroPEEPostoVento(Register): """ Registro que contém um mapeamento de PEE para posto de vento """ IDENTIFIER = "PEE-POSTO" IDENTIFIER_DIGITS = 9 LINE = Line( [ IntegerField(), IntegerField(), ], delimiter=";", ) @property def codigo_pee(self) -> Optional[int]: """ O código do PEE. :return: O código :rtype: Optional[int] """ return self.data[0] @codigo_pee.setter def codigo_pee(self, c: int): self.data[0] = c @property def codigo_posto(self) -> Optional[int]: """ O código do posto. :return: O código :rtype: Optional[int] """ return self.data[1] @codigo_posto.setter def codigo_posto(self, c: int): self.data[1] = c
[documentos] class RegistroPEESubmercado(Register): """ Registro que contém uma relação entre PEE e submercado. """ IDENTIFIER = "PEE-SUBM" IDENTIFIER_DIGITS = 8 LINE = Line( [ IntegerField(), IntegerField(), ], delimiter=";", ) @property def codigo_pee(self) -> Optional[int]: """ O código do PEE. :return: O código :rtype: Optional[int] """ return self.data[0] @codigo_pee.setter def codigo_pee(self, c: int): self.data[0] = c @property def codigo_submercado(self) -> Optional[int]: """ O código do submercado. :return: O código :rtype: Optional[int] """ return self.data[1] @codigo_submercado.setter def codigo_submercado(self, c: int): self.data[1] = c