inewave 1.7.2__py3-none-any.whl → 1.7.4__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.7.2"
9
+ __version__ = "1.7.4"
10
10
 
11
11
  from . import newave # noqa
12
12
  from . import nwlistcf # noqa
@@ -12,6 +12,8 @@ class SecaoDadosEnergias(Section):
12
12
  no arquivo energias.dat.
13
13
  """
14
14
 
15
+ TAMANHO_REGISTRO = 4000
16
+
15
17
  def __init__(self, previous=None, next=None, data=None) -> None:
16
18
  super().__init__(previous, next, data)
17
19
 
@@ -39,19 +41,28 @@ class SecaoDadosEnergias(Section):
39
41
  *args,
40
42
  **kwargs,
41
43
  ):
42
- numero_registros = (
43
- (numero_estagios + numero_estagios_th)
44
- * numero_rees
45
- * numero_series
46
- )
44
+ self.numero_series = numero_series
45
+ self.numero_rees = numero_rees
46
+ self.numero_estagios = numero_estagios
47
+ self.numero_estagios_th = numero_estagios_th
48
+
49
+ numero_entradas_estagio = numero_series * numero_rees
50
+ saldo_final_registro = (
51
+ self.TAMANHO_REGISTRO - numero_entradas_estagio
52
+ ) % self.TAMANHO_REGISTRO
47
53
  self.__linha = Line(
48
54
  [
49
55
  FloatField(size=8, starting_position=8 * i)
50
- for i in range(numero_registros)
56
+ for i in range(numero_entradas_estagio)
51
57
  ],
52
58
  storage="BINARY",
53
59
  )
54
- dados = self.__linha.read(file.read(self.__linha.size))
60
+ dados = []
61
+ for i in range(numero_estagios + numero_estagios_th):
62
+ dados_estagio = self.__linha.read(file.read(self.__linha.size))
63
+ dados += dados_estagio
64
+ if saldo_final_registro > 0:
65
+ file.read(saldo_final_registro * 8)
55
66
  indices_estagios = np.arange(
56
67
  1 - numero_estagios_th, numero_estagios + 1
57
68
  )
@@ -76,11 +87,29 @@ class SecaoDadosEnergias(Section):
76
87
 
77
88
  def write(self, file: IO, *args, **kwargs):
78
89
  dados = self.data["valor"].to_numpy()
79
- linha = Line(
90
+ numero_entradas_estagio = self.numero_series * self.numero_rees
91
+ saldo_final_registro = (
92
+ self.TAMANHO_REGISTRO - numero_entradas_estagio
93
+ ) % self.TAMANHO_REGISTRO
94
+ self.__linha = Line(
95
+ [
96
+ FloatField(size=8, starting_position=8 * i)
97
+ for i in range(numero_entradas_estagio)
98
+ ],
99
+ storage="BINARY",
100
+ )
101
+ self.__linha_saldo = Line(
80
102
  [
81
103
  FloatField(size=8, starting_position=8 * i)
82
- for i in range(len(dados))
104
+ for i in range(saldo_final_registro)
83
105
  ],
84
106
  storage="BINARY",
85
107
  )
86
- file.write(linha.write(dados))
108
+ for i in range(self.numero_estagios + self.numero_estagios_th):
109
+ idx_i = i * numero_entradas_estagio
110
+ idx_f = idx_i + numero_entradas_estagio
111
+ file.write(self.__linha.write(dados[idx_i:idx_f]))
112
+ if saldo_final_registro > 0:
113
+ file.write(
114
+ self.__linha_saldo.write([0.0] * saldo_final_registro)
115
+ )
@@ -416,7 +416,9 @@ class BlocoGeracaoMinimaUsinasTermicasPMO(Block):
416
416
  # Confere se acabou
417
417
  if len(linha) < 3 or "X--------------------" in linha:
418
418
  tabela = tabela[:i, :]
419
- self.data = converte_tabela_em_df()
419
+ self.data = (
420
+ converte_tabela_em_df() if i > 0 else pd.DataFrame()
421
+ )
420
422
  break
421
423
  # Lê mais uma linha
422
424
  dados = self.__line.read(linha)
@@ -500,7 +502,9 @@ class BlocoGeracaoMaximaUsinasTermicasPMO(Block):
500
502
  # Confere se acabou
501
503
  if len(linha) < 3 or "X--------------------" in linha:
502
504
  tabela = tabela[:i, :]
503
- self.data = converte_tabela_em_df()
505
+ self.data = (
506
+ converte_tabela_em_df() if i > 0 else pd.DataFrame()
507
+ )
504
508
  break
505
509
  # Lê mais uma linha
506
510
  dados = self.__line.read(linha)
@@ -20,5 +20,5 @@ class VevapuhAnos(ValoresSerie):
20
20
  [ # type: ignore
21
21
  IntegerField(4, 2),
22
22
  ]
23
- + [FloatField(9, 14 + 9 * i, 2) for i in range(len(MESES_DF))] # type: ignore
23
+ + [FloatField(15, 14 + 15 * i, 4) for i in range(len(MESES_DF))] # type: ignore
24
24
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: inewave
3
- Version: 1.7.2
3
+ Version: 1.7.4
4
4
  Summary: Interface para arquivos do NEWAVE
5
5
  Home-page: https://github.com/rjmalves/inewave
6
6
  Author: Rogerio Alves
@@ -3,7 +3,7 @@ examples/plot_dger.py,sha256=e8Qi-DEBmxgGBgfJfABqx39rThuRXQlMHTOfobT601U,1563
3
3
  examples/plot_modif.py,sha256=hqB3WRRYP4CBEvnnhrBwlbIrFWzkiHqgaXe76b3olzo,2735
4
4
  examples/plot_pmo.py,sha256=-NgaJnsr8N6-8DWWfSH8n8G8Ad9E0StFJBt21xwZxME,1473
5
5
  examples/plot_sistema.py,sha256=mM287WEkPV_5NCz-nB9kH9So9KOAbjBfBeB0PTVfHCA,2422
6
- inewave/__init__.py,sha256=GMXa65wBUGKUOWOH64drNq7cjsNSRV5N9hDAHd2NyYU,235
6
+ inewave/__init__.py,sha256=FVhIKwB-9f8cEuK9xbkOp6vCNj4FvgF5F9sKWonaN2Q,235
7
7
  inewave/config.py,sha256=fMgG2sqE_PNz30QCNxkgfPf78SEOAVfV07kGtO1bREE,1106
8
8
  inewave/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  inewave/_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -112,7 +112,7 @@ inewave/newave/modelos/enavazb.py,sha256=mo2nCrsyZSCTBK1UiqJ51SsG0WYU9AHjkuI_RO7
112
112
  inewave/newave/modelos/enavazf.py,sha256=DYIOFG24J-sQQ6sx-s7KfWtABRUqMf7oYUHOoBfx8Gw,2709
113
113
  inewave/newave/modelos/energiab.py,sha256=Hy8VPg9K-idZKBdn7AuwILFqgItEBlMFUH_T9lnGtR4,2880
114
114
  inewave/newave/modelos/energiaf.py,sha256=761lZhVwiDU6Za3tOZLRFfLY0l0AmkophWfpLoyLWfo,2652
115
- inewave/newave/modelos/energias.py,sha256=JI8d7Zadz1pYgdwBFBcqwTOOWaJ71mh-GYFLoGEuyN4,2612
115
+ inewave/newave/modelos/energias.py,sha256=Se0ByXQ59VVTSrzmw20gmA_SUbxlJaFa1Z8xVzfBw10,3891
116
116
  inewave/newave/modelos/engnat.py,sha256=vvZDX10qtzv1IvES4r_hXA_dCwNkQCJxrpaJguKBkEY,2832
117
117
  inewave/newave/modelos/ensoaux.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
118
118
  inewave/newave/modelos/exph.py,sha256=52JxLuZJY2BeuJguDThWwxYf9-0kJfC_FF2xLec1FIY,5520
@@ -136,7 +136,7 @@ inewave/newave/modelos/parpvaz.py,sha256=npnubBGthrac8uJ2tkkZruvhpuaI6zsLsymoGKY
136
136
  inewave/newave/modelos/patamar.py,sha256=P9uxFGqrv8uDuJYa5rCNtM9YfM9dc50lFRYAnRsIf94,21478
137
137
  inewave/newave/modelos/penalid.py,sha256=R4yUfP9hn9nUGCiQMBTe8ExvpZr080fbzz0gmwDLhZA,5663
138
138
  inewave/newave/modelos/perda.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
139
- inewave/newave/modelos/pmo.py,sha256=GCADoT0XJlATPXNO8D7XEBqN8gBlHk_igoLZay7CO1A,55106
139
+ inewave/newave/modelos/pmo.py,sha256=Mz3i5kVhj09qU6w0gSxyB0VPLqQV94EjxseMH2y-N7w,55244
140
140
  inewave/newave/modelos/re.py,sha256=ZevREGtx584M0yPH3PC4_DqeH3PQsKM_VQCxbwTJlj0,6574
141
141
  inewave/newave/modelos/ree.py,sha256=IqNVcDpl5AomPhWV1306hq26xkR7sL5nSG8Y7EKXmJs,4406
142
142
  inewave/newave/modelos/sar.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -425,7 +425,7 @@ inewave/nwlistop/modelos/vertuh.py,sha256=h25qttXICS0CMj3DwmFX1pjQwJ2RqHq1Gab-U2
425
425
  inewave/nwlistop/modelos/verturb.py,sha256=BpnJP__DG6SuNBFnh0GMIf_SVpEVIXPRoEYQOYLUbyY,652
426
426
  inewave/nwlistop/modelos/verturbm.py,sha256=BpnJP__DG6SuNBFnh0GMIf_SVpEVIXPRoEYQOYLUbyY,652
427
427
  inewave/nwlistop/modelos/verturbsin.py,sha256=BpnJP__DG6SuNBFnh0GMIf_SVpEVIXPRoEYQOYLUbyY,652
428
- inewave/nwlistop/modelos/vevapuh.py,sha256=Mu2qx-wVWDVB70cqRBTHMRPc3oLMo7_zLeS5k12zttQ,663
428
+ inewave/nwlistop/modelos/vevapuh.py,sha256=sJrfZkyDv6ElR-MD8t0Ik2r1F5YMXkpxmFPJTmjPusE,665
429
429
  inewave/nwlistop/modelos/vevmin.py,sha256=pqaRG5EugP9IPz8VE8Rln3QQgDIE8UFSu62AD0ppw9U,657
430
430
  inewave/nwlistop/modelos/vevminm.py,sha256=pqaRG5EugP9IPz8VE8Rln3QQgDIE8UFSu62AD0ppw9U,657
431
431
  inewave/nwlistop/modelos/vevminsin.py,sha256=pqaRG5EugP9IPz8VE8Rln3QQgDIE8UFSu62AD0ppw9U,657
@@ -606,7 +606,7 @@ tests/mocks/arquivos/perdfm.py,sha256=FzaJlwSXyAa6gyRzEVOg3b4h-fltHDmqCyxkdAzmIg
606
606
  tests/mocks/arquivos/perdfsin.py,sha256=jMhP-qdW9E0t4N6VOJnpE6KL6HlQN_Dra_meCi68FkE,267139
607
607
  tests/mocks/arquivos/pivarm.py,sha256=PGkPHgmJXErjDku5CO_MFCXMPgb-CjqGVDSmeZ-bOzI,425677
608
608
  tests/mocks/arquivos/pivarmincr.py,sha256=jdHu1xfI8xU2Eu5WRYaRK_OmNO2AVYQC-2FnZZu1A5M,14847
609
- tests/mocks/arquivos/pmo.py,sha256=N-Moz6l6-5TgtYucXPEGTXiAH79Qd0Euu5uHA4xOIx0,655644
609
+ tests/mocks/arquivos/pmo.py,sha256=Tq2n1INLsLjYxS8cfOKnGo8LzfG_cMC6_1ZXwYwDfo8,657056
610
610
  tests/mocks/arquivos/qafluh.py,sha256=ado-zuW71uEHNLQrPIBu2ssLZ5ZhG9QQMQdyYSkRne8,283145
611
611
  tests/mocks/arquivos/qincruh.py,sha256=jRvjlyaGefwZKSA36QxdLUeeHP3Z0kC5omZ1mLk2Dns,283145
612
612
  tests/mocks/arquivos/re.py,sha256=AyVV_dNpv-finVzNyB3jk2sH0T23nND0EZWa_ug0o6o,1843
@@ -630,7 +630,7 @@ tests/mocks/arquivos/vertuh.py,sha256=zCQQ07BuZuqchBVCb50Xqt2auW81CIBfvmAm4xO7ND
630
630
  tests/mocks/arquivos/verturb.py,sha256=qq7Oyy9Mowmhj8Q1R9-g7wnfdarrEJhjH9KLPFhT3F4,267155
631
631
  tests/mocks/arquivos/verturbm.py,sha256=eWeQyRVUlGtg2WYQcCs7XZsvzHzvw4UQ9L6ch8rju5E,267156
632
632
  tests/mocks/arquivos/verturbsin.py,sha256=_euMq8zXfoKmg5TrR5TJ7QtZ_qaL3aedEbO9-qKEhD0,267158
633
- tests/mocks/arquivos/vevapuh.py,sha256=5F8HzjoYy5eKTSVT-XW9S0ZNiH4LKZUSt1nP7SLbLNU,9993
633
+ tests/mocks/arquivos/vevapuh.py,sha256=1NLl3GMPWDS7CQjp8XeYvY7vAVsmzp5QcssLINF3fD0,15308
634
634
  tests/mocks/arquivos/vevmin.py,sha256=dAnfHNW2ls5b5uz9buC6c5XaIzbLGGJg0YG7WUWzLO8,267122
635
635
  tests/mocks/arquivos/vevminm.py,sha256=ZJ_YQtM46S9JA6D84qNnu-BdTppMTahQMo0_F-sqFqg,267130
636
636
  tests/mocks/arquivos/vevminsin.py,sha256=ep5R4YjEqyDKs0i7L2CHavYgx4C168pqUpPh4iv0rqc,267117
@@ -669,7 +669,7 @@ tests/newave/test_enavazb.py,sha256=Uw0rF4_A3WOLH5sOjX2BatEW84x8FHsF-3zRJ5dvu_0,
669
669
  tests/newave/test_enavazf.py,sha256=SEzLVVTL-r43SKNj7tNz7q58DoiZ8BUUB4LWE0X8juE,1895
670
670
  tests/newave/test_energiab.py,sha256=-ZYCBpp6dBqb_zR9SWWH79brgDGbR-XgbJCe6bkRsxA,1883
671
671
  tests/newave/test_energiaf.py,sha256=TQlvhVdYCxlQvGfNFHZZETNoud5z5fyR2kVoGDaTgWQ,1909
672
- tests/newave/test_energias.py,sha256=96d6hnohlnMx3rJNgzLsRMqa_DxB6wQ2DliEGQ_rBkk,1885
672
+ tests/newave/test_energias.py,sha256=9tVOeV1R2i3Bh-Ox1x0dvKbxZ-RixQnA13urG4Otg1I,1883
673
673
  tests/newave/test_engnat.py,sha256=gZ4BVSI2r3B5lIkOHG1iUzYJ0Afcjsh8gciTjfFkShI,1808
674
674
  tests/newave/test_exph.py,sha256=KBXCUaLE9w52x6B9dJbCK5QdKM0TD-Z3o21S9P2Ayts,2500
675
675
  tests/newave/test_expt.py,sha256=UEK-qeK1zCXYRudKghdQIy51hgs9rZSrn27r79Xl_F0,2422
@@ -829,7 +829,7 @@ tests/nwlistop/test_vertuh.py,sha256=53S511YSJ0Q2BFjj96TP-ucKItKbm5c33EHgfZLSzus
829
829
  tests/nwlistop/test_verturb.py,sha256=UvCB5HsTQE08-j-jUGCJPKgL6VkDEzquDcrr6cObmsk,1196
830
830
  tests/nwlistop/test_verturbm.py,sha256=olu2aOwitTVnX4VezhmD0mOstT3lpKRYVovInEKyhmo,1230
831
831
  tests/nwlistop/test_verturbsin.py,sha256=XuS8RRoMGu8cy_BDWQjctcKRzQ6Zd26sq3-TGwfIY7Q,1139
832
- tests/nwlistop/test_vevapuh.py,sha256=iK9T3qfeB9hECaEsIZwkNZHUciBwjU39hLnsyVzJ5mk,1203
832
+ tests/nwlistop/test_vevapuh.py,sha256=4hDKVa7poMDiEvTuXyXPHWTEywzGuERAlUZpM5GcIGQ,1203
833
833
  tests/nwlistop/test_vevmin.py,sha256=ef89SN-wpxdE9x87KkW91KXEolpD3s7NtyDFrWB72R4,1183
834
834
  tests/nwlistop/test_vevminm.py,sha256=ZGW39Op3zbTfrpzDLv0KrtvHyrqG7D-XJ232s1QsWzA,1217
835
835
  tests/nwlistop/test_vevminsin.py,sha256=dtYBJex3id5bDuLAj5l-zlYjHKO2DorfR94lfnF9BYo,1126
@@ -843,8 +843,8 @@ tests/nwlistop/test_vmort.py,sha256=KUqgO1HznEzu7TX5xu8wLhSl_sKSJteNfMd9zVcruls,
843
843
  tests/nwlistop/test_vmortm.py,sha256=re8ypER8xgRbgRdgBd1H97G1ebNxtYZn23_nBGyWwhU,1204
844
844
  tests/nwlistop/test_vmortsin.py,sha256=LvdpNPPZtnQWIxrLMUx_KIg6k22pOif6SzmRasAjquc,1113
845
845
  tests/nwlistop/test_vturuh.py,sha256=wvQ9zq9nuHdt0CPNt3SkPKMGq5WHQs7nZUnRaY33ONQ,1190
846
- inewave-1.7.2.dist-info/LICENSE.md,sha256=0jOBL78mjzscN0-XI-6YtK1IqnODUbG85DaKAMH4XJ8,1070
847
- inewave-1.7.2.dist-info/METADATA,sha256=ZnN_oP5Pz8n97Q29bfFul5rHx25v0X4hnIcMuqxxbis,1958
848
- inewave-1.7.2.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
849
- inewave-1.7.2.dist-info/top_level.txt,sha256=o3hXlvlgJI4qWYy-wVzUYago7roEBl3kP5IL3QR9L70,23
850
- inewave-1.7.2.dist-info/RECORD,,
846
+ inewave-1.7.4.dist-info/LICENSE.md,sha256=0jOBL78mjzscN0-XI-6YtK1IqnODUbG85DaKAMH4XJ8,1070
847
+ inewave-1.7.4.dist-info/METADATA,sha256=IwiwmuiLYZICY0F1h_F7g-73ztv51Lm9h3TyfrLnyZQ,1958
848
+ inewave-1.7.4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
849
+ inewave-1.7.4.dist-info/top_level.txt,sha256=o3hXlvlgJI4qWYy-wVzUYago7roEBl3kP5IL3QR9L70,23
850
+ inewave-1.7.4.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: bdist_wheel (0.43.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1067,6 +1067,14 @@ MockBlocoGeracaoMaximaUsinasTermicasPMO = [
1067
1067
  " 2027 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00\n",
1068
1068
  " X---------------------------------------------------------------------------------------------------------------------------X\n",
1069
1069
  "\n",
1070
+ "\n",
1071
+ " GERACAO TERMICA MAXIMA POR USINA (MWmed)\n",
1072
+ " X---------------------------------------------------------------------------------------------------------------------------X\n",
1073
+ "\n",
1074
+ " NUMERO NOME ANO ESTAGIOS\n",
1075
+ " 1 2 3 4 5 6 7 8 9 10 11 12\n",
1076
+ " X------X------------X-------X-------X-------X-------X-------X-------X-------X-------X-------X-------X-------X-------X-------X\n",
1077
+ " X---------------------------------------------------------------------------------------------------------------------------X\n",
1070
1078
  ]
1071
1079
 
1072
1080
  MockBlocoGeracaoMinimaUsinasTermicasPMO = [
@@ -1830,6 +1838,14 @@ MockBlocoGeracaoMinimaUsinasTermicasPMO = [
1830
1838
  " 2027 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00\n",
1831
1839
  " X---------------------------------------------------------------------------------------------------------------------------X\n",
1832
1840
  "\n",
1841
+ " GERACAO TERMICA MINIMA POR USINA (MWmed)\n",
1842
+ " X---------------------------------------------------------------------------------------------------------------------------X\n",
1843
+ "\n",
1844
+ " NUMERO NOME ANO ESTAGIOS\n",
1845
+ " 1 2 3 4 5 6 7 8 9 10 11 12\n",
1846
+ " X------X------------X-------X-------X-------X-------X-------X-------X-------X-------X-------X-------X-------X-------X-------X\n",
1847
+ " X---------------------------------------------------------------------------------------------------------------------------X\n",
1848
+ "\n",
1833
1849
  ]
1834
1850
 
1835
1851
 
@@ -3,82 +3,83 @@ MockVevapuh = [
3
3
  " VOLUME EVAPORADO DA USINA (hm3) USINA:FURNAS \n",
4
4
  "\n",
5
5
  " ANO: 2023\n",
6
- " 1 2 3 4 5 6 7 8 9 10 11 12 MEDIA \n",
7
- " 1 16.28 2.55 32.15 51.85 68.89 69.39 59.28 58.82 52.69 22.23 14.35 33.96 40.20\n",
8
- " 2 15.63 2.31 29.27 48.26 60.12 57.72 50.59 50.57 48.12 23.05 16.34 38.84 36.73\n",
9
- " 3 17.37 2.83 35.55 58.35 74.51 71.03 59.27 57.44 49.60 21.81 15.32 37.20 41.69\n",
10
- " 4 17.37 2.87 36.12 58.35 73.77 69.43 58.92 58.95 49.97 20.72 14.35 35.52 41.36\n",
11
- " 5 15.98 2.56 33.14 53.39 68.67 65.30 54.44 50.56 44.79 20.63 13.99 32.74 38.02\n",
12
- " 6 17.28 2.86 36.12 58.35 76.37 74.93 63.28 62.28 58.42 26.64 17.78 40.09 44.53\n",
13
- " 7 17.03 2.82 36.12 58.35 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.64\n",
14
- " MEDIA 16.71 2.69 34.06 55.27 71.24 68.96 58.44 57.27 51.73 23.23 15.78 36.92 41.03\n",
15
- " DPADRAO 0.68 0.20 2.46 3.82 5.42 5.55 4.24 4.56 4.79 2.57 1.63 2.73\n",
16
- " MIN 15.63 2.31 29.27 48.26 60.12 57.72 50.59 50.56 44.79 20.63 13.99 32.74\n",
17
- " P5 15.63 2.31 29.27 48.26 60.12 57.72 50.59 50.56 44.79 20.63 13.99 32.74\n",
18
- " P95 17.37 2.87 36.12 58.35 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09\n",
19
- " MAX 17.37 2.87 36.12 58.35 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09\n",
6
+ " 1 2 3 4 5 6 7 8 9 10 11 12 MEDIA\n",
7
+ " 1 24.93 15.17 32.94 24.35\n",
8
+ " 2 24.98 15.29 32.53 24.27\n",
9
+ " 3 25.47 16.25 37.84 26.52\n",
10
+ " 4 25.02 15.65 32.29 24.32\n",
11
+ " 5 25.01 15.45 34.72 25.06\n",
12
+ " 6 25.16 15.65 33.39 24.73\n",
13
+ " 7 25.19 15.87 35.25 25.44\n",
14
+ " MEDIA 25.11 15.62 34.14 24.96\n",
15
+ " DPADRAO 0.17 0.34 1.82\n",
16
+ " MIN 24.93 15.17 32.29\n",
17
+ " P5 24.93 15.17 32.29\n",
18
+ " P95 25.47 16.25 37.84\n",
19
+ " MAX 25.47 16.25 37.84\n",
20
20
  "\n",
21
21
  " ANO: 2024\n",
22
- " 1 2 3 4 5 6 7 8 9 10 11 12 MEDIA \n",
23
- " 1 17.72 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.73\n",
24
- " 2 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
25
- " 3 18.59 2.88 36.32 58.24 75.71 74.53 63.14 61.97 58.23 27.50 18.36 40.09 44.63\n",
26
- " 4 18.30 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.78\n",
27
- " 5 16.45 2.68 34.43 56.73 75.97 74.93 63.28 62.28 58.44 25.88 15.33 31.45 43.15\n",
28
- " 6 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
29
- " 7 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
30
- " MEDIA 18.14 2.85 36.05 58.21 76.22 74.87 63.26 62.24 58.48 27.29 17.93 38.86 44.53\n",
31
- " DPADRAO 0.76 0.07 0.66 0.61 0.25 0.14 0.05 0.11 0.11 0.58 1.06 3.02\n",
32
- " MIN 16.45 2.68 34.43 56.73 75.71 74.53 63.14 61.97 58.23 25.88 15.33 31.45\n",
33
- " P5 16.45 2.68 34.43 56.73 75.71 74.53 63.14 61.97 58.23 25.88 15.33 31.45\n",
34
- " P95 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09\n",
35
- " MAX 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09\n",
22
+ " 1 2 3 4 5 6 7 8 9 10 11 12 MEDIA\n",
23
+ " 1 15.43 2.24 28.88 49.29 63.59 61.89 53.15 52.82 49.56 22.91 15.74 37.93 37.78\n",
24
+ " 2 15.51 2.53 34.83 58.43 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.38\n",
25
+ " 3 18.84 2.88 36.24 58.43 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.81\n",
26
+ " 4 13.89 1.94 21.64 32.78 43.01 42.67 36.12 35.45 31.69 14.33 10.52 27.80 25.99\n",
27
+ " 5 17.93 2.88 36.24 58.43 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.73\n",
28
+ " 6 16.65 2.73 35.44 58.43 76.37 74.93 61.24 57.96 53.82 25.27 17.56 39.92 43.36\n",
29
+ " 7 17.83 2.88 36.24 58.43 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.72\n",
30
+ " MEDIA 16.58 2.58 32.78 53.46 69.78 68.46 57.66 56.48 52.74 24.67 16.74 37.97 40.83\n",
31
+ " DPADRAO 1.61 0.34 5.16 9.01 11.78 11.45 9.44 9.20 9.17 4.52 2.69 4.22\n",
32
+ " MIN 13.89 1.94 21.64 32.78 43.01 42.67 36.12 35.45 31.69 14.33 10.52 27.80\n",
33
+ " P5 13.89 1.94 21.64 32.78 43.01 42.67 36.12 35.45 31.69 14.33 10.52 27.80\n",
34
+ " P95 18.84 2.88 36.24 58.43 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04\n",
35
+ " MAX 18.84 2.88 36.24 58.43 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04\n",
36
36
  "\n",
37
37
  " ANO: 2025\n",
38
- " 1 2 3 4 5 6 7 8 9 10 11 12 MEDIA \n",
39
- " 1 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
40
- " 2 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
41
- " 3 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
42
- " 4 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
43
- " 5 16.07 2.79 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.59\n",
44
- " 6 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
45
- " 7 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
46
- " MEDIA 18.28 2.87 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.78\n",
47
- " DPADRAO 0.90 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00\n",
48
- " MIN 16.07 2.79 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09\n",
49
- " P5 16.07 2.79 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09\n",
50
- " P95 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09\n",
51
- " MAX 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09\n",
38
+ " 1 2 3 4 5 6 7 8 9 10 11 12 MEDIA\n",
39
+ " 1 18.67 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
40
+ " 2 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
41
+ " 3 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
42
+ " 4 15.46 2.71 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.54\n",
43
+ " 5 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
44
+ " 6 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
45
+ " 7 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
46
+ " MEDIA 18.22 2.87 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.78\n",
47
+ " DPADRAO 1.13 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00\n",
48
+ " MIN 15.46 2.71 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04\n",
49
+ " P5 15.46 2.71 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04\n",
50
+ " P95 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04\n",
51
+ " MAX 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04\n",
52
52
  "\n",
53
53
  " ANO: 2026\n",
54
- " 1 2 3 4 5 6 7 8 9 10 11 12 MEDIA \n",
55
- " 1 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.42 18.29 40.09 44.79\n",
56
- " 2 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
57
- " 3 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
58
- " 4 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
59
- " 5 18.64 2.88 36.32 58.50 76.37 74.93 63.28 61.35 53.48 21.84 13.60 28.60 42.48\n",
60
- " 6 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
61
- " 7 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
62
- " MEDIA 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.15 57.81 26.71 17.67 38.45 44.48\n",
63
- " DPADRAO 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.33 1.77 1.99 1.66 4.02\n",
64
- " MIN 18.64 2.88 36.32 58.50 76.37 74.93 63.28 61.35 53.48 21.84 13.60 28.60\n",
65
- " P5 18.64 2.88 36.32 58.50 76.37 74.93 63.28 61.35 53.48 21.84 13.60 28.60\n",
66
- " P95 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09\n",
67
- " MAX 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09\n",
54
+ " 1 2 3 4 5 6 7 8 9 10 11 12 MEDIA\n",
55
+ " 1 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
56
+ " 2 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
57
+ " 3 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
58
+ " 4 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
59
+ " 5 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
60
+ " 6 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
61
+ " 7 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
62
+ " MEDIA 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
63
+ " DPADRAO 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00\n",
64
+ " MIN 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04\n",
65
+ " P5 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04\n",
66
+ " P95 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04\n",
67
+ " MAX 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04\n",
68
68
  "\n",
69
69
  " ANO: 2027\n",
70
- " 1 2 3 4 5 6 7 8 9 10 11 12 MEDIA \n",
71
- " 1 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
72
- " 2 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
73
- " 3 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
74
- " 4 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
75
- " 5 12.81 2.02 26.03 42.55 56.78 57.69 46.25 38.92 32.61 14.91 10.41 25.38 30.53\n",
76
- " 6 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
77
- " 7 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09 44.81\n",
78
- " MEDIA 17.81 2.76 34.85 56.22 73.57 72.46 60.85 58.94 54.83 25.73 17.23 37.99 42.77\n",
79
- " DPADRAO 2.04 0.30 3.60 5.58 6.86 6.03 5.96 8.17 9.07 4.42 2.78 5.15\n",
80
- " MIN 12.81 2.02 26.03 42.55 56.78 57.69 46.25 38.92 32.61 14.91 10.41 25.38\n",
81
- " P5 12.81 2.02 26.03 42.55 56.78 57.69 46.25 38.92 32.61 14.91 10.41 25.38\n",
82
- " P95 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09\n",
83
- " MAX 18.64 2.88 36.32 58.50 76.37 74.93 63.28 62.28 58.53 27.54 18.36 40.09\n",
70
+ " 1 2 3 4 5 6 7 8 9 10 11 12 MEDIA\n",
71
+ " 1 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
72
+ " 2 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
73
+ " 3 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
74
+ " 4 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.17 58.05 27.12 18.18 40.04 44.73\n",
75
+ " 5 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
76
+ " 6 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
77
+ " 7 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04 44.82\n",
78
+ " MEDIA 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.27 58.46 27.48 18.32 40.04 44.81\n",
79
+ " DPADRAO 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.04 0.17 0.15 0.06 0.00\n",
80
+ " MIN 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.17 58.05 27.12 18.18 40.04\n",
81
+ " P5 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.17 58.05 27.12 18.18 40.04\n",
82
+ " P95 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04\n",
83
+ " MAX 18.69 2.89 36.41 58.58 76.37 74.93 63.28 62.28 58.53 27.54 18.34 40.04\n",
84
+ "\n",
84
85
  ]
@@ -8,10 +8,10 @@ from unittest.mock import MagicMock, patch
8
8
 
9
9
  ARQ_TESTE = "./tests/mocks/arquivos/energias.dat"
10
10
 
11
- NUM_SERIES = 2
12
- NUM_REES = 1
13
- NUM_ESTAGIOS = 16
14
- NUM_ESTAGIOS_TH = 12
11
+ NUM_SERIES = 3
12
+ NUM_REES = 2
13
+ NUM_ESTAGIOS = 3
14
+ NUM_ESTAGIOS_TH = 3
15
15
  NUM_ENTRADAS = NUM_SERIES * NUM_REES * (NUM_ESTAGIOS_TH + NUM_ESTAGIOS)
16
16
 
17
17
 
@@ -17,7 +17,7 @@ def test_atributos_encontrados_vevapuh():
17
17
  assert n.usina == "FURNAS"
18
18
  assert n.valores is not None
19
19
  assert n.valores.iloc[0, 0] == datetime(2023, 1, 1)
20
- assert n.valores.iloc[-1, -1] == 40.09
20
+ assert n.valores.iloc[-1, -1] == 40.04
21
21
 
22
22
 
23
23
  def test_atributos_nao_encontrados_vevapuh():