Código fonte para inewave.nwlistop.modelos.mediassin
import numpy as np # type: ignore
[documentos]class MediasSIN:
"""
Armazena os dados das saídas referentes às médias de diversas variáveis
para o SIN.
Esta classe lida com as informações de saída fornecidas pelo
NWLISTOP e reproduzidas nos `MEDIAS-SIN.CSV`.
**Parâmetros**
- mes_pmo: `int`
- tabela: `np.ndarray`
"""
def __init__(self,
mes_pmo: int,
tabela: np.ndarray):
self.mes_pmo = mes_pmo
self.tabela = tabela
def __eq__(self, o: object) -> bool:
"""
A igualdade entre MediasSIN avalia todos os valores da tabela.
"""
if not isinstance(o, MediasSIN):
return False
medias: MediasSIN = o
eq_mes_pmo = self.mes_pmo == medias.mes_pmo
return eq_mes_pmo and np.array_equal(self.tabela, medias.tabela)
def _extrai_variavel_tabela(self,
indice_variavel: int) -> np.ndarray:
"""
Lógica para extrair uma variável qualquer da tabela de médias,
partindo do índice dela (num. da linha).
"""
return self.tabela[indice_variavel, :]
@property
def energias_armazenadas_absolutas(self) -> np.ndarray:
"""
Energias armazenadas em valores absolutos (MWmed).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada é dividida mensalmente,
para todo o período de estudo.
"""
return self._extrai_variavel_tabela(0)
@property
def energias_armazenadas_percentuais(self) -> np.ndarray:
"""
Energias armazenadas em valores em percentual da EARMax.
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada é dividida
mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(1)
@property
def percentil_10_energias_armazenadas(self) -> np.ndarray:
"""
Valores para o percentil 10% da energia armazenada.
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada é dividida
mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(2)
@property
def percentil_20_energias_armazenadas(self) -> np.ndarray:
"""
Valores para o percentil 20% da energia armazenada.
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada é dividida
mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(3)
@property
def percentil_30_energias_armazenadas(self) -> np.ndarray:
"""
Valores para o percentil 30% da energia armazenada.
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada é dividida
mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(4)
@property
def percentil_40_energias_armazenadas(self) -> np.ndarray:
"""
Valores para o percentil 40% da energia armazenada.
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada é dividida
mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(5)
@property
def percentil_50_energias_armazenadas(self) -> np.ndarray:
"""
Valores para o percentil 50% da energia armazenada.
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada é dividida
mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(6)
@property
def percentil_60_energias_armazenadas(self) -> np.ndarray:
"""
Valores para o percentil 60% da energia armazenada.
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada é dividida
mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(7)
@property
def percentil_70_energias_armazenadas(self) -> np.ndarray:
"""
Valores para o percentil 70% da energia armazenada.
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada é dividida
mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(8)
@property
def percentil_80_energias_armazenadas(self) -> np.ndarray:
"""
Valores para o percentil 80% da energia armazenada.
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada é dividida
mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(9)
@property
def percentil_90_energias_armazenadas(self) -> np.ndarray:
"""
Valores para o percentil 90% da energia armazenada.
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada é dividida
mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(10)
@property
def percentil_100_energias_armazenadas(self) -> np.ndarray:
"""
Valores para o percentil 100% da energia armazenada.
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada é dividida
mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(11)
@property
def energia_natural_afluente(self) -> np.ndarray:
"""
Energias naturais afluentes em valores absolutos (MWmed).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada é dividida
mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(12)
@property
def energia_controlavel_corrigida(self) -> np.ndarray:
"""
Energias controláveis corrigidas em valores absolutos
(MWmed).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada é dividida mensalmente,
para todo o período de estudo.
"""
return self._extrai_variavel_tabela(13)
@property
def energia_fio_dagua_bruta(self) -> np.ndarray:
"""
Energias fio d'água brutas em valores absolutos
(MWmed).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada
é dividida mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(14)
@property
def energia_fio_dagua_liquida(self) -> np.ndarray:
"""
Energias fio d'água líquidas em valores absolutos
(MWmed).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada
é dividida mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(15)
@property
def geracao_hidraulica_maxima(self) -> np.ndarray:
"""
Gerações hidráulicas máximas em valores absolutos
(MWmed).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada
é dividida mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(16)
@property
def geracao_hidraulica_total(self) -> np.ndarray:
"""
Gerações hidráulicas totais em valores absolutos
(MWmed).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada
é dividida mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(18)
@property
def geracao_hidraulica_controlavel(self) -> np.ndarray:
"""
Gerações hidráulicas controláveis em valores absolutos
(MWmed).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada
é dividida mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(19)
@property
def geracao_hidraulica_fio_dagua_liquida(self) -> np.ndarray:
"""
Gerações hidráulicas fio d'água líquidas em valores
absolutos (MWmed).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica
retornada é dividida mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(20)
@property
def geracao_eolica(self) -> np.ndarray:
"""
Gerações eólicas em valores absolutos (MWmed) para cada um
dos submercados.
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada é dividida mensalmente,
para todo o período de estudo.
"""
return self._extrai_variavel_tabela(21)
@property
def geracao_solar(self) -> np.ndarray:
"""
Gerações solares em valores absolutos (MWmed) para cada um
dos submercados.
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada é dividida mensalmente,
para todo o período de estudo.
"""
return self._extrai_variavel_tabela(22)
@property
def vertimento_total(self) -> np.ndarray:
"""
Perdas por vertimento totais em valores absolutos (MWmed).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada é dividida
mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(23)
@property
def vertimento_controlavel(self) -> np.ndarray:
"""
Perdas por vertimento controlável em valores absolutos
(MWmed).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada
é dividida mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(24)
@property
def vertimento_fio_dagua(self) -> np.ndarray:
"""
Perdas por vertimento fio d'água em valores absolutos
(MWmed).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada
é dividida mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(25)
@property
def vertimento_turbinavel(self) -> np.ndarray:
"""
Vertimentos turbináveis em valores absolutos
(MWmed).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada
é dividida mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(26)
@property
def energia_evaporada(self) -> np.ndarray:
"""
Perdas por energia evaporada em valores absolutos
(MWmed).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada
é dividida mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(41)
@property
def geracao_termica(self) -> np.ndarray:
"""
Gerações de usinas termelétricas em valores absolutos
(MWmed).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada
é dividida mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(43)
@property
def deficit(self) -> np.ndarray:
"""
Déficits de carga em valores absolutos (MWmed).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada é dividida mensalmente,
para todo o período de estudo.
"""
return self._extrai_variavel_tabela(44)
@property
def custo_termica(self) -> np.ndarray:
"""
Custos de térmicas (MMR$).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada
é dividida mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(45)
@property
def custo_deficit(self) -> np.ndarray:
"""
Custos de déficit (MMR$).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica retornada
é dividida mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(46)
@property
def custo_operacao_total(self) -> np.ndarray:
"""
Custos de operação totais (MMR$).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica
retornada é dividida mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(47)
@property
def custo_operacao_mx(self) -> np.ndarray:
"""
Custos de operação MX (MMR$).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica
retornada é dividida mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(48)
@property
def custo_operacao_violacao(self) -> np.ndarray:
"""
Custos de operação por violação (MMR$).
**Retorna**
`np.ndarray`
**Sobre**
A série histórica
retornada é dividida mensalmente, para todo o período de estudo.
"""
return self._extrai_variavel_tabela(49)