inewave 1.11.0__py3-none-any.whl → 1.11.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- inewave/__init__.py +1 -1
- inewave/newave/dger.py +215 -164
- inewave/newave/modelos/dger.py +116 -1
- {inewave-1.11.0.dist-info → inewave-1.11.2.dist-info}/METADATA +1 -1
- {inewave-1.11.0.dist-info → inewave-1.11.2.dist-info}/RECORD +7 -7
- {inewave-1.11.0.dist-info → inewave-1.11.2.dist-info}/WHEEL +1 -1
- {inewave-1.11.0.dist-info → inewave-1.11.2.dist-info}/licenses/LICENSE.md +0 -0
inewave/__init__.py
CHANGED
inewave/newave/dger.py
CHANGED
|
@@ -1,113 +1,113 @@
|
|
|
1
|
+
from typing import List, Optional, TypeVar
|
|
2
|
+
|
|
1
3
|
from cfinterface.files.sectionfile import SectionFile
|
|
2
|
-
from typing import TypeVar, Optional, List
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
from inewave.newave.modelos.dger import BlocoMesInicioEstudo, BlocoNomeCaso
|
|
6
|
-
from inewave.newave.modelos.dger import BlocoTipoExecucao
|
|
7
|
-
from inewave.newave.modelos.dger import BlocoDuracaoPeriodo
|
|
8
|
-
from inewave.newave.modelos.dger import BlocoNumAnosEstudo
|
|
9
|
-
from inewave.newave.modelos.dger import BlocoMesInicioPreEstudo
|
|
10
|
-
from inewave.newave.modelos.dger import BlocoAnoInicioEstudo
|
|
11
|
-
from inewave.newave.modelos.dger import BlocoNumAnosPreEstudo
|
|
12
|
-
from inewave.newave.modelos.dger import BlocoNumAnosPosEstudo
|
|
13
|
-
from inewave.newave.modelos.dger import BlocoNumAnosPosEstudoSimFinal
|
|
14
|
-
from inewave.newave.modelos.dger import BlocoImprimeDados
|
|
15
|
-
from inewave.newave.modelos.dger import BlocoImprimeMercados
|
|
16
|
-
from inewave.newave.modelos.dger import BlocoImprimeEnergias
|
|
17
|
-
from inewave.newave.modelos.dger import BlocoImprimeModeloEstocastico
|
|
18
|
-
from inewave.newave.modelos.dger import BlocoImprimeSubsistema
|
|
19
|
-
from inewave.newave.modelos.dger import BlocoNumMaxIteracoes
|
|
20
|
-
from inewave.newave.modelos.dger import BlocoNumForwards
|
|
21
|
-
from inewave.newave.modelos.dger import BlocoNumAberturas
|
|
22
|
-
from inewave.newave.modelos.dger import BlocoNumSeriesSinteticas
|
|
23
|
-
from inewave.newave.modelos.dger import BlocoOrdemMaximaPARp
|
|
24
|
-
from inewave.newave.modelos.dger import BlocoAnoInicialHistorico
|
|
25
|
-
from inewave.newave.modelos.dger import BlocoCalculaVolInicial
|
|
26
|
-
from inewave.newave.modelos.dger import BlocoVolInicialSubsistema
|
|
27
|
-
from inewave.newave.modelos.dger import BlocoTolerancia
|
|
28
|
-
from inewave.newave.modelos.dger import BlocoTaxaDesconto
|
|
29
|
-
from inewave.newave.modelos.dger import BlocoTipoSimFinal
|
|
30
|
-
from inewave.newave.modelos.dger import BlocoImpressaoOperacao
|
|
31
|
-
from inewave.newave.modelos.dger import BlocoImpressaoConvergencia
|
|
32
|
-
from inewave.newave.modelos.dger import BlocoIntervaloGravar
|
|
33
|
-
from inewave.newave.modelos.dger import BlocoMinIteracoes
|
|
34
|
-
from inewave.newave.modelos.dger import BlocoRacionamentoPreventivo
|
|
35
|
-
from inewave.newave.modelos.dger import BlocoNumAnosManutUTE
|
|
36
|
-
from inewave.newave.modelos.dger import BlocoTendenciaHidrologica
|
|
37
|
-
from inewave.newave.modelos.dger import BlocoRestricaoItaipu
|
|
38
|
-
from inewave.newave.modelos.dger import BlocoBid
|
|
39
|
-
from inewave.newave.modelos.dger import BlocoPerdasTransmissao
|
|
40
|
-
from inewave.newave.modelos.dger import BlocoElNino
|
|
41
|
-
from inewave.newave.modelos.dger import BlocoEnso
|
|
42
|
-
from inewave.newave.modelos.dger import BlocoDuracaoPorPatamar
|
|
43
|
-
from inewave.newave.modelos.dger import BlocoOutrosUsosAgua
|
|
44
|
-
from inewave.newave.modelos.dger import BlocoCorrecaoDesvio
|
|
45
|
-
from inewave.newave.modelos.dger import BlocoCurvaAversao
|
|
46
|
-
from inewave.newave.modelos.dger import BlocoTipoGeracaoENA
|
|
47
|
-
from inewave.newave.modelos.dger import BlocoRiscoDeficit
|
|
48
|
-
from inewave.newave.modelos.dger import BlocoIteracaoParaSimFinal
|
|
49
|
-
from inewave.newave.modelos.dger import BlocoAgrupamentoLivre
|
|
50
|
-
from inewave.newave.modelos.dger import BlocoEqualizacaoPenalInt
|
|
51
|
-
from inewave.newave.modelos.dger import BlocoRepresentacaoSubmot
|
|
52
|
-
from inewave.newave.modelos.dger import BlocoOrdenacaoAutomatica
|
|
53
|
-
from inewave.newave.modelos.dger import BlocoConsideraCargaAdicional
|
|
54
|
-
from inewave.newave.modelos.dger import BlocoDeltaZSUP
|
|
55
|
-
from inewave.newave.modelos.dger import BlocoDeltaZINF
|
|
56
|
-
from inewave.newave.modelos.dger import BlocoDeltasConsecutivos
|
|
57
|
-
from inewave.newave.modelos.dger import BlocoDespachoAntecipadoGNL
|
|
58
|
-
from inewave.newave.modelos.dger import BlocoModifAutomaticaAdTerm
|
|
59
|
-
from inewave.newave.modelos.dger import BlocoGeracaoHidraulicaMin
|
|
60
|
-
from inewave.newave.modelos.dger import BlocoSimFinalComData
|
|
61
|
-
from inewave.newave.modelos.dger import BlocoGerenciamentoPLs
|
|
62
|
-
from inewave.newave.modelos.dger import BlocoSAR
|
|
63
|
-
from inewave.newave.modelos.dger import BlocoCVAR
|
|
64
|
-
from inewave.newave.modelos.dger import BlocoZSUPMinConvergencia
|
|
65
|
-
from inewave.newave.modelos.dger import BlocoDesconsideraVazaoMinima
|
|
66
|
-
from inewave.newave.modelos.dger import BlocoRestricoesEletricas
|
|
67
|
-
from inewave.newave.modelos.dger import BlocoSelecaoCortes
|
|
68
|
-
from inewave.newave.modelos.dger import BlocoJanelaCortes
|
|
69
|
-
from inewave.newave.modelos.dger import BlocoReamostragemCenarios
|
|
70
|
-
from inewave.newave.modelos.dger import BlocoConvergeNoZero
|
|
71
|
-
from inewave.newave.modelos.dger import BlocoConsultaFCF
|
|
72
|
-
from inewave.newave.modelos.dger import BlocoImpressaoENA
|
|
73
|
-
from inewave.newave.modelos.dger import BlocoImpressaoCortesAtivosSimFinal
|
|
74
|
-
from inewave.newave.modelos.dger import BlocoRepresentacaoAgregacao
|
|
75
|
-
from inewave.newave.modelos.dger import BlocoMatrizCorrelacaoEspacial
|
|
76
|
-
from inewave.newave.modelos.dger import BlocoDesconsideraConvEstatistica
|
|
77
|
-
from inewave.newave.modelos.dger import BlocoMomentoReamostragem
|
|
78
|
-
from inewave.newave.modelos.dger import BlocoMantemArquivosEnergias
|
|
79
|
-
from inewave.newave.modelos.dger import BlocoInicioTesteConvergencia
|
|
80
|
-
from inewave.newave.modelos.dger import BlocoSazonalizarVminT
|
|
81
|
-
from inewave.newave.modelos.dger import BlocoSazonalizarVmaxT
|
|
82
|
-
from inewave.newave.modelos.dger import BlocoSazonalizarVminP
|
|
83
|
-
from inewave.newave.modelos.dger import BlocoSazonalizarCfugaCmont
|
|
84
|
-
from inewave.newave.modelos.dger import BlocoRestricoesEmissaoGEE
|
|
85
|
-
from inewave.newave.modelos.dger import BlocoAfluenciaAnualPARp
|
|
86
|
-
from inewave.newave.modelos.dger import BlocoRestricoesFornecGas
|
|
87
|
-
from inewave.newave.modelos.dger import BlocoMemCalculoCortes
|
|
88
|
-
from inewave.newave.modelos.dger import BlocoGeracaoEolica
|
|
89
4
|
|
|
90
5
|
# from inewave.newave.modelos.dger import BlocoCompensacaoCorrelacaoCruzada
|
|
91
6
|
from inewave.newave.modelos.dger import (
|
|
7
|
+
BlocoAfluenciaAnualPARp,
|
|
8
|
+
BlocoAgrupamentoLivre,
|
|
9
|
+
BlocoAnoInicialHistorico,
|
|
10
|
+
BlocoAnoInicioEstudo,
|
|
11
|
+
BlocoAproveitamentoBasePLsBackward,
|
|
12
|
+
BlocoBid,
|
|
13
|
+
BlocoCalculaProdtMediaSin,
|
|
14
|
+
BlocoCalculaVolInicial,
|
|
15
|
+
BlocoCanalDesvio,
|
|
16
|
+
BlocoConsideracaoDefluenciaMaxima,
|
|
92
17
|
BlocoConsideracaoTurbinamentoMinimoMaximo,
|
|
18
|
+
BlocoConsideraCargaAdicional,
|
|
19
|
+
BlocoConsultaFCF,
|
|
20
|
+
BlocoConvergeNoZero,
|
|
21
|
+
BlocoCorrecaoDesvio,
|
|
22
|
+
BlocoCurvaAversao,
|
|
23
|
+
BlocoCVAR,
|
|
24
|
+
BlocoDeltasConsecutivos,
|
|
25
|
+
BlocoDeltaZINF,
|
|
26
|
+
BlocoDeltaZSUP,
|
|
27
|
+
BlocoDesconsideraConvEstatistica,
|
|
28
|
+
BlocoDesconsideraVazaoMinima,
|
|
29
|
+
BlocoDespachoAntecipadoGNL,
|
|
30
|
+
BlocoDuracaoPeriodo,
|
|
31
|
+
BlocoDuracaoPorPatamar,
|
|
32
|
+
BlocoEliminacaoCortes,
|
|
33
|
+
BlocoElNino,
|
|
34
|
+
BlocoEnso,
|
|
35
|
+
BlocoEqualizacaoPenalInt,
|
|
36
|
+
BlocoEstacoesBombeamento,
|
|
37
|
+
BlocoFCFPosEstudo,
|
|
38
|
+
BlocoFuncaoProducaoUHE,
|
|
39
|
+
BlocoGeracaoEolica,
|
|
40
|
+
BlocoGeracaoHidraulicaMin,
|
|
41
|
+
BlocoGerenciamentoPLs,
|
|
42
|
+
BlocoImpressaoConvergencia,
|
|
43
|
+
BlocoImpressaoCortesAtivosSimFinal,
|
|
44
|
+
BlocoImpressaoENA,
|
|
45
|
+
BlocoImpressaoEstadosGeracaoCortes,
|
|
46
|
+
BlocoImpressaoOperacao,
|
|
47
|
+
BlocoImprimeDados,
|
|
48
|
+
BlocoImprimeEnergias,
|
|
49
|
+
BlocoImprimeMercados,
|
|
50
|
+
BlocoImprimeModeloEstocastico,
|
|
51
|
+
BlocoImprimeSubsistema,
|
|
52
|
+
BlocoInicioTesteConvergencia,
|
|
53
|
+
BlocoIntervaloGravar,
|
|
54
|
+
BlocoIteracaoParaSimFinal,
|
|
55
|
+
BlocoJanelaCortes,
|
|
56
|
+
BlocoMantemArquivosEnergias,
|
|
57
|
+
BlocoMatrizCorrelacaoEspacial,
|
|
58
|
+
BlocoMemCalculoCortes,
|
|
59
|
+
BlocoMesInicioEstudo,
|
|
60
|
+
BlocoMesInicioPreEstudo,
|
|
61
|
+
BlocoMinIteracoes,
|
|
62
|
+
BlocoModifAutomaticaAdTerm,
|
|
63
|
+
BlocoMomentoReamostragem,
|
|
64
|
+
BlocoNomeCaso,
|
|
65
|
+
BlocoNumAberturas,
|
|
66
|
+
BlocoNumAnosEstudo,
|
|
67
|
+
BlocoNumAnosManutUTE,
|
|
68
|
+
BlocoNumAnosPosEstudo,
|
|
69
|
+
BlocoNumAnosPosEstudoSimFinal,
|
|
70
|
+
BlocoNumAnosPreEstudo,
|
|
71
|
+
BlocoNumForwards,
|
|
72
|
+
BlocoNumMaxIteracoes,
|
|
73
|
+
BlocoNumSeriesSinteticas,
|
|
74
|
+
BlocoOrdemMaximaPARp,
|
|
75
|
+
BlocoOrdenacaoAutomatica,
|
|
76
|
+
BlocoOutrosUsosAgua,
|
|
77
|
+
BlocoPerdasTransmissao,
|
|
78
|
+
BlocoRacionamentoPreventivo,
|
|
79
|
+
BlocoReamostragemCenarios,
|
|
80
|
+
BlocoRepresentacaoAgregacao,
|
|
81
|
+
BlocoRepresentacaoSubmot,
|
|
82
|
+
BlocoRestricaoItaipu,
|
|
83
|
+
BlocoRestricaoLPPDefluenciaMaximaREE,
|
|
84
|
+
BlocoRestricaoLPPDefluenciaMaximaUHE,
|
|
85
|
+
BlocoRestricaoLPPTurbinamentoMaximoREE,
|
|
86
|
+
BlocoRestricaoLPPTurbinamentoMaximoUHE,
|
|
87
|
+
BlocoRestricoesEletricas,
|
|
88
|
+
BlocoRestricoesEletricasEspeciais,
|
|
89
|
+
BlocoRestricoesEmissaoGEE,
|
|
90
|
+
BlocoRestricoesFornecGas,
|
|
91
|
+
BlocoRHQ,
|
|
92
|
+
BlocoRHV,
|
|
93
|
+
BlocoRiscoDeficit,
|
|
94
|
+
BlocoSAR,
|
|
95
|
+
BlocoSazonalizarCfugaCmont,
|
|
96
|
+
BlocoSazonalizarVmaxT,
|
|
97
|
+
BlocoSazonalizarVminP,
|
|
98
|
+
BlocoSazonalizarVminT,
|
|
99
|
+
BlocoSelecaoCortes,
|
|
100
|
+
BlocoSimFinalComData,
|
|
101
|
+
BlocoTaxaDesconto,
|
|
102
|
+
BlocoTendenciaHidrologica,
|
|
103
|
+
BlocoTipoExecucao,
|
|
104
|
+
BlocoTipoGeracaoENA,
|
|
105
|
+
BlocoTipoSimFinal,
|
|
106
|
+
BlocoTolerancia,
|
|
107
|
+
BlocoTratamentoCortes,
|
|
108
|
+
BlocoVolInicialSubsistema,
|
|
109
|
+
BlocoZSUPMinConvergencia,
|
|
93
110
|
)
|
|
94
|
-
from inewave.newave.modelos.dger import BlocoConsideracaoDefluenciaMaxima
|
|
95
|
-
from inewave.newave.modelos.dger import BlocoAproveitamentoBasePLsBackward
|
|
96
|
-
from inewave.newave.modelos.dger import BlocoImpressaoEstadosGeracaoCortes
|
|
97
|
-
from inewave.newave.modelos.dger import BlocoSementeForward
|
|
98
|
-
from inewave.newave.modelos.dger import BlocoSementeBackward
|
|
99
|
-
from inewave.newave.modelos.dger import BlocoRestricaoLPPTurbinamentoMaximoREE
|
|
100
|
-
from inewave.newave.modelos.dger import BlocoRestricaoLPPDefluenciaMaximaREE
|
|
101
|
-
from inewave.newave.modelos.dger import BlocoRestricaoLPPTurbinamentoMaximoUHE
|
|
102
|
-
from inewave.newave.modelos.dger import BlocoRestricaoLPPDefluenciaMaximaUHE
|
|
103
|
-
from inewave.newave.modelos.dger import BlocoRestricoesEletricasEspeciais
|
|
104
|
-
from inewave.newave.modelos.dger import BlocoFuncaoProducaoUHE
|
|
105
|
-
from inewave.newave.modelos.dger import BlocoFCFPosEstudo
|
|
106
|
-
from inewave.newave.modelos.dger import BlocoEstacoesBombeamento
|
|
107
|
-
from inewave.newave.modelos.dger import BlocoCanalDesvio
|
|
108
|
-
from inewave.newave.modelos.dger import BlocoRHQ
|
|
109
|
-
from inewave.newave.modelos.dger import BlocoRHV
|
|
110
|
-
from inewave.newave.modelos.dger import BlocoTratamentoCortes
|
|
111
111
|
|
|
112
112
|
|
|
113
113
|
class Dger(SectionFile):
|
|
@@ -209,8 +209,8 @@ class Dger(SectionFile):
|
|
|
209
209
|
BlocoConsideracaoDefluenciaMaxima,
|
|
210
210
|
BlocoAproveitamentoBasePLsBackward,
|
|
211
211
|
BlocoImpressaoEstadosGeracaoCortes,
|
|
212
|
-
BlocoSementeForward,
|
|
213
|
-
BlocoSementeBackward,
|
|
212
|
+
# BlocoSementeForward,
|
|
213
|
+
# BlocoSementeBackward,
|
|
214
214
|
BlocoRestricaoLPPTurbinamentoMaximoREE,
|
|
215
215
|
BlocoRestricaoLPPDefluenciaMaximaREE,
|
|
216
216
|
BlocoRestricaoLPPTurbinamentoMaximoUHE,
|
|
@@ -223,6 +223,8 @@ class Dger(SectionFile):
|
|
|
223
223
|
BlocoRHQ,
|
|
224
224
|
BlocoRHV,
|
|
225
225
|
BlocoTratamentoCortes,
|
|
226
|
+
BlocoEliminacaoCortes,
|
|
227
|
+
BlocoCalculaProdtMediaSin,
|
|
226
228
|
]
|
|
227
229
|
|
|
228
230
|
@property
|
|
@@ -567,6 +569,25 @@ class Dger(SectionFile):
|
|
|
567
569
|
if isinstance(b, BlocoNumAberturas):
|
|
568
570
|
b.valor = dado
|
|
569
571
|
|
|
572
|
+
@property
|
|
573
|
+
def aberturas_variaveis(self) -> Optional[int]:
|
|
574
|
+
"""
|
|
575
|
+
Configuração da linha número 18 do arquivo `dger.dat`.
|
|
576
|
+
|
|
577
|
+
:return: O valor do campo
|
|
578
|
+
:rtype: int
|
|
579
|
+
"""
|
|
580
|
+
b = self.data.get_sections_of_type(BlocoNumAberturas)
|
|
581
|
+
if isinstance(b, BlocoNumAberturas):
|
|
582
|
+
return b.variaveis
|
|
583
|
+
return None
|
|
584
|
+
|
|
585
|
+
@aberturas_variaveis.setter
|
|
586
|
+
def aberturas_variaveis(self, dado: int):
|
|
587
|
+
b = self.data.get_sections_of_type(BlocoNumAberturas)
|
|
588
|
+
if isinstance(b, BlocoNumAberturas):
|
|
589
|
+
b.variaveis = dado
|
|
590
|
+
|
|
570
591
|
@property
|
|
571
592
|
def num_series_sinteticas(self) -> Optional[int]:
|
|
572
593
|
"""
|
|
@@ -2191,48 +2212,48 @@ class Dger(SectionFile):
|
|
|
2191
2212
|
if isinstance(b, BlocoImpressaoEstadosGeracaoCortes):
|
|
2192
2213
|
b.valor = dado
|
|
2193
2214
|
|
|
2194
|
-
@property
|
|
2195
|
-
def semente_forward(self) -> Optional[int]:
|
|
2196
|
-
|
|
2197
|
-
|
|
2215
|
+
# @property
|
|
2216
|
+
# def semente_forward(self) -> Optional[int]:
|
|
2217
|
+
# """
|
|
2218
|
+
# Configuração da linha número 91 do arquivo `dger.dat`.
|
|
2198
2219
|
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2220
|
+
# :return: O valor do campo
|
|
2221
|
+
# :rtype: int | None
|
|
2222
|
+
# """
|
|
2223
|
+
# b = self.data.get_sections_of_type(BlocoSementeForward)
|
|
2224
|
+
# if isinstance(b, BlocoSementeForward):
|
|
2225
|
+
# return b.valor
|
|
2226
|
+
# return None
|
|
2206
2227
|
|
|
2207
|
-
@semente_forward.setter
|
|
2208
|
-
def semente_forward(self, dado: int):
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2228
|
+
# @semente_forward.setter
|
|
2229
|
+
# def semente_forward(self, dado: int):
|
|
2230
|
+
# b = self.data.get_sections_of_type(BlocoSementeForward)
|
|
2231
|
+
# if isinstance(b, BlocoSementeForward):
|
|
2232
|
+
# b.valor = dado
|
|
2212
2233
|
|
|
2213
|
-
@property
|
|
2214
|
-
def semente_backward(self) -> Optional[int]:
|
|
2215
|
-
|
|
2216
|
-
|
|
2234
|
+
# @property
|
|
2235
|
+
# def semente_backward(self) -> Optional[int]:
|
|
2236
|
+
# """
|
|
2237
|
+
# Configuração da linha número 92 do arquivo `dger.dat`.
|
|
2217
2238
|
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2239
|
+
# :return: O valor do campo
|
|
2240
|
+
# :rtype: int | None
|
|
2241
|
+
# """
|
|
2242
|
+
# b = self.data.get_sections_of_type(BlocoSementeBackward)
|
|
2243
|
+
# if isinstance(b, BlocoSementeBackward):
|
|
2244
|
+
# return b.valor
|
|
2245
|
+
# return None
|
|
2225
2246
|
|
|
2226
|
-
@semente_backward.setter
|
|
2227
|
-
def semente_backward(self, dado: int):
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2247
|
+
# @semente_backward.setter
|
|
2248
|
+
# def semente_backward(self, dado: int):
|
|
2249
|
+
# b = self.data.get_sections_of_type(BlocoSementeBackward)
|
|
2250
|
+
# if isinstance(b, BlocoSementeBackward):
|
|
2251
|
+
# b.valor = dado
|
|
2231
2252
|
|
|
2232
2253
|
@property
|
|
2233
2254
|
def restricao_lpp_turbinamento_maximo_ree(self) -> Optional[int]:
|
|
2234
2255
|
"""
|
|
2235
|
-
Configuração da linha número
|
|
2256
|
+
Configuração da linha número 91 do arquivo `dger.dat`.
|
|
2236
2257
|
|
|
2237
2258
|
:return: O valor do campo
|
|
2238
2259
|
:rtype: int | None
|
|
@@ -2255,30 +2276,26 @@ class Dger(SectionFile):
|
|
|
2255
2276
|
@property
|
|
2256
2277
|
def restricao_lpp_defluencia_maxima_ree(self) -> Optional[int]:
|
|
2257
2278
|
"""
|
|
2258
|
-
Configuração da linha número
|
|
2279
|
+
Configuração da linha número 92 do arquivo `dger.dat`.
|
|
2259
2280
|
|
|
2260
2281
|
:return: O valor do campo
|
|
2261
2282
|
:rtype: int | None
|
|
2262
2283
|
"""
|
|
2263
|
-
b = self.data.get_sections_of_type(
|
|
2264
|
-
BlocoRestricaoLPPDefluenciaMaximaREE
|
|
2265
|
-
)
|
|
2284
|
+
b = self.data.get_sections_of_type(BlocoRestricaoLPPDefluenciaMaximaREE)
|
|
2266
2285
|
if isinstance(b, BlocoRestricaoLPPDefluenciaMaximaREE):
|
|
2267
2286
|
return b.valor
|
|
2268
2287
|
return None
|
|
2269
2288
|
|
|
2270
2289
|
@restricao_lpp_defluencia_maxima_ree.setter
|
|
2271
2290
|
def restricao_lpp_defluencia_maxima_ree(self, dado: int):
|
|
2272
|
-
b = self.data.get_sections_of_type(
|
|
2273
|
-
BlocoRestricaoLPPDefluenciaMaximaREE
|
|
2274
|
-
)
|
|
2291
|
+
b = self.data.get_sections_of_type(BlocoRestricaoLPPDefluenciaMaximaREE)
|
|
2275
2292
|
if isinstance(b, BlocoRestricaoLPPDefluenciaMaximaREE):
|
|
2276
2293
|
b.valor = dado
|
|
2277
2294
|
|
|
2278
2295
|
@property
|
|
2279
2296
|
def restricao_lpp_turbinamento_maximo_uhe(self) -> Optional[int]:
|
|
2280
2297
|
"""
|
|
2281
|
-
Configuração da linha número
|
|
2298
|
+
Configuração da linha número 93 do arquivo `dger.dat`.
|
|
2282
2299
|
|
|
2283
2300
|
:return: O valor do campo
|
|
2284
2301
|
:rtype: int | None
|
|
@@ -2301,30 +2318,26 @@ class Dger(SectionFile):
|
|
|
2301
2318
|
@property
|
|
2302
2319
|
def restricao_lpp_defluencia_maxima_uhe(self) -> Optional[int]:
|
|
2303
2320
|
"""
|
|
2304
|
-
Configuração da linha número
|
|
2321
|
+
Configuração da linha número 94 do arquivo `dger.dat`.
|
|
2305
2322
|
|
|
2306
2323
|
:return: O valor do campo
|
|
2307
2324
|
:rtype: int | None
|
|
2308
2325
|
"""
|
|
2309
|
-
b = self.data.get_sections_of_type(
|
|
2310
|
-
BlocoRestricaoLPPDefluenciaMaximaUHE
|
|
2311
|
-
)
|
|
2326
|
+
b = self.data.get_sections_of_type(BlocoRestricaoLPPDefluenciaMaximaUHE)
|
|
2312
2327
|
if isinstance(b, BlocoRestricaoLPPDefluenciaMaximaUHE):
|
|
2313
2328
|
return b.valor
|
|
2314
2329
|
return None
|
|
2315
2330
|
|
|
2316
2331
|
@restricao_lpp_defluencia_maxima_uhe.setter
|
|
2317
2332
|
def restricao_lpp_defluencia_maxima_uhe(self, dado: int):
|
|
2318
|
-
b = self.data.get_sections_of_type(
|
|
2319
|
-
BlocoRestricaoLPPDefluenciaMaximaUHE
|
|
2320
|
-
)
|
|
2333
|
+
b = self.data.get_sections_of_type(BlocoRestricaoLPPDefluenciaMaximaUHE)
|
|
2321
2334
|
if isinstance(b, BlocoRestricaoLPPDefluenciaMaximaUHE):
|
|
2322
2335
|
b.valor = dado
|
|
2323
2336
|
|
|
2324
2337
|
@property
|
|
2325
2338
|
def restricoes_eletricas_especiais(self) -> Optional[int]:
|
|
2326
2339
|
"""
|
|
2327
|
-
Configuração da linha número
|
|
2340
|
+
Configuração da linha número 95 do arquivo `dger.dat`.
|
|
2328
2341
|
|
|
2329
2342
|
:return: O valor do campo
|
|
2330
2343
|
:rtype: int | None
|
|
@@ -2343,7 +2356,7 @@ class Dger(SectionFile):
|
|
|
2343
2356
|
@property
|
|
2344
2357
|
def funcao_producao_uhe(self) -> Optional[int]:
|
|
2345
2358
|
"""
|
|
2346
|
-
Configuração da linha número
|
|
2359
|
+
Configuração da linha número 96 do arquivo `dger.dat`.
|
|
2347
2360
|
|
|
2348
2361
|
:return: O valor do campo
|
|
2349
2362
|
:rtype: int | None
|
|
@@ -2362,7 +2375,7 @@ class Dger(SectionFile):
|
|
|
2362
2375
|
@property
|
|
2363
2376
|
def fcf_pos_estudo(self) -> Optional[int]:
|
|
2364
2377
|
"""
|
|
2365
|
-
Configuração da linha número
|
|
2378
|
+
Configuração da linha número 97 do arquivo `dger.dat`.
|
|
2366
2379
|
|
|
2367
2380
|
:return: O valor do campo
|
|
2368
2381
|
:rtype: int | None
|
|
@@ -2381,7 +2394,7 @@ class Dger(SectionFile):
|
|
|
2381
2394
|
@property
|
|
2382
2395
|
def estacoes_bombeamento(self) -> Optional[int]:
|
|
2383
2396
|
"""
|
|
2384
|
-
Configuração da linha número
|
|
2397
|
+
Configuração da linha número 98 do arquivo `dger.dat`.
|
|
2385
2398
|
|
|
2386
2399
|
:return: O valor do campo
|
|
2387
2400
|
:rtype: int | None
|
|
@@ -2400,7 +2413,7 @@ class Dger(SectionFile):
|
|
|
2400
2413
|
@property
|
|
2401
2414
|
def canal_desvio(self) -> Optional[int]:
|
|
2402
2415
|
"""
|
|
2403
|
-
Configuração da linha número
|
|
2416
|
+
Configuração da linha número 99 do arquivo `dger.dat`.
|
|
2404
2417
|
|
|
2405
2418
|
:return: O valor do campo
|
|
2406
2419
|
:rtype: int | None
|
|
@@ -2419,7 +2432,7 @@ class Dger(SectionFile):
|
|
|
2419
2432
|
@property
|
|
2420
2433
|
def restricoes_rhq(self) -> Optional[int]:
|
|
2421
2434
|
"""
|
|
2422
|
-
Configuração da linha número
|
|
2435
|
+
Configuração da linha número 100 do arquivo `dger.dat`.
|
|
2423
2436
|
|
|
2424
2437
|
:return: O valor do campo
|
|
2425
2438
|
:rtype: int | None
|
|
@@ -2438,7 +2451,7 @@ class Dger(SectionFile):
|
|
|
2438
2451
|
@property
|
|
2439
2452
|
def restricoes_rhv(self) -> Optional[int]:
|
|
2440
2453
|
"""
|
|
2441
|
-
Configuração da linha número
|
|
2454
|
+
Configuração da linha número 101 do arquivo `dger.dat`.
|
|
2442
2455
|
|
|
2443
2456
|
:return: O valor do campo
|
|
2444
2457
|
:rtype: int | None
|
|
@@ -2457,7 +2470,7 @@ class Dger(SectionFile):
|
|
|
2457
2470
|
@property
|
|
2458
2471
|
def gera_arquivo_cortes_unico(self) -> Optional[int]:
|
|
2459
2472
|
"""
|
|
2460
|
-
Configuração da linha número
|
|
2473
|
+
Configuração da linha número 102 do arquivo `dger.dat`.
|
|
2461
2474
|
|
|
2462
2475
|
:return: O valor do campo
|
|
2463
2476
|
:rtype: int | None
|
|
@@ -2476,7 +2489,7 @@ class Dger(SectionFile):
|
|
|
2476
2489
|
@property
|
|
2477
2490
|
def mantem_arquivos_cortes_por_periodo(self) -> Optional[int]:
|
|
2478
2491
|
"""
|
|
2479
|
-
Configuração da linha número
|
|
2492
|
+
Configuração da linha número 102 do arquivo `dger.dat`.
|
|
2480
2493
|
|
|
2481
2494
|
:return: O valor do campo
|
|
2482
2495
|
:rtype: int | None
|
|
@@ -2495,7 +2508,7 @@ class Dger(SectionFile):
|
|
|
2495
2508
|
@property
|
|
2496
2509
|
def periodos_manutencao_cortes(self) -> List[Optional[int]]:
|
|
2497
2510
|
"""
|
|
2498
|
-
Configuração da linha número
|
|
2511
|
+
Configuração da linha número 102 do arquivo `dger.dat`.
|
|
2499
2512
|
|
|
2500
2513
|
:return: O valor do campo
|
|
2501
2514
|
:rtype: list[int | None]
|
|
@@ -2510,3 +2523,41 @@ class Dger(SectionFile):
|
|
|
2510
2523
|
b = self.data.get_sections_of_type(BlocoTratamentoCortes)
|
|
2511
2524
|
if isinstance(b, BlocoTratamentoCortes):
|
|
2512
2525
|
b.periodos_cortes = dado
|
|
2526
|
+
|
|
2527
|
+
@property
|
|
2528
|
+
def eliminacao_cortes(self) -> Optional[int]:
|
|
2529
|
+
"""
|
|
2530
|
+
Configuração da linha número 103 do arquivo `dger.dat`.
|
|
2531
|
+
|
|
2532
|
+
:return: O valor do campo
|
|
2533
|
+
:rtype: int | None
|
|
2534
|
+
"""
|
|
2535
|
+
b = self.data.get_sections_of_type(BlocoEliminacaoCortes)
|
|
2536
|
+
if isinstance(b, BlocoEliminacaoCortes):
|
|
2537
|
+
return b.valor
|
|
2538
|
+
return None
|
|
2539
|
+
|
|
2540
|
+
@eliminacao_cortes.setter
|
|
2541
|
+
def eliminacao_cortes(self, dado: int):
|
|
2542
|
+
b = self.data.get_sections_of_type(BlocoEliminacaoCortes)
|
|
2543
|
+
if isinstance(b, BlocoEliminacaoCortes):
|
|
2544
|
+
b.valor = dado
|
|
2545
|
+
|
|
2546
|
+
@property
|
|
2547
|
+
def calcula_prodt_media_sin(self) -> Optional[int]:
|
|
2548
|
+
"""
|
|
2549
|
+
Configuração da linha número 104 do arquivo `dger.dat`.
|
|
2550
|
+
|
|
2551
|
+
:return: O valor do campo
|
|
2552
|
+
:rtype: int | None
|
|
2553
|
+
"""
|
|
2554
|
+
b = self.data.get_sections_of_type(BlocoCalculaProdtMediaSin)
|
|
2555
|
+
if isinstance(b, BlocoCalculaProdtMediaSin):
|
|
2556
|
+
return b.valor
|
|
2557
|
+
return None
|
|
2558
|
+
|
|
2559
|
+
@calcula_prodt_media_sin.setter
|
|
2560
|
+
def calcula_prodt_media_sin(self, dado: int):
|
|
2561
|
+
b = self.data.get_sections_of_type(BlocoCalculaProdtMediaSin)
|
|
2562
|
+
if isinstance(b, BlocoCalculaProdtMediaSin):
|
|
2563
|
+
b.valor = dado
|
inewave/newave/modelos/dger.py
CHANGED
|
@@ -787,7 +787,11 @@ class BlocoNumAberturas(Section):
|
|
|
787
787
|
|
|
788
788
|
def __init__(self, previous=None, next=None, data=None) -> None:
|
|
789
789
|
super().__init__(previous, next, data)
|
|
790
|
-
self.__linha = Line([
|
|
790
|
+
self.__linha = Line([
|
|
791
|
+
LiteralField(24, 0),
|
|
792
|
+
IntegerField(4, 21),
|
|
793
|
+
IntegerField(4, 26),
|
|
794
|
+
])
|
|
791
795
|
|
|
792
796
|
def __eq__(self, o: object) -> bool:
|
|
793
797
|
if not isinstance(o, BlocoNumAberturas):
|
|
@@ -821,6 +825,20 @@ class BlocoNumAberturas(Section):
|
|
|
821
825
|
def valor(self, v: int):
|
|
822
826
|
self.data[1] = v
|
|
823
827
|
|
|
828
|
+
@property
|
|
829
|
+
def variaveis(self) -> Optional[int]:
|
|
830
|
+
"""
|
|
831
|
+
A consideração ou não de aberturas variáveis
|
|
832
|
+
|
|
833
|
+
:return: A consideração ou não de aberturas variáveis
|
|
834
|
+
:rtype: int
|
|
835
|
+
"""
|
|
836
|
+
return self.data[2]
|
|
837
|
+
|
|
838
|
+
@variaveis.setter
|
|
839
|
+
def variaveis(self, v: int):
|
|
840
|
+
self.data[2] = v
|
|
841
|
+
|
|
824
842
|
|
|
825
843
|
class BlocoNumSeriesSinteticas(Section):
|
|
826
844
|
"""
|
|
@@ -5243,3 +5261,100 @@ class BlocoTratamentoCortes(Section):
|
|
|
5243
5261
|
elif len(v) < 3:
|
|
5244
5262
|
v = v + [None] * (3 - len(v))
|
|
5245
5263
|
self.data = self.data[0:3] + v + [self.data[-1]]
|
|
5264
|
+
|
|
5265
|
+
|
|
5266
|
+
class BlocoEliminacaoCortes(Section):
|
|
5267
|
+
"""
|
|
5268
|
+
Bloco com a escolha de habilitar ou não eliminação de cortes
|
|
5269
|
+
"""
|
|
5270
|
+
|
|
5271
|
+
__slots__ = ["__linha"]
|
|
5272
|
+
|
|
5273
|
+
def __init__(self, previous=None, next=None, data=None) -> None:
|
|
5274
|
+
super().__init__(previous, next, data)
|
|
5275
|
+
self.__linha = Line([
|
|
5276
|
+
LiteralField(24, 0),
|
|
5277
|
+
IntegerField(1, 24),
|
|
5278
|
+
LiteralField(148, 28),
|
|
5279
|
+
])
|
|
5280
|
+
|
|
5281
|
+
def __eq__(self, o: object) -> bool:
|
|
5282
|
+
if not isinstance(o, BlocoEliminacaoCortes):
|
|
5283
|
+
return False
|
|
5284
|
+
bloco: BlocoEliminacaoCortes = o
|
|
5285
|
+
if not all([
|
|
5286
|
+
isinstance(self.data, list),
|
|
5287
|
+
isinstance(o.data, list),
|
|
5288
|
+
]):
|
|
5289
|
+
return False
|
|
5290
|
+
else:
|
|
5291
|
+
return self.data == bloco.data
|
|
5292
|
+
|
|
5293
|
+
def read(self, file: IO, *args, **kwargs):
|
|
5294
|
+
self.data = self.__linha.read(file.readline())
|
|
5295
|
+
|
|
5296
|
+
def write(self, file: IO, *args, **kwargs):
|
|
5297
|
+
file.write(self.__linha.write(self.data))
|
|
5298
|
+
|
|
5299
|
+
@property
|
|
5300
|
+
def valor(self) -> Optional[int]:
|
|
5301
|
+
"""
|
|
5302
|
+
O valor da opção configurada
|
|
5303
|
+
|
|
5304
|
+
:return: A consideração ou não de RHV
|
|
5305
|
+
:rtype: int | None
|
|
5306
|
+
"""
|
|
5307
|
+
return self.data[1]
|
|
5308
|
+
|
|
5309
|
+
@valor.setter
|
|
5310
|
+
def valor(self, v: int):
|
|
5311
|
+
self.data[1] = v
|
|
5312
|
+
|
|
5313
|
+
|
|
5314
|
+
class BlocoCalculaProdtMediaSin(Section):
|
|
5315
|
+
"""
|
|
5316
|
+
Bloco com a escolha de calcular ou não a produtibilidade
|
|
5317
|
+
média do SIN
|
|
5318
|
+
"""
|
|
5319
|
+
|
|
5320
|
+
__slots__ = ["__linha"]
|
|
5321
|
+
|
|
5322
|
+
def __init__(self, previous=None, next=None, data=None) -> None:
|
|
5323
|
+
super().__init__(previous, next, data)
|
|
5324
|
+
self.__linha = Line([
|
|
5325
|
+
LiteralField(24, 0),
|
|
5326
|
+
IntegerField(1, 24),
|
|
5327
|
+
LiteralField(148, 28),
|
|
5328
|
+
])
|
|
5329
|
+
|
|
5330
|
+
def __eq__(self, o: object) -> bool:
|
|
5331
|
+
if not isinstance(o, BlocoCalculaProdtMediaSin):
|
|
5332
|
+
return False
|
|
5333
|
+
bloco: BlocoCalculaProdtMediaSin = o
|
|
5334
|
+
if not all([
|
|
5335
|
+
isinstance(self.data, list),
|
|
5336
|
+
isinstance(o.data, list),
|
|
5337
|
+
]):
|
|
5338
|
+
return False
|
|
5339
|
+
else:
|
|
5340
|
+
return self.data == bloco.data
|
|
5341
|
+
|
|
5342
|
+
def read(self, file: IO, *args, **kwargs):
|
|
5343
|
+
self.data = self.__linha.read(file.readline())
|
|
5344
|
+
|
|
5345
|
+
def write(self, file: IO, *args, **kwargs):
|
|
5346
|
+
file.write(self.__linha.write(self.data))
|
|
5347
|
+
|
|
5348
|
+
@property
|
|
5349
|
+
def valor(self) -> Optional[int]:
|
|
5350
|
+
"""
|
|
5351
|
+
O valor da opção configurada
|
|
5352
|
+
|
|
5353
|
+
:return: A consideração ou não de RHV
|
|
5354
|
+
:rtype: int | None
|
|
5355
|
+
"""
|
|
5356
|
+
return self.data[1]
|
|
5357
|
+
|
|
5358
|
+
@valor.setter
|
|
5359
|
+
def valor(self, v: int):
|
|
5360
|
+
self.data[1] = v
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
inewave/__init__.py,sha256=
|
|
1
|
+
inewave/__init__.py,sha256=ttJGCPEjOBm5z2vtZspXq2TiramCBpddWtr1Ffaijks,236
|
|
2
2
|
inewave/config.py,sha256=fMgG2sqE_PNz30QCNxkgfPf78SEOAVfV07kGtO1bREE,1106
|
|
3
3
|
inewave/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
inewave/_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -30,7 +30,7 @@ inewave/newave/cortes.py,sha256=X7pi4vZppetafCCq0XU91WtkimK2mvGRZZIW0bR-P-Y,3059
|
|
|
30
30
|
inewave/newave/cortesh.py,sha256=gL6z-WvPKKBscFq8KsvQO-ZAQNlVSAFkXx-owT2iKf4,12982
|
|
31
31
|
inewave/newave/curva.py,sha256=vJYRIuBfn4UeACSxW2zphutmJCyjWNAlE2I_iWWxifQ,6744
|
|
32
32
|
inewave/newave/cvar.py,sha256=2EHHWBEPin-0T_ArIZYVQJ2U32SkaPow6SP_LWIM4ko,2723
|
|
33
|
-
inewave/newave/dger.py,sha256=
|
|
33
|
+
inewave/newave/dger.py,sha256=a65IiVqh_ryzFD7SY-U-w7ZswBK9kyVzf2a2QSiR3bw,82293
|
|
34
34
|
inewave/newave/dsvagua.py,sha256=e4Kczvaj4kHkxBvBTiKFI69aCHY7MMrO2bCSTjtBJwI,1294
|
|
35
35
|
inewave/newave/eafpast.py,sha256=uSKf6mWAERHED--eRGYcJTuEcYg-SGzolo5hCFlzLVg,1203
|
|
36
36
|
inewave/newave/eco_fpha.py,sha256=-HCqfX-zLIBPPPGftLNffyDWBL91sEhA2vJjp5jhuWM,1491
|
|
@@ -106,7 +106,7 @@ inewave/newave/modelos/cortes.py,sha256=csy2I9o_TkQx8t4E3ugPndwRJJFIZIwusQiBswa3
|
|
|
106
106
|
inewave/newave/modelos/cortesh.py,sha256=ayA-zWiBQ3o77J_wqehgODhl9wjeold84bYsKmKs-6g,31154
|
|
107
107
|
inewave/newave/modelos/curva.py,sha256=bkxFD8_zhnMe-cBw61C9T4unWLnVfspNnjHTnUG7NVo,13680
|
|
108
108
|
inewave/newave/modelos/cvar.py,sha256=Wu_qilEvzjT9MCoelMmiDztu9-yTI0eAC2fQMMN2E2M,7489
|
|
109
|
-
inewave/newave/modelos/dger.py,sha256
|
|
109
|
+
inewave/newave/modelos/dger.py,sha256=09qsnS3Skr6m403ftGZLjPJJmI8B3FosscW-5p277CY,144625
|
|
110
110
|
inewave/newave/modelos/dsvagua.py,sha256=G_4PKZcQCF_vZMrBqQcnpH54edXhSEyDlHNy4aZoiIk,5592
|
|
111
111
|
inewave/newave/modelos/eafpast.py,sha256=HFKpsMyoLGwQly95uHhsK2wnrBwL7v8auzaa-UbgP5k,3322
|
|
112
112
|
inewave/newave/modelos/eco_fpha.py,sha256=q-b-ShvAW-RDpr7xlmhBvM9ixWF9DxqFvhxApA7oGdo,1646
|
|
@@ -541,7 +541,7 @@ inewave/nwlistop/modelos/blocos/usina.py,sha256=cQvLVtG1NC8y4lP_to6-YjAKQRGRlaxO
|
|
|
541
541
|
inewave/nwlistop/modelos/blocos/valoresclassetermicaseriepatamar.py,sha256=0LV0JMFoiuNEQ3n-XVfG2T0sIq_33bnCt6gmwPOTql8,3283
|
|
542
542
|
inewave/nwlistop/modelos/blocos/valoresserie.py,sha256=Q88QBoI3zyU7y0AvHBeSqDBEVAkb3rAa3XpxA51NbF8,2143
|
|
543
543
|
inewave/nwlistop/modelos/blocos/valoresseriepatamar.py,sha256=xnRdor-_2VyR5EbWNSzU_hbABJFtfgKGlznbcRaslGg,2589
|
|
544
|
-
inewave-1.11.
|
|
545
|
-
inewave-1.11.
|
|
546
|
-
inewave-1.11.
|
|
547
|
-
inewave-1.11.
|
|
544
|
+
inewave-1.11.2.dist-info/METADATA,sha256=bLXBwrG9rUZoptFlcsCRNq7BIrku2q2S9tDoA0Dja2s,3743
|
|
545
|
+
inewave-1.11.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
546
|
+
inewave-1.11.2.dist-info/licenses/LICENSE.md,sha256=0jOBL78mjzscN0-XI-6YtK1IqnODUbG85DaKAMH4XJ8,1070
|
|
547
|
+
inewave-1.11.2.dist-info/RECORD,,
|
|
File without changes
|