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 CHANGED
@@ -6,7 +6,7 @@ inewave é um módulo em Python para manipulação dos arquivos de entrada
6
6
  e saída do NEWAVE.
7
7
  """
8
8
 
9
- __version__ = "1.11.0"
9
+ __version__ = "1.11.2"
10
10
 
11
11
  from . import newave # noqa
12
12
  from . import nwlistcf # noqa
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
- Configuração da linha número 91 do arquivo `dger.dat`.
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
- :return: O valor do campo
2200
- :rtype: int | None
2201
- """
2202
- b = self.data.get_sections_of_type(BlocoSementeForward)
2203
- if isinstance(b, BlocoSementeForward):
2204
- return b.valor
2205
- return None
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
- b = self.data.get_sections_of_type(BlocoSementeForward)
2210
- if isinstance(b, BlocoSementeForward):
2211
- b.valor = dado
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
- Configuração da linha número 92 do arquivo `dger.dat`.
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
- :return: O valor do campo
2219
- :rtype: int | None
2220
- """
2221
- b = self.data.get_sections_of_type(BlocoSementeBackward)
2222
- if isinstance(b, BlocoSementeBackward):
2223
- return b.valor
2224
- return None
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
- b = self.data.get_sections_of_type(BlocoSementeBackward)
2229
- if isinstance(b, BlocoSementeBackward):
2230
- b.valor = dado
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 93 do arquivo `dger.dat`.
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 94 do arquivo `dger.dat`.
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 95 do arquivo `dger.dat`.
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 96 do arquivo `dger.dat`.
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 97 do arquivo `dger.dat`.
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 98 do arquivo `dger.dat`.
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 99 do arquivo `dger.dat`.
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 100 do arquivo `dger.dat`.
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 101 do arquivo `dger.dat`.
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 102 do arquivo `dger.dat`.
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 103 do arquivo `dger.dat`.
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 104 do arquivo `dger.dat`.
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 104 do arquivo `dger.dat`.
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 104 do arquivo `dger.dat`.
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
@@ -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([LiteralField(24, 0), IntegerField(4, 21)])
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,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: inewave
3
- Version: 1.11.0
3
+ Version: 1.11.2
4
4
  Summary: inewave
5
5
  Project-URL: Documentation, https://rjmalves.github.io/inewave/
6
6
  Project-URL: Repository, https://github.com/rjmalves/inewave/
@@ -1,4 +1,4 @@
1
- inewave/__init__.py,sha256=44kSITb1meBcZFYLpGkP_bStt_w3rOvo1hY3JrvaynI,236
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=e7AGNjBm7kZqY5fRcthvYFY_m7vovWbZdAQF-Iyd_Wk,83959
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=-aUJ-S0j15q1RVbAyq-bWB0F9YfXGoNe1Vsy7hH78Ew,141673
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.0.dist-info/METADATA,sha256=q80VZ89iXc624xH1xYFINnkW37LuIDp_2Q3sVRHfGzo,3743
545
- inewave-1.11.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
546
- inewave-1.11.0.dist-info/licenses/LICENSE.md,sha256=0jOBL78mjzscN0-XI-6YtK1IqnODUbG85DaKAMH4XJ8,1070
547
- inewave-1.11.0.dist-info/RECORD,,
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,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.27.0
2
+ Generator: hatchling 1.28.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any