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.
Files changed (227) hide show
  1. inewave/__init__.py +1 -1
  2. inewave/newave/modelos/adterm.py +7 -0
  3. inewave/newave/modelos/agrint.py +2 -0
  4. inewave/newave/modelos/arquivos.py +2 -0
  5. inewave/newave/modelos/avl_cortesfpha_nwv.py +4 -0
  6. inewave/newave/modelos/avl_desvfpha_s.py +2 -0
  7. inewave/newave/modelos/avl_desvfpha_v_q.py +2 -0
  8. inewave/newave/modelos/blocos/tabelacsv.py +2 -0
  9. inewave/newave/modelos/blocos/versaomodelo.py +4 -0
  10. inewave/newave/modelos/cadic.py +2 -0
  11. inewave/newave/modelos/caso.py +4 -0
  12. inewave/newave/modelos/clast.py +2 -0
  13. inewave/newave/modelos/confhd.py +2 -0
  14. inewave/newave/modelos/conft.py +2 -0
  15. inewave/newave/modelos/cortes.py +14 -0
  16. inewave/newave/modelos/cortesh.py +20 -0
  17. inewave/newave/modelos/curva.py +2 -0
  18. inewave/newave/modelos/cvar.py +2 -0
  19. inewave/newave/modelos/dger.py +208 -0
  20. inewave/newave/modelos/dsvagua.py +2 -0
  21. inewave/newave/modelos/eafpast.py +2 -0
  22. inewave/newave/modelos/enavazb.py +2 -0
  23. inewave/newave/modelos/enavazf.py +2 -0
  24. inewave/newave/modelos/energiab.py +2 -0
  25. inewave/newave/modelos/energiaf.py +2 -0
  26. inewave/newave/modelos/energias.py +9 -0
  27. inewave/newave/modelos/engnat.py +2 -0
  28. inewave/newave/modelos/exph.py +2 -0
  29. inewave/newave/modelos/expt.py +2 -0
  30. inewave/newave/modelos/forward.py +27 -0
  31. inewave/newave/modelos/forwarh.py +2 -0
  32. inewave/newave/modelos/ghmin.py +2 -0
  33. inewave/newave/modelos/hidr.py +2 -0
  34. inewave/newave/modelos/manutt.py +2 -0
  35. inewave/newave/modelos/modif.py +32 -0
  36. inewave/newave/modelos/newavetim.py +2 -0
  37. inewave/newave/modelos/nwv_avl_evap.py +2 -0
  38. inewave/newave/modelos/nwv_cortes_evap.py +2 -0
  39. inewave/newave/modelos/nwv_eco_evap.py +2 -0
  40. inewave/newave/modelos/parp.py +45 -0
  41. inewave/newave/modelos/parpeol.py +23 -0
  42. inewave/newave/modelos/parpvaz.py +37 -0
  43. inewave/newave/modelos/patamar.py +28 -0
  44. inewave/newave/modelos/penalid.py +2 -0
  45. inewave/newave/modelos/pmo.py +63 -0
  46. inewave/newave/modelos/re.py +2 -0
  47. inewave/newave/modelos/ree.py +2 -0
  48. inewave/newave/modelos/selcor.py +5 -3
  49. inewave/newave/modelos/shist.py +10 -6
  50. inewave/newave/modelos/sistema.py +10 -0
  51. inewave/newave/modelos/term.py +2 -0
  52. inewave/newave/modelos/vazaob.py +2 -0
  53. inewave/newave/modelos/vazaof.py +2 -0
  54. inewave/newave/modelos/vazaos.py +2 -0
  55. inewave/newave/modelos/vazinat.py +2 -0
  56. inewave/newave/modelos/vazoes.py +2 -0
  57. inewave/newave/modelos/vazpast.py +2 -0
  58. inewave/newave/modelos/volref_saz.py +2 -0
  59. inewave/newave/modif.py +2 -0
  60. inewave/newave/vazoes.py +2 -0
  61. inewave/nwlistcf/modelos/arquivos.py +2 -0
  62. inewave/nwlistcf/modelos/caso.py +2 -0
  63. inewave/nwlistcf/modelos/estados.py +10 -0
  64. inewave/nwlistcf/modelos/nwlistcfdat.py +2 -0
  65. inewave/nwlistcf/modelos/nwlistcfrel.py +2 -0
  66. inewave/nwlistop/modelos/arquivos/arquivoclassetermicasubmercadopatamar.py +2 -0
  67. inewave/nwlistop/modelos/arquivos/arquivoestacaobombeamentopatamar.py +2 -0
  68. inewave/nwlistop/modelos/arquivos/arquivoparsubmercadopatamar.py +2 -0
  69. inewave/nwlistop/modelos/arquivos/arquivoree.py +2 -0
  70. inewave/nwlistop/modelos/arquivos/arquivoreepatamar.py +2 -0
  71. inewave/nwlistop/modelos/arquivos/arquivorestricao.py +2 -0
  72. inewave/nwlistop/modelos/arquivos/arquivorestricaopatamar.py +2 -0
  73. inewave/nwlistop/modelos/arquivos/arquivosin.py +2 -0
  74. inewave/nwlistop/modelos/arquivos/arquivosinpatamar.py +2 -0
  75. inewave/nwlistop/modelos/arquivos/arquivosubmercado.py +2 -0
  76. inewave/nwlistop/modelos/arquivos/arquivosubmercadopatamar.py +2 -0
  77. inewave/nwlistop/modelos/arquivos/arquivousina.py +2 -0
  78. inewave/nwlistop/modelos/arquivos/arquivousinapatamar.py +2 -0
  79. inewave/nwlistop/modelos/blocos/estacaobombeamento.py +2 -0
  80. inewave/nwlistop/modelos/blocos/parsubmercados.py +2 -0
  81. inewave/nwlistop/modelos/blocos/ree.py +2 -0
  82. inewave/nwlistop/modelos/blocos/restricao.py +2 -0
  83. inewave/nwlistop/modelos/blocos/submercado.py +2 -0
  84. inewave/nwlistop/modelos/blocos/usina.py +2 -0
  85. inewave/nwlistop/modelos/blocos/valoresclassetermicaseriepatamar.py +8 -0
  86. inewave/nwlistop/modelos/blocos/valoresserie.py +2 -0
  87. inewave/nwlistop/modelos/blocos/valoresseriepatamar.py +2 -0
  88. inewave/nwlistop/modelos/c_v_rhq.py +2 -0
  89. inewave/nwlistop/modelos/c_v_rhq_s.py +2 -0
  90. inewave/nwlistop/modelos/c_v_rhv.py +2 -0
  91. inewave/nwlistop/modelos/c_v_rhv_s.py +2 -0
  92. inewave/nwlistop/modelos/cbomb.py +2 -0
  93. inewave/nwlistop/modelos/cbombsin.py +2 -0
  94. inewave/nwlistop/modelos/cdef.py +2 -0
  95. inewave/nwlistop/modelos/cdefsin.py +2 -0
  96. inewave/nwlistop/modelos/celetricas.py +2 -0
  97. inewave/nwlistop/modelos/cmarg.py +2 -0
  98. inewave/nwlistop/modelos/cmargmed.py +2 -0
  99. inewave/nwlistop/modelos/coper.py +2 -0
  100. inewave/nwlistop/modelos/corteolm.py +2 -0
  101. inewave/nwlistop/modelos/cterm.py +2 -0
  102. inewave/nwlistop/modelos/ctermsin.py +2 -0
  103. inewave/nwlistop/modelos/def.py +2 -0
  104. inewave/nwlistop/modelos/defsin.py +2 -0
  105. inewave/nwlistop/modelos/deletricas.py +2 -0
  106. inewave/nwlistop/modelos/depminuh.py +2 -0
  107. inewave/nwlistop/modelos/desvuh.py +2 -0
  108. inewave/nwlistop/modelos/dflppdfmaxm.py +2 -0
  109. inewave/nwlistop/modelos/dflpptbmaxm.py +2 -0
  110. inewave/nwlistop/modelos/dfphauh.py +2 -0
  111. inewave/nwlistop/modelos/dlppdfmax.py +2 -0
  112. inewave/nwlistop/modelos/dlppdfmaxs.py +2 -0
  113. inewave/nwlistop/modelos/dlpptbmax.py +2 -0
  114. inewave/nwlistop/modelos/dlpptbmaxs.py +2 -0
  115. inewave/nwlistop/modelos/dnegevap.py +2 -0
  116. inewave/nwlistop/modelos/dposevap.py +2 -0
  117. inewave/nwlistop/modelos/dtbmax.py +2 -0
  118. inewave/nwlistop/modelos/dtbmin.py +2 -0
  119. inewave/nwlistop/modelos/dvazmax.py +2 -0
  120. inewave/nwlistop/modelos/eaf.py +2 -0
  121. inewave/nwlistop/modelos/eafb.py +2 -0
  122. inewave/nwlistop/modelos/eafbm.py +2 -0
  123. inewave/nwlistop/modelos/eafbsin.py +2 -0
  124. inewave/nwlistop/modelos/eafm.py +2 -0
  125. inewave/nwlistop/modelos/earmf.py +2 -0
  126. inewave/nwlistop/modelos/earmfm.py +2 -0
  127. inewave/nwlistop/modelos/earmfp.py +2 -0
  128. inewave/nwlistop/modelos/earmfpm.py +2 -0
  129. inewave/nwlistop/modelos/earmfpsin.py +2 -0
  130. inewave/nwlistop/modelos/earmfsin.py +2 -0
  131. inewave/nwlistop/modelos/edesvc.py +2 -0
  132. inewave/nwlistop/modelos/edesvcm.py +2 -0
  133. inewave/nwlistop/modelos/edesvcsin.py +2 -0
  134. inewave/nwlistop/modelos/evapo.py +2 -0
  135. inewave/nwlistop/modelos/evapom.py +2 -0
  136. inewave/nwlistop/modelos/evaporsin.py +2 -0
  137. inewave/nwlistop/modelos/evert.py +2 -0
  138. inewave/nwlistop/modelos/evertm.py +2 -0
  139. inewave/nwlistop/modelos/evertsin.py +2 -0
  140. inewave/nwlistop/modelos/exces.py +2 -0
  141. inewave/nwlistop/modelos/excessin.py +2 -0
  142. inewave/nwlistop/modelos/form_rhq.py +2 -0
  143. inewave/nwlistop/modelos/form_rhv.py +2 -0
  144. inewave/nwlistop/modelos/fteolm.py +2 -0
  145. inewave/nwlistop/modelos/fteolsin.py +2 -0
  146. inewave/nwlistop/modelos/geol.py +2 -0
  147. inewave/nwlistop/modelos/geolm.py +2 -0
  148. inewave/nwlistop/modelos/geolsin.py +2 -0
  149. inewave/nwlistop/modelos/gh_fphexat.py +2 -0
  150. inewave/nwlistop/modelos/ghidr.py +2 -0
  151. inewave/nwlistop/modelos/ghidrm.py +2 -0
  152. inewave/nwlistop/modelos/ghidrsin.py +2 -0
  153. inewave/nwlistop/modelos/ghiduh.py +2 -0
  154. inewave/nwlistop/modelos/ghmax.py +2 -0
  155. inewave/nwlistop/modelos/ghmax_fpha.py +2 -0
  156. inewave/nwlistop/modelos/ghmax_fphc.py +2 -0
  157. inewave/nwlistop/modelos/ghmaxm.py +2 -0
  158. inewave/nwlistop/modelos/ghmaxmr.py +2 -0
  159. inewave/nwlistop/modelos/ghmaxr.py +2 -0
  160. inewave/nwlistop/modelos/ghmaxrsin.py +2 -0
  161. inewave/nwlistop/modelos/ghmaxsin.py +2 -0
  162. inewave/nwlistop/modelos/ghtot.py +2 -0
  163. inewave/nwlistop/modelos/ghtotm.py +2 -0
  164. inewave/nwlistop/modelos/ghtotsin.py +2 -0
  165. inewave/nwlistop/modelos/gtert.py +2 -0
  166. inewave/nwlistop/modelos/gttot.py +2 -0
  167. inewave/nwlistop/modelos/gttotsin.py +2 -0
  168. inewave/nwlistop/modelos/hjus.py +2 -0
  169. inewave/nwlistop/modelos/hliq.py +2 -0
  170. inewave/nwlistop/modelos/hmont.py +2 -0
  171. inewave/nwlistop/modelos/intercambio.py +2 -0
  172. inewave/nwlistop/modelos/invade.py +2 -0
  173. inewave/nwlistop/modelos/invadem.py +2 -0
  174. inewave/nwlistop/modelos/mediasmerc.py +2 -0
  175. inewave/nwlistop/modelos/mediasree.py +2 -0
  176. inewave/nwlistop/modelos/mediasrep.py +2 -0
  177. inewave/nwlistop/modelos/mediasrhq.py +2 -0
  178. inewave/nwlistop/modelos/mediasrhv.py +2 -0
  179. inewave/nwlistop/modelos/mediassin.py +2 -0
  180. inewave/nwlistop/modelos/mediasusie.py +2 -0
  181. inewave/nwlistop/modelos/mediasusih.py +2 -0
  182. inewave/nwlistop/modelos/mediasusit.py +2 -0
  183. inewave/nwlistop/modelos/mercl.py +2 -0
  184. inewave/nwlistop/modelos/merclsin.py +2 -0
  185. inewave/nwlistop/modelos/mevmin.py +2 -0
  186. inewave/nwlistop/modelos/mevminm.py +2 -0
  187. inewave/nwlistop/modelos/mevminsin.py +2 -0
  188. inewave/nwlistop/modelos/nwlistopdat.py +11 -0
  189. inewave/nwlistop/modelos/perdf.py +2 -0
  190. inewave/nwlistop/modelos/perdfm.py +2 -0
  191. inewave/nwlistop/modelos/perdfsin.py +2 -0
  192. inewave/nwlistop/modelos/pivarm.py +2 -0
  193. inewave/nwlistop/modelos/pivarmincr.py +2 -0
  194. inewave/nwlistop/modelos/qafluh.py +2 -0
  195. inewave/nwlistop/modelos/qincruh.py +2 -0
  196. inewave/nwlistop/modelos/rhslppdf.py +2 -0
  197. inewave/nwlistop/modelos/rhslpptb.py +2 -0
  198. inewave/nwlistop/modelos/vagua.py +2 -0
  199. inewave/nwlistop/modelos/varmpuh.py +2 -0
  200. inewave/nwlistop/modelos/varmuh.py +2 -0
  201. inewave/nwlistop/modelos/vbomb.py +2 -0
  202. inewave/nwlistop/modelos/vdesviouh.py +2 -0
  203. inewave/nwlistop/modelos/vento.py +2 -0
  204. inewave/nwlistop/modelos/vertuh.py +2 -0
  205. inewave/nwlistop/modelos/verturb.py +2 -0
  206. inewave/nwlistop/modelos/verturbm.py +2 -0
  207. inewave/nwlistop/modelos/verturbsin.py +2 -0
  208. inewave/nwlistop/modelos/vevapuh.py +2 -0
  209. inewave/nwlistop/modelos/vevmin.py +2 -0
  210. inewave/nwlistop/modelos/vevminm.py +2 -0
  211. inewave/nwlistop/modelos/vevminsin.py +2 -0
  212. inewave/nwlistop/modelos/vghmin.py +2 -0
  213. inewave/nwlistop/modelos/vghminm.py +2 -0
  214. inewave/nwlistop/modelos/vghminsin.py +2 -0
  215. inewave/nwlistop/modelos/vghminuh.py +2 -0
  216. inewave/nwlistop/modelos/viol_rhq.py +2 -0
  217. inewave/nwlistop/modelos/viol_rhv.py +2 -0
  218. inewave/nwlistop/modelos/vmort.py +2 -0
  219. inewave/nwlistop/modelos/vmortm.py +2 -0
  220. inewave/nwlistop/modelos/vmortsin.py +2 -0
  221. inewave/nwlistop/modelos/vturuh.py +2 -0
  222. {inewave-1.7.4.dist-info → inewave-1.7.5.dist-info}/METADATA +2 -2
  223. {inewave-1.7.4.dist-info → inewave-1.7.5.dist-info}/RECORD +227 -227
  224. tests/newave/test_dger.py +0 -2
  225. {inewave-1.7.4.dist-info → inewave-1.7.5.dist-info}/LICENSE.md +0 -0
  226. {inewave-1.7.4.dist-info → inewave-1.7.5.dist-info}/WHEEL +0 -0
  227. {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(
@@ -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
 
@@ -20,6 +20,8 @@ class BlocoUsinasConjuntoRE(Section):
20
20
  de restrições elétricas por conjunto de RE.
21
21
  """
22
22
 
23
+ __slots__ = ["__linha", "__cabecalhos"]
24
+
23
25
  FIM_BLOCO = "999"
24
26
 
25
27
  def __init__(self, previous=None, next=None, data=None) -> None:
@@ -15,6 +15,8 @@ class BlocoReesSubmercados(Section):
15
15
  submercados.
16
16
  """
17
17
 
18
+ __slots__ = ["__linha", "__cabecalhos"]
19
+
18
20
  FIM_BLOCO = " 999"
19
21
 
20
22
  def __init__(self, previous=None, next=None, data=None) -> None:
@@ -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.__line = Line(
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.__line.read(file.readline())
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.__line.write([c] + s))
63
+ file.write(self.__linha.write([c] + s))
@@ -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.__line = Line(
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.__line.read(file.readline())
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.__line.write(self.data))
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.__line = Line(
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.__line.read(linha)[0])
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.__line.write([s]))
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:
@@ -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(
@@ -12,6 +12,8 @@ class SecaoDadosVazaob(Section):
12
12
  nos arquivos vazaobXXX.dat.
13
13
  """
14
14
 
15
+ __slots__ = ["__linha"]
16
+
15
17
  def __init__(self, previous=None, next=None, data=None) -> None:
16
18
  super().__init__(previous, next, data)
17
19
 
@@ -12,6 +12,8 @@ class SecaoDadosVazaof(Section):
12
12
  nos arquivos vazaofXXX.dat.
13
13
  """
14
14
 
15
+ __slots__ = ["__linha"]
16
+
15
17
  def __init__(self, previous=None, next=None, data=None) -> None:
16
18
  super().__init__(previous, next, data)
17
19
 
@@ -12,6 +12,8 @@ class SecaoDadosVazaos(Section):
12
12
  no arquivo vazaos.dat.
13
13
  """
14
14
 
15
+ __slots__ = ["__linha"]
16
+
15
17
  def __init__(self, previous=None, next=None, data=None) -> None:
16
18
  super().__init__(previous, next, data)
17
19
 
@@ -14,6 +14,8 @@ class SecaoDadosVazinat(Section):
14
14
  configuração existentes no arquivo vazinat.dat.
15
15
  """
16
16
 
17
+ __slots__ = ["__linha"]
18
+
17
19
  def __init__(self, previous=None, next=None, data=None) -> None:
18
20
  super().__init__(previous, next, data)
19
21
 
@@ -9,6 +9,8 @@ class RegistroVazoesPostos(Register):
9
9
  Registro com os dados associados às vazões dos postos.
10
10
  """
11
11
 
12
+ __slots__ = []
13
+
12
14
  POSTOS = 320
13
15
 
14
16
  LINE = Line(
@@ -19,6 +19,8 @@ class BlocoVazPast(Section):
19
19
  do NEWAVE.
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(
@@ -19,6 +19,8 @@ class BlocoVolrefSaz(Section):
19
19
  do NEWAVE.
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/modif.py CHANGED
@@ -29,6 +29,8 @@ class Modif(RegisterFile):
29
29
  configurações das usinas hidroelétricas.
30
30
  """
31
31
 
32
+ __slots__ = []
33
+
32
34
  T = TypeVar("T")
33
35
 
34
36
  REGISTERS = [
inewave/newave/vazoes.py CHANGED
@@ -12,6 +12,8 @@ class Vazoes(RegisterFile):
12
12
  usinas hidroelétricas.
13
13
  """
14
14
 
15
+ __slots__ = ["__df"]
16
+
15
17
  T = TypeVar("T")
16
18
 
17
19
  REGISTERS = [RegistroVazoesPostos]
@@ -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)])
@@ -10,6 +10,8 @@ class NomeCaso(Section):
10
10
  entrada do NWLISTCF `caso.dat`.
11
11
  """
12
12
 
13
+ __slots__ = ["__linha"]
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([LiteralField(40, 0)])
@@ -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(
@@ -15,6 +15,8 @@ class CortesPeriodoNwlistcf(Block):
15
15
  Bloco do arquivo nwlistcf.rel que armazena os cortes de um período.
16
16
  """
17
17
 
18
+ __slots__ = ["__linha", "__linha_periodo", "__ireg_atual", "__periodo"]
19
+
18
20
  BEGIN_PATTERN = "PERIODO: "
19
21
  END_PATTERN = "PERIODO: "
20
22
 
@@ -14,6 +14,8 @@ class ArquivoClasseTermicaSubmercadoPatamar(BlockFile):
14
14
  classe térmica.
15
15
  """
16
16
 
17
+ __slots__ = ["__valores"]
18
+
17
19
  T = TypeVar("T")
18
20
 
19
21
  BLOCKS = [Submercado, ValoresClasseTermicaSeriePatamar]
@@ -15,6 +15,8 @@ class ArquivoEstacaoBombeamentoPatamar(BlockFile):
15
15
  Armazena os dados das saídas por patamar, por Estação de Bombeamento.
16
16
  """
17
17
 
18
+ __slots__ = ["__valores"]
19
+
18
20
  T = TypeVar("T")
19
21
 
20
22
  BLOCKS = [EstacaoBombeamento, ValoresSeriePatamar]
@@ -13,6 +13,8 @@ class ArquivoParSubmercadoPatamar(BlockFile):
13
13
  Armazena os dados das saídas por patamar, por par de submercados.
14
14
  """
15
15
 
16
+ __slots__ = ["__valores"]
17
+
16
18
  T = TypeVar("T")
17
19
 
18
20
  BLOCKS = [ParSubmercados, ValoresSeriePatamar]
@@ -13,6 +13,8 @@ class ArquivoREE(BlockFile):
13
13
  Armazena os dados das saídas por REE.
14
14
  """
15
15
 
16
+ __slots__ = ["__valores"]
17
+
16
18
  T = TypeVar("T")
17
19
 
18
20
  BLOCKS = [REE, ValoresSerie]
@@ -13,6 +13,8 @@ class ArquivoREEPatamar(BlockFile):
13
13
  Armazena os dados das saídas por patamar, por REE.
14
14
  """
15
15
 
16
+ __slots__ = ["__valores"]
17
+
16
18
  T = TypeVar("T")
17
19
 
18
20
  BLOCKS = [REE, ValoresSeriePatamar]
@@ -13,6 +13,8 @@ class ArquivoRestricao(BlockFile):
13
13
  Armazena os dados das saídas por usina.
14
14
  """
15
15
 
16
+ __slots__ = ["__valores"]
17
+
16
18
  T = TypeVar("T")
17
19
 
18
20
  BLOCKS = [Restricao, ValoresSerie]
@@ -13,6 +13,8 @@ class ArquivoRestricaoPatamar(BlockFile):
13
13
  Armazena os dados das saídas por patamar, por Restrição.
14
14
  """
15
15
 
16
+ __slots__ = ["__valores"]
17
+
16
18
  T = TypeVar("T")
17
19
 
18
20
  BLOCKS = [Restricao, ValoresSeriePatamar]
@@ -12,6 +12,8 @@ class ArquivoSIN(BlockFile):
12
12
  Armazena os dados das saídas por submercado.
13
13
  """
14
14
 
15
+ __slots__ = ["__valores"]
16
+
15
17
  T = TypeVar("T")
16
18
 
17
19
  BLOCKS = [ValoresSerie]
@@ -12,6 +12,8 @@ class ArquivoSINPatamar(BlockFile):
12
12
  Armazena os dados das saídas por submercado.
13
13
  """
14
14
 
15
+ __slots__ = ["__valores"]
16
+
15
17
  T = TypeVar("T")
16
18
 
17
19
  BLOCKS = [ValoresSeriePatamar]
@@ -13,6 +13,8 @@ class ArquivoSubmercado(BlockFile):
13
13
  Armazena os dados das saídas por submercado.
14
14
  """
15
15
 
16
+ __slots__ = ["__valores"]
17
+
16
18
  T = TypeVar("T")
17
19
 
18
20
  BLOCKS = [Submercado, ValoresSerie]
@@ -13,6 +13,8 @@ class ArquivoSubmercadoPatamar(BlockFile):
13
13
  Armazena os dados das saídas por patamar, por submercado.
14
14
  """
15
15
 
16
+ __slots__ = ["__valores"]
17
+
16
18
  T = TypeVar("T")
17
19
 
18
20
  BLOCKS = [Submercado, ValoresSeriePatamar]
@@ -13,6 +13,8 @@ class ArquivoUsina(BlockFile):
13
13
  Armazena os dados das saídas por usina.
14
14
  """
15
15
 
16
+ __slots__ = ["__valores"]
17
+
16
18
  T = TypeVar("T")
17
19
 
18
20
  BLOCKS = [Usina, ValoresSerie]
@@ -13,6 +13,8 @@ class ArquivoUsinaPatamar(BlockFile):
13
13
  Armazena os dados das saídas por patamar, por Usina.
14
14
  """
15
15
 
16
+ __slots__ = ["__valores"]
17
+
16
18
  T = TypeVar("T")
17
19
 
18
20
  BLOCKS = [Usina, ValoresSeriePatamar]
@@ -11,6 +11,8 @@ class EstacaoBombeamento(Block):
11
11
  associada aos valores.
12
12
  """
13
13
 
14
+ __slots__ = ["__linha"]
15
+
14
16
  BEGIN_PATTERN = r"EST.BOMB.:"
15
17
  END_PATTERN = ""
16
18
 
@@ -10,6 +10,8 @@ class ParSubmercados(Block):
10
10
  Bloco com a informaçao do submercado associado aos valores.
11
11
  """
12
12
 
13
+ __slots__ = ["__linha"]
14
+
13
15
  BEGIN_PATTERN = r"SUBMERCADO:"
14
16
  END_PATTERN = ""
15
17
 
@@ -10,6 +10,8 @@ class REE(Block):
10
10
  Bloco com a informaçao do REE associado aos valores.
11
11
  """
12
12
 
13
+ __slots__ = ["__linha"]
14
+
13
15
  BEGIN_PATTERN = r"REE:"
14
16
  END_PATTERN = ""
15
17