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.
- inewave/__init__.py +1 -1
- inewave/_utils/formatacao.py +105 -97
- inewave/nwlistop/__init__.py +5 -0
- inewave/nwlistop/desvuh.py +21 -0
- inewave/nwlistop/hjus.py +21 -0
- inewave/nwlistop/hliq.py +21 -0
- inewave/nwlistop/hmont.py +21 -0
- inewave/nwlistop/modelos/cmarg.py +1 -1
- inewave/nwlistop/modelos/corteolm.py +1 -1
- inewave/nwlistop/modelos/def.py +1 -1
- inewave/nwlistop/modelos/defsin.py +1 -1
- inewave/nwlistop/modelos/depminuh.py +1 -1
- inewave/nwlistop/modelos/desvuh.py +24 -0
- inewave/nwlistop/modelos/dflppdfmaxm.py +1 -1
- inewave/nwlistop/modelos/dflpptbmaxm.py +1 -1
- inewave/nwlistop/modelos/dfphauh.py +1 -1
- inewave/nwlistop/modelos/dlppdfmax.py +1 -1
- inewave/nwlistop/modelos/dlppdfmaxs.py +1 -1
- inewave/nwlistop/modelos/dlpptbmax.py +1 -1
- inewave/nwlistop/modelos/dlpptbmaxs.py +1 -1
- inewave/nwlistop/modelos/dtbmax.py +1 -1
- inewave/nwlistop/modelos/dtbmin.py +1 -1
- inewave/nwlistop/modelos/dvazmax.py +1 -1
- inewave/nwlistop/modelos/exces.py +1 -1
- inewave/nwlistop/modelos/excessin.py +1 -1
- inewave/nwlistop/modelos/fteolm.py +1 -1
- inewave/nwlistop/modelos/fteolsin.py +1 -1
- inewave/nwlistop/modelos/geol.py +1 -1
- inewave/nwlistop/modelos/geolm.py +1 -1
- inewave/nwlistop/modelos/geolsin.py +1 -1
- inewave/nwlistop/modelos/ghiduh.py +1 -1
- inewave/nwlistop/modelos/ghmax.py +1 -1
- inewave/nwlistop/modelos/ghmaxm.py +1 -1
- inewave/nwlistop/modelos/ghmaxmr.py +1 -1
- inewave/nwlistop/modelos/ghmaxr.py +1 -1
- inewave/nwlistop/modelos/ghmaxrsin.py +1 -1
- inewave/nwlistop/modelos/ghmaxsin.py +1 -1
- inewave/nwlistop/modelos/ghtot.py +1 -1
- inewave/nwlistop/modelos/ghtotm.py +1 -1
- inewave/nwlistop/modelos/ghtotsin.py +1 -1
- inewave/nwlistop/modelos/gttot.py +1 -1
- inewave/nwlistop/modelos/gttotsin.py +1 -1
- inewave/nwlistop/modelos/hjus.py +26 -0
- inewave/nwlistop/modelos/hliq.py +26 -0
- inewave/nwlistop/modelos/hmont.py +24 -0
- inewave/nwlistop/modelos/rhslppdf.py +1 -1
- inewave/nwlistop/modelos/rhslpptb.py +1 -1
- inewave/nwlistop/modelos/vdesviouh.py +26 -0
- inewave/nwlistop/modelos/vertuh.py +1 -1
- inewave/nwlistop/modelos/vghmin.py +1 -1
- inewave/nwlistop/modelos/vghminm.py +1 -1
- inewave/nwlistop/modelos/vghminsin.py +1 -1
- inewave/nwlistop/modelos/vghminuh.py +1 -1
- inewave/nwlistop/modelos/vturuh.py +1 -1
- inewave/nwlistop/vdesviouh.py +21 -0
- {inewave-1.2.1.dist-info → inewave-1.3.0.dist-info}/METADATA +1 -1
- {inewave-1.2.1.dist-info → inewave-1.3.0.dist-info}/RECORD +72 -52
- tests/mocks/arquivos/desvuh.py +2014 -0
- tests/mocks/arquivos/gtert.py +66 -0
- tests/mocks/arquivos/hjus.py +6008 -0
- tests/mocks/arquivos/hliq.py +6008 -0
- tests/mocks/arquivos/hmont.py +2014 -0
- tests/mocks/arquivos/vdesviouh.py +6014 -0
- tests/nwlistop/test_desvuh.py +40 -0
- tests/nwlistop/test_gtert.py +1 -1
- tests/nwlistop/test_hjus.py +40 -0
- tests/nwlistop/test_hliq.py +40 -0
- tests/nwlistop/test_hmont.py +40 -0
- tests/nwlistop/test_vdesviouh.py +40 -0
- {inewave-1.2.1.dist-info → inewave-1.3.0.dist-info}/LICENSE.md +0 -0
- {inewave-1.2.1.dist-info → inewave-1.3.0.dist-info}/WHEEL +0 -0
- {inewave-1.2.1.dist-info → inewave-1.3.0.dist-info}/top_level.txt +0 -0
inewave/__init__.py
CHANGED
inewave/_utils/formatacao.py
CHANGED
|
@@ -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
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
-
|
|
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
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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
|
-
|
|
55
|
-
|
|
56
|
-
(df["ano"] == a)
|
|
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
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
)
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
94
|
-
|
|
95
|
-
|
|
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
|
-
).
|
|
100
|
-
|
|
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
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
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
|
|
inewave/nwlistop/__init__.py
CHANGED
|
@@ -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
|
+
]
|
inewave/nwlistop/hjus.py
ADDED
|
@@ -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
|
+
]
|
inewave/nwlistop/hliq.py
ADDED
|
@@ -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,
|
|
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,
|
|
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
|
inewave/nwlistop/modelos/def.py
CHANGED
|
@@ -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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
inewave/nwlistop/modelos/geol.py
CHANGED
|
@@ -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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|