inewave 1.10.0__py3-none-any.whl → 1.10.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.10.0"
9
+ __version__ = "1.10.2"
10
10
 
11
11
  from . import newave # noqa
12
12
  from . import nwlistcf # noqa
@@ -1,9 +1,7 @@
1
- from cfinterface.components.block import Block
2
- from cfinterface.components.literalfield import LiteralField
3
- from cfinterface.components.line import Line
4
-
5
1
  from typing import IO, List
6
2
 
3
+ from cfinterface.components.block import Block
4
+
7
5
 
8
6
  class VersaoModelo(Block):
9
7
  """
@@ -26,8 +24,7 @@ class VersaoModelo(Block):
26
24
 
27
25
  def read(self, file: IO, *args, **kwargs):
28
26
  linha = file.readline()
29
- modelo_linha = Line([LiteralField(size=12, starting_position=29)])
30
- self.data = modelo_linha.read(linha)[0]
27
+ self.data = linha.split("Versao")[1].strip().split(" ")[0]
31
28
 
32
29
 
33
30
  class VersaoModeloLibs(Block):
@@ -51,5 +48,4 @@ class VersaoModeloLibs(Block):
51
48
 
52
49
  def read(self, file: IO, *args, **kwargs):
53
50
  linha = file.readline()
54
- modelo_linha = Line([LiteralField(size=20, starting_position=12)])
55
- self.data = modelo_linha.read(linha)[0]
51
+ self.data = linha.split("NEWAVE -")[1].strip().split(" ")[0]
@@ -35,7 +35,7 @@ class BlocoCargasAdicionais(Section):
35
35
  super().__init__(previous, next, data)
36
36
  self.__linha_subsis = Line([
37
37
  IntegerField(3, 1),
38
- LiteralField(10, 6),
38
+ LiteralField(10, 5),
39
39
  LiteralField(12, 21),
40
40
  ])
41
41
  campo_ano: List[Field] = [LiteralField(4, 0)]
@@ -1074,7 +1074,7 @@ class BlocoVolInicialSubsistema(Section):
1074
1074
  return self.data[1:]
1075
1075
 
1076
1076
  @valores.setter
1077
- def valores(self, v: List[float]):
1077
+ def valores(self, v: List[Optional[float]]):
1078
1078
  self.data = [self.data[0]] + v
1079
1079
 
1080
1080
 
@@ -509,7 +509,7 @@ class BlocoGeracaoUsinasNaoSimuladas(Section):
509
509
  self.__linha_subsis = Line([
510
510
  IntegerField(3, 1),
511
511
  IntegerField(3, 6),
512
- LiteralField(3, 11),
512
+ LiteralField(8, 11),
513
513
  ])
514
514
 
515
515
  campo_ano: List[Field] = [IntegerField(4, 0)]
inewave/newave/vazpast.py CHANGED
@@ -1,8 +1,9 @@
1
- from inewave.newave.modelos.vazpast import BlocoVazPast
1
+ from typing import Optional, TypeVar
2
2
 
3
- from cfinterface.files.sectionfile import SectionFile
4
- from typing import TypeVar, Optional
5
3
  import pandas as pd # type: ignore
4
+ from cfinterface.files.sectionfile import SectionFile
5
+
6
+ from inewave.newave.modelos.vazpast import BlocoVazPast
6
7
 
7
8
 
8
9
  class Vazpast(SectionFile):
@@ -24,7 +25,7 @@ class Vazpast(SectionFile):
24
25
  """
25
26
  Tabela com a tendência hidrológica por UHE.
26
27
 
27
- - codigo_usina (`int`)
28
+ - codigo_posto (`int`)
28
29
  - nome_usina (`str`)
29
30
  - mes (`int`)
30
31
  - valor (`float`)
@@ -1,8 +1,9 @@
1
- from cfinterface.components.section import Section
2
- from cfinterface.components.line import Line
1
+ from typing import IO, Any, Dict, List
2
+
3
3
  from cfinterface.components.integerfield import IntegerField
4
+ from cfinterface.components.line import Line
4
5
  from cfinterface.components.literalfield import LiteralField
5
- from typing import List, Dict, IO, Any
6
+ from cfinterface.components.section import Section
6
7
 
7
8
 
8
9
  class BlocoDadosNwlistop(Section):
@@ -25,19 +26,15 @@ class BlocoDadosNwlistop(Section):
25
26
  def __init__(self, previous=None, next=None, data=None) -> None:
26
27
  super().__init__(previous, next, data)
27
28
  self.__linha_opcao = Line([IntegerField(1, 1)])
28
- self.__linha_arquivo = Line(
29
- [LiteralField(29, 0), LiteralField(40, 30)]
30
- )
31
- self.__linha_series_op1 = Line(
32
- [IntegerField(4, 1), IntegerField(4, 6)]
33
- )
29
+ self.__linha_arquivo = Line([LiteralField(29, 0), LiteralField(40, 30)])
30
+ self.__linha_series_op1 = Line([IntegerField(4, 1), IntegerField(4, 6)])
34
31
  self.__linha_periodos = Line([IntegerField(3, 1), IntegerField(3, 5)])
35
- self.__linha_variaveis_op2 = Line(
36
- [IntegerField(2, 1 + 3 * i) for i in range(21)]
37
- )
38
- self.__linha_uhes_op2 = Line(
39
- [IntegerField(3, 1 + 4 * i) for i in range(16)]
40
- )
32
+ self.__linha_variaveis_op2 = Line([
33
+ IntegerField(2, 1 + 3 * i) for i in range(21)
34
+ ])
35
+ self.__linha_uhes_op2 = Line([
36
+ IntegerField(3, 1 + 4 * i) for i in range(16)
37
+ ])
41
38
  self.data: Dict[str, Any] = {}
42
39
  self.__comentarios: List[List[str]] = []
43
40
 
@@ -45,12 +42,10 @@ class BlocoDadosNwlistop(Section):
45
42
  if not isinstance(o, BlocoDadosNwlistop):
46
43
  return False
47
44
  bloco: BlocoDadosNwlistop = o
48
- if not all(
49
- [
50
- isinstance(self.data, dict),
51
- isinstance(o.data, dict),
52
- ]
53
- ):
45
+ if not all([
46
+ isinstance(self.data, dict),
47
+ isinstance(o.data, dict),
48
+ ]):
54
49
  return False
55
50
  else:
56
51
  return self.data == bloco.data
@@ -162,7 +157,7 @@ class BlocoDadosNwlistop(Section):
162
157
  for c in self.__comentarios[1]:
163
158
  file.write(c)
164
159
  # Escreve as séries
165
- file.write(self.__linha_periodos.write(self.data["series"]))
160
+ file.write(self.__linha_series_op1.write(self.data["series"]))
166
161
 
167
162
  # Override
168
163
  def __write_op2(self, file: IO, *args, **kwargs):
@@ -178,17 +173,17 @@ class BlocoDadosNwlistop(Section):
178
173
  for c in self.__comentarios[1]:
179
174
  file.write(c)
180
175
  # Escreve as séries
181
- file.write(self.__linha_periodos.write(self.data["variaveis_ree"]))
176
+ file.write(self.__linha_variaveis_op2.write(self.data["variaveis_ree"]))
182
177
  # Escreve as linhas de cabeçalho para variáveis individualizadas
183
178
  for c in self.__comentarios[2]:
184
179
  file.write(c)
185
180
  # Escreve as séries
186
- file.write(self.__linha_periodos.write(self.data["variaveis_uhe"]))
181
+ file.write(self.__linha_variaveis_op2.write(self.data["variaveis_uhe"]))
187
182
  # Escreve as linhas de cabeçalho para usinas
188
183
  for c in self.__comentarios[3]:
189
184
  file.write(c)
190
185
  # Escreve as séries
191
- file.write(self.__linha_periodos.write(self.data["uhes"]))
186
+ file.write(self.__linha_uhes_op2.write(self.data["uhes"]))
192
187
 
193
188
  # Override
194
189
  def __write_op4(self, file: IO, *args, **kwargs):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: inewave
3
- Version: 1.10.0
3
+ Version: 1.10.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/
@@ -67,7 +67,7 @@ O inewave oferece:
67
67
 
68
68
  ## Instalação
69
69
 
70
- O inewave é compatível com versões de Python >= 3.8.
70
+ O inewave é compatível com versões de Python >= 3.10.
71
71
 
72
72
  É possível instalar a versão distribuída oficialmente com pip:
73
73
 
@@ -1,4 +1,4 @@
1
- inewave/__init__.py,sha256=IdXAvcSvBKOOQCw_kkPbc1IC1KW6qTN8Hzwhq3M5f-Q,236
1
+ inewave/__init__.py,sha256=fvATv_T-Ej_ViYCGhjQzMmlVjKBnjgC2joGAze6aajc,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
@@ -84,7 +84,7 @@ inewave/newave/vazaof.py,sha256=9FBx7H81EkK0QluWhrgYA1UQRSJ-20wimh-0qM4QG-s,1282
84
84
  inewave/newave/vazaos.py,sha256=A4eH13NMgvxuMTxZ96yiXhB20uVCsGHCSInI9rIMG3o,1289
85
85
  inewave/newave/vazinat.py,sha256=41ziSA8l9BNCPcF7RuCCr_4UzIaTrsR9qAfPVUuJxqI,1304
86
86
  inewave/newave/vazoes.py,sha256=7baWSre6vToqNWj8YJdq_2vZ5xmFon_egazQW1M8Yew,2373
87
- inewave/newave/vazpast.py,sha256=5kdkC-nqRLiEjsMq-jh693H2NGEdDE4Y-wMFmpE-evw,1197
87
+ inewave/newave/vazpast.py,sha256=NYjWpWgVaZ51UEC7lxDMBW16yXTykyvnNISd7uKbe_I,1198
88
88
  inewave/newave/volref_saz.py,sha256=TbQqIimcs35m74lRHkDOsFu6M_YVE0GJpUFIYJWdbc0,1241
89
89
  inewave/newave/modelos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
90
  inewave/newave/modelos/abertura.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -95,7 +95,7 @@ inewave/newave/modelos/avl_cortesfpha_nwv.py,sha256=9lZCfXgkntDpVO_1_yHW1WR6u001
95
95
  inewave/newave/modelos/avl_desvfpha_s.py,sha256=SoR5bj4wDpUe4NyGtgT6Kn8g1QbBSl_bAY9qpv6bgmA,3277
96
96
  inewave/newave/modelos/avl_desvfpha_v_q.py,sha256=aDz2EVO_bHQJJKez8uTpzle-GFT_nlnOCpHcK7b3iCA,3198
97
97
  inewave/newave/modelos/bid.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
- inewave/newave/modelos/cadic.py,sha256=l-6NEGkJYDMDVcfxxdmabkhVJWIRH-huXJDN20V0jMU,5563
98
+ inewave/newave/modelos/cadic.py,sha256=zKOkyoU-CqFLSEe2KPJJvDkE4zLFAg60OHwY0GEY2Kc,5563
99
99
  inewave/newave/modelos/caso.py,sha256=6U12tnNL0ChfnfjFKg3OyEV1ML-_--9AMXqzCGHfFiY,2094
100
100
  inewave/newave/modelos/clasgas.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
101
  inewave/newave/modelos/clast.py,sha256=ry3masYiPhtXojDMnOJBTux0_CqzLc2S0K151nKxBlE,7543
@@ -105,7 +105,7 @@ inewave/newave/modelos/cortes.py,sha256=csy2I9o_TkQx8t4E3ugPndwRJJFIZIwusQiBswa3
105
105
  inewave/newave/modelos/cortesh.py,sha256=ayA-zWiBQ3o77J_wqehgODhl9wjeold84bYsKmKs-6g,31154
106
106
  inewave/newave/modelos/curva.py,sha256=bkxFD8_zhnMe-cBw61C9T4unWLnVfspNnjHTnUG7NVo,13680
107
107
  inewave/newave/modelos/cvar.py,sha256=Wu_qilEvzjT9MCoelMmiDztu9-yTI0eAC2fQMMN2E2M,7489
108
- inewave/newave/modelos/dger.py,sha256=2zVnAE0p8hlBtM_nt18gCJWXUaCvBqeNWpmtxR63Cj0,141663
108
+ inewave/newave/modelos/dger.py,sha256=-aUJ-S0j15q1RVbAyq-bWB0F9YfXGoNe1Vsy7hH78Ew,141673
109
109
  inewave/newave/modelos/dsvagua.py,sha256=G_4PKZcQCF_vZMrBqQcnpH54edXhSEyDlHNy4aZoiIk,5592
110
110
  inewave/newave/modelos/eafpast.py,sha256=HFKpsMyoLGwQly95uHhsK2wnrBwL7v8auzaa-UbgP5k,3322
111
111
  inewave/newave/modelos/eco_fpha.py,sha256=q-b-ShvAW-RDpr7xlmhBvM9ixWF9DxqFvhxApA7oGdo,1646
@@ -144,7 +144,7 @@ inewave/newave/modelos/ree.py,sha256=6VaJhSKutVlaPtQDTZcf1S7JHR0hNhEsPgsh_MzyegA
144
144
  inewave/newave/modelos/sar.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
145
145
  inewave/newave/modelos/selcor.py,sha256=v2ASlI61CKebh5eCOeA5Ce3GLzFDAYJ9Bsm0whKqq-4,2069
146
146
  inewave/newave/modelos/shist.py,sha256=wy_E1onlbfrCFvWcpNhnUt3WAGmPJ2FSUbkywvH1b2c,3376
147
- inewave/newave/modelos/sistema.py,sha256=qnB_8gOba4jciou53KjR03q4fBCANKKCnQS5lhqs0IA,23091
147
+ inewave/newave/modelos/sistema.py,sha256=T6FYm05CkNzhwzjx_8O5cJwGvAoSRmHJYf41neDs7Eg,23091
148
148
  inewave/newave/modelos/tecno.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
149
149
  inewave/newave/modelos/term.py,sha256=cL5356rYRHPf1zsXzoGzrPa1MtncMAOhwP-U27s2o8E,4760
150
150
  inewave/newave/modelos/vazaob.py,sha256=_G5Kd1PD7C5DU2aV_Xam67GpaqJTEvXCWuhiAO_POyw,2901
@@ -158,7 +158,7 @@ inewave/newave/modelos/arquivoscsv/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQe
158
158
  inewave/newave/modelos/arquivoscsv/arquivocsv.py,sha256=97HYqHCPo9T1K35x19ILV6mxwDeXgVdbDNULrZha5VI,1659
159
159
  inewave/newave/modelos/blocos/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
160
  inewave/newave/modelos/blocos/tabelacsv.py,sha256=1MHxVBNW_SypjMC8nm24FkFvVGtUgnXguxq8V48zZOI,2131
161
- inewave/newave/modelos/blocos/versaomodelo.py,sha256=fjmw8Tf8T7sW82kK-1JYL7Hq5Rn2geDV9-DJi_IIeUU,1577
161
+ inewave/newave/modelos/blocos/versaomodelo.py,sha256=xpATfrTZse-UychyrlrCJ2NRj5bx0HmEXU9xCOJlUMs,1361
162
162
  inewave/nwlistcf/__init__.py,sha256=NVTYQl6Gh_BbtXuoORDoY4XeFYVwoMzZVr3Ddou7ME4,218
163
163
  inewave/nwlistcf/arquivos.py,sha256=JaUlJ2Aw6sM2H1BEwSQb5J9ywMfq5r4GZXRJSA1N8s0,6739
164
164
  inewave/nwlistcf/caso.py,sha256=cahc8MmggJbHWj3FGXKQwt3IIi0W84S1Ut8O3C-QaGM,970
@@ -451,7 +451,7 @@ inewave/nwlistop/modelos/merclsin.py,sha256=arrMiDrPb3z7CqoT0ndCW0GZgJec6oa0by3y
451
451
  inewave/nwlistop/modelos/mevmin.py,sha256=xv2rpx4GqK3fs_b9F8fNcwepmkqZkFw6lhheAghRZj0,693
452
452
  inewave/nwlistop/modelos/mevminm.py,sha256=xv2rpx4GqK3fs_b9F8fNcwepmkqZkFw6lhheAghRZj0,693
453
453
  inewave/nwlistop/modelos/mevminsin.py,sha256=xv2rpx4GqK3fs_b9F8fNcwepmkqZkFw6lhheAghRZj0,693
454
- inewave/nwlistop/modelos/nwlistopdat.py,sha256=CLteMOIPb7hOMYDhxZ_dXrWHoKVKOsCyyZttGcI5C1Y,6989
454
+ inewave/nwlistop/modelos/nwlistopdat.py,sha256=svwmrXzLZjN5yD1UUWyUEsNlSUiwWah7N1lCHQvNQs8,6924
455
455
  inewave/nwlistop/modelos/perdf.py,sha256=HGMOZGIJLbfLSMin-K_5wzGUsUInA--KShyaTkv0Whc,638
456
456
  inewave/nwlistop/modelos/perdfm.py,sha256=HGMOZGIJLbfLSMin-K_5wzGUsUInA--KShyaTkv0Whc,638
457
457
  inewave/nwlistop/modelos/perdfsin.py,sha256=HGMOZGIJLbfLSMin-K_5wzGUsUInA--KShyaTkv0Whc,638
@@ -539,7 +539,7 @@ inewave/nwlistop/modelos/blocos/usina.py,sha256=cQvLVtG1NC8y4lP_to6-YjAKQRGRlaxO
539
539
  inewave/nwlistop/modelos/blocos/valoresclassetermicaseriepatamar.py,sha256=0LV0JMFoiuNEQ3n-XVfG2T0sIq_33bnCt6gmwPOTql8,3283
540
540
  inewave/nwlistop/modelos/blocos/valoresserie.py,sha256=Q88QBoI3zyU7y0AvHBeSqDBEVAkb3rAa3XpxA51NbF8,2143
541
541
  inewave/nwlistop/modelos/blocos/valoresseriepatamar.py,sha256=xnRdor-_2VyR5EbWNSzU_hbABJFtfgKGlznbcRaslGg,2589
542
- inewave-1.10.0.dist-info/METADATA,sha256=EWQpDolZcEpzFk2fH6mT1dg6zSpkdtscFG59SjT2PHU,3742
543
- inewave-1.10.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
544
- inewave-1.10.0.dist-info/licenses/LICENSE.md,sha256=0jOBL78mjzscN0-XI-6YtK1IqnODUbG85DaKAMH4XJ8,1070
545
- inewave-1.10.0.dist-info/RECORD,,
542
+ inewave-1.10.2.dist-info/METADATA,sha256=vAZzf_juRHFDT3Dyo4OGAjxz3oP-KQdK9tj8QUULvcI,3743
543
+ inewave-1.10.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
544
+ inewave-1.10.2.dist-info/licenses/LICENSE.md,sha256=0jOBL78mjzscN0-XI-6YtK1IqnODUbG85DaKAMH4XJ8,1070
545
+ inewave-1.10.2.dist-info/RECORD,,