inewave 1.7.5__py3-none-any.whl → 1.8.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 (155) hide show
  1. inewave/__init__.py +1 -1
  2. inewave/newave/__init__.py +16 -7
  3. inewave/newave/avl_cortesfpha_nwv.py +10 -0
  4. inewave/newave/avl_desvfpha_s.py +7 -0
  5. inewave/newave/avl_desvfpha_v_q.py +7 -0
  6. inewave/newave/eco_fpha.py +10 -0
  7. inewave/newave/evap_avl_desv.py +33 -0
  8. inewave/newave/evap_cortes.py +34 -0
  9. inewave/newave/evap_eco.py +34 -0
  10. inewave/newave/fpha_avl_desv_s.py +59 -0
  11. inewave/newave/fpha_avl_desv_v_q.py +58 -0
  12. inewave/newave/fpha_cortes.py +40 -0
  13. inewave/newave/fpha_eco.py +41 -0
  14. inewave/newave/modelos/pmo.py +40 -0
  15. inewave/newave/nwv_avl_evap.py +10 -0
  16. inewave/newave/nwv_cortes_evap.py +10 -0
  17. inewave/newave/nwv_eco_evap.py +10 -0
  18. inewave/newave/pmo.py +17 -0
  19. inewave/nwlistop/__init__.py +65 -30
  20. inewave/nwlistop/c_v_rhq.py +10 -0
  21. inewave/nwlistop/c_v_rhq_s.py +10 -0
  22. inewave/nwlistop/c_v_rhv_s.py +10 -0
  23. inewave/nwlistop/celetricas.py +10 -0
  24. inewave/nwlistop/cviol_eletricasin.py +19 -0
  25. inewave/nwlistop/cviol_rhq.py +21 -0
  26. inewave/nwlistop/cviol_rhq_sin.py +19 -0
  27. inewave/nwlistop/cviol_rhv.py +21 -0
  28. inewave/nwlistop/cviol_rhv_sin.py +19 -0
  29. inewave/nwlistop/deletricas.py +10 -0
  30. inewave/nwlistop/depminuh.py +10 -0
  31. inewave/nwlistop/desvuh.py +10 -0
  32. inewave/nwlistop/dtbmax.py +10 -0
  33. inewave/nwlistop/dtbmin.py +10 -0
  34. inewave/nwlistop/dvazmax.py +10 -0
  35. inewave/nwlistop/modelos/cviol_eletricasin.py +28 -0
  36. inewave/nwlistop/modelos/cviol_rhq.py +28 -0
  37. inewave/nwlistop/modelos/cviol_rhq_sin.py +28 -0
  38. inewave/nwlistop/modelos/cviol_rhv.py +26 -0
  39. inewave/nwlistop/modelos/cviol_rhv_sin.py +26 -0
  40. inewave/nwlistop/modelos/pivarm.py +20 -0
  41. inewave/nwlistop/modelos/pivarmincr.py +20 -0
  42. inewave/nwlistop/modelos/qbomb.py +28 -0
  43. inewave/nwlistop/modelos/qdesviouh.py +28 -0
  44. inewave/nwlistop/modelos/qturuh.py +28 -0
  45. inewave/nwlistop/modelos/qvertuh.py +28 -0
  46. inewave/nwlistop/modelos/valor_agua.py +24 -0
  47. inewave/nwlistop/modelos/viol_eletricasin.py +28 -0
  48. inewave/nwlistop/modelos/viol_evmin.py +23 -0
  49. inewave/nwlistop/modelos/viol_evminm.py +23 -0
  50. inewave/nwlistop/modelos/viol_evminsin.py +23 -0
  51. inewave/nwlistop/modelos/viol_fpha.py +31 -0
  52. inewave/nwlistop/modelos/viol_ghmin.py +29 -0
  53. inewave/nwlistop/modelos/viol_ghminm.py +29 -0
  54. inewave/nwlistop/modelos/viol_ghminsin.py +29 -0
  55. inewave/nwlistop/modelos/viol_ghminuh.py +28 -0
  56. inewave/nwlistop/modelos/viol_lpp_dfmax.py +29 -0
  57. inewave/nwlistop/modelos/viol_lpp_dfmaxm.py +29 -0
  58. inewave/nwlistop/modelos/viol_lpp_dfmaxsin.py +29 -0
  59. inewave/nwlistop/modelos/viol_lpp_tbmax.py +29 -0
  60. inewave/nwlistop/modelos/viol_lpp_tbmaxm.py +29 -0
  61. inewave/nwlistop/modelos/viol_lpp_tbmaxsin.py +29 -0
  62. inewave/nwlistop/modelos/viol_neg_evap.py +26 -0
  63. inewave/nwlistop/modelos/viol_pos_evap.py +26 -0
  64. inewave/nwlistop/modelos/viol_turbmax.py +28 -0
  65. inewave/nwlistop/modelos/viol_turbmin.py +28 -0
  66. inewave/nwlistop/modelos/viol_vazmax.py +28 -0
  67. inewave/nwlistop/modelos/viol_vazmin.py +28 -0
  68. inewave/nwlistop/modelos/vretiradauh.py +26 -0
  69. inewave/nwlistop/pivarm.py +13 -2
  70. inewave/nwlistop/pivarmincr.py +13 -2
  71. inewave/nwlistop/qbomb.py +23 -0
  72. inewave/nwlistop/qdesviouh.py +21 -0
  73. inewave/nwlistop/qturuh.py +21 -0
  74. inewave/nwlistop/qvertuh.py +21 -0
  75. inewave/nwlistop/vagua.py +10 -0
  76. inewave/nwlistop/valor_agua.py +21 -0
  77. inewave/nwlistop/vertuh.py +10 -0
  78. inewave/nwlistop/vevmin.py +10 -0
  79. inewave/nwlistop/vevminm.py +10 -0
  80. inewave/nwlistop/vevminsin.py +10 -0
  81. inewave/nwlistop/vghmin.py +10 -0
  82. inewave/nwlistop/vghminm.py +10 -0
  83. inewave/nwlistop/vghminsin.py +10 -0
  84. inewave/nwlistop/viol_eletricasin.py +19 -0
  85. inewave/nwlistop/viol_evmin.py +20 -0
  86. inewave/nwlistop/viol_evminm.py +22 -0
  87. inewave/nwlistop/viol_evminsin.py +19 -0
  88. inewave/nwlistop/viol_fpha.py +22 -0
  89. inewave/nwlistop/viol_ghmin.py +22 -0
  90. inewave/nwlistop/viol_ghminm.py +22 -0
  91. inewave/nwlistop/viol_ghminsin.py +19 -0
  92. inewave/nwlistop/viol_ghminuh.py +22 -0
  93. inewave/nwlistop/viol_lpp_dfmax.py +22 -0
  94. inewave/nwlistop/viol_lpp_dfmaxm.py +22 -0
  95. inewave/nwlistop/viol_lpp_dfmaxsin.py +18 -0
  96. inewave/nwlistop/viol_lpp_tbmax.py +22 -0
  97. inewave/nwlistop/viol_lpp_tbmaxm.py +22 -0
  98. inewave/nwlistop/viol_lpp_tbmaxsin.py +18 -0
  99. inewave/nwlistop/viol_neg_evap.py +22 -0
  100. inewave/nwlistop/viol_pos_evap.py +22 -0
  101. inewave/nwlistop/viol_turbmax.py +22 -0
  102. inewave/nwlistop/viol_turbmin.py +22 -0
  103. inewave/nwlistop/viol_vazmax.py +22 -0
  104. inewave/nwlistop/viol_vazmin.py +22 -0
  105. inewave/nwlistop/vretiradauh.py +21 -0
  106. inewave/nwlistop/vturuh.py +10 -0
  107. {inewave-1.7.5.dist-info → inewave-1.8.0.dist-info}/METADATA +1 -1
  108. {inewave-1.7.5.dist-info → inewave-1.8.0.dist-info}/RECORD +155 -46
  109. tests/libs/test_restricoes.py +0 -3
  110. tests/libs/test_usinas_hidreletricas.py +0 -2
  111. tests/mocks/arquivos/pivarm.py +22 -0
  112. tests/mocks/arquivos/pivarmincr.py +22 -0
  113. tests/mocks/arquivos/pmo.py +6 -1
  114. tests/mocks/arquivos/viol_fpha.py +29 -0
  115. tests/newave/test_evap_avl_desv.py +40 -0
  116. tests/newave/test_evap_cortes.py +41 -0
  117. tests/newave/test_evap_eco.py +41 -0
  118. tests/newave/test_fpha_avl_desv_s.py +39 -0
  119. tests/newave/test_fpha_avl_desv_v_q.py +38 -0
  120. tests/newave/test_fpha_cortes.py +48 -0
  121. tests/newave/test_fpha_eco.py +47 -0
  122. tests/newave/test_pmo.py +14 -0
  123. tests/nwlistop/test_cviol_eletricasin.py +37 -0
  124. tests/nwlistop/test_cviol_rhq_sin.py +37 -0
  125. tests/nwlistop/test_cviol_rhv_sin.py +37 -0
  126. tests/nwlistop/test_qbomb.py +40 -0
  127. tests/nwlistop/test_qdesviouh.py +40 -0
  128. tests/nwlistop/test_qturuh.py +40 -0
  129. tests/nwlistop/test_qvertuh.py +40 -0
  130. tests/nwlistop/test_valor_agua.py +40 -0
  131. tests/nwlistop/test_viol_eletricasin.py +37 -0
  132. tests/nwlistop/test_viol_evmin.py +40 -0
  133. tests/nwlistop/test_viol_evminm.py +40 -0
  134. tests/nwlistop/test_viol_evminsin.py +37 -0
  135. tests/nwlistop/test_viol_fpha.py +40 -0
  136. tests/nwlistop/test_viol_ghmin.py +40 -0
  137. tests/nwlistop/test_viol_ghminm.py +40 -0
  138. tests/nwlistop/test_viol_ghminsin.py +37 -0
  139. tests/nwlistop/test_viol_ghminuh.py +40 -0
  140. tests/nwlistop/test_viol_lpp_dfmax.py +40 -0
  141. tests/nwlistop/test_viol_lpp_dfmaxm.py +40 -0
  142. tests/nwlistop/test_viol_lpp_dfmaxsin.py +37 -0
  143. tests/nwlistop/test_viol_lpp_tbmax.py +40 -0
  144. tests/nwlistop/test_viol_lpp_tbmaxm.py +40 -0
  145. tests/nwlistop/test_viol_lpp_tbmaxsin.py +37 -0
  146. tests/nwlistop/test_viol_neg_evap.py +41 -0
  147. tests/nwlistop/test_viol_pos_evap.py +40 -0
  148. tests/nwlistop/test_viol_turbmax.py +40 -0
  149. tests/nwlistop/test_viol_turbmin.py +40 -0
  150. tests/nwlistop/test_viol_vazmax.py +40 -0
  151. tests/nwlistop/test_viol_vazmin.py +40 -0
  152. tests/nwlistop/test_vretiradauh.py +40 -0
  153. {inewave-1.7.5.dist-info → inewave-1.8.0.dist-info}/LICENSE.md +0 -0
  154. {inewave-1.7.5.dist-info → inewave-1.8.0.dist-info}/WHEEL +0 -0
  155. {inewave-1.7.5.dist-info → inewave-1.8.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,28 @@
1
+ from inewave.config import MESES_DF
2
+
3
+ from cfinterface.components.line import Line
4
+ from cfinterface.components.literalfield import LiteralField
5
+ from cfinterface.components.integerfield import IntegerField
6
+ from cfinterface.components.floatfield import FloatField
7
+
8
+ from inewave.nwlistop.modelos.blocos.valoresseriepatamar import (
9
+ ValoresSeriePatamar,
10
+ )
11
+
12
+
13
+ class QdesviouhAnos(ValoresSeriePatamar):
14
+ """
15
+ Bloco com as informações das tabelas de volume desviado de água
16
+ da usina por mês/ano de estudo.
17
+ """
18
+
19
+ __slots__ = []
20
+
21
+ HEADER_LINE = Line([IntegerField(4, 10)])
22
+ DATA_LINE = Line(
23
+ [ # type: ignore
24
+ IntegerField(4, 2),
25
+ LiteralField(5, 6),
26
+ ]
27
+ + [FloatField(9, 14 + 9 * i, 2) for i in range(len(MESES_DF))] # type: ignore
28
+ )
@@ -0,0 +1,28 @@
1
+ from inewave.config import MESES_DF
2
+
3
+ from cfinterface.components.line import Line
4
+ from cfinterface.components.literalfield import LiteralField
5
+ from cfinterface.components.integerfield import IntegerField
6
+ from cfinterface.components.floatfield import FloatField
7
+
8
+ from inewave.nwlistop.modelos.blocos.valoresseriepatamar import (
9
+ ValoresSeriePatamar,
10
+ )
11
+
12
+
13
+ class QturAnos(ValoresSeriePatamar):
14
+ """
15
+ Bloco com as informações das tabelas de vazão turbinada por
16
+ usina por mês/ano de estudo.
17
+ """
18
+
19
+ __slots__ = []
20
+
21
+ HEADER_LINE = Line([IntegerField(4, 10)])
22
+ DATA_LINE = Line(
23
+ [ # type: ignore
24
+ IntegerField(4, 2),
25
+ LiteralField(5, 6),
26
+ ]
27
+ + [FloatField(9, 14 + 9 * i, 2) for i in range(len(MESES_DF))] # type: ignore
28
+ )
@@ -0,0 +1,28 @@
1
+ from inewave.config import MESES_DF
2
+
3
+ from cfinterface.components.line import Line
4
+ from cfinterface.components.literalfield import LiteralField
5
+ from cfinterface.components.integerfield import IntegerField
6
+ from cfinterface.components.floatfield import FloatField
7
+
8
+ from inewave.nwlistop.modelos.blocos.valoresseriepatamar import (
9
+ ValoresSeriePatamar,
10
+ )
11
+
12
+
13
+ class QvertuhAnos(ValoresSeriePatamar):
14
+ """
15
+ Bloco com as informações das tabelas de vazão vertida por
16
+ usina por mês/ano de estudo.
17
+ """
18
+
19
+ __slots__ = []
20
+
21
+ HEADER_LINE = Line([IntegerField(4, 10)])
22
+ DATA_LINE = Line(
23
+ [ # type: ignore
24
+ IntegerField(4, 2),
25
+ LiteralField(5, 6),
26
+ ]
27
+ + [FloatField(9, 14 + 9 * i, 2) for i in range(len(MESES_DF))] # type: ignore
28
+ )
@@ -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 ValoresSerie
8
+
9
+
10
+ class ValorAguaAnos(ValoresSerie):
11
+ """
12
+ Bloco com as informações das tabelas de valor da água por
13
+ REE por mês/ano de estudo.
14
+ """
15
+
16
+ __slots__ = []
17
+
18
+ HEADER_LINE = Line([IntegerField(4, 10)])
19
+ DATA_LINE = Line(
20
+ [ # type: ignore
21
+ IntegerField(4, 2),
22
+ ]
23
+ + [FloatField(8, 9 + 9 * i, 2) for i in range(len(MESES_DF))] # type: ignore
24
+ )
@@ -0,0 +1,28 @@
1
+ from inewave.config import MESES_DF
2
+
3
+ from cfinterface.components.line import Line
4
+ from cfinterface.components.literalfield import LiteralField
5
+ from cfinterface.components.integerfield import IntegerField
6
+ from cfinterface.components.floatfield import FloatField
7
+
8
+ from inewave.nwlistop.modelos.blocos.valoresseriepatamar import (
9
+ ValoresSeriePatamar,
10
+ )
11
+
12
+
13
+ class ViolEeletricasinAnos(ValoresSeriePatamar):
14
+ """
15
+ Bloco com as informações das tabelas de violação das
16
+ restrições elétricas para o SIN por mês/ano de estudo.
17
+ """
18
+
19
+ __slots__ = []
20
+
21
+ HEADER_LINE = Line([IntegerField(4, 10)])
22
+ DATA_LINE = Line(
23
+ [ # type: ignore
24
+ IntegerField(4, 2),
25
+ LiteralField(5, 6),
26
+ ]
27
+ + [FloatField(9, 11 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
28
+ )
@@ -0,0 +1,23 @@
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
+ from inewave.nwlistop.modelos.blocos.valoresserie import ValoresSerie
7
+
8
+
9
+ class ViolEvminAnos(ValoresSerie):
10
+ """
11
+ Bloco com as informações das tabelas de violação da meta
12
+ de energia de vazão mínima em MWmes.
13
+ """
14
+
15
+ __slots__ = []
16
+
17
+ HEADER_LINE = Line([IntegerField(4, 10)])
18
+ DATA_LINE = Line(
19
+ [ # type: ignore
20
+ IntegerField(4, 2),
21
+ ]
22
+ + [FloatField(9, 7 + 9 * i, 0) for i in range(len(MESES_DF))] # type: ignore
23
+ )
@@ -0,0 +1,23 @@
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
+ from inewave.nwlistop.modelos.blocos.valoresserie import ValoresSerie
7
+
8
+
9
+ class ViolEvminmAnos(ValoresSerie):
10
+ """
11
+ Bloco com as informações das tabelas de violação da meta
12
+ de energia de vazão mínima em MWmes.
13
+ """
14
+
15
+ __slots__ = []
16
+
17
+ HEADER_LINE = Line([IntegerField(4, 10)])
18
+ DATA_LINE = Line(
19
+ [ # type: ignore
20
+ IntegerField(4, 2),
21
+ ]
22
+ + [FloatField(9, 7 + 9 * i, 0) for i in range(len(MESES_DF))] # type: ignore
23
+ )
@@ -0,0 +1,23 @@
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
+ from inewave.nwlistop.modelos.blocos.valoresserie import ValoresSerie
7
+
8
+
9
+ class ViolEvminsinAnos(ValoresSerie):
10
+ """
11
+ Bloco com as informações das tabelas de violação da meta
12
+ de energia de vazão mínima em MWmes.
13
+ """
14
+
15
+ __slots__ = []
16
+
17
+ HEADER_LINE = Line([IntegerField(4, 10)])
18
+ DATA_LINE = Line(
19
+ [ # type: ignore
20
+ IntegerField(4, 2),
21
+ ]
22
+ + [FloatField(9, 7 + 9 * i, 0) for i in range(len(MESES_DF))] # type: ignore
23
+ )
@@ -0,0 +1,31 @@
1
+ from inewave.config import MESES_DF
2
+
3
+ from cfinterface.components.line import Line
4
+ from cfinterface.components.literalfield import LiteralField
5
+ from cfinterface.components.integerfield import IntegerField
6
+ from cfinterface.components.floatfield import FloatField
7
+
8
+ from inewave.nwlistop.modelos.blocos.valoresseriepatamar import (
9
+ ValoresSeriePatamar,
10
+ )
11
+
12
+
13
+ class ViolFphaAnos(ValoresSeriePatamar):
14
+ """
15
+ Bloco com as informações das tabelas de corte de geração eólica
16
+ da usina por mês/ano de estudo.
17
+ """
18
+
19
+ __slots__ = []
20
+
21
+ HEADER_LINE = Line([IntegerField(4, 10)])
22
+ DATA_LINE = Line(
23
+ [ # type: ignore
24
+ IntegerField(4, 2),
25
+ LiteralField(5, 6),
26
+ ]
27
+ + [
28
+ FloatField(13, 16 + 15 * i, 7, format="E")
29
+ for i in range(len(MESES_DF))
30
+ ] # type: ignore
31
+ )
@@ -0,0 +1,29 @@
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.literalfield import LiteralField
6
+ from cfinterface.components.floatfield import FloatField
7
+
8
+
9
+ from inewave.nwlistop.modelos.blocos.valoresseriepatamar import (
10
+ ValoresSeriePatamar,
11
+ )
12
+
13
+
14
+ class ViolGhminAnos(ValoresSeriePatamar):
15
+ """
16
+ Bloco com as informações das tabelas de violação da meta de
17
+ geração hidráulica mínima.
18
+ """
19
+
20
+ __slots__ = []
21
+
22
+ HEADER_LINE = Line([IntegerField(4, 10)])
23
+ DATA_LINE = Line(
24
+ [ # type: ignore
25
+ IntegerField(4, 2),
26
+ LiteralField(5, 6),
27
+ ]
28
+ + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
29
+ )
@@ -0,0 +1,29 @@
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.literalfield import LiteralField
6
+ from cfinterface.components.floatfield import FloatField
7
+
8
+
9
+ from inewave.nwlistop.modelos.blocos.valoresseriepatamar import (
10
+ ValoresSeriePatamar,
11
+ )
12
+
13
+
14
+ class ViolGhminmAnos(ValoresSeriePatamar):
15
+ """
16
+ Bloco com as informações das tabelas de violação da meta de
17
+ geração hidráulica mínima.
18
+ """
19
+
20
+ __slots__ = []
21
+
22
+ HEADER_LINE = Line([IntegerField(4, 10)])
23
+ DATA_LINE = Line(
24
+ [ # type: ignore
25
+ IntegerField(4, 2),
26
+ LiteralField(5, 6),
27
+ ]
28
+ + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
29
+ )
@@ -0,0 +1,29 @@
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.literalfield import LiteralField
6
+ from cfinterface.components.floatfield import FloatField
7
+
8
+
9
+ from inewave.nwlistop.modelos.blocos.valoresseriepatamar import (
10
+ ValoresSeriePatamar,
11
+ )
12
+
13
+
14
+ class ViolGhminsinAnos(ValoresSeriePatamar):
15
+ """
16
+ Bloco com as informações das tabelas de violação da meta de
17
+ geração hidráulica mínima.
18
+ """
19
+
20
+ __slots__ = []
21
+
22
+ HEADER_LINE = Line([IntegerField(4, 10)])
23
+ DATA_LINE = Line(
24
+ [ # type: ignore
25
+ IntegerField(4, 2),
26
+ LiteralField(5, 6),
27
+ ]
28
+ + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
29
+ )
@@ -0,0 +1,28 @@
1
+ from inewave.config import MESES_DF
2
+
3
+ from cfinterface.components.line import Line
4
+ from cfinterface.components.literalfield import LiteralField
5
+ from cfinterface.components.integerfield import IntegerField
6
+ from cfinterface.components.floatfield import FloatField
7
+
8
+ from inewave.nwlistop.modelos.blocos.valoresseriepatamar import (
9
+ ValoresSeriePatamar,
10
+ )
11
+
12
+
13
+ class ViolGhminuhAnos(ValoresSeriePatamar):
14
+ """
15
+ Bloco com as informações das tabelas de violação da meta de
16
+ geração hidráulica mínima por usina por mês/ano de estudo.
17
+ """
18
+
19
+ __slots__ = []
20
+
21
+ HEADER_LINE = Line([IntegerField(4, 10)])
22
+ DATA_LINE = Line(
23
+ [ # type: ignore
24
+ IntegerField(4, 2),
25
+ LiteralField(5, 6),
26
+ ]
27
+ + [FloatField(9, 14 + 9 * i, 2) for i in range(len(MESES_DF))] # type: ignore
28
+ )
@@ -0,0 +1,29 @@
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.literalfield import LiteralField
6
+ from cfinterface.components.floatfield import FloatField
7
+
8
+
9
+ from inewave.nwlistop.modelos.blocos.valoresseriepatamar import (
10
+ ValoresSeriePatamar,
11
+ )
12
+
13
+
14
+ class ViolLppDfmaxAnos(ValoresSeriePatamar):
15
+ """
16
+ Bloco com as informações das tabelas de violação das restrições LPP
17
+ de defluência máxima.
18
+ """
19
+
20
+ __slots__ = []
21
+
22
+ HEADER_LINE = Line([IntegerField(4, 10)])
23
+ DATA_LINE = Line(
24
+ [ # type: ignore
25
+ IntegerField(4, 2),
26
+ LiteralField(5, 6),
27
+ ]
28
+ + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
29
+ )
@@ -0,0 +1,29 @@
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.literalfield import LiteralField
6
+ from cfinterface.components.floatfield import FloatField
7
+
8
+
9
+ from inewave.nwlistop.modelos.blocos.valoresseriepatamar import (
10
+ ValoresSeriePatamar,
11
+ )
12
+
13
+
14
+ class ViolLppDfmaxmAnos(ValoresSeriePatamar):
15
+ """
16
+ Bloco com as informações das tabelas de violação das restrições
17
+ LPP de defluência máxima por submercado.
18
+ """
19
+
20
+ __slots__ = []
21
+
22
+ HEADER_LINE = Line([IntegerField(4, 10)])
23
+ DATA_LINE = Line(
24
+ [ # type: ignore
25
+ IntegerField(4, 2),
26
+ LiteralField(5, 6),
27
+ ]
28
+ + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
29
+ )
@@ -0,0 +1,29 @@
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.literalfield import LiteralField
6
+ from cfinterface.components.floatfield import FloatField
7
+
8
+
9
+ from inewave.nwlistop.modelos.blocos.valoresseriepatamar import (
10
+ ValoresSeriePatamar,
11
+ )
12
+
13
+
14
+ class ViolLppDfmaxsinAnos(ValoresSeriePatamar):
15
+ """
16
+ Bloco com as informações das tabelas de violação das restrições LPP
17
+ de deflluência máxima.
18
+ """
19
+
20
+ __slots__ = []
21
+
22
+ HEADER_LINE = Line([IntegerField(4, 10)])
23
+ DATA_LINE = Line(
24
+ [ # type: ignore
25
+ IntegerField(4, 2),
26
+ LiteralField(5, 6),
27
+ ]
28
+ + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
29
+ )
@@ -0,0 +1,29 @@
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.literalfield import LiteralField
6
+ from cfinterface.components.floatfield import FloatField
7
+
8
+
9
+ from inewave.nwlistop.modelos.blocos.valoresseriepatamar import (
10
+ ValoresSeriePatamar,
11
+ )
12
+
13
+
14
+ class ViolLppTbmaxAnos(ValoresSeriePatamar):
15
+ """
16
+ Bloco com as informações das tabelas de violação das restrições LPP
17
+ de turbinamento máximo.
18
+ """
19
+
20
+ __slots__ = []
21
+
22
+ HEADER_LINE = Line([IntegerField(4, 10)])
23
+ DATA_LINE = Line(
24
+ [ # type: ignore
25
+ IntegerField(4, 2),
26
+ LiteralField(5, 6),
27
+ ]
28
+ + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
29
+ )
@@ -0,0 +1,29 @@
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.literalfield import LiteralField
6
+ from cfinterface.components.floatfield import FloatField
7
+
8
+
9
+ from inewave.nwlistop.modelos.blocos.valoresseriepatamar import (
10
+ ValoresSeriePatamar,
11
+ )
12
+
13
+
14
+ class ViolLppTbmaxmAnos(ValoresSeriePatamar):
15
+ """
16
+ Bloco com as informações das tabelas de violação das restrições
17
+ LPP de turbinamento máximo por submercado.
18
+ """
19
+
20
+ __slots__ = []
21
+
22
+ HEADER_LINE = Line([IntegerField(4, 10)])
23
+ DATA_LINE = Line(
24
+ [ # type: ignore
25
+ IntegerField(4, 2),
26
+ LiteralField(5, 6),
27
+ ]
28
+ + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
29
+ )
@@ -0,0 +1,29 @@
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.literalfield import LiteralField
6
+ from cfinterface.components.floatfield import FloatField
7
+
8
+
9
+ from inewave.nwlistop.modelos.blocos.valoresseriepatamar import (
10
+ ValoresSeriePatamar,
11
+ )
12
+
13
+
14
+ class ViolLppTbmaxsinAnos(ValoresSeriePatamar):
15
+ """
16
+ Bloco com as informações das tabelas de violação das restrições LPP
17
+ de turbinamento máximo.
18
+ """
19
+
20
+ __slots__ = []
21
+
22
+ HEADER_LINE = Line([IntegerField(4, 10)])
23
+ DATA_LINE = Line(
24
+ [ # type: ignore
25
+ IntegerField(4, 2),
26
+ LiteralField(5, 6),
27
+ ]
28
+ + [FloatField(8, 12 + 9 * i, 1) for i in range(len(MESES_DF))] # type: ignore
29
+ )
@@ -0,0 +1,26 @@
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 ViolNegEvapAnos(ValoresSerie):
13
+ """
14
+ Bloco com as informações das tabelas de desvio negativo
15
+ da evaporação por usina por mês/ano de estudo.
16
+ """
17
+
18
+ __slots__ = []
19
+
20
+ HEADER_LINE = Line([IntegerField(4, 10)])
21
+ DATA_LINE = Line(
22
+ [ # type: ignore
23
+ IntegerField(4, 2),
24
+ ]
25
+ + [FloatField(14, 15 + 15 * i, 7, format="E") for i in range(len(MESES_DF))] # type: ignore
26
+ )
@@ -0,0 +1,26 @@
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 ViolPosEvapAnos(ValoresSerie):
13
+ """
14
+ Bloco com as informações das tabelas de desvio positivo
15
+ da evaporação por usina por mês/ano de estudo.
16
+ """
17
+
18
+ __slots__ = []
19
+
20
+ HEADER_LINE = Line([IntegerField(4, 10)])
21
+ DATA_LINE = Line(
22
+ [ # type: ignore
23
+ IntegerField(4, 2),
24
+ ]
25
+ + [FloatField(14, 15 + 15 * i, 2, format="E") for i in range(len(MESES_DF))] # type: ignore
26
+ )
@@ -0,0 +1,28 @@
1
+ from inewave.config import MESES_DF
2
+
3
+ from cfinterface.components.line import Line
4
+ from cfinterface.components.literalfield import LiteralField
5
+ from cfinterface.components.integerfield import IntegerField
6
+ from cfinterface.components.floatfield import FloatField
7
+
8
+ from inewave.nwlistop.modelos.blocos.valoresseriepatamar import (
9
+ ValoresSeriePatamar,
10
+ )
11
+
12
+
13
+ class ViolTurbmaxAnos(ValoresSeriePatamar):
14
+ """
15
+ Bloco com as informações das tabelas de violação de turbinamento máximo
16
+ da usina por mês/ano de estudo.
17
+ """
18
+
19
+ __slots__ = []
20
+
21
+ HEADER_LINE = Line([IntegerField(4, 10)])
22
+ DATA_LINE = Line(
23
+ [ # type: ignore
24
+ IntegerField(4, 2),
25
+ LiteralField(5, 6),
26
+ ]
27
+ + [FloatField(9, 14 + 9 * i, 2) for i in range(len(MESES_DF))] # type: ignore
28
+ )
@@ -0,0 +1,28 @@
1
+ from inewave.config import MESES_DF
2
+
3
+ from cfinterface.components.line import Line
4
+ from cfinterface.components.literalfield import LiteralField
5
+ from cfinterface.components.integerfield import IntegerField
6
+ from cfinterface.components.floatfield import FloatField
7
+
8
+ from inewave.nwlistop.modelos.blocos.valoresseriepatamar import (
9
+ ValoresSeriePatamar,
10
+ )
11
+
12
+
13
+ class ViolTurbminAnos(ValoresSeriePatamar):
14
+ """
15
+ Bloco com as informações das tabelas de violação de turbinamento mínimo
16
+ da usina por mês/ano de estudo.
17
+ """
18
+
19
+ __slots__ = []
20
+
21
+ HEADER_LINE = Line([IntegerField(4, 10)])
22
+ DATA_LINE = Line(
23
+ [ # type: ignore
24
+ IntegerField(4, 2),
25
+ LiteralField(5, 6),
26
+ ]
27
+ + [FloatField(9, 14 + 9 * i, 2) for i in range(len(MESES_DF))] # type: ignore
28
+ )