inewave 1.7.4__py3-none-any.whl → 1.7.5__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/modelos/adterm.py +7 -0
- inewave/newave/modelos/agrint.py +2 -0
- inewave/newave/modelos/arquivos.py +2 -0
- inewave/newave/modelos/avl_cortesfpha_nwv.py +4 -0
- inewave/newave/modelos/avl_desvfpha_s.py +2 -0
- inewave/newave/modelos/avl_desvfpha_v_q.py +2 -0
- inewave/newave/modelos/blocos/tabelacsv.py +2 -0
- inewave/newave/modelos/blocos/versaomodelo.py +4 -0
- inewave/newave/modelos/cadic.py +2 -0
- inewave/newave/modelos/caso.py +4 -0
- inewave/newave/modelos/clast.py +2 -0
- inewave/newave/modelos/confhd.py +2 -0
- inewave/newave/modelos/conft.py +2 -0
- inewave/newave/modelos/cortes.py +14 -0
- inewave/newave/modelos/cortesh.py +20 -0
- inewave/newave/modelos/curva.py +2 -0
- inewave/newave/modelos/cvar.py +2 -0
- inewave/newave/modelos/dger.py +208 -0
- inewave/newave/modelos/dsvagua.py +2 -0
- inewave/newave/modelos/eafpast.py +2 -0
- inewave/newave/modelos/enavazb.py +2 -0
- inewave/newave/modelos/enavazf.py +2 -0
- inewave/newave/modelos/energiab.py +2 -0
- inewave/newave/modelos/energiaf.py +2 -0
- inewave/newave/modelos/energias.py +9 -0
- inewave/newave/modelos/engnat.py +2 -0
- inewave/newave/modelos/exph.py +2 -0
- inewave/newave/modelos/expt.py +2 -0
- inewave/newave/modelos/forward.py +27 -0
- inewave/newave/modelos/forwarh.py +2 -0
- inewave/newave/modelos/ghmin.py +2 -0
- inewave/newave/modelos/hidr.py +2 -0
- inewave/newave/modelos/manutt.py +2 -0
- inewave/newave/modelos/modif.py +32 -0
- inewave/newave/modelos/newavetim.py +2 -0
- inewave/newave/modelos/nwv_avl_evap.py +2 -0
- inewave/newave/modelos/nwv_cortes_evap.py +2 -0
- inewave/newave/modelos/nwv_eco_evap.py +2 -0
- inewave/newave/modelos/parp.py +45 -0
- inewave/newave/modelos/parpeol.py +23 -0
- inewave/newave/modelos/parpvaz.py +37 -0
- inewave/newave/modelos/patamar.py +28 -0
- inewave/newave/modelos/penalid.py +2 -0
- inewave/newave/modelos/pmo.py +63 -0
- inewave/newave/modelos/re.py +2 -0
- inewave/newave/modelos/ree.py +2 -0
- inewave/newave/modelos/selcor.py +5 -3
- inewave/newave/modelos/shist.py +10 -6
- inewave/newave/modelos/sistema.py +10 -0
- inewave/newave/modelos/term.py +2 -0
- inewave/newave/modelos/vazaob.py +2 -0
- inewave/newave/modelos/vazaof.py +2 -0
- inewave/newave/modelos/vazaos.py +2 -0
- inewave/newave/modelos/vazinat.py +2 -0
- inewave/newave/modelos/vazoes.py +2 -0
- inewave/newave/modelos/vazpast.py +2 -0
- inewave/newave/modelos/volref_saz.py +2 -0
- inewave/newave/modif.py +2 -0
- inewave/newave/vazoes.py +2 -0
- inewave/nwlistcf/modelos/arquivos.py +2 -0
- inewave/nwlistcf/modelos/caso.py +2 -0
- inewave/nwlistcf/modelos/estados.py +10 -0
- inewave/nwlistcf/modelos/nwlistcfdat.py +2 -0
- inewave/nwlistcf/modelos/nwlistcfrel.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivoclassetermicasubmercadopatamar.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivoestacaobombeamentopatamar.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivoparsubmercadopatamar.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivoree.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivoreepatamar.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivorestricao.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivorestricaopatamar.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivosin.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivosinpatamar.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivosubmercado.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivosubmercadopatamar.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivousina.py +2 -0
- inewave/nwlistop/modelos/arquivos/arquivousinapatamar.py +2 -0
- inewave/nwlistop/modelos/blocos/estacaobombeamento.py +2 -0
- inewave/nwlistop/modelos/blocos/parsubmercados.py +2 -0
- inewave/nwlistop/modelos/blocos/ree.py +2 -0
- inewave/nwlistop/modelos/blocos/restricao.py +2 -0
- inewave/nwlistop/modelos/blocos/submercado.py +2 -0
- inewave/nwlistop/modelos/blocos/usina.py +2 -0
- inewave/nwlistop/modelos/blocos/valoresclassetermicaseriepatamar.py +8 -0
- inewave/nwlistop/modelos/blocos/valoresserie.py +2 -0
- inewave/nwlistop/modelos/blocos/valoresseriepatamar.py +2 -0
- inewave/nwlistop/modelos/c_v_rhq.py +2 -0
- inewave/nwlistop/modelos/c_v_rhq_s.py +2 -0
- inewave/nwlistop/modelos/c_v_rhv.py +2 -0
- inewave/nwlistop/modelos/c_v_rhv_s.py +2 -0
- inewave/nwlistop/modelos/cbomb.py +2 -0
- inewave/nwlistop/modelos/cbombsin.py +2 -0
- inewave/nwlistop/modelos/cdef.py +2 -0
- inewave/nwlistop/modelos/cdefsin.py +2 -0
- inewave/nwlistop/modelos/celetricas.py +2 -0
- inewave/nwlistop/modelos/cmarg.py +2 -0
- inewave/nwlistop/modelos/cmargmed.py +2 -0
- inewave/nwlistop/modelos/coper.py +2 -0
- inewave/nwlistop/modelos/corteolm.py +2 -0
- inewave/nwlistop/modelos/cterm.py +2 -0
- inewave/nwlistop/modelos/ctermsin.py +2 -0
- inewave/nwlistop/modelos/def.py +2 -0
- inewave/nwlistop/modelos/defsin.py +2 -0
- inewave/nwlistop/modelos/deletricas.py +2 -0
- inewave/nwlistop/modelos/depminuh.py +2 -0
- inewave/nwlistop/modelos/desvuh.py +2 -0
- inewave/nwlistop/modelos/dflppdfmaxm.py +2 -0
- inewave/nwlistop/modelos/dflpptbmaxm.py +2 -0
- inewave/nwlistop/modelos/dfphauh.py +2 -0
- inewave/nwlistop/modelos/dlppdfmax.py +2 -0
- inewave/nwlistop/modelos/dlppdfmaxs.py +2 -0
- inewave/nwlistop/modelos/dlpptbmax.py +2 -0
- inewave/nwlistop/modelos/dlpptbmaxs.py +2 -0
- inewave/nwlistop/modelos/dnegevap.py +2 -0
- inewave/nwlistop/modelos/dposevap.py +2 -0
- inewave/nwlistop/modelos/dtbmax.py +2 -0
- inewave/nwlistop/modelos/dtbmin.py +2 -0
- inewave/nwlistop/modelos/dvazmax.py +2 -0
- inewave/nwlistop/modelos/eaf.py +2 -0
- inewave/nwlistop/modelos/eafb.py +2 -0
- inewave/nwlistop/modelos/eafbm.py +2 -0
- inewave/nwlistop/modelos/eafbsin.py +2 -0
- inewave/nwlistop/modelos/eafm.py +2 -0
- inewave/nwlistop/modelos/earmf.py +2 -0
- inewave/nwlistop/modelos/earmfm.py +2 -0
- inewave/nwlistop/modelos/earmfp.py +2 -0
- inewave/nwlistop/modelos/earmfpm.py +2 -0
- inewave/nwlistop/modelos/earmfpsin.py +2 -0
- inewave/nwlistop/modelos/earmfsin.py +2 -0
- inewave/nwlistop/modelos/edesvc.py +2 -0
- inewave/nwlistop/modelos/edesvcm.py +2 -0
- inewave/nwlistop/modelos/edesvcsin.py +2 -0
- inewave/nwlistop/modelos/evapo.py +2 -0
- inewave/nwlistop/modelos/evapom.py +2 -0
- inewave/nwlistop/modelos/evaporsin.py +2 -0
- inewave/nwlistop/modelos/evert.py +2 -0
- inewave/nwlistop/modelos/evertm.py +2 -0
- inewave/nwlistop/modelos/evertsin.py +2 -0
- inewave/nwlistop/modelos/exces.py +2 -0
- inewave/nwlistop/modelos/excessin.py +2 -0
- inewave/nwlistop/modelos/form_rhq.py +2 -0
- inewave/nwlistop/modelos/form_rhv.py +2 -0
- inewave/nwlistop/modelos/fteolm.py +2 -0
- inewave/nwlistop/modelos/fteolsin.py +2 -0
- inewave/nwlistop/modelos/geol.py +2 -0
- inewave/nwlistop/modelos/geolm.py +2 -0
- inewave/nwlistop/modelos/geolsin.py +2 -0
- inewave/nwlistop/modelos/gh_fphexat.py +2 -0
- inewave/nwlistop/modelos/ghidr.py +2 -0
- inewave/nwlistop/modelos/ghidrm.py +2 -0
- inewave/nwlistop/modelos/ghidrsin.py +2 -0
- inewave/nwlistop/modelos/ghiduh.py +2 -0
- inewave/nwlistop/modelos/ghmax.py +2 -0
- inewave/nwlistop/modelos/ghmax_fpha.py +2 -0
- inewave/nwlistop/modelos/ghmax_fphc.py +2 -0
- inewave/nwlistop/modelos/ghmaxm.py +2 -0
- inewave/nwlistop/modelos/ghmaxmr.py +2 -0
- inewave/nwlistop/modelos/ghmaxr.py +2 -0
- inewave/nwlistop/modelos/ghmaxrsin.py +2 -0
- inewave/nwlistop/modelos/ghmaxsin.py +2 -0
- inewave/nwlistop/modelos/ghtot.py +2 -0
- inewave/nwlistop/modelos/ghtotm.py +2 -0
- inewave/nwlistop/modelos/ghtotsin.py +2 -0
- inewave/nwlistop/modelos/gtert.py +2 -0
- inewave/nwlistop/modelos/gttot.py +2 -0
- inewave/nwlistop/modelos/gttotsin.py +2 -0
- inewave/nwlistop/modelos/hjus.py +2 -0
- inewave/nwlistop/modelos/hliq.py +2 -0
- inewave/nwlistop/modelos/hmont.py +2 -0
- inewave/nwlistop/modelos/intercambio.py +2 -0
- inewave/nwlistop/modelos/invade.py +2 -0
- inewave/nwlistop/modelos/invadem.py +2 -0
- inewave/nwlistop/modelos/mediasmerc.py +2 -0
- inewave/nwlistop/modelos/mediasree.py +2 -0
- inewave/nwlistop/modelos/mediasrep.py +2 -0
- inewave/nwlistop/modelos/mediasrhq.py +2 -0
- inewave/nwlistop/modelos/mediasrhv.py +2 -0
- inewave/nwlistop/modelos/mediassin.py +2 -0
- inewave/nwlistop/modelos/mediasusie.py +2 -0
- inewave/nwlistop/modelos/mediasusih.py +2 -0
- inewave/nwlistop/modelos/mediasusit.py +2 -0
- inewave/nwlistop/modelos/mercl.py +2 -0
- inewave/nwlistop/modelos/merclsin.py +2 -0
- inewave/nwlistop/modelos/mevmin.py +2 -0
- inewave/nwlistop/modelos/mevminm.py +2 -0
- inewave/nwlistop/modelos/mevminsin.py +2 -0
- inewave/nwlistop/modelos/nwlistopdat.py +11 -0
- inewave/nwlistop/modelos/perdf.py +2 -0
- inewave/nwlistop/modelos/perdfm.py +2 -0
- inewave/nwlistop/modelos/perdfsin.py +2 -0
- inewave/nwlistop/modelos/pivarm.py +2 -0
- inewave/nwlistop/modelos/pivarmincr.py +2 -0
- inewave/nwlistop/modelos/qafluh.py +2 -0
- inewave/nwlistop/modelos/qincruh.py +2 -0
- inewave/nwlistop/modelos/rhslppdf.py +2 -0
- inewave/nwlistop/modelos/rhslpptb.py +2 -0
- inewave/nwlistop/modelos/vagua.py +2 -0
- inewave/nwlistop/modelos/varmpuh.py +2 -0
- inewave/nwlistop/modelos/varmuh.py +2 -0
- inewave/nwlistop/modelos/vbomb.py +2 -0
- inewave/nwlistop/modelos/vdesviouh.py +2 -0
- inewave/nwlistop/modelos/vento.py +2 -0
- inewave/nwlistop/modelos/vertuh.py +2 -0
- inewave/nwlistop/modelos/verturb.py +2 -0
- inewave/nwlistop/modelos/verturbm.py +2 -0
- inewave/nwlistop/modelos/verturbsin.py +2 -0
- inewave/nwlistop/modelos/vevapuh.py +2 -0
- inewave/nwlistop/modelos/vevmin.py +2 -0
- inewave/nwlistop/modelos/vevminm.py +2 -0
- inewave/nwlistop/modelos/vevminsin.py +2 -0
- inewave/nwlistop/modelos/vghmin.py +2 -0
- inewave/nwlistop/modelos/vghminm.py +2 -0
- inewave/nwlistop/modelos/vghminsin.py +2 -0
- inewave/nwlistop/modelos/vghminuh.py +2 -0
- inewave/nwlistop/modelos/viol_rhq.py +2 -0
- inewave/nwlistop/modelos/viol_rhv.py +2 -0
- inewave/nwlistop/modelos/vmort.py +2 -0
- inewave/nwlistop/modelos/vmortm.py +2 -0
- inewave/nwlistop/modelos/vmortsin.py +2 -0
- inewave/nwlistop/modelos/vturuh.py +2 -0
- {inewave-1.7.4.dist-info → inewave-1.7.5.dist-info}/METADATA +2 -2
- {inewave-1.7.4.dist-info → inewave-1.7.5.dist-info}/RECORD +227 -227
- tests/newave/test_dger.py +0 -2
- {inewave-1.7.4.dist-info → inewave-1.7.5.dist-info}/LICENSE.md +0 -0
- {inewave-1.7.4.dist-info → inewave-1.7.5.dist-info}/WHEEL +0 -0
- {inewave-1.7.4.dist-info → inewave-1.7.5.dist-info}/top_level.txt +0 -0
|
@@ -19,6 +19,8 @@ class BlocoPenalidades(Section):
|
|
|
19
19
|
e outras ações.
|
|
20
20
|
"""
|
|
21
21
|
|
|
22
|
+
__slots__ = ["__linha", "__cabecalhos", "__numero_patamares_penalidade"]
|
|
23
|
+
|
|
22
24
|
def __init__(self, previous=None, next=None, data=None) -> None:
|
|
23
25
|
super().__init__(previous, next, data)
|
|
24
26
|
self.__linha = Line(
|
inewave/newave/modelos/pmo.py
CHANGED
|
@@ -27,6 +27,8 @@ class BlocoEafPastTendenciaHidrolPMO(Block):
|
|
|
27
27
|
tendência hidrológica localizado no arquivo `pmo.dat`.
|
|
28
28
|
"""
|
|
29
29
|
|
|
30
|
+
__slots__ = ["__line"]
|
|
31
|
+
|
|
30
32
|
BEGIN_PATTERN = "ENERGIAS AFLUENTES PASSADAS PARA A TENDENCIA HIDROLOGICA"
|
|
31
33
|
END_PATTERN = ""
|
|
32
34
|
|
|
@@ -92,6 +94,8 @@ class BlocoEafPastCfugaMedioPMO(Block):
|
|
|
92
94
|
tendência hidrológica localizado no arquivo `pmo.dat`.
|
|
93
95
|
"""
|
|
94
96
|
|
|
97
|
+
__slots__ = ["__line"]
|
|
98
|
+
|
|
95
99
|
BEGIN_PATTERN = (
|
|
96
100
|
"ENERGIAS AFLUENTES PASSADAS EM REFERENCIA A PRIMEIRA CONFIG"
|
|
97
101
|
)
|
|
@@ -282,6 +286,8 @@ class BlocoVolumeArmazenadoInicialPMO(Block):
|
|
|
282
286
|
localizado no arquivo `pmo.dat`.
|
|
283
287
|
"""
|
|
284
288
|
|
|
289
|
+
__slots__ = ["__linha"]
|
|
290
|
+
|
|
285
291
|
BEGIN_PATTERN = r" VOLUME ARMAZENADO INICIAL"
|
|
286
292
|
END_PATTERN = "X-----X------------X"
|
|
287
293
|
|
|
@@ -353,6 +359,8 @@ class BlocoGeracaoMinimaUsinasTermicasPMO(Block):
|
|
|
353
359
|
por usina existentes no arquivo `pmo.dat`.
|
|
354
360
|
"""
|
|
355
361
|
|
|
362
|
+
__slots__ = ["__line"]
|
|
363
|
+
|
|
356
364
|
BEGIN_PATTERN = "GERACAO TERMICA MINIMA POR USINA"
|
|
357
365
|
END_PATTERN = ""
|
|
358
366
|
|
|
@@ -439,6 +447,8 @@ class BlocoGeracaoMaximaUsinasTermicasPMO(Block):
|
|
|
439
447
|
por usina existentes no arquivo `pmo.dat`.
|
|
440
448
|
"""
|
|
441
449
|
|
|
450
|
+
__slots__ = ["__line"]
|
|
451
|
+
|
|
442
452
|
BEGIN_PATTERN = "GERACAO TERMICA MAXIMA POR USINA"
|
|
443
453
|
END_PATTERN = ""
|
|
444
454
|
|
|
@@ -525,6 +535,8 @@ class BlocoConvergenciaPMO(Block):
|
|
|
525
535
|
no arquivo `pmo.dat`.
|
|
526
536
|
"""
|
|
527
537
|
|
|
538
|
+
__slots__ = ["__line"]
|
|
539
|
+
|
|
528
540
|
BEGIN_PATTERN = " ITER LIM.INF. "
|
|
529
541
|
END_PATTERN = ""
|
|
530
542
|
|
|
@@ -606,6 +618,8 @@ class BlocoConfiguracoesExpansaoPMO(Block):
|
|
|
606
618
|
do sistema existentes no arquivo `pmo.dat`.
|
|
607
619
|
"""
|
|
608
620
|
|
|
621
|
+
__slots__ = ["__line"]
|
|
622
|
+
|
|
609
623
|
BEGIN_PATTERN = "CONFIGURACOES POR"
|
|
610
624
|
END_PATTERN = ""
|
|
611
625
|
|
|
@@ -667,6 +681,8 @@ class BlocoMARSPMO(Block):
|
|
|
667
681
|
existentes no arquivo `pmo.dat`.
|
|
668
682
|
"""
|
|
669
683
|
|
|
684
|
+
__slots__ = ["__line", "__ree_field"]
|
|
685
|
+
|
|
670
686
|
BEGIN_PATTERN = "PARAMETROS DAS RETAS DE PERDAS POR ENGOLIMENTO MAXIMO"
|
|
671
687
|
END_PATTERN = 'ENERGIA FIO D"AGUA LIQUIDA|CEPEL'
|
|
672
688
|
|
|
@@ -738,6 +754,8 @@ class BlocoRiscoDeficitENSPMO(Block):
|
|
|
738
754
|
ENS (energia não suprida) existentes no arquivo `pmo.dat`.
|
|
739
755
|
"""
|
|
740
756
|
|
|
757
|
+
__slots__ = ["__line"]
|
|
758
|
+
|
|
741
759
|
BEGIN_PATTERN = r"RISCO ANUAL DE DEFICIT E E\(ENS\) \(%\)" # noqa
|
|
742
760
|
END_PATTERN = ""
|
|
743
761
|
|
|
@@ -807,6 +825,8 @@ class BlocoCustoOperacaoPMO(Block):
|
|
|
807
825
|
existentes no arquivo `pmo.dat`.
|
|
808
826
|
"""
|
|
809
827
|
|
|
828
|
+
__slots__ = ["__line"]
|
|
829
|
+
|
|
810
830
|
BEGIN_PATTERN = "PARCELA V.ESPERADO"
|
|
811
831
|
END_PATTERN = ""
|
|
812
832
|
|
|
@@ -869,6 +889,8 @@ class BlocoCustoOperacaoTotalPMO(Block):
|
|
|
869
889
|
existentes no arquivo `pmo.dat`.
|
|
870
890
|
"""
|
|
871
891
|
|
|
892
|
+
__slots__ = ["__line"]
|
|
893
|
+
|
|
872
894
|
BEGIN_PATTERN = " VALOR ESPERADO TOTAL:"
|
|
873
895
|
END_PATTERN = ""
|
|
874
896
|
|
|
@@ -905,6 +927,13 @@ class BlocoProdutibilidadesConfiguracaoPMO(Block):
|
|
|
905
927
|
configuração.
|
|
906
928
|
"""
|
|
907
929
|
|
|
930
|
+
__slots__ = [
|
|
931
|
+
"__cfg_line",
|
|
932
|
+
"__prodt_line",
|
|
933
|
+
"__prodt_reserv_line",
|
|
934
|
+
"__prod_acum_line",
|
|
935
|
+
]
|
|
936
|
+
|
|
908
937
|
BEGIN_PATTERN = r"PRODUTIBILIDADES \(MW/m3/s\)"
|
|
909
938
|
END_PATTERN = ""
|
|
910
939
|
|
|
@@ -1114,6 +1143,11 @@ class BlocoPenalidadeViolacaoOutrosUsosPMO(Block):
|
|
|
1114
1143
|
outros usos da água.
|
|
1115
1144
|
"""
|
|
1116
1145
|
|
|
1146
|
+
__slots__ = [
|
|
1147
|
+
"__ree_line",
|
|
1148
|
+
"__pen_line",
|
|
1149
|
+
]
|
|
1150
|
+
|
|
1117
1151
|
BEGIN_PATTERN = "PENALIDADE POR VIOLACAO DOS OUTROS USOS DA AGUA "
|
|
1118
1152
|
END_PATTERN = ""
|
|
1119
1153
|
|
|
@@ -1197,6 +1231,12 @@ class BlocoPenalidadeViolacaoVazaoMinimaPMO(Block):
|
|
|
1197
1231
|
vazão mínima.
|
|
1198
1232
|
"""
|
|
1199
1233
|
|
|
1234
|
+
__slots__ = [
|
|
1235
|
+
"__ree_line",
|
|
1236
|
+
"__patamar_line",
|
|
1237
|
+
"__pen_line",
|
|
1238
|
+
]
|
|
1239
|
+
|
|
1200
1240
|
BEGIN_PATTERN = "PENALIDADE POR VIOLACAO DE VAZAO MINIMA "
|
|
1201
1241
|
END_PATTERN = ""
|
|
1202
1242
|
|
|
@@ -1292,6 +1332,11 @@ class BlocoPenalidadeViolacaoCurvaSegurancaPMO(Block):
|
|
|
1292
1332
|
curva-guia de segurança.
|
|
1293
1333
|
"""
|
|
1294
1334
|
|
|
1335
|
+
__slots__ = [
|
|
1336
|
+
"__ree_line",
|
|
1337
|
+
"__pen_line",
|
|
1338
|
+
]
|
|
1339
|
+
|
|
1295
1340
|
BEGIN_PATTERN = "PENALIDADE POR VIOLACAO DA CURVA GUIA DE SEGURANCA "
|
|
1296
1341
|
END_PATTERN = ""
|
|
1297
1342
|
|
|
@@ -1375,6 +1420,11 @@ class BlocoPenalidadeViolacaoFphaPMO(Block):
|
|
|
1375
1420
|
FPHA.
|
|
1376
1421
|
"""
|
|
1377
1422
|
|
|
1423
|
+
__slots__ = [
|
|
1424
|
+
"__ree_line",
|
|
1425
|
+
"__pen_line",
|
|
1426
|
+
]
|
|
1427
|
+
|
|
1378
1428
|
BEGIN_PATTERN = "PENALIDADE POR VIOLACAO DA FPHA "
|
|
1379
1429
|
END_PATTERN = ""
|
|
1380
1430
|
|
|
@@ -1458,6 +1508,11 @@ class BlocoPenalidadeViolacaoEvaporacaoPMO(Block):
|
|
|
1458
1508
|
evaporação.
|
|
1459
1509
|
"""
|
|
1460
1510
|
|
|
1511
|
+
__slots__ = [
|
|
1512
|
+
"__ree_line",
|
|
1513
|
+
"__pen_line",
|
|
1514
|
+
]
|
|
1515
|
+
|
|
1461
1516
|
BEGIN_PATTERN = "PENALIDADE POR VIOLACAO DA EVAPORACAO "
|
|
1462
1517
|
END_PATTERN = ""
|
|
1463
1518
|
|
|
@@ -1541,6 +1596,10 @@ class BlocoPenalidadeViolacaoTurbinamentoMaximoPMO(Block):
|
|
|
1541
1596
|
turbinamento máximo.
|
|
1542
1597
|
"""
|
|
1543
1598
|
|
|
1599
|
+
__slots__ = [
|
|
1600
|
+
"__pen_line",
|
|
1601
|
+
]
|
|
1602
|
+
|
|
1544
1603
|
BEGIN_PATTERN = "PENALIDADE POR VIOLACAO DE TURBINAMENTO MAXIMO "
|
|
1545
1604
|
END_PATTERN = ""
|
|
1546
1605
|
|
|
@@ -1605,6 +1664,10 @@ class BlocoPenalidadeViolacaoTurbinamentoMinimoPMO(Block):
|
|
|
1605
1664
|
turbinamento máximo.
|
|
1606
1665
|
"""
|
|
1607
1666
|
|
|
1667
|
+
__slots__ = [
|
|
1668
|
+
"__pen_line",
|
|
1669
|
+
]
|
|
1670
|
+
|
|
1608
1671
|
BEGIN_PATTERN = "PENALIDADE POR VIOLACAO DE TURBINAMENTO MINIMO "
|
|
1609
1672
|
END_PATTERN = ""
|
|
1610
1673
|
|
inewave/newave/modelos/re.py
CHANGED
inewave/newave/modelos/ree.py
CHANGED
inewave/newave/modelos/selcor.py
CHANGED
|
@@ -11,9 +11,11 @@ class BlocoDadosSelcor(Section):
|
|
|
11
11
|
de cortes existentes no arquivo `selcor.dat`.
|
|
12
12
|
"""
|
|
13
13
|
|
|
14
|
+
__slots__ = ["__linha", "__cabecalhos", "__comentarios", "data"]
|
|
15
|
+
|
|
14
16
|
def __init__(self, previous=None, next=None, data=None) -> None:
|
|
15
17
|
super().__init__(previous, next, data)
|
|
16
|
-
self.
|
|
18
|
+
self.__linha = Line(
|
|
17
19
|
[
|
|
18
20
|
LiteralField(60, 0),
|
|
19
21
|
IntegerField(4, 63),
|
|
@@ -46,7 +48,7 @@ class BlocoDadosSelcor(Section):
|
|
|
46
48
|
# Lê as linhas de parâmetros
|
|
47
49
|
self.data: List[List[int]] = []
|
|
48
50
|
for _ in range(7):
|
|
49
|
-
dados_linha = self.
|
|
51
|
+
dados_linha = self.__linha.read(file.readline())
|
|
50
52
|
self.__comentarios.append(dados_linha[0])
|
|
51
53
|
self.data.append(dados_linha[1:])
|
|
52
54
|
|
|
@@ -58,4 +60,4 @@ class BlocoDadosSelcor(Section):
|
|
|
58
60
|
raise ValueError("Dados do selcor.dat não foram lidos com sucesso")
|
|
59
61
|
|
|
60
62
|
for c, s in zip(self.__comentarios, self.data):
|
|
61
|
-
file.write(self.
|
|
63
|
+
file.write(self.__linha.write([c] + s))
|
inewave/newave/modelos/shist.py
CHANGED
|
@@ -9,9 +9,11 @@ class BlocoVarreduraShist(Section):
|
|
|
9
9
|
Bloco de informações de varredura existente no arquivo `shist.dat`.
|
|
10
10
|
"""
|
|
11
11
|
|
|
12
|
+
__slots__ = ["__linha", "__cabecalhos"]
|
|
13
|
+
|
|
12
14
|
def __init__(self, previous=None, next=None, data=None) -> None:
|
|
13
15
|
super().__init__(previous, next, data)
|
|
14
|
-
self.
|
|
16
|
+
self.__linha = Line(
|
|
15
17
|
[
|
|
16
18
|
IntegerField(3, 0),
|
|
17
19
|
IntegerField(4, 4),
|
|
@@ -39,7 +41,7 @@ class BlocoVarreduraShist(Section):
|
|
|
39
41
|
for _ in range(2):
|
|
40
42
|
self.__cabecalhos.append(file.readline())
|
|
41
43
|
|
|
42
|
-
self.data = self.
|
|
44
|
+
self.data = self.__linha.read(file.readline())
|
|
43
45
|
|
|
44
46
|
# Override
|
|
45
47
|
def write(self, file: IO, *args, **kwargs):
|
|
@@ -48,7 +50,7 @@ class BlocoVarreduraShist(Section):
|
|
|
48
50
|
if not isinstance(self.data, list):
|
|
49
51
|
raise ValueError("Dados do shist.dat não foram lidos com sucesso")
|
|
50
52
|
|
|
51
|
-
file.write(self.
|
|
53
|
+
file.write(self.__linha.write(self.data))
|
|
52
54
|
|
|
53
55
|
|
|
54
56
|
class BlocoSeriesSimulacaoShist(Section):
|
|
@@ -57,11 +59,13 @@ class BlocoSeriesSimulacaoShist(Section):
|
|
|
57
59
|
existente no arquivo `shist.dat`.
|
|
58
60
|
"""
|
|
59
61
|
|
|
62
|
+
__slots__ = ["__linha", "__cabecalhos", "data"]
|
|
63
|
+
|
|
60
64
|
END_PATTERN = "9999"
|
|
61
65
|
|
|
62
66
|
def __init__(self, previous=None, next=None, data=None) -> None:
|
|
63
67
|
super().__init__(previous, next, data)
|
|
64
|
-
self.
|
|
68
|
+
self.__linha = Line(
|
|
65
69
|
[
|
|
66
70
|
IntegerField(4, 0),
|
|
67
71
|
]
|
|
@@ -97,7 +101,7 @@ class BlocoSeriesSimulacaoShist(Section):
|
|
|
97
101
|
):
|
|
98
102
|
break
|
|
99
103
|
|
|
100
|
-
self.data.append(self.
|
|
104
|
+
self.data.append(self.__linha.read(linha)[0])
|
|
101
105
|
|
|
102
106
|
# Override
|
|
103
107
|
def write(self, file: IO, *args, **kwargs):
|
|
@@ -107,6 +111,6 @@ class BlocoSeriesSimulacaoShist(Section):
|
|
|
107
111
|
raise ValueError("Dados do shist.dat não foram lidos com sucesso")
|
|
108
112
|
|
|
109
113
|
for s in self.data:
|
|
110
|
-
file.write(self.
|
|
114
|
+
file.write(self.__linha.write([s]))
|
|
111
115
|
|
|
112
116
|
file.write(BlocoSeriesSimulacaoShist.END_PATTERN + "\n")
|
|
@@ -26,6 +26,8 @@ class BlocoNumeroPatamaresDeficit(Section):
|
|
|
26
26
|
Bloco com o número de patamares de déficit considerados.
|
|
27
27
|
"""
|
|
28
28
|
|
|
29
|
+
__slots__ = ["__linha", "__cabecalhos"]
|
|
30
|
+
|
|
29
31
|
def __init__(self, previous=None, next=None, data=None) -> None:
|
|
30
32
|
super().__init__(previous, next, data)
|
|
31
33
|
self.__linha = Line(
|
|
@@ -73,6 +75,8 @@ class BlocoCustosDeficit(Section):
|
|
|
73
75
|
patamar de déficit e o número de patamares de déficit.
|
|
74
76
|
"""
|
|
75
77
|
|
|
78
|
+
__slots__ = ["__linha", "__cabecalhos"]
|
|
79
|
+
|
|
76
80
|
FIM_BLOCO = " 999"
|
|
77
81
|
|
|
78
82
|
def __init__(self, previous=None, next=None, data=None) -> None:
|
|
@@ -220,6 +224,8 @@ class BlocoIntercambioSubsistema(Section):
|
|
|
220
224
|
por mês/ano de estudo para cada subsistema.
|
|
221
225
|
"""
|
|
222
226
|
|
|
227
|
+
__slots__ = ["__linha", "__linha_subsis", "__cabecalhos"]
|
|
228
|
+
|
|
223
229
|
FIM_BLOCO = " 999"
|
|
224
230
|
|
|
225
231
|
def __init__(self, previous=None, next=None, data=None) -> None:
|
|
@@ -391,6 +397,8 @@ class BlocoMercadoEnergiaSistema(Section):
|
|
|
391
397
|
por mês/ano de estudo para cada subsistema.
|
|
392
398
|
"""
|
|
393
399
|
|
|
400
|
+
__slots__ = ["__linha", "__linha_subsis", "__cabecalhos"]
|
|
401
|
+
|
|
394
402
|
FIM_BLOCO = " 999"
|
|
395
403
|
|
|
396
404
|
def __init__(self, previous=None, next=None, data=None) -> None:
|
|
@@ -520,6 +528,8 @@ class BlocoGeracaoUsinasNaoSimuladas(Section):
|
|
|
520
528
|
cada patamar, por mês de estudo, extraído do arquivo `sistema.dat`.
|
|
521
529
|
"""
|
|
522
530
|
|
|
531
|
+
__slots__ = ["__linha", "__linha_subsis", "__cabecalhos"]
|
|
532
|
+
|
|
523
533
|
FIM_BLOCO = " 999"
|
|
524
534
|
|
|
525
535
|
def __init__(self, previous=None, next=None, data=None) -> None:
|
inewave/newave/modelos/term.py
CHANGED
|
@@ -19,6 +19,8 @@ class BlocoTermUTE(Section):
|
|
|
19
19
|
existentes no arquivo do NEWAVE `term.dat`.
|
|
20
20
|
"""
|
|
21
21
|
|
|
22
|
+
__slots__ = ["__linha", "__cabecalhos"]
|
|
23
|
+
|
|
22
24
|
def __init__(self, previous=None, next=None, data=None) -> None:
|
|
23
25
|
super().__init__(previous, next, data)
|
|
24
26
|
self.__linha = Line(
|
inewave/newave/modelos/vazaob.py
CHANGED
inewave/newave/modelos/vazaof.py
CHANGED
inewave/newave/modelos/vazaos.py
CHANGED
inewave/newave/modelos/vazoes.py
CHANGED
inewave/newave/modif.py
CHANGED
inewave/newave/vazoes.py
CHANGED
|
@@ -11,6 +11,8 @@ class BlocoNomesArquivos(Section):
|
|
|
11
11
|
entrada do NWLISTCF `arquivos.dat`.
|
|
12
12
|
"""
|
|
13
13
|
|
|
14
|
+
__slots__ = ["__linha"]
|
|
15
|
+
|
|
14
16
|
def __init__(self, previous=None, next=None, data=None) -> None:
|
|
15
17
|
super().__init__(previous, next, data)
|
|
16
18
|
self.__linha = Line([LiteralField(30, 0), LiteralField(40, 30)])
|
inewave/nwlistcf/modelos/caso.py
CHANGED
|
@@ -16,6 +16,16 @@ class EstadosPeriodoNwlistcf(Block):
|
|
|
16
16
|
por período na construção dos cortes da FCF.
|
|
17
17
|
"""
|
|
18
18
|
|
|
19
|
+
__slots__ = [
|
|
20
|
+
"__linha_periodo",
|
|
21
|
+
"__linha",
|
|
22
|
+
"__periodo",
|
|
23
|
+
"__ireg_atual",
|
|
24
|
+
"__itec_atual",
|
|
25
|
+
"__simc_atual",
|
|
26
|
+
"__itef_atual",
|
|
27
|
+
]
|
|
28
|
+
|
|
19
29
|
BEGIN_PATTERN = "PERIODO: "
|
|
20
30
|
END_PATTERN = "PERIODO: "
|
|
21
31
|
|
|
@@ -10,6 +10,8 @@ class PeriodoImpressaoCortesEstados(Section):
|
|
|
10
10
|
início e fim para a impressão.
|
|
11
11
|
"""
|
|
12
12
|
|
|
13
|
+
__slots__ = ["__linha", "__cabecalhos"]
|
|
14
|
+
|
|
13
15
|
def __init__(self, previous=None, next=None, data=None) -> None:
|
|
14
16
|
super().__init__(previous, next, data)
|
|
15
17
|
self.__linha = Line(
|