inewave 1.7.4__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 (373) 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/adterm.py +7 -0
  15. inewave/newave/modelos/agrint.py +2 -0
  16. inewave/newave/modelos/arquivos.py +2 -0
  17. inewave/newave/modelos/avl_cortesfpha_nwv.py +4 -0
  18. inewave/newave/modelos/avl_desvfpha_s.py +2 -0
  19. inewave/newave/modelos/avl_desvfpha_v_q.py +2 -0
  20. inewave/newave/modelos/blocos/tabelacsv.py +2 -0
  21. inewave/newave/modelos/blocos/versaomodelo.py +4 -0
  22. inewave/newave/modelos/cadic.py +2 -0
  23. inewave/newave/modelos/caso.py +4 -0
  24. inewave/newave/modelos/clast.py +2 -0
  25. inewave/newave/modelos/confhd.py +2 -0
  26. inewave/newave/modelos/conft.py +2 -0
  27. inewave/newave/modelos/cortes.py +14 -0
  28. inewave/newave/modelos/cortesh.py +20 -0
  29. inewave/newave/modelos/curva.py +2 -0
  30. inewave/newave/modelos/cvar.py +2 -0
  31. inewave/newave/modelos/dger.py +208 -0
  32. inewave/newave/modelos/dsvagua.py +2 -0
  33. inewave/newave/modelos/eafpast.py +2 -0
  34. inewave/newave/modelos/enavazb.py +2 -0
  35. inewave/newave/modelos/enavazf.py +2 -0
  36. inewave/newave/modelos/energiab.py +2 -0
  37. inewave/newave/modelos/energiaf.py +2 -0
  38. inewave/newave/modelos/energias.py +9 -0
  39. inewave/newave/modelos/engnat.py +2 -0
  40. inewave/newave/modelos/exph.py +2 -0
  41. inewave/newave/modelos/expt.py +2 -0
  42. inewave/newave/modelos/forward.py +27 -0
  43. inewave/newave/modelos/forwarh.py +2 -0
  44. inewave/newave/modelos/ghmin.py +2 -0
  45. inewave/newave/modelos/hidr.py +2 -0
  46. inewave/newave/modelos/manutt.py +2 -0
  47. inewave/newave/modelos/modif.py +32 -0
  48. inewave/newave/modelos/newavetim.py +2 -0
  49. inewave/newave/modelos/nwv_avl_evap.py +2 -0
  50. inewave/newave/modelos/nwv_cortes_evap.py +2 -0
  51. inewave/newave/modelos/nwv_eco_evap.py +2 -0
  52. inewave/newave/modelos/parp.py +45 -0
  53. inewave/newave/modelos/parpeol.py +23 -0
  54. inewave/newave/modelos/parpvaz.py +37 -0
  55. inewave/newave/modelos/patamar.py +28 -0
  56. inewave/newave/modelos/penalid.py +2 -0
  57. inewave/newave/modelos/pmo.py +103 -0
  58. inewave/newave/modelos/re.py +2 -0
  59. inewave/newave/modelos/ree.py +2 -0
  60. inewave/newave/modelos/selcor.py +5 -3
  61. inewave/newave/modelos/shist.py +10 -6
  62. inewave/newave/modelos/sistema.py +10 -0
  63. inewave/newave/modelos/term.py +2 -0
  64. inewave/newave/modelos/vazaob.py +2 -0
  65. inewave/newave/modelos/vazaof.py +2 -0
  66. inewave/newave/modelos/vazaos.py +2 -0
  67. inewave/newave/modelos/vazinat.py +2 -0
  68. inewave/newave/modelos/vazoes.py +2 -0
  69. inewave/newave/modelos/vazpast.py +2 -0
  70. inewave/newave/modelos/volref_saz.py +2 -0
  71. inewave/newave/modif.py +2 -0
  72. inewave/newave/nwv_avl_evap.py +10 -0
  73. inewave/newave/nwv_cortes_evap.py +10 -0
  74. inewave/newave/nwv_eco_evap.py +10 -0
  75. inewave/newave/pmo.py +17 -0
  76. inewave/newave/vazoes.py +2 -0
  77. inewave/nwlistcf/modelos/arquivos.py +2 -0
  78. inewave/nwlistcf/modelos/caso.py +2 -0
  79. inewave/nwlistcf/modelos/estados.py +10 -0
  80. inewave/nwlistcf/modelos/nwlistcfdat.py +2 -0
  81. inewave/nwlistcf/modelos/nwlistcfrel.py +2 -0
  82. inewave/nwlistop/__init__.py +65 -30
  83. inewave/nwlistop/c_v_rhq.py +10 -0
  84. inewave/nwlistop/c_v_rhq_s.py +10 -0
  85. inewave/nwlistop/c_v_rhv_s.py +10 -0
  86. inewave/nwlistop/celetricas.py +10 -0
  87. inewave/nwlistop/cviol_eletricasin.py +19 -0
  88. inewave/nwlistop/cviol_rhq.py +21 -0
  89. inewave/nwlistop/cviol_rhq_sin.py +19 -0
  90. inewave/nwlistop/cviol_rhv.py +21 -0
  91. inewave/nwlistop/cviol_rhv_sin.py +19 -0
  92. inewave/nwlistop/deletricas.py +10 -0
  93. inewave/nwlistop/depminuh.py +10 -0
  94. inewave/nwlistop/desvuh.py +10 -0
  95. inewave/nwlistop/dtbmax.py +10 -0
  96. inewave/nwlistop/dtbmin.py +10 -0
  97. inewave/nwlistop/dvazmax.py +10 -0
  98. inewave/nwlistop/modelos/arquivos/arquivoclassetermicasubmercadopatamar.py +2 -0
  99. inewave/nwlistop/modelos/arquivos/arquivoestacaobombeamentopatamar.py +2 -0
  100. inewave/nwlistop/modelos/arquivos/arquivoparsubmercadopatamar.py +2 -0
  101. inewave/nwlistop/modelos/arquivos/arquivoree.py +2 -0
  102. inewave/nwlistop/modelos/arquivos/arquivoreepatamar.py +2 -0
  103. inewave/nwlistop/modelos/arquivos/arquivorestricao.py +2 -0
  104. inewave/nwlistop/modelos/arquivos/arquivorestricaopatamar.py +2 -0
  105. inewave/nwlistop/modelos/arquivos/arquivosin.py +2 -0
  106. inewave/nwlistop/modelos/arquivos/arquivosinpatamar.py +2 -0
  107. inewave/nwlistop/modelos/arquivos/arquivosubmercado.py +2 -0
  108. inewave/nwlistop/modelos/arquivos/arquivosubmercadopatamar.py +2 -0
  109. inewave/nwlistop/modelos/arquivos/arquivousina.py +2 -0
  110. inewave/nwlistop/modelos/arquivos/arquivousinapatamar.py +2 -0
  111. inewave/nwlistop/modelos/blocos/estacaobombeamento.py +2 -0
  112. inewave/nwlistop/modelos/blocos/parsubmercados.py +2 -0
  113. inewave/nwlistop/modelos/blocos/ree.py +2 -0
  114. inewave/nwlistop/modelos/blocos/restricao.py +2 -0
  115. inewave/nwlistop/modelos/blocos/submercado.py +2 -0
  116. inewave/nwlistop/modelos/blocos/usina.py +2 -0
  117. inewave/nwlistop/modelos/blocos/valoresclassetermicaseriepatamar.py +8 -0
  118. inewave/nwlistop/modelos/blocos/valoresserie.py +2 -0
  119. inewave/nwlistop/modelos/blocos/valoresseriepatamar.py +2 -0
  120. inewave/nwlistop/modelos/c_v_rhq.py +2 -0
  121. inewave/nwlistop/modelos/c_v_rhq_s.py +2 -0
  122. inewave/nwlistop/modelos/c_v_rhv.py +2 -0
  123. inewave/nwlistop/modelos/c_v_rhv_s.py +2 -0
  124. inewave/nwlistop/modelos/cbomb.py +2 -0
  125. inewave/nwlistop/modelos/cbombsin.py +2 -0
  126. inewave/nwlistop/modelos/cdef.py +2 -0
  127. inewave/nwlistop/modelos/cdefsin.py +2 -0
  128. inewave/nwlistop/modelos/celetricas.py +2 -0
  129. inewave/nwlistop/modelos/cmarg.py +2 -0
  130. inewave/nwlistop/modelos/cmargmed.py +2 -0
  131. inewave/nwlistop/modelos/coper.py +2 -0
  132. inewave/nwlistop/modelos/corteolm.py +2 -0
  133. inewave/nwlistop/modelos/cterm.py +2 -0
  134. inewave/nwlistop/modelos/ctermsin.py +2 -0
  135. inewave/nwlistop/modelos/cviol_eletricasin.py +28 -0
  136. inewave/nwlistop/modelos/cviol_rhq.py +28 -0
  137. inewave/nwlistop/modelos/cviol_rhq_sin.py +28 -0
  138. inewave/nwlistop/modelos/cviol_rhv.py +26 -0
  139. inewave/nwlistop/modelos/cviol_rhv_sin.py +26 -0
  140. inewave/nwlistop/modelos/def.py +2 -0
  141. inewave/nwlistop/modelos/defsin.py +2 -0
  142. inewave/nwlistop/modelos/deletricas.py +2 -0
  143. inewave/nwlistop/modelos/depminuh.py +2 -0
  144. inewave/nwlistop/modelos/desvuh.py +2 -0
  145. inewave/nwlistop/modelos/dflppdfmaxm.py +2 -0
  146. inewave/nwlistop/modelos/dflpptbmaxm.py +2 -0
  147. inewave/nwlistop/modelos/dfphauh.py +2 -0
  148. inewave/nwlistop/modelos/dlppdfmax.py +2 -0
  149. inewave/nwlistop/modelos/dlppdfmaxs.py +2 -0
  150. inewave/nwlistop/modelos/dlpptbmax.py +2 -0
  151. inewave/nwlistop/modelos/dlpptbmaxs.py +2 -0
  152. inewave/nwlistop/modelos/dnegevap.py +2 -0
  153. inewave/nwlistop/modelos/dposevap.py +2 -0
  154. inewave/nwlistop/modelos/dtbmax.py +2 -0
  155. inewave/nwlistop/modelos/dtbmin.py +2 -0
  156. inewave/nwlistop/modelos/dvazmax.py +2 -0
  157. inewave/nwlistop/modelos/eaf.py +2 -0
  158. inewave/nwlistop/modelos/eafb.py +2 -0
  159. inewave/nwlistop/modelos/eafbm.py +2 -0
  160. inewave/nwlistop/modelos/eafbsin.py +2 -0
  161. inewave/nwlistop/modelos/eafm.py +2 -0
  162. inewave/nwlistop/modelos/earmf.py +2 -0
  163. inewave/nwlistop/modelos/earmfm.py +2 -0
  164. inewave/nwlistop/modelos/earmfp.py +2 -0
  165. inewave/nwlistop/modelos/earmfpm.py +2 -0
  166. inewave/nwlistop/modelos/earmfpsin.py +2 -0
  167. inewave/nwlistop/modelos/earmfsin.py +2 -0
  168. inewave/nwlistop/modelos/edesvc.py +2 -0
  169. inewave/nwlistop/modelos/edesvcm.py +2 -0
  170. inewave/nwlistop/modelos/edesvcsin.py +2 -0
  171. inewave/nwlistop/modelos/evapo.py +2 -0
  172. inewave/nwlistop/modelos/evapom.py +2 -0
  173. inewave/nwlistop/modelos/evaporsin.py +2 -0
  174. inewave/nwlistop/modelos/evert.py +2 -0
  175. inewave/nwlistop/modelos/evertm.py +2 -0
  176. inewave/nwlistop/modelos/evertsin.py +2 -0
  177. inewave/nwlistop/modelos/exces.py +2 -0
  178. inewave/nwlistop/modelos/excessin.py +2 -0
  179. inewave/nwlistop/modelos/form_rhq.py +2 -0
  180. inewave/nwlistop/modelos/form_rhv.py +2 -0
  181. inewave/nwlistop/modelos/fteolm.py +2 -0
  182. inewave/nwlistop/modelos/fteolsin.py +2 -0
  183. inewave/nwlistop/modelos/geol.py +2 -0
  184. inewave/nwlistop/modelos/geolm.py +2 -0
  185. inewave/nwlistop/modelos/geolsin.py +2 -0
  186. inewave/nwlistop/modelos/gh_fphexat.py +2 -0
  187. inewave/nwlistop/modelos/ghidr.py +2 -0
  188. inewave/nwlistop/modelos/ghidrm.py +2 -0
  189. inewave/nwlistop/modelos/ghidrsin.py +2 -0
  190. inewave/nwlistop/modelos/ghiduh.py +2 -0
  191. inewave/nwlistop/modelos/ghmax.py +2 -0
  192. inewave/nwlistop/modelos/ghmax_fpha.py +2 -0
  193. inewave/nwlistop/modelos/ghmax_fphc.py +2 -0
  194. inewave/nwlistop/modelos/ghmaxm.py +2 -0
  195. inewave/nwlistop/modelos/ghmaxmr.py +2 -0
  196. inewave/nwlistop/modelos/ghmaxr.py +2 -0
  197. inewave/nwlistop/modelos/ghmaxrsin.py +2 -0
  198. inewave/nwlistop/modelos/ghmaxsin.py +2 -0
  199. inewave/nwlistop/modelos/ghtot.py +2 -0
  200. inewave/nwlistop/modelos/ghtotm.py +2 -0
  201. inewave/nwlistop/modelos/ghtotsin.py +2 -0
  202. inewave/nwlistop/modelos/gtert.py +2 -0
  203. inewave/nwlistop/modelos/gttot.py +2 -0
  204. inewave/nwlistop/modelos/gttotsin.py +2 -0
  205. inewave/nwlistop/modelos/hjus.py +2 -0
  206. inewave/nwlistop/modelos/hliq.py +2 -0
  207. inewave/nwlistop/modelos/hmont.py +2 -0
  208. inewave/nwlistop/modelos/intercambio.py +2 -0
  209. inewave/nwlistop/modelos/invade.py +2 -0
  210. inewave/nwlistop/modelos/invadem.py +2 -0
  211. inewave/nwlistop/modelos/mediasmerc.py +2 -0
  212. inewave/nwlistop/modelos/mediasree.py +2 -0
  213. inewave/nwlistop/modelos/mediasrep.py +2 -0
  214. inewave/nwlistop/modelos/mediasrhq.py +2 -0
  215. inewave/nwlistop/modelos/mediasrhv.py +2 -0
  216. inewave/nwlistop/modelos/mediassin.py +2 -0
  217. inewave/nwlistop/modelos/mediasusie.py +2 -0
  218. inewave/nwlistop/modelos/mediasusih.py +2 -0
  219. inewave/nwlistop/modelos/mediasusit.py +2 -0
  220. inewave/nwlistop/modelos/mercl.py +2 -0
  221. inewave/nwlistop/modelos/merclsin.py +2 -0
  222. inewave/nwlistop/modelos/mevmin.py +2 -0
  223. inewave/nwlistop/modelos/mevminm.py +2 -0
  224. inewave/nwlistop/modelos/mevminsin.py +2 -0
  225. inewave/nwlistop/modelos/nwlistopdat.py +11 -0
  226. inewave/nwlistop/modelos/perdf.py +2 -0
  227. inewave/nwlistop/modelos/perdfm.py +2 -0
  228. inewave/nwlistop/modelos/perdfsin.py +2 -0
  229. inewave/nwlistop/modelos/pivarm.py +22 -0
  230. inewave/nwlistop/modelos/pivarmincr.py +22 -0
  231. inewave/nwlistop/modelos/qafluh.py +2 -0
  232. inewave/nwlistop/modelos/qbomb.py +28 -0
  233. inewave/nwlistop/modelos/qdesviouh.py +28 -0
  234. inewave/nwlistop/modelos/qincruh.py +2 -0
  235. inewave/nwlistop/modelos/qturuh.py +28 -0
  236. inewave/nwlistop/modelos/qvertuh.py +28 -0
  237. inewave/nwlistop/modelos/rhslppdf.py +2 -0
  238. inewave/nwlistop/modelos/rhslpptb.py +2 -0
  239. inewave/nwlistop/modelos/vagua.py +2 -0
  240. inewave/nwlistop/modelos/valor_agua.py +24 -0
  241. inewave/nwlistop/modelos/varmpuh.py +2 -0
  242. inewave/nwlistop/modelos/varmuh.py +2 -0
  243. inewave/nwlistop/modelos/vbomb.py +2 -0
  244. inewave/nwlistop/modelos/vdesviouh.py +2 -0
  245. inewave/nwlistop/modelos/vento.py +2 -0
  246. inewave/nwlistop/modelos/vertuh.py +2 -0
  247. inewave/nwlistop/modelos/verturb.py +2 -0
  248. inewave/nwlistop/modelos/verturbm.py +2 -0
  249. inewave/nwlistop/modelos/verturbsin.py +2 -0
  250. inewave/nwlistop/modelos/vevapuh.py +2 -0
  251. inewave/nwlistop/modelos/vevmin.py +2 -0
  252. inewave/nwlistop/modelos/vevminm.py +2 -0
  253. inewave/nwlistop/modelos/vevminsin.py +2 -0
  254. inewave/nwlistop/modelos/vghmin.py +2 -0
  255. inewave/nwlistop/modelos/vghminm.py +2 -0
  256. inewave/nwlistop/modelos/vghminsin.py +2 -0
  257. inewave/nwlistop/modelos/vghminuh.py +2 -0
  258. inewave/nwlistop/modelos/viol_eletricasin.py +28 -0
  259. inewave/nwlistop/modelos/viol_evmin.py +23 -0
  260. inewave/nwlistop/modelos/viol_evminm.py +23 -0
  261. inewave/nwlistop/modelos/viol_evminsin.py +23 -0
  262. inewave/nwlistop/modelos/viol_fpha.py +31 -0
  263. inewave/nwlistop/modelos/viol_ghmin.py +29 -0
  264. inewave/nwlistop/modelos/viol_ghminm.py +29 -0
  265. inewave/nwlistop/modelos/viol_ghminsin.py +29 -0
  266. inewave/nwlistop/modelos/viol_ghminuh.py +28 -0
  267. inewave/nwlistop/modelos/viol_lpp_dfmax.py +29 -0
  268. inewave/nwlistop/modelos/viol_lpp_dfmaxm.py +29 -0
  269. inewave/nwlistop/modelos/viol_lpp_dfmaxsin.py +29 -0
  270. inewave/nwlistop/modelos/viol_lpp_tbmax.py +29 -0
  271. inewave/nwlistop/modelos/viol_lpp_tbmaxm.py +29 -0
  272. inewave/nwlistop/modelos/viol_lpp_tbmaxsin.py +29 -0
  273. inewave/nwlistop/modelos/viol_neg_evap.py +26 -0
  274. inewave/nwlistop/modelos/viol_pos_evap.py +26 -0
  275. inewave/nwlistop/modelos/viol_rhq.py +2 -0
  276. inewave/nwlistop/modelos/viol_rhv.py +2 -0
  277. inewave/nwlistop/modelos/viol_turbmax.py +28 -0
  278. inewave/nwlistop/modelos/viol_turbmin.py +28 -0
  279. inewave/nwlistop/modelos/viol_vazmax.py +28 -0
  280. inewave/nwlistop/modelos/viol_vazmin.py +28 -0
  281. inewave/nwlistop/modelos/vmort.py +2 -0
  282. inewave/nwlistop/modelos/vmortm.py +2 -0
  283. inewave/nwlistop/modelos/vmortsin.py +2 -0
  284. inewave/nwlistop/modelos/vretiradauh.py +26 -0
  285. inewave/nwlistop/modelos/vturuh.py +2 -0
  286. inewave/nwlistop/pivarm.py +13 -2
  287. inewave/nwlistop/pivarmincr.py +13 -2
  288. inewave/nwlistop/qbomb.py +23 -0
  289. inewave/nwlistop/qdesviouh.py +21 -0
  290. inewave/nwlistop/qturuh.py +21 -0
  291. inewave/nwlistop/qvertuh.py +21 -0
  292. inewave/nwlistop/vagua.py +10 -0
  293. inewave/nwlistop/valor_agua.py +21 -0
  294. inewave/nwlistop/vertuh.py +10 -0
  295. inewave/nwlistop/vevmin.py +10 -0
  296. inewave/nwlistop/vevminm.py +10 -0
  297. inewave/nwlistop/vevminsin.py +10 -0
  298. inewave/nwlistop/vghmin.py +10 -0
  299. inewave/nwlistop/vghminm.py +10 -0
  300. inewave/nwlistop/vghminsin.py +10 -0
  301. inewave/nwlistop/viol_eletricasin.py +19 -0
  302. inewave/nwlistop/viol_evmin.py +20 -0
  303. inewave/nwlistop/viol_evminm.py +22 -0
  304. inewave/nwlistop/viol_evminsin.py +19 -0
  305. inewave/nwlistop/viol_fpha.py +22 -0
  306. inewave/nwlistop/viol_ghmin.py +22 -0
  307. inewave/nwlistop/viol_ghminm.py +22 -0
  308. inewave/nwlistop/viol_ghminsin.py +19 -0
  309. inewave/nwlistop/viol_ghminuh.py +22 -0
  310. inewave/nwlistop/viol_lpp_dfmax.py +22 -0
  311. inewave/nwlistop/viol_lpp_dfmaxm.py +22 -0
  312. inewave/nwlistop/viol_lpp_dfmaxsin.py +18 -0
  313. inewave/nwlistop/viol_lpp_tbmax.py +22 -0
  314. inewave/nwlistop/viol_lpp_tbmaxm.py +22 -0
  315. inewave/nwlistop/viol_lpp_tbmaxsin.py +18 -0
  316. inewave/nwlistop/viol_neg_evap.py +22 -0
  317. inewave/nwlistop/viol_pos_evap.py +22 -0
  318. inewave/nwlistop/viol_turbmax.py +22 -0
  319. inewave/nwlistop/viol_turbmin.py +22 -0
  320. inewave/nwlistop/viol_vazmax.py +22 -0
  321. inewave/nwlistop/viol_vazmin.py +22 -0
  322. inewave/nwlistop/vretiradauh.py +21 -0
  323. inewave/nwlistop/vturuh.py +10 -0
  324. {inewave-1.7.4.dist-info → inewave-1.8.0.dist-info}/METADATA +2 -2
  325. {inewave-1.7.4.dist-info → inewave-1.8.0.dist-info}/RECORD +373 -264
  326. tests/libs/test_restricoes.py +0 -3
  327. tests/libs/test_usinas_hidreletricas.py +0 -2
  328. tests/mocks/arquivos/pivarm.py +22 -0
  329. tests/mocks/arquivos/pivarmincr.py +22 -0
  330. tests/mocks/arquivos/pmo.py +6 -1
  331. tests/mocks/arquivos/viol_fpha.py +29 -0
  332. tests/newave/test_dger.py +0 -2
  333. tests/newave/test_evap_avl_desv.py +40 -0
  334. tests/newave/test_evap_cortes.py +41 -0
  335. tests/newave/test_evap_eco.py +41 -0
  336. tests/newave/test_fpha_avl_desv_s.py +39 -0
  337. tests/newave/test_fpha_avl_desv_v_q.py +38 -0
  338. tests/newave/test_fpha_cortes.py +48 -0
  339. tests/newave/test_fpha_eco.py +47 -0
  340. tests/newave/test_pmo.py +14 -0
  341. tests/nwlistop/test_cviol_eletricasin.py +37 -0
  342. tests/nwlistop/test_cviol_rhq_sin.py +37 -0
  343. tests/nwlistop/test_cviol_rhv_sin.py +37 -0
  344. tests/nwlistop/test_qbomb.py +40 -0
  345. tests/nwlistop/test_qdesviouh.py +40 -0
  346. tests/nwlistop/test_qturuh.py +40 -0
  347. tests/nwlistop/test_qvertuh.py +40 -0
  348. tests/nwlistop/test_valor_agua.py +40 -0
  349. tests/nwlistop/test_viol_eletricasin.py +37 -0
  350. tests/nwlistop/test_viol_evmin.py +40 -0
  351. tests/nwlistop/test_viol_evminm.py +40 -0
  352. tests/nwlistop/test_viol_evminsin.py +37 -0
  353. tests/nwlistop/test_viol_fpha.py +40 -0
  354. tests/nwlistop/test_viol_ghmin.py +40 -0
  355. tests/nwlistop/test_viol_ghminm.py +40 -0
  356. tests/nwlistop/test_viol_ghminsin.py +37 -0
  357. tests/nwlistop/test_viol_ghminuh.py +40 -0
  358. tests/nwlistop/test_viol_lpp_dfmax.py +40 -0
  359. tests/nwlistop/test_viol_lpp_dfmaxm.py +40 -0
  360. tests/nwlistop/test_viol_lpp_dfmaxsin.py +37 -0
  361. tests/nwlistop/test_viol_lpp_tbmax.py +40 -0
  362. tests/nwlistop/test_viol_lpp_tbmaxm.py +40 -0
  363. tests/nwlistop/test_viol_lpp_tbmaxsin.py +37 -0
  364. tests/nwlistop/test_viol_neg_evap.py +41 -0
  365. tests/nwlistop/test_viol_pos_evap.py +40 -0
  366. tests/nwlistop/test_viol_turbmax.py +40 -0
  367. tests/nwlistop/test_viol_turbmin.py +40 -0
  368. tests/nwlistop/test_viol_vazmax.py +40 -0
  369. tests/nwlistop/test_viol_vazmin.py +40 -0
  370. tests/nwlistop/test_vretiradauh.py +40 -0
  371. {inewave-1.7.4.dist-info → inewave-1.8.0.dist-info}/LICENSE.md +0 -0
  372. {inewave-1.7.4.dist-info → inewave-1.8.0.dist-info}/WHEEL +0 -0
  373. {inewave-1.7.4.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 QBombAnos(ValoresSeriePatamar):
14
+ """
15
+ Bloco com as informações das tabelas de vazão bombeada
16
+ por estação de bombeamento 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,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
+ )
@@ -15,6 +15,8 @@ class QincrAnos(ValoresSerie):
15
15
  usina por mês/ano de estudo.
16
16
  """
17
17
 
18
+ __slots__ = []
19
+
18
20
  HEADER_LINE = Line([IntegerField(4, 10)])
19
21
  DATA_LINE = Line(
20
22
  [ # type: ignore
@@ -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
+ )
@@ -17,6 +17,8 @@ class RHSLPPdfAnos(ValoresSeriePatamar):
17
17
  de defluência máxima.
18
18
  """
19
19
 
20
+ __slots__ = []
21
+
20
22
  HEADER_LINE = Line([IntegerField(4, 10)])
21
23
  DATA_LINE = Line(
22
24
  [ # type: ignore
@@ -17,6 +17,8 @@ class RHSLPPtbAnos(ValoresSeriePatamar):
17
17
  de turbinamento máximo.
18
18
  """
19
19
 
20
+ __slots__ = []
21
+
20
22
  HEADER_LINE = Line([IntegerField(4, 10)])
21
23
  DATA_LINE = Line(
22
24
  [ # type: ignore
@@ -13,6 +13,8 @@ class VAAnos(ValoresSerie):
13
13
  REE por mês/ano de estudo.
14
14
  """
15
15
 
16
+ __slots__ = []
17
+
16
18
  HEADER_LINE = Line([IntegerField(4, 10)])
17
19
  DATA_LINE = Line(
18
20
  [ # 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 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
+ )
@@ -15,6 +15,8 @@ class VarmAnos(ValoresSerie):
15
15
  usina por mês/ano de estudo.
16
16
  """
17
17
 
18
+ __slots__ = []
19
+
18
20
  HEADER_LINE = Line([IntegerField(4, 10)])
19
21
  DATA_LINE = Line(
20
22
  [ # type: ignore
@@ -15,6 +15,8 @@ class VarmAnos(ValoresSerie):
15
15
  usina por mês/ano de estudo.
16
16
  """
17
17
 
18
+ __slots__ = []
19
+
18
20
  HEADER_LINE = Line([IntegerField(4, 10)])
19
21
  DATA_LINE = Line(
20
22
  [ # type: ignore
@@ -16,6 +16,8 @@ class VBombAnos(ValoresSeriePatamar):
16
16
  por estação de bombeamento por mês/ano de estudo.
17
17
  """
18
18
 
19
+ __slots__ = []
20
+
19
21
  HEADER_LINE = Line([IntegerField(4, 10)])
20
22
  DATA_LINE = Line(
21
23
  [ # type: ignore
@@ -16,6 +16,8 @@ class VdesviouhAnos(ValoresSeriePatamar):
16
16
  da usina por mês/ano de estudo.
17
17
  """
18
18
 
19
+ __slots__ = []
20
+
19
21
  HEADER_LINE = Line([IntegerField(4, 10)])
20
22
  DATA_LINE = Line(
21
23
  [ # type: ignore
@@ -15,6 +15,8 @@ class VentoAnos(ValoresSerie):
15
15
  usina por mês/ano de estudo.
16
16
  """
17
17
 
18
+ __slots__ = []
19
+
18
20
  HEADER_LINE = Line([IntegerField(4, 10)])
19
21
  DATA_LINE = Line(
20
22
  [ # type: ignore
@@ -16,6 +16,8 @@ class VertAnos(ValoresSeriePatamar):
16
16
  usina por mês/ano de estudo.
17
17
  """
18
18
 
19
+ __slots__ = []
20
+
19
21
  HEADER_LINE = Line([IntegerField(4, 10)])
20
22
  DATA_LINE = Line(
21
23
  [ # type: ignore
@@ -14,6 +14,8 @@ class VertAnos(ValoresSerie):
14
14
  por série e por mês/ano de estudo.
15
15
  """
16
16
 
17
+ __slots__ = []
18
+
17
19
  HEADER_LINE = Line([IntegerField(4, 10)])
18
20
  DATA_LINE = Line(
19
21
  [ # type: ignore
@@ -14,6 +14,8 @@ class VertAnos(ValoresSerie):
14
14
  por série e por mês/ano de estudo.
15
15
  """
16
16
 
17
+ __slots__ = []
18
+
17
19
  HEADER_LINE = Line([IntegerField(4, 10)])
18
20
  DATA_LINE = Line(
19
21
  [ # type: ignore
@@ -14,6 +14,8 @@ class VertAnos(ValoresSerie):
14
14
  por série e por mês/ano de estudo.
15
15
  """
16
16
 
17
+ __slots__ = []
18
+
17
19
  HEADER_LINE = Line([IntegerField(4, 10)])
18
20
  DATA_LINE = Line(
19
21
  [ # type: ignore
@@ -15,6 +15,8 @@ class VevapuhAnos(ValoresSerie):
15
15
  da usina por mês/ano de estudo.
16
16
  """
17
17
 
18
+ __slots__ = []
19
+
18
20
  HEADER_LINE = Line([IntegerField(4, 10)])
19
21
  DATA_LINE = Line(
20
22
  [ # type: ignore
@@ -12,6 +12,8 @@ class VevminAnos(ValoresSerie):
12
12
  de energia de vazão mínima em MWmes.
13
13
  """
14
14
 
15
+ __slots__ = []
16
+
15
17
  HEADER_LINE = Line([IntegerField(4, 10)])
16
18
  DATA_LINE = Line(
17
19
  [ # type: ignore
@@ -12,6 +12,8 @@ class VevminAnos(ValoresSerie):
12
12
  de energia de vazão mínima em MWmes.
13
13
  """
14
14
 
15
+ __slots__ = []
16
+
15
17
  HEADER_LINE = Line([IntegerField(4, 10)])
16
18
  DATA_LINE = Line(
17
19
  [ # type: ignore
@@ -12,6 +12,8 @@ class VevminAnos(ValoresSerie):
12
12
  de energia de vazão mínima em MWmes.
13
13
  """
14
14
 
15
+ __slots__ = []
16
+
15
17
  HEADER_LINE = Line([IntegerField(4, 10)])
16
18
  DATA_LINE = Line(
17
19
  [ # type: ignore
@@ -17,6 +17,8 @@ class VghminAnos(ValoresSeriePatamar):
17
17
  geração hidráulica mínima.
18
18
  """
19
19
 
20
+ __slots__ = []
21
+
20
22
  HEADER_LINE = Line([IntegerField(4, 10)])
21
23
  DATA_LINE = Line(
22
24
  [ # type: ignore
@@ -17,6 +17,8 @@ class VghminAnos(ValoresSeriePatamar):
17
17
  geração hidráulica mínima.
18
18
  """
19
19
 
20
+ __slots__ = []
21
+
20
22
  HEADER_LINE = Line([IntegerField(4, 10)])
21
23
  DATA_LINE = Line(
22
24
  [ # type: ignore
@@ -17,6 +17,8 @@ class VghminAnos(ValoresSeriePatamar):
17
17
  geração hidráulica mínima.
18
18
  """
19
19
 
20
+ __slots__ = []
21
+
20
22
  HEADER_LINE = Line([IntegerField(4, 10)])
21
23
  DATA_LINE = Line(
22
24
  [ # type: ignore
@@ -16,6 +16,8 @@ class VGhminuhAnos(ValoresSeriePatamar):
16
16
  geração hidráulica mínima por usina por mês/ano de estudo.
17
17
  """
18
18
 
19
+ __slots__ = []
20
+
19
21
  HEADER_LINE = Line([IntegerField(4, 10)])
20
22
  DATA_LINE = Line(
21
23
  [ # type: ignore
@@ -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
+ )