inewave 1.2.1__py3-none-any.whl → 1.3.0__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 (72) hide show
  1. inewave/__init__.py +1 -1
  2. inewave/_utils/formatacao.py +105 -97
  3. inewave/nwlistop/__init__.py +5 -0
  4. inewave/nwlistop/desvuh.py +21 -0
  5. inewave/nwlistop/hjus.py +21 -0
  6. inewave/nwlistop/hliq.py +21 -0
  7. inewave/nwlistop/hmont.py +21 -0
  8. inewave/nwlistop/modelos/cmarg.py +1 -1
  9. inewave/nwlistop/modelos/corteolm.py +1 -1
  10. inewave/nwlistop/modelos/def.py +1 -1
  11. inewave/nwlistop/modelos/defsin.py +1 -1
  12. inewave/nwlistop/modelos/depminuh.py +1 -1
  13. inewave/nwlistop/modelos/desvuh.py +24 -0
  14. inewave/nwlistop/modelos/dflppdfmaxm.py +1 -1
  15. inewave/nwlistop/modelos/dflpptbmaxm.py +1 -1
  16. inewave/nwlistop/modelos/dfphauh.py +1 -1
  17. inewave/nwlistop/modelos/dlppdfmax.py +1 -1
  18. inewave/nwlistop/modelos/dlppdfmaxs.py +1 -1
  19. inewave/nwlistop/modelos/dlpptbmax.py +1 -1
  20. inewave/nwlistop/modelos/dlpptbmaxs.py +1 -1
  21. inewave/nwlistop/modelos/dtbmax.py +1 -1
  22. inewave/nwlistop/modelos/dtbmin.py +1 -1
  23. inewave/nwlistop/modelos/dvazmax.py +1 -1
  24. inewave/nwlistop/modelos/exces.py +1 -1
  25. inewave/nwlistop/modelos/excessin.py +1 -1
  26. inewave/nwlistop/modelos/fteolm.py +1 -1
  27. inewave/nwlistop/modelos/fteolsin.py +1 -1
  28. inewave/nwlistop/modelos/geol.py +1 -1
  29. inewave/nwlistop/modelos/geolm.py +1 -1
  30. inewave/nwlistop/modelos/geolsin.py +1 -1
  31. inewave/nwlistop/modelos/ghiduh.py +1 -1
  32. inewave/nwlistop/modelos/ghmax.py +1 -1
  33. inewave/nwlistop/modelos/ghmaxm.py +1 -1
  34. inewave/nwlistop/modelos/ghmaxmr.py +1 -1
  35. inewave/nwlistop/modelos/ghmaxr.py +1 -1
  36. inewave/nwlistop/modelos/ghmaxrsin.py +1 -1
  37. inewave/nwlistop/modelos/ghmaxsin.py +1 -1
  38. inewave/nwlistop/modelos/ghtot.py +1 -1
  39. inewave/nwlistop/modelos/ghtotm.py +1 -1
  40. inewave/nwlistop/modelos/ghtotsin.py +1 -1
  41. inewave/nwlistop/modelos/gttot.py +1 -1
  42. inewave/nwlistop/modelos/gttotsin.py +1 -1
  43. inewave/nwlistop/modelos/hjus.py +26 -0
  44. inewave/nwlistop/modelos/hliq.py +26 -0
  45. inewave/nwlistop/modelos/hmont.py +24 -0
  46. inewave/nwlistop/modelos/rhslppdf.py +1 -1
  47. inewave/nwlistop/modelos/rhslpptb.py +1 -1
  48. inewave/nwlistop/modelos/vdesviouh.py +26 -0
  49. inewave/nwlistop/modelos/vertuh.py +1 -1
  50. inewave/nwlistop/modelos/vghmin.py +1 -1
  51. inewave/nwlistop/modelos/vghminm.py +1 -1
  52. inewave/nwlistop/modelos/vghminsin.py +1 -1
  53. inewave/nwlistop/modelos/vghminuh.py +1 -1
  54. inewave/nwlistop/modelos/vturuh.py +1 -1
  55. inewave/nwlistop/vdesviouh.py +21 -0
  56. {inewave-1.2.1.dist-info → inewave-1.3.0.dist-info}/METADATA +1 -1
  57. {inewave-1.2.1.dist-info → inewave-1.3.0.dist-info}/RECORD +72 -52
  58. tests/mocks/arquivos/desvuh.py +2014 -0
  59. tests/mocks/arquivos/gtert.py +66 -0
  60. tests/mocks/arquivos/hjus.py +6008 -0
  61. tests/mocks/arquivos/hliq.py +6008 -0
  62. tests/mocks/arquivos/hmont.py +2014 -0
  63. tests/mocks/arquivos/vdesviouh.py +6014 -0
  64. tests/nwlistop/test_desvuh.py +40 -0
  65. tests/nwlistop/test_gtert.py +1 -1
  66. tests/nwlistop/test_hjus.py +40 -0
  67. tests/nwlistop/test_hliq.py +40 -0
  68. tests/nwlistop/test_hmont.py +40 -0
  69. tests/nwlistop/test_vdesviouh.py +40 -0
  70. {inewave-1.2.1.dist-info → inewave-1.3.0.dist-info}/LICENSE.md +0 -0
  71. {inewave-1.2.1.dist-info → inewave-1.3.0.dist-info}/WHEEL +0 -0
  72. {inewave-1.2.1.dist-info → inewave-1.3.0.dist-info}/top_level.txt +0 -0
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.2.1"
9
+ __version__ = "1.3.0"
10
10
 
11
11
  from . import newave # noqa
12
12
  from . import nwlistcf # noqa
@@ -9,29 +9,38 @@ __COLS_IDENTIFICACAO = ["data", "ano", "serie", "patamar", "classe"]
9
9
 
10
10
  def __formata_df_meses_para_datas_serie(df: pd.DataFrame) -> pd.DataFrame:
11
11
  anos = np.array(df["ano"].unique().tolist())
12
- datas = pd.date_range(
13
- datetime(year=anos[0], month=1, day=1),
14
- datetime(year=anos[-1], month=12, day=1),
15
- freq="MS",
16
- )
17
- df_series = pd.DataFrame()
12
+ series = np.array(df["serie"].unique().tolist())
13
+ n_series = len(series)
14
+ datas_df = []
15
+ series_df = []
18
16
  for a in anos:
19
- df_ano = df.loc[df["ano"] == a, MESES_DF].T
20
- df_ano.columns = [str(s) for s in list(range(1, df_ano.shape[1] + 1))]
21
- df_series = pd.concat([df_series, df_ano], ignore_index=True)
22
- df_series["data"] = datas
23
- cols_not_scenarios = [
24
- c for c in df_series.columns if c in __COLS_IDENTIFICACAO
25
- ]
26
- cols_scenarios = [
27
- c for c in df_series.columns if c not in __COLS_IDENTIFICACAO
28
- ]
29
- df_formatado = pd.melt(
30
- df_series,
31
- id_vars=cols_not_scenarios,
32
- value_vars=cols_scenarios,
33
- var_name="serie",
34
- value_name="valor",
17
+ datas_df.append(
18
+ np.tile(
19
+ pd.date_range(
20
+ datetime(year=a, month=1, day=1),
21
+ datetime(year=a, month=12, day=1),
22
+ freq="MS",
23
+ ).to_numpy(),
24
+ n_series,
25
+ ),
26
+ )
27
+ series_df.append(np.repeat(series, 12))
28
+ valores = []
29
+ for a in anos:
30
+ valores.append(
31
+ df.loc[
32
+ (df["ano"] == a),
33
+ MESES_DF,
34
+ ]
35
+ .to_numpy()
36
+ .flatten()
37
+ )
38
+ df_formatado = pd.DataFrame(
39
+ data={
40
+ "data": np.concatenate(datas_df),
41
+ "serie": np.concatenate(series_df),
42
+ "valor": np.concatenate(valores),
43
+ }
35
44
  )
36
45
  return df_formatado
37
46
 
@@ -40,99 +49,98 @@ def __formata_df_meses_para_datas_serie_patamar(
40
49
  df: pd.DataFrame,
41
50
  ) -> pd.DataFrame:
42
51
  anos = np.array(df["ano"].unique().tolist())
52
+ series = np.array(df["serie"].unique().tolist())
43
53
  patamares = np.array(df["patamar"].unique().tolist())
44
- datas = []
54
+ n_series = len(series)
55
+ n_patamares = len(patamares)
56
+ datas_df = []
57
+ patamares_df = []
58
+ series_df = []
45
59
  for a in anos:
46
- for _ in patamares:
47
- datas += pd.date_range(
48
- datetime(year=a, month=1, day=1),
49
- datetime(year=a, month=12, day=1),
50
- freq="MS",
51
- ).tolist()
52
- df_series = pd.DataFrame()
60
+ datas_df.append(
61
+ np.tile(
62
+ pd.date_range(
63
+ datetime(year=a, month=1, day=1),
64
+ datetime(year=a, month=12, day=1),
65
+ freq="MS",
66
+ ).to_numpy(),
67
+ n_series * n_patamares,
68
+ ),
69
+ )
70
+ patamares_df.append(np.tile(np.repeat(patamares, 12), n_series))
71
+ series_df.append(np.repeat(series, 12 * n_patamares))
72
+
73
+ valores = []
53
74
  for a in anos:
54
- for p in patamares:
55
- df_ano_patamar = df.loc[
56
- (df["ano"] == a) & (df["patamar"] == p),
75
+ valores.append(
76
+ df.loc[
77
+ (df["ano"] == a),
57
78
  MESES_DF,
58
- ].T
59
- cols = [
60
- str(s) for s in list(range(1, df_ano_patamar.shape[1] + 1))
61
79
  ]
62
- df_ano_patamar.columns = cols
63
- df_ano_patamar["patamar"] = str(p)
64
- df_ano_patamar = df_ano_patamar[["patamar"] + cols]
65
- df_series = pd.concat(
66
- [df_series, df_ano_patamar], ignore_index=True
67
- )
68
- df_series["data"] = datas
69
- cols_not_scenarios = [
70
- c for c in df_series.columns if c in __COLS_IDENTIFICACAO
71
- ]
72
- cols_scenarios = [
73
- c for c in df_series.columns if c not in __COLS_IDENTIFICACAO
74
- ]
75
- df_formatado = pd.melt(
76
- df_series,
77
- id_vars=cols_not_scenarios,
78
- value_vars=cols_scenarios,
79
- var_name="serie",
80
- value_name="valor",
80
+ .to_numpy()
81
+ .flatten()
82
+ )
83
+ df_formatado = pd.DataFrame(
84
+ data={
85
+ "data": np.concatenate(datas_df),
86
+ "patamar": np.concatenate(patamares_df),
87
+ "serie": np.concatenate(series_df),
88
+ "valor": np.concatenate(valores),
89
+ }
81
90
  )
82
- return df_formatado[["data", "patamar", "serie", "valor"]]
91
+ return df_formatado
83
92
 
84
93
 
85
94
  def __formata_df_meses_para_datas_classetermica_serie_patamar(
86
95
  df: pd.DataFrame,
87
96
  ) -> pd.DataFrame:
88
97
  anos = np.array(df["ano"].unique().tolist())
89
- patamares = np.array(df["patamar"].unique().tolist())
90
98
  classes = np.array(df["classe"].unique().tolist())
91
- datas = []
99
+ series = np.array(df["serie"].unique().tolist())
100
+ patamares = np.array(df["patamar"].unique().tolist())
101
+ n_classes = len(classes)
102
+ n_series = len(series)
103
+ n_patamares = len(patamares)
104
+ datas_df = []
105
+ classes_df = []
106
+ series_df = []
107
+ patamares_df = []
92
108
  for a in anos:
93
- for _ in patamares:
94
- for _ in classes:
95
- datas += pd.date_range(
109
+ datas_df.append(
110
+ np.tile(
111
+ pd.date_range(
96
112
  datetime(year=a, month=1, day=1),
97
113
  datetime(year=a, month=12, day=1),
98
114
  freq="MS",
99
- ).tolist()
100
- df_series = pd.DataFrame()
115
+ ).to_numpy(),
116
+ n_classes * n_series * n_patamares,
117
+ ),
118
+ )
119
+ classes_df.append(np.repeat(classes, 12 * n_series * n_patamares))
120
+ patamares_df.append(
121
+ np.tile(np.repeat(patamares, 12), n_classes * n_series)
122
+ )
123
+ series_df.append(
124
+ np.tile(np.repeat(series, 12 * n_patamares), n_classes)
125
+ )
126
+ valores = []
101
127
  for a in anos:
102
- for c in classes:
103
- for p in patamares:
104
- df_ano_classe_patamar = df.loc[
105
- (df["ano"] == a)
106
- & (df["classe"] == c)
107
- & (df["patamar"] == p),
108
- MESES_DF,
109
- ].T
110
- cols = [
111
- str(s)
112
- for s in list(range(1, df_ano_classe_patamar.shape[1] + 1))
113
- ]
114
- df_ano_classe_patamar.columns = cols
115
- df_ano_classe_patamar["classe"] = str(c)
116
- df_ano_classe_patamar["patamar"] = str(p)
117
- df_ano_classe_patamar = df_ano_classe_patamar[
118
- ["classe", "patamar"] + cols
119
- ]
120
- df_series = pd.concat(
121
- [df_series, df_ano_classe_patamar], ignore_index=True
122
- )
123
- df_series["data"] = datas
124
- cols_not_scenarios = [
125
- c for c in df_series.columns if c in __COLS_IDENTIFICACAO
126
- ]
127
- cols_scenarios = [
128
- c for c in df_series.columns if c not in __COLS_IDENTIFICACAO
129
- ]
130
- df_formatado = pd.melt(
131
- df_series,
132
- id_vars=cols_not_scenarios,
133
- value_vars=cols_scenarios,
134
- var_name="serie",
135
- value_name="valor",
128
+ valores.append(
129
+ df.loc[
130
+ (df["ano"] == a),
131
+ MESES_DF,
132
+ ]
133
+ .to_numpy()
134
+ .flatten()
135
+ )
136
+ df_formatado = pd.DataFrame(
137
+ data={
138
+ "classe": np.concatenate(classes_df),
139
+ "data": np.concatenate(datas_df),
140
+ "patamar": np.concatenate(patamares_df),
141
+ "serie": np.concatenate(series_df),
142
+ "valor": np.concatenate(valores),
143
+ }
136
144
  )
137
145
  return df_formatado[["classe", "data", "patamar", "serie", "valor"]]
138
146
 
@@ -12,6 +12,7 @@ from .ctermsin import Ctermsin # noqa
12
12
  from .deficit import Def # noqa
13
13
  from .defsin import Defsin # noqa
14
14
  from .depminuh import Depminuh # noqa
15
+ from .desvuh import Desvuh # noqa
15
16
  from .dfphauh import Dfphauh # noqa
16
17
  from .dlppdfmax import Dlppdfmax # noqa
17
18
  from .dlppdfmaxs import Dlppdfmaxs # noqa
@@ -55,6 +56,9 @@ from .ghtotsin import Ghtotsin # noqa
55
56
  from .gtert import Gtert # noqa
56
57
  from .gttot import Gttot # noqa
57
58
  from .gttotsin import Gttotsin # noqa
59
+ from .hjus import Hjus # noqa
60
+ from .hliq import Hliq # noqa
61
+ from .hmont import Hmont # noqa
58
62
  from .intercambio import Intercambio # noqa
59
63
  from .invade import Invade # noqa
60
64
  from .invadem import Invadem # noqa
@@ -85,3 +89,4 @@ from .vghminm import Vghminm # noqa
85
89
  from .vghminsin import Vghminsin # noqa
86
90
  from .vghminuh import Vghminuh # noqa
87
91
  from .vturuh import Vturuh # noqa
92
+ from .vdesviouh import Vdesviouh # noqa
@@ -0,0 +1,21 @@
1
+ from inewave.nwlistop.modelos.blocos.usina import Usina
2
+ from inewave.nwlistop.modelos.arquivos.arquivousina import (
3
+ ArquivoUsina,
4
+ )
5
+ from inewave.nwlistop.modelos.desvuh import DesvuhAnos
6
+
7
+
8
+ class Desvuh(ArquivoUsina):
9
+ """
10
+ Armazena os dados das saídas referentes à retirada de água por usina.
11
+
12
+ Esta classe lida com as informações de saída fornecidas pelo
13
+ NWLISTOP e reproduzidas nos `desvuh00x.out`, onde x varia conforme a
14
+ usina em questão.
15
+
16
+ """
17
+
18
+ BLOCKS = [
19
+ Usina,
20
+ DesvuhAnos,
21
+ ]
@@ -0,0 +1,21 @@
1
+ from inewave.nwlistop.modelos.blocos.usina import Usina
2
+ from inewave.nwlistop.modelos.arquivos.arquivousinapatamar import (
3
+ ArquivoUsinaPatamar,
4
+ )
5
+ from inewave.nwlistop.modelos.hjus import HjusAnos
6
+
7
+
8
+ class Hjus(ArquivoUsinaPatamar):
9
+ """
10
+ Armazena os dados das saídas referentes à cota de jusante por usina.
11
+
12
+ Esta classe lida com as informações de saída fornecidas pelo
13
+ NWLISTOP e reproduzidas nos `hjus00x.out`, onde x varia conforme a
14
+ usina em questão.
15
+
16
+ """
17
+
18
+ BLOCKS = [
19
+ Usina,
20
+ HjusAnos,
21
+ ]
@@ -0,0 +1,21 @@
1
+ from inewave.nwlistop.modelos.blocos.usina import Usina
2
+ from inewave.nwlistop.modelos.arquivos.arquivousinapatamar import (
3
+ ArquivoUsinaPatamar,
4
+ )
5
+ from inewave.nwlistop.modelos.hliq import HliqAnos
6
+
7
+
8
+ class Hliq(ArquivoUsinaPatamar):
9
+ """
10
+ Armazena os dados das saídas referentes à queda líquida por usina.
11
+
12
+ Esta classe lida com as informações de saída fornecidas pelo
13
+ NWLISTOP e reproduzidas nos `hliq00x.out`, onde x varia conforme a
14
+ usina em questão.
15
+
16
+ """
17
+
18
+ BLOCKS = [
19
+ Usina,
20
+ HliqAnos,
21
+ ]
@@ -0,0 +1,21 @@
1
+ from inewave.nwlistop.modelos.blocos.usina import Usina
2
+ from inewave.nwlistop.modelos.arquivos.arquivousina import (
3
+ ArquivoUsina,
4
+ )
5
+ from inewave.nwlistop.modelos.hmont import HmontAnos
6
+
7
+
8
+ class Hmont(ArquivoUsina):
9
+ """
10
+ Armazena os dados das saídas referentes à cota de montante por usina.
11
+
12
+ Esta classe lida com as informações de saída fornecidas pelo
13
+ NWLISTOP e reproduzidas nos `hmont00x.out`, onde x varia conforme a
14
+ usina em questão.
15
+
16
+ """
17
+
18
+ BLOCKS = [
19
+ Usina,
20
+ HmontAnos,
21
+ ]
@@ -17,7 +17,7 @@ class CmargsAnos(ValoresSeriePatamar):
17
17
  HEADER_LINE = Line([IntegerField(4, 10)])
18
18
  DATA_LINE = Line(
19
19
  [ # type: ignore
20
- IntegerField(4, 1),
20
+ IntegerField(4, 2),
21
21
  IntegerField(2, 9),
22
22
  ]
23
23
  + [FloatField(8, 15 + 9 * i, 2) for i in range(len(MESES_DF))] # type: ignore
@@ -19,7 +19,7 @@ class CorteolmAnos(ValoresSeriePatamar):
19
19
  HEADER_LINE = Line([IntegerField(4, 10)])
20
20
  DATA_LINE = Line(
21
21
  [ # type: ignore
22
- IntegerField(4, 1),
22
+ IntegerField(4, 2),
23
23
  LiteralField(5, 6),
24
24
  ]
25
25
  + [FloatField(9, 11 + 9 * i, 2) for i in range(len(MESES_DF))] # type: ignore
@@ -19,7 +19,7 @@ class DefAnos(ValoresSeriePatamar):
19
19
  HEADER_LINE = Line([IntegerField(4, 10)])
20
20
  DATA_LINE = Line(
21
21
  [
22
- IntegerField(4, 1),
22
+ IntegerField(4, 2),
23
23
  LiteralField(5, 6),
24
24
  ] # type: ignore
25
25
  + [
@@ -19,7 +19,7 @@ class DefAnos(ValoresSeriePatamar):
19
19
  HEADER_LINE = Line([IntegerField(4, 10)])
20
20
  DATA_LINE = Line(
21
21
  [
22
- IntegerField(4, 1),
22
+ IntegerField(4, 2),
23
23
  LiteralField(5, 6),
24
24
  ] # type: ignore
25
25
  + [
@@ -19,7 +19,7 @@ class DepminAnos(ValoresSeriePatamar):
19
19
  HEADER_LINE = Line([IntegerField(4, 10)])
20
20
  DATA_LINE = Line(
21
21
  [ # type: ignore
22
- IntegerField(4, 1),
22
+ IntegerField(4, 2),
23
23
  LiteralField(5, 6),
24
24
  ]
25
25
  + [FloatField(9, 14 + 9 * i, 2) for i in range(len(MESES_DF))] # type: ignore
@@ -0,0 +1,24 @@
1
+ from inewave.config import MESES_DF
2
+
3
+ from cfinterface.components.line import Line
4
+ from cfinterface.components.integerfield import IntegerField
5
+ from cfinterface.components.floatfield import FloatField
6
+
7
+ from inewave.nwlistop.modelos.blocos.valoresserie import (
8
+ ValoresSerie,
9
+ )
10
+
11
+
12
+ class DesvuhAnos(ValoresSerie):
13
+ """
14
+ Bloco com as informações das tabelas de retirada de água
15
+ da usina por mês/ano de estudo.
16
+ """
17
+
18
+ HEADER_LINE = Line([IntegerField(4, 10)])
19
+ DATA_LINE = Line(
20
+ [ # type: ignore
21
+ IntegerField(4, 2),
22
+ ]
23
+ + [FloatField(9, 14 + 9 * i, 2) for i in range(len(MESES_DF))] # type: ignore
24
+ )
@@ -20,7 +20,7 @@ class DLPPdfmaxmAnos(ValoresSeriePatamar):
20
20
  HEADER_LINE = Line([IntegerField(4, 10)])
21
21
  DATA_LINE = Line(
22
22
  [ # type: ignore
23
- IntegerField(4, 1),
23
+ IntegerField(4, 2),
24
24
  LiteralField(5, 6),
25
25
  ]
26
26
  + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
@@ -20,7 +20,7 @@ class DLPPdfmaxmAnos(ValoresSeriePatamar):
20
20
  HEADER_LINE = Line([IntegerField(4, 10)])
21
21
  DATA_LINE = Line(
22
22
  [ # type: ignore
23
- IntegerField(4, 1),
23
+ IntegerField(4, 2),
24
24
  LiteralField(5, 6),
25
25
  ]
26
26
  + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
@@ -19,7 +19,7 @@ class DfphauhAnos(ValoresSeriePatamar):
19
19
  HEADER_LINE = Line([IntegerField(4, 10)])
20
20
  DATA_LINE = Line(
21
21
  [ # type: ignore
22
- IntegerField(4, 1),
22
+ IntegerField(4, 2),
23
23
  LiteralField(5, 6),
24
24
  ]
25
25
  + [FloatField(9, 14 + 9 * i, 2) for i in range(len(MESES_DF))] # type: ignore
@@ -20,7 +20,7 @@ class DLPPdfmaxAnos(ValoresSeriePatamar):
20
20
  HEADER_LINE = Line([IntegerField(4, 10)])
21
21
  DATA_LINE = Line(
22
22
  [ # type: ignore
23
- IntegerField(4, 1),
23
+ IntegerField(4, 2),
24
24
  LiteralField(5, 6),
25
25
  ]
26
26
  + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
@@ -20,7 +20,7 @@ class DLPPdfmaxAnos(ValoresSeriePatamar):
20
20
  HEADER_LINE = Line([IntegerField(4, 10)])
21
21
  DATA_LINE = Line(
22
22
  [ # type: ignore
23
- IntegerField(4, 1),
23
+ IntegerField(4, 2),
24
24
  LiteralField(5, 6),
25
25
  ]
26
26
  + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
@@ -20,7 +20,7 @@ class DLPPtbmaxAnos(ValoresSeriePatamar):
20
20
  HEADER_LINE = Line([IntegerField(4, 10)])
21
21
  DATA_LINE = Line(
22
22
  [ # type: ignore
23
- IntegerField(4, 1),
23
+ IntegerField(4, 2),
24
24
  LiteralField(5, 6),
25
25
  ]
26
26
  + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
@@ -20,7 +20,7 @@ class DLPPtbmaxAnos(ValoresSeriePatamar):
20
20
  HEADER_LINE = Line([IntegerField(4, 10)])
21
21
  DATA_LINE = Line(
22
22
  [ # type: ignore
23
- IntegerField(4, 1),
23
+ IntegerField(4, 2),
24
24
  LiteralField(5, 6),
25
25
  ]
26
26
  + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
@@ -19,7 +19,7 @@ class DtbmaxAnos(ValoresSeriePatamar):
19
19
  HEADER_LINE = Line([IntegerField(4, 10)])
20
20
  DATA_LINE = Line(
21
21
  [ # type: ignore
22
- IntegerField(4, 1),
22
+ IntegerField(4, 2),
23
23
  LiteralField(5, 6),
24
24
  ]
25
25
  + [FloatField(9, 14 + 9 * i, 2) for i in range(len(MESES_DF))] # type: ignore
@@ -19,7 +19,7 @@ class DtbminAnos(ValoresSeriePatamar):
19
19
  HEADER_LINE = Line([IntegerField(4, 10)])
20
20
  DATA_LINE = Line(
21
21
  [ # type: ignore
22
- IntegerField(4, 1),
22
+ IntegerField(4, 2),
23
23
  LiteralField(5, 6),
24
24
  ]
25
25
  + [FloatField(9, 14 + 9 * i, 2) for i in range(len(MESES_DF))] # type: ignore
@@ -19,7 +19,7 @@ class DvazmaxAnos(ValoresSeriePatamar):
19
19
  HEADER_LINE = Line([IntegerField(4, 10)])
20
20
  DATA_LINE = Line(
21
21
  [ # type: ignore
22
- IntegerField(4, 1),
22
+ IntegerField(4, 2),
23
23
  LiteralField(5, 6),
24
24
  ]
25
25
  + [FloatField(9, 14 + 9 * i, 2) for i in range(len(MESES_DF))] # type: ignore
@@ -18,7 +18,7 @@ class ExcesAnos(ValoresSeriePatamar):
18
18
  HEADER_LINE = Line([IntegerField(4, 10)])
19
19
  DATA_LINE = Line(
20
20
  [ # type: ignore
21
- IntegerField(4, 1),
21
+ IntegerField(4, 2),
22
22
  LiteralField(5, 6),
23
23
  ]
24
24
  + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
@@ -18,7 +18,7 @@ class ExcesAnos(ValoresSeriePatamar):
18
18
  HEADER_LINE = Line([IntegerField(4, 10)])
19
19
  DATA_LINE = Line(
20
20
  [ # type: ignore
21
- IntegerField(4, 1),
21
+ IntegerField(4, 2),
22
22
  LiteralField(5, 6),
23
23
  ]
24
24
  + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
@@ -19,7 +19,7 @@ class FteolAnos(ValoresSeriePatamar):
19
19
  HEADER_LINE = Line([IntegerField(4, 10)])
20
20
  DATA_LINE = Line(
21
21
  [ # type: ignore
22
- IntegerField(4, 1),
22
+ IntegerField(4, 2),
23
23
  LiteralField(5, 6),
24
24
  ]
25
25
  + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
@@ -19,7 +19,7 @@ class FteolAnos(ValoresSeriePatamar):
19
19
  HEADER_LINE = Line([IntegerField(4, 10)])
20
20
  DATA_LINE = Line(
21
21
  [ # type: ignore
22
- IntegerField(4, 1),
22
+ IntegerField(4, 2),
23
23
  LiteralField(5, 6),
24
24
  ]
25
25
  + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
@@ -18,7 +18,7 @@ class GEAnos(ValoresSeriePatamar):
18
18
  HEADER_LINE = Line([IntegerField(4, 10)])
19
19
  DATA_LINE = Line(
20
20
  [ # type: ignore
21
- IntegerField(4, 1),
21
+ IntegerField(4, 2),
22
22
  LiteralField(5, 6),
23
23
  ]
24
24
  + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
@@ -18,7 +18,7 @@ class GEAnos(ValoresSeriePatamar):
18
18
  HEADER_LINE = Line([IntegerField(4, 10)])
19
19
  DATA_LINE = Line(
20
20
  [ # type: ignore
21
- IntegerField(4, 1),
21
+ IntegerField(4, 2),
22
22
  LiteralField(5, 6),
23
23
  ]
24
24
  + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
@@ -18,7 +18,7 @@ class GEAnos(ValoresSeriePatamar):
18
18
  HEADER_LINE = Line([IntegerField(4, 10)])
19
19
  DATA_LINE = Line(
20
20
  [ # type: ignore
21
- IntegerField(4, 1),
21
+ IntegerField(4, 2),
22
22
  LiteralField(5, 6),
23
23
  ]
24
24
  + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
@@ -19,7 +19,7 @@ class GhidAnos(ValoresSeriePatamar):
19
19
  HEADER_LINE = Line([IntegerField(4, 10)])
20
20
  DATA_LINE = Line(
21
21
  [ # type: ignore
22
- IntegerField(4, 1),
22
+ IntegerField(4, 2),
23
23
  LiteralField(5, 6),
24
24
  ]
25
25
  + [FloatField(9, 14 + 9 * i, 2) for i in range(len(MESES_DF))] # type: ignore
@@ -19,7 +19,7 @@ class GHAnos(ValoresSeriePatamar):
19
19
  HEADER_LINE = Line([IntegerField(4, 10)])
20
20
  DATA_LINE = Line(
21
21
  [ # type: ignore
22
- IntegerField(4, 1),
22
+ IntegerField(4, 2),
23
23
  LiteralField(5, 6),
24
24
  ]
25
25
  + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
@@ -19,7 +19,7 @@ class GHAnos(ValoresSeriePatamar):
19
19
  HEADER_LINE = Line([IntegerField(4, 10)])
20
20
  DATA_LINE = Line(
21
21
  [ # type: ignore
22
- IntegerField(4, 1),
22
+ IntegerField(4, 2),
23
23
  LiteralField(5, 6),
24
24
  ]
25
25
  + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
@@ -19,7 +19,7 @@ class GHAnos(ValoresSeriePatamar):
19
19
  HEADER_LINE = Line([IntegerField(4, 10)])
20
20
  DATA_LINE = Line(
21
21
  [ # type: ignore
22
- IntegerField(4, 1),
22
+ IntegerField(4, 2),
23
23
  LiteralField(5, 6),
24
24
  ]
25
25
  + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
@@ -19,7 +19,7 @@ class GHAnos(ValoresSeriePatamar):
19
19
  HEADER_LINE = Line([IntegerField(4, 10)])
20
20
  DATA_LINE = Line(
21
21
  [ # type: ignore
22
- IntegerField(4, 1),
22
+ IntegerField(4, 2),
23
23
  LiteralField(5, 6),
24
24
  ]
25
25
  + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore