openTEPES 4.18.4__py3-none-any.whl → 4.18.6__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 (75) hide show
  1. openTEPES/9n_PTDF/oT_Data_Demand_9n_PTDF.csv +8737 -0
  2. openTEPES/9n_PTDF/oT_Data_Duration_9n_PTDF.csv +8737 -0
  3. openTEPES/9n_PTDF/oT_Data_Emission_9n_PTDF.csv +2 -0
  4. openTEPES/9n_PTDF/oT_Data_EnergyInflows_9n_PTDF.csv +8737 -0
  5. openTEPES/9n_PTDF/oT_Data_EnergyOutflows_9n_PTDF.csv +8737 -0
  6. openTEPES/9n_PTDF/oT_Data_Generation_9n_PTDF.csv +17 -0
  7. openTEPES/9n_PTDF/oT_Data_Inertia_9n_PTDF.csv +8737 -0
  8. openTEPES/9n_PTDF/oT_Data_Network_9n_PTDF.csv +14 -0
  9. openTEPES/9n_PTDF/oT_Data_NodeLocation_9n_PTDF.csv +10 -0
  10. openTEPES/9n_PTDF/oT_Data_OperatingReserveDown_9n_PTDF.csv +8737 -0
  11. openTEPES/9n_PTDF/oT_Data_OperatingReserveUp_9n_PTDF.csv +8737 -0
  12. openTEPES/9n_PTDF/oT_Data_Option_9n_PTDF.csv +2 -0
  13. openTEPES/9n_PTDF/oT_Data_Parameter_9n_PTDF.csv +2 -0
  14. openTEPES/9n_PTDF/oT_Data_Period_9n_PTDF.csv +2 -0
  15. openTEPES/9n_PTDF/oT_Data_RESEnergy_9n_PTDF.csv +2 -0
  16. openTEPES/9n_PTDF/oT_Data_ReserveMargin_9n_PTDF.csv +2 -0
  17. openTEPES/9n_PTDF/oT_Data_Scenario_9n_PTDF.csv +2 -0
  18. openTEPES/9n_PTDF/oT_Data_Stage_9n_PTDF.csv +2 -0
  19. openTEPES/9n_PTDF/oT_Data_VariableEmissionCost_9n_PTDF.csv +8737 -0
  20. openTEPES/9n_PTDF/oT_Data_VariableFuelCost_9n_PTDF.csv +8737 -0
  21. openTEPES/9n_PTDF/oT_Data_VariableMaxConsumption_9n_PTDF.csv +8737 -0
  22. openTEPES/9n_PTDF/oT_Data_VariableMaxEnergy_9n_PTDF.csv +8737 -0
  23. openTEPES/9n_PTDF/oT_Data_VariableMaxGeneration_9n_PTDF.csv +8737 -0
  24. openTEPES/9n_PTDF/oT_Data_VariableMaxStorage_9n_PTDF.csv +8737 -0
  25. openTEPES/9n_PTDF/oT_Data_VariableMinConsumption_9n_PTDF.csv +8737 -0
  26. openTEPES/9n_PTDF/oT_Data_VariableMinEnergy_9n_PTDF.csv +8737 -0
  27. openTEPES/9n_PTDF/oT_Data_VariableMinGeneration_9n_PTDF.csv +8737 -0
  28. openTEPES/9n_PTDF/oT_Data_VariableMinStorage_9n_PTDF.csv +8737 -0
  29. openTEPES/9n_PTDF/oT_Data_VariablePTDF_9n_PTDF.csv +8740 -0
  30. openTEPES/9n_PTDF/oT_Data_VariableTTCBck_9n_PTDF.csv +8739 -0
  31. openTEPES/9n_PTDF/oT_Data_VariableTTCFrw_9n_PTDF.csv +8739 -0
  32. openTEPES/9n_PTDF/oT_Dict_AreaToRegion_9n_PTDF.csv +2 -0
  33. openTEPES/9n_PTDF/oT_Dict_Area_9n_PTDF.csv +2 -0
  34. openTEPES/9n_PTDF/oT_Dict_Circuit_9n_PTDF.csv +3 -0
  35. openTEPES/9n_PTDF/oT_Dict_Generation_9n_PTDF.csv +17 -0
  36. openTEPES/9n_PTDF/oT_Dict_Line_9n_PTDF.csv +3 -0
  37. openTEPES/9n_PTDF/oT_Dict_LoadLevel_9n_PTDF.csv +8737 -0
  38. openTEPES/9n_PTDF/oT_Dict_NodeToZone_9n_PTDF.csv +10 -0
  39. openTEPES/9n_PTDF/oT_Dict_Node_9n_PTDF.csv +10 -0
  40. openTEPES/9n_PTDF/oT_Dict_Period_9n_PTDF.csv +2 -0
  41. openTEPES/9n_PTDF/oT_Dict_Region_9n_PTDF.csv +31 -0
  42. openTEPES/9n_PTDF/oT_Dict_Scenario_9n_PTDF.csv +2 -0
  43. openTEPES/9n_PTDF/oT_Dict_Stage_9n_PTDF.csv +2 -0
  44. openTEPES/9n_PTDF/oT_Dict_Storage_9n_PTDF.csv +3 -0
  45. openTEPES/9n_PTDF/oT_Dict_Technology_9n_PTDF.csv +7 -0
  46. openTEPES/9n_PTDF/oT_Dict_ZoneToArea_9n_PTDF.csv +10 -0
  47. openTEPES/9n_PTDF/oT_Dict_Zone_9n_PTDF.csv +10 -0
  48. openTEPES/RTS-GMLC/oT_Data_VariableMinGeneration_RTS-GMLC.csv +1 -1
  49. openTEPES/RTS-GMLC_6y/oT_Data_VariableFuelCost_RTS-GMLC_6y.csv +1 -1
  50. openTEPES/RTS-GMLC_6y/oT_Dict_AreaToRegion_RTS-GMLC_6y.csv +4 -4
  51. openTEPES/RTS-GMLC_6y/oT_Dict_Area_RTS-GMLC_6y.csv +4 -4
  52. openTEPES/RTS-GMLC_6y/oT_Dict_Circuit_RTS-GMLC_6y.csv +5 -5
  53. openTEPES/RTS-GMLC_6y/oT_Dict_Line_RTS-GMLC_6y.csv +3 -3
  54. openTEPES/RTS-GMLC_6y/oT_Dict_NodeToZone_RTS-GMLC_6y.csv +74 -74
  55. openTEPES/RTS-GMLC_6y/oT_Dict_Region_RTS-GMLC_6y.csv +2 -2
  56. openTEPES/RTS-GMLC_6y/oT_Dict_Scenario_RTS-GMLC_6y.csv +2 -2
  57. openTEPES/RTS-GMLC_6y/oT_Dict_Storage_RTS-GMLC_6y.csv +3 -3
  58. openTEPES/RTS-GMLC_6y/oT_Dict_Technology_RTS-GMLC_6y.csv +10 -10
  59. openTEPES/RTS-GMLC_6y/oT_Dict_ZoneToArea_RTS-GMLC_6y.csv +22 -22
  60. openTEPES/RTS-GMLC_6y/oT_Dict_Zone_RTS-GMLC_6y.csv +22 -22
  61. openTEPES/__init__.py +1 -1
  62. openTEPES/openTEPES.py +26 -17
  63. openTEPES/openTEPES_InputData.py +1335 -1188
  64. openTEPES/openTEPES_Main.py +3 -3
  65. openTEPES/openTEPES_ModelFormulation.py +413 -156
  66. openTEPES/openTEPES_OutputResults.py +263 -206
  67. openTEPES/openTEPES_ProblemSolving.py +35 -28
  68. openTEPES/sSEP/oT_Data_DemandHydrogen_sSEP.csv +8736 -8736
  69. openTEPES/sSEP/oT_Data_Generation_sSEP.csv +1 -1
  70. openTEPES/sSEP/oT_Data_HydroOutflows_sSEP.csv +1 -1
  71. {opentepes-4.18.4.dist-info → opentepes-4.18.6.dist-info}/METADATA +65 -46
  72. {opentepes-4.18.4.dist-info → opentepes-4.18.6.dist-info}/RECORD +75 -28
  73. {opentepes-4.18.4.dist-info → opentepes-4.18.6.dist-info}/WHEEL +1 -1
  74. {opentepes-4.18.4.dist-info → opentepes-4.18.6.dist-info}/entry_points.txt +0 -0
  75. {opentepes-4.18.4.dist-info → opentepes-4.18.6.dist-info/licenses}/LICENSE +0 -0
@@ -0,0 +1,10 @@
1
+ Node,Zone
2
+ Node_1,Zone1
3
+ Node_2,Zone2
4
+ Node_3,Zone3
5
+ Node_4,Zone4
6
+ Node_5,Zone5
7
+ Node_6,Zone6
8
+ Node_7,Zone7
9
+ Node_8,Zone8
10
+ Node_9,Zone9
@@ -0,0 +1,10 @@
1
+ Node
2
+ Node_1
3
+ Node_2
4
+ Node_3
5
+ Node_4
6
+ Node_5
7
+ Node_6
8
+ Node_7
9
+ Node_8
10
+ Node_9
@@ -0,0 +1,2 @@
1
+ Period
2
+ 2030
@@ -0,0 +1,31 @@
1
+ Region
2
+ AT
3
+ BE
4
+ BG
5
+ CH
6
+ CY
7
+ CZ
8
+ DE
9
+ DK
10
+ EE
11
+ EL
12
+ ES
13
+ FI
14
+ FR
15
+ HR
16
+ HU
17
+ IE
18
+ IT
19
+ LT
20
+ LU
21
+ LV
22
+ MT
23
+ NL
24
+ NO
25
+ PL
26
+ PT
27
+ RO
28
+ SE
29
+ SI
30
+ SK
31
+ UK
@@ -0,0 +1,2 @@
1
+ Scenario
2
+ sc01
@@ -0,0 +1,2 @@
1
+ Stage
2
+ st1
@@ -0,0 +1,3 @@
1
+ StorageType
2
+ Daily
3
+ Weekly
@@ -0,0 +1,7 @@
1
+ Technology
2
+ Nuclear
3
+ Coal
4
+ Gas
5
+ Oil
6
+ RES
7
+ ESS
@@ -0,0 +1,10 @@
1
+ Zone,Area
2
+ Zone1,Area1
3
+ Zone2,Area1
4
+ Zone3,Area1
5
+ Zone4,Area1
6
+ Zone5,Area1
7
+ Zone6,Area1
8
+ Zone7,Area1
9
+ Zone8,Area1
10
+ Zone9,Area1
@@ -0,0 +1,10 @@
1
+ Zone
2
+ Zone1
3
+ Zone2
4
+ Zone3
5
+ Zone4
6
+ Zone5
7
+ Zone6
8
+ Zone7
9
+ Zone8
10
+ Zone9
@@ -1,4 +1,4 @@
1
- ,,,101_CT_1,101_CT_2,101_PV_1,101_PV_2,101_PV_3,101_PV_4,101_STEAM_3,101_STEAM_4,102_CT_1,102_CT_2,102_PV_1,102_PV_2,102_STEAM_3,102_STEAM_4,103_PV_1,104_PV_1,107_CC_1,113_CT_1,113_CT_2,113_CT_3,113_CT_4,113_PV_1,114_SYNC_COND_1,115_STEAM_1,115_STEAM_2,115_STEAM_3,116_STEAM_1,118_CC_1,118_RTPV_1,118_RTPV_10,118_RTPV_2,118_RTPV_3,118_RTPV_4,118_RTPV_5,118_RTPV_6,118_RTPV_7,118_RTPV_8,118_RTPV_9,119_PV_1,121_NUCLEAR_1,122_HYDRO_1,122_HYDRO_2,122_HYDRO_3,122_HYDRO_4,122_HYDRO_5,122_HYDRO_6,122_WIND_1,123_CT_1,123_CT_4,123_CT_5,123_STEAM_2,123_STEAM_3,201_CT_1,201_CT_2,201_HYDRO_4,201_STEAM_3,202_CT_1,202_CT_2,202_STEAM_3,202_STEAM_4,207_CT_1,207_CT_2,212_CSP_1,213_CC_3,213_CT_1,213_CT_2,213_RTPV_1,214_SYNC_COND_1,215_CT_4,215_CT_5,215_HYDRO_1,215_HYDRO_2,215_HYDRO_3,215_PV_1,216_STEAM_1,218_CC_1,221_CC_1,222_HYDRO_1,222_HYDRO_2,222_HYDRO_3,222_HYDRO_4,222_HYDRO_5,222_HYDRO_6,223_CT_4,223_CT_5,223_CT_6,223_STEAM_1,223_STEAM_2,223_STEAM_3,301_CT_1,301_CT_2,301_CT_3,301_CT_4,302_CT_1,302_CT_2,302_CT_3,302_CT_4,303_WIND_1,307_CT_1,307_CT_2,308_RTPV_1,309_WIND_1,310_PV_1,310_PV_2,312_PV_1,313_CC_1,313_PV_1,313_PV_2,313_RTPV_1,313_RTPV_10,313_RTPV_11,313_RTPV_12,313_RTPV_13,313_RTPV_2,313_RTPV_3,313_RTPV_4,313_RTPV_5,313_RTPV_6,313_RTPV_7,313_RTPV_8,313_RTPV_9,313_STORAGE_1,314_PV_1,314_PV_2,314_PV_3,314_PV_4,314_SYNC_COND_1,315_CT_6,315_CT_7,315_CT_8,315_STEAM_1,315_STEAM_2,315_STEAM_3,315_STEAM_4,315_STEAM_5,316_STEAM_1,317_WIND_1,318_CC_1,319_PV_1,320_PV_1,320_RTPV_1,320_RTPV_2,320_RTPV_3,320_RTPV_4,320_RTPV_5,320_RTPV_6,321_CC_1,322_CT_5,322_CT_6,322_HYDRO_1,322_HYDRO_2,322_HYDRO_3,322_HYDRO_4,323_CC_1,323_CC_2,324_PV_1,324_PV_2,324_PV_3
1
+ Period,Scenario,LoadLevel,101_CT_1,101_CT_2,101_PV_1,101_PV_2,101_PV_3,101_PV_4,101_STEAM_3,101_STEAM_4,102_CT_1,102_CT_2,102_PV_1,102_PV_2,102_STEAM_3,102_STEAM_4,103_PV_1,104_PV_1,107_CC_1,113_CT_1,113_CT_2,113_CT_3,113_CT_4,113_PV_1,114_SYNC_COND_1,115_STEAM_1,115_STEAM_2,115_STEAM_3,116_STEAM_1,118_CC_1,118_RTPV_1,118_RTPV_10,118_RTPV_2,118_RTPV_3,118_RTPV_4,118_RTPV_5,118_RTPV_6,118_RTPV_7,118_RTPV_8,118_RTPV_9,119_PV_1,121_NUCLEAR_1,122_HYDRO_1,122_HYDRO_2,122_HYDRO_3,122_HYDRO_4,122_HYDRO_5,122_HYDRO_6,122_WIND_1,123_CT_1,123_CT_4,123_CT_5,123_STEAM_2,123_STEAM_3,201_CT_1,201_CT_2,201_HYDRO_4,201_STEAM_3,202_CT_1,202_CT_2,202_STEAM_3,202_STEAM_4,207_CT_1,207_CT_2,212_CSP_1,213_CC_3,213_CT_1,213_CT_2,213_RTPV_1,214_SYNC_COND_1,215_CT_4,215_CT_5,215_HYDRO_1,215_HYDRO_2,215_HYDRO_3,215_PV_1,216_STEAM_1,218_CC_1,221_CC_1,222_HYDRO_1,222_HYDRO_2,222_HYDRO_3,222_HYDRO_4,222_HYDRO_5,222_HYDRO_6,223_CT_4,223_CT_5,223_CT_6,223_STEAM_1,223_STEAM_2,223_STEAM_3,301_CT_1,301_CT_2,301_CT_3,301_CT_4,302_CT_1,302_CT_2,302_CT_3,302_CT_4,303_WIND_1,307_CT_1,307_CT_2,308_RTPV_1,309_WIND_1,310_PV_1,310_PV_2,312_PV_1,313_CC_1,313_PV_1,313_PV_2,313_RTPV_1,313_RTPV_10,313_RTPV_11,313_RTPV_12,313_RTPV_13,313_RTPV_2,313_RTPV_3,313_RTPV_4,313_RTPV_5,313_RTPV_6,313_RTPV_7,313_RTPV_8,313_RTPV_9,313_STORAGE_1,314_PV_1,314_PV_2,314_PV_3,314_PV_4,314_SYNC_COND_1,315_CT_6,315_CT_7,315_CT_8,315_STEAM_1,315_STEAM_2,315_STEAM_3,315_STEAM_4,315_STEAM_5,316_STEAM_1,317_WIND_1,318_CC_1,319_PV_1,320_PV_1,320_RTPV_1,320_RTPV_2,320_RTPV_3,320_RTPV_4,320_RTPV_5,320_RTPV_6,321_CC_1,322_CT_5,322_CT_6,322_HYDRO_1,322_HYDRO_2,322_HYDRO_3,322_HYDRO_4,323_CC_1,323_CC_2,324_PV_1,324_PV_2,324_PV_3
2
2
  2020,sc01,01-01 00:00:00+01:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
3
3
  2020,sc01,01-01 01:00:00+01:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
4
4
  2020,sc01,01-01 02:00:00+01:00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@@ -1,4 +1,4 @@
1
- ,,,101_CT_1,101_CT_2,101_PV_1,101_PV_2,101_PV_3,101_PV_4,101_STEAM_3,101_STEAM_4,102_CT_1,102_CT_2,102_PV_1,102_PV_2,102_STEAM_3,102_STEAM_4,103_PV_1,104_PV_1,107_CC_1,113_CT_1,113_CT_2,113_CT_3,113_CT_4,113_PV_1,114_SYNC_COND_1,115_STEAM_1,115_STEAM_2,115_STEAM_3,116_STEAM_1,118_CC_1,118_RTPV_1,118_RTPV_10,118_RTPV_2,118_RTPV_3,118_RTPV_4,118_RTPV_5,118_RTPV_6,118_RTPV_7,118_RTPV_8,118_RTPV_9,119_PV_1,121_NUCLEAR_1,122_HYDRO_1,122_HYDRO_2,122_HYDRO_3,122_HYDRO_4,122_HYDRO_5,122_HYDRO_6,122_WIND_1,123_CT_1,123_CT_4,123_CT_5,123_STEAM_2,123_STEAM_3,201_CT_1,201_CT_2,201_HYDRO_4,201_STEAM_3,202_CT_1,202_CT_2,202_STEAM_3,202_STEAM_4,207_CT_1,207_CT_2,212_CSP_1,213_CC_3,213_CT_1,213_CT_2,213_RTPV_1,214_SYNC_COND_1,215_CT_4,215_CT_5,215_HYDRO_1,215_HYDRO_2,215_HYDRO_3,215_PV_1,216_STEAM_1,218_CC_1,221_CC_1,222_HYDRO_1,222_HYDRO_2,222_HYDRO_3,222_HYDRO_4,222_HYDRO_5,222_HYDRO_6,223_CT_4,223_CT_5,223_CT_6,223_STEAM_1,223_STEAM_2,223_STEAM_3,301_CT_1,301_CT_2,301_CT_3,301_CT_4,302_CT_1,302_CT_2,302_CT_3,302_CT_4,303_WIND_1,307_CT_1,307_CT_2,308_RTPV_1,309_WIND_1,310_PV_1,310_PV_2,312_PV_1,313_CC_1,313_PV_1,313_PV_2,313_RTPV_1,313_RTPV_10,313_RTPV_11,313_RTPV_12,313_RTPV_13,313_RTPV_2,313_RTPV_3,313_RTPV_4,313_RTPV_5,313_RTPV_6,313_RTPV_7,313_RTPV_8,313_RTPV_9,313_STORAGE_1,314_PV_1,314_PV_2,314_PV_3,314_PV_4,314_SYNC_COND_1,315_CT_6,315_CT_7,315_CT_8,315_STEAM_1,315_STEAM_2,315_STEAM_3,315_STEAM_4,315_STEAM_5,316_STEAM_1,317_WIND_1,318_CC_1,319_PV_1,320_PV_1,320_RTPV_1,320_RTPV_2,320_RTPV_3,320_RTPV_4,320_RTPV_5,320_RTPV_6,321_CC_1,322_CT_5,322_CT_6,322_HYDRO_1,322_HYDRO_2,322_HYDRO_3,322_HYDRO_4,323_CC_1,323_CC_2,324_PV_1,324_PV_2,324_PV_3,101_CT_1_NEW,102_CT_1_NEW,107_CT_1_NEW,113_CT_1_NEW,115_CT_1_NEW,116_CT_1_NEW,118_CT_1_NEW,123_CT_1_NEW,201_CT_1_NEW,202_CT_1_NEW,207_CT_1_NEW,213_CT_1_NEW,215_CT_1_NEW,216_CT_1_NEW,218_CT_1_NEW,221_CT_1_NEW,223_CT_1_NEW,301_CT_1_NEW,302_CT_1_NEW,307_CT_1_NEW,313_CT_1_NEW,315_CT_1_NEW,316_CT_1_NEW,318_CT_1_NEW,321_CT_1_NEW,322_CT_1_NEW,323_CT_1_NEW,114_CT_1_NEW,121_CT_1_NEW,122_CT_1_NEW,214_CT_1_NEW,222_CT_1_NEW,314_CT_1_NEW,320_CT_1_NEW,310_CT_1_NEW,324_CT_1_NEW,312_CT_1_NEW,319_CT_1_NEW,104_CT_1_NEW,212_CT_1_NEW,103_CT_1_NEW,119_CT_1_NEW,308_CT_1_NEW,309_CT_1_NEW,317_CT_1_NEW,303_CT_1_NEW,309_WIND_1_NEW,317_WIND_1_NEW,303_WIND_1_NEW,122_WIND_1_NEW
1
+ Period,Scenario,LoadLevel,101_CT_1,101_CT_2,101_PV_1,101_PV_2,101_PV_3,101_PV_4,101_STEAM_3,101_STEAM_4,102_CT_1,102_CT_2,102_PV_1,102_PV_2,102_STEAM_3,102_STEAM_4,103_PV_1,104_PV_1,107_CC_1,113_CT_1,113_CT_2,113_CT_3,113_CT_4,113_PV_1,114_SYNC_COND_1,115_STEAM_1,115_STEAM_2,115_STEAM_3,116_STEAM_1,118_CC_1,118_RTPV_1,118_RTPV_10,118_RTPV_2,118_RTPV_3,118_RTPV_4,118_RTPV_5,118_RTPV_6,118_RTPV_7,118_RTPV_8,118_RTPV_9,119_PV_1,121_NUCLEAR_1,122_HYDRO_1,122_HYDRO_2,122_HYDRO_3,122_HYDRO_4,122_HYDRO_5,122_HYDRO_6,122_WIND_1,123_CT_1,123_CT_4,123_CT_5,123_STEAM_2,123_STEAM_3,201_CT_1,201_CT_2,201_HYDRO_4,201_STEAM_3,202_CT_1,202_CT_2,202_STEAM_3,202_STEAM_4,207_CT_1,207_CT_2,212_CSP_1,213_CC_3,213_CT_1,213_CT_2,213_RTPV_1,214_SYNC_COND_1,215_CT_4,215_CT_5,215_HYDRO_1,215_HYDRO_2,215_HYDRO_3,215_PV_1,216_STEAM_1,218_CC_1,221_CC_1,222_HYDRO_1,222_HYDRO_2,222_HYDRO_3,222_HYDRO_4,222_HYDRO_5,222_HYDRO_6,223_CT_4,223_CT_5,223_CT_6,223_STEAM_1,223_STEAM_2,223_STEAM_3,301_CT_1,301_CT_2,301_CT_3,301_CT_4,302_CT_1,302_CT_2,302_CT_3,302_CT_4,303_WIND_1,307_CT_1,307_CT_2,308_RTPV_1,309_WIND_1,310_PV_1,310_PV_2,312_PV_1,313_CC_1,313_PV_1,313_PV_2,313_RTPV_1,313_RTPV_10,313_RTPV_11,313_RTPV_12,313_RTPV_13,313_RTPV_2,313_RTPV_3,313_RTPV_4,313_RTPV_5,313_RTPV_6,313_RTPV_7,313_RTPV_8,313_RTPV_9,313_STORAGE_1,314_PV_1,314_PV_2,314_PV_3,314_PV_4,314_SYNC_COND_1,315_CT_6,315_CT_7,315_CT_8,315_STEAM_1,315_STEAM_2,315_STEAM_3,315_STEAM_4,315_STEAM_5,316_STEAM_1,317_WIND_1,318_CC_1,319_PV_1,320_PV_1,320_RTPV_1,320_RTPV_2,320_RTPV_3,320_RTPV_4,320_RTPV_5,320_RTPV_6,321_CC_1,322_CT_5,322_CT_6,322_HYDRO_1,322_HYDRO_2,322_HYDRO_3,322_HYDRO_4,323_CC_1,323_CC_2,324_PV_1,324_PV_2,324_PV_3,101_CT_1_NEW,102_CT_1_NEW,107_CT_1_NEW,113_CT_1_NEW,115_CT_1_NEW,116_CT_1_NEW,118_CT_1_NEW,123_CT_1_NEW,201_CT_1_NEW,202_CT_1_NEW,207_CT_1_NEW,213_CT_1_NEW,215_CT_1_NEW,216_CT_1_NEW,218_CT_1_NEW,221_CT_1_NEW,223_CT_1_NEW,301_CT_1_NEW,302_CT_1_NEW,307_CT_1_NEW,313_CT_1_NEW,315_CT_1_NEW,316_CT_1_NEW,318_CT_1_NEW,321_CT_1_NEW,322_CT_1_NEW,323_CT_1_NEW,114_CT_1_NEW,121_CT_1_NEW,122_CT_1_NEW,214_CT_1_NEW,222_CT_1_NEW,314_CT_1_NEW,320_CT_1_NEW,310_CT_1_NEW,324_CT_1_NEW,312_CT_1_NEW,319_CT_1_NEW,104_CT_1_NEW,212_CT_1_NEW,103_CT_1_NEW,119_CT_1_NEW,308_CT_1_NEW,309_CT_1_NEW,317_CT_1_NEW,303_CT_1_NEW,309_WIND_1_NEW,317_WIND_1_NEW,303_WIND_1_NEW,122_WIND_1_NEW
2
2
  2020,sc01,01-01 00:00:00+01:00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3
3
  2020,sc01,01-01 01:00:00+01:00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4
4
  2020,sc01,01-01 02:00:00+01:00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
@@ -1,4 +1,4 @@
1
- Area,Region
2
- Area_1,Region_1
3
- Area_2,Region_1
4
- Area_3,Region_1
1
+ Area,Region
2
+ Area_1,Region_1
3
+ Area_2,Region_1
4
+ Area_3,Region_1
@@ -1,4 +1,4 @@
1
- Area
2
- Area_1
3
- Area_2
4
- Area_3
1
+ Area
2
+ Area_1
3
+ Area_2
4
+ Area_3
@@ -1,5 +1,5 @@
1
- Circuit
2
- eac1
3
- eac2
4
- eac3
5
- eac4
1
+ Circuit
2
+ eac1
3
+ eac2
4
+ eac3
5
+ eac4
@@ -1,3 +1,3 @@
1
- LineType
2
- AC
3
- DC
1
+ LineType
2
+ AC
3
+ DC
@@ -1,74 +1,74 @@
1
- Node,Zone
2
- Node_101,Zone_11
3
- Node_102,Zone_12
4
- Node_103,Zone_11
5
- Node_104,Zone_11
6
- Node_105,Zone_11
7
- Node_106,Zone_12
8
- Node_107,Zone_12
9
- Node_108,Zone_12
10
- Node_109,Zone_13
11
- Node_110,Zone_13
12
- Node_111,Zone_13
13
- Node_112,Zone_13
14
- Node_113,Zone_14
15
- Node_114,Zone_16
16
- Node_115,Zone_16
17
- Node_116,Zone_16
18
- Node_117,Zone_17
19
- Node_118,Zone_17
20
- Node_119,Zone_15
21
- Node_120,Zone_15
22
- Node_121,Zone_17
23
- Node_122,Zone_17
24
- Node_123,Zone_15
25
- Node_124,Zone_16
26
- Node_201,Zone_21
27
- Node_202,Zone_22
28
- Node_203,Zone_21
29
- Node_204,Zone_21
30
- Node_205,Zone_21
31
- Node_206,Zone_22
32
- Node_207,Zone_22
33
- Node_208,Zone_22
34
- Node_209,Zone_23
35
- Node_210,Zone_23
36
- Node_211,Zone_23
37
- Node_212,Zone_23
38
- Node_213,Zone_24
39
- Node_214,Zone_26
40
- Node_215,Zone_26
41
- Node_216,Zone_26
42
- Node_217,Zone_27
43
- Node_218,Zone_27
44
- Node_219,Zone_25
45
- Node_220,Zone_25
46
- Node_221,Zone_27
47
- Node_222,Zone_27
48
- Node_223,Zone_25
49
- Node_224,Zone_26
50
- Node_301,Zone_31
51
- Node_302,Zone_32
52
- Node_303,Zone_31
53
- Node_304,Zone_31
54
- Node_305,Zone_31
55
- Node_306,Zone_32
56
- Node_307,Zone_32
57
- Node_308,Zone_32
58
- Node_309,Zone_33
59
- Node_310,Zone_33
60
- Node_311,Zone_33
61
- Node_312,Zone_33
62
- Node_313,Zone_34
63
- Node_314,Zone_36
64
- Node_315,Zone_36
65
- Node_316,Zone_36
66
- Node_317,Zone_37
67
- Node_318,Zone_37
68
- Node_319,Zone_35
69
- Node_320,Zone_35
70
- Node_321,Zone_37
71
- Node_322,Zone_37
72
- Node_323,Zone_35
73
- Node_324,Zone_36
74
- Node_325,Zone_35
1
+ Node,Zone
2
+ Node_101,Zone_11
3
+ Node_102,Zone_12
4
+ Node_103,Zone_11
5
+ Node_104,Zone_11
6
+ Node_105,Zone_11
7
+ Node_106,Zone_12
8
+ Node_107,Zone_12
9
+ Node_108,Zone_12
10
+ Node_109,Zone_13
11
+ Node_110,Zone_13
12
+ Node_111,Zone_13
13
+ Node_112,Zone_13
14
+ Node_113,Zone_14
15
+ Node_114,Zone_16
16
+ Node_115,Zone_16
17
+ Node_116,Zone_16
18
+ Node_117,Zone_17
19
+ Node_118,Zone_17
20
+ Node_119,Zone_15
21
+ Node_120,Zone_15
22
+ Node_121,Zone_17
23
+ Node_122,Zone_17
24
+ Node_123,Zone_15
25
+ Node_124,Zone_16
26
+ Node_201,Zone_21
27
+ Node_202,Zone_22
28
+ Node_203,Zone_21
29
+ Node_204,Zone_21
30
+ Node_205,Zone_21
31
+ Node_206,Zone_22
32
+ Node_207,Zone_22
33
+ Node_208,Zone_22
34
+ Node_209,Zone_23
35
+ Node_210,Zone_23
36
+ Node_211,Zone_23
37
+ Node_212,Zone_23
38
+ Node_213,Zone_24
39
+ Node_214,Zone_26
40
+ Node_215,Zone_26
41
+ Node_216,Zone_26
42
+ Node_217,Zone_27
43
+ Node_218,Zone_27
44
+ Node_219,Zone_25
45
+ Node_220,Zone_25
46
+ Node_221,Zone_27
47
+ Node_222,Zone_27
48
+ Node_223,Zone_25
49
+ Node_224,Zone_26
50
+ Node_301,Zone_31
51
+ Node_302,Zone_32
52
+ Node_303,Zone_31
53
+ Node_304,Zone_31
54
+ Node_305,Zone_31
55
+ Node_306,Zone_32
56
+ Node_307,Zone_32
57
+ Node_308,Zone_32
58
+ Node_309,Zone_33
59
+ Node_310,Zone_33
60
+ Node_311,Zone_33
61
+ Node_312,Zone_33
62
+ Node_313,Zone_34
63
+ Node_314,Zone_36
64
+ Node_315,Zone_36
65
+ Node_316,Zone_36
66
+ Node_317,Zone_37
67
+ Node_318,Zone_37
68
+ Node_319,Zone_35
69
+ Node_320,Zone_35
70
+ Node_321,Zone_37
71
+ Node_322,Zone_37
72
+ Node_323,Zone_35
73
+ Node_324,Zone_36
74
+ Node_325,Zone_35
@@ -1,2 +1,2 @@
1
- Region
2
- Region_1
1
+ Region
2
+ Region_1
@@ -1,2 +1,2 @@
1
- Scenario
2
- sc01
1
+ Scenario
2
+ sc01
@@ -1,3 +1,3 @@
1
- StorageType
2
- Daily
3
- Weekly
1
+ StorageType
2
+ Daily
3
+ Weekly
@@ -1,10 +1,10 @@
1
- Technology
2
- Oil
3
- Coal
4
- NG
5
- Sync_Cond
6
- Nuclear
7
- Hydro
8
- Solar
9
- Wind
10
- Storage
1
+ Technology
2
+ Oil
3
+ Coal
4
+ NG
5
+ Sync_Cond
6
+ Nuclear
7
+ Hydro
8
+ Solar
9
+ Wind
10
+ Storage
@@ -1,22 +1,22 @@
1
- Zone,Area
2
- Zone_11,Area_1
3
- Zone_12,Area_1
4
- Zone_13,Area_1
5
- Zone_14,Area_1
6
- Zone_16,Area_1
7
- Zone_17,Area_1
8
- Zone_15,Area_1
9
- Zone_21,Area_2
10
- Zone_22,Area_2
11
- Zone_23,Area_2
12
- Zone_24,Area_2
13
- Zone_26,Area_2
14
- Zone_27,Area_2
15
- Zone_25,Area_2
16
- Zone_31,Area_3
17
- Zone_32,Area_3
18
- Zone_33,Area_3
19
- Zone_34,Area_3
20
- Zone_36,Area_3
21
- Zone_37,Area_3
22
- Zone_35,Area_3
1
+ Zone,Area
2
+ Zone_11,Area_1
3
+ Zone_12,Area_1
4
+ Zone_13,Area_1
5
+ Zone_14,Area_1
6
+ Zone_16,Area_1
7
+ Zone_17,Area_1
8
+ Zone_15,Area_1
9
+ Zone_21,Area_2
10
+ Zone_22,Area_2
11
+ Zone_23,Area_2
12
+ Zone_24,Area_2
13
+ Zone_26,Area_2
14
+ Zone_27,Area_2
15
+ Zone_25,Area_2
16
+ Zone_31,Area_3
17
+ Zone_32,Area_3
18
+ Zone_33,Area_3
19
+ Zone_34,Area_3
20
+ Zone_36,Area_3
21
+ Zone_37,Area_3
22
+ Zone_35,Area_3
@@ -1,22 +1,22 @@
1
- Zone
2
- Zone_11
3
- Zone_12
4
- Zone_13
5
- Zone_14
6
- Zone_16
7
- Zone_17
8
- Zone_15
9
- Zone_21
10
- Zone_22
11
- Zone_23
12
- Zone_24
13
- Zone_26
14
- Zone_27
15
- Zone_25
16
- Zone_31
17
- Zone_32
18
- Zone_33
19
- Zone_34
20
- Zone_36
21
- Zone_37
22
- Zone_35
1
+ Zone
2
+ Zone_11
3
+ Zone_12
4
+ Zone_13
5
+ Zone_14
6
+ Zone_16
7
+ Zone_17
8
+ Zone_15
9
+ Zone_21
10
+ Zone_22
11
+ Zone_23
12
+ Zone_24
13
+ Zone_26
14
+ Zone_27
15
+ Zone_25
16
+ Zone_31
17
+ Zone_32
18
+ Zone_33
19
+ Zone_34
20
+ Zone_36
21
+ Zone_37
22
+ Zone_35
openTEPES/__init__.py CHANGED
@@ -14,7 +14,7 @@ Open Generation, Storage, and Transmission Operation and Expansion Planning Mode
14
14
  >>> import openTEPES as oT
15
15
  >>> oT.routine("9n", "C:\\Users\\UserName\\Documents\\GitHub\\openTEPES", "glpk")
16
16
  """
17
- __version__ = "4.18.4"
17
+ __version__ = "4.18.6"
18
18
 
19
19
  from .openTEPES_Main import main
20
20
  from .openTEPES import *
openTEPES/openTEPES.py CHANGED
@@ -1,5 +1,5 @@
1
1
  """
2
- Open Generation, Storage, and Transmission Operation and Expansion Planning Model with RES and ESS (openTEPES) - April 03, 2025
2
+ Open Generation, Storage, and Transmission Operation and Expansion Planning Model with RES and ESS (openTEPES) - September 21, 2025
3
3
  """
4
4
 
5
5
  # import dill as pickle
@@ -11,7 +11,7 @@ import time
11
11
  import pyomo.environ as pyo
12
12
  from pyomo.environ import ConcreteModel, Set
13
13
 
14
- from .openTEPES_InputData import InputData, SettingUpVariables
14
+ from .openTEPES_InputData import InputData, DataConfiguration, SettingUpVariables
15
15
  from .openTEPES_ModelFormulation import TotalObjectiveFunction, InvestmentModelFormulation, GenerationOperationModelFormulationObjFunct, GenerationOperationModelFormulationInvestment, GenerationOperationModelFormulationDemand, GenerationOperationModelFormulationStorage, GenerationOperationModelFormulationReservoir, NetworkH2OperationModelFormulation, NetworkHeatOperationModelFormulation, GenerationOperationModelFormulationCommitment, GenerationOperationModelFormulationRampMinTime, NetworkSwitchingModelFormulation, NetworkOperationModelFormulation, NetworkCycles, CycleConstraints
16
16
  from .openTEPES_ProblemSolving import ProblemSolving
17
17
  from .openTEPES_OutputResults import OutputResultsParVarCon, InvestmentResults, GenerationOperationResults, GenerationOperationHeatResults, ESSOperationResults, ReservoirOperationResults, NetworkH2OperationResults, NetworkHeatOperationResults, FlexibilityResults, NetworkOperationResults, MarginalResults, OperationSummaryResults, ReliabilityResults, CostSummaryResults, EconomicResults, NetworkMapResults
@@ -39,8 +39,8 @@ def openTEPES_run(DirName, CaseName, SolverName, pIndOutputResults, pIndLogConso
39
39
  idxDict['y' ] = 1
40
40
 
41
41
  #%% model declaration
42
- mTEPES = ConcreteModel('Open Generation, Storage, and Transmission Operation and Expansion Planning Model with RES and ESS (openTEPES) - Version 4.18.4 - April 03, 2025')
43
- print( 'Open Generation, Storage, and Transmission Operation and Expansion Planning Model with RES and ESS (openTEPES) - Version 4.18.4 - April 03, 2025', file=open(f'{_path}/openTEPES_version_{CaseName}.log','w'))
42
+ mTEPES = ConcreteModel('Open Generation, Storage, and Transmission Operation and Expansion Planning Model with RES and ESS (openTEPES) - Version 4.18.6 - September 21, 2025')
43
+ print( 'Open Generation, Storage, and Transmission Operation and Expansion Planning Model with RES and ESS (openTEPES) - Version 4.18.6 - September 21, 2025', file=open(f'{_path}/openTEPES_version_{CaseName}.log','w'))
44
44
 
45
45
  pIndOutputResults = [j for i,j in idxDict.items() if i == pIndOutputResults][0]
46
46
  pIndLogConsole = [j for i,j in idxDict.items() if i == pIndLogConsole ][0]
@@ -48,9 +48,12 @@ def openTEPES_run(DirName, CaseName, SolverName, pIndOutputResults, pIndLogConso
48
48
  # introduce cycle flow formulations in DC and AC load flow
49
49
  pIndCycleFlow = 0
50
50
 
51
- # Define sets and parameters
51
+ # Reading sets and parameters
52
52
  InputData(DirName, CaseName, mTEPES, pIndLogConsole)
53
53
 
54
+ # Define sets and parameters
55
+ DataConfiguration(mTEPES)
56
+
54
57
  # Define variables
55
58
  SettingUpVariables(mTEPES, mTEPES)
56
59
 
@@ -100,12 +103,12 @@ def openTEPES_run(DirName, CaseName, SolverName, pIndOutputResults, pIndLogConso
100
103
  if sum(1 for rs,h in mTEPES.r2p):
101
104
  mTEPES.npc = [(n,h ) for n,h in mTEPES.n*mTEPES.h if sum(1 for rs in mTEPES.rs if (rs,h) in mTEPES.r2p) and mTEPES.n.ord(n) % sum(mTEPES.pReservoirTimeStep[rs] for rs in mTEPES.rs if (rs,h) in mTEPES.r2p) == 0]
102
105
  else:
103
- mTEPES.npc = []
106
+ mTEPES.npc = []
104
107
  mTEPES.nrsc = [(n,rs) for n,rs in mTEPES.n*mTEPES.rs if mTEPES.n.ord(n) % mTEPES.pReservoirTimeStep[rs] == 0]
105
108
  mTEPES.nrcc = [(n,rs) for n,rs in mTEPES.n*mTEPES.rn if mTEPES.n.ord(n) % mTEPES.pReservoirTimeStep[rs] == 0]
106
109
  mTEPES.nrso = [(n,rs) for n,rs in mTEPES.n*mTEPES.rs if mTEPES.n.ord(n) % mTEPES.pWaterOutTimeStep [rs] == 0]
107
110
 
108
- if len(mTEPES.st):
111
+ if mTEPES.st:
109
112
 
110
113
  # load levels up to the current stage for emission and RES energy constraints
111
114
  # if (p != mTEPES.p.first() or sc != mTEPES.sc.first()) and st == mTEPES.First_st:
@@ -153,6 +156,9 @@ def openTEPES_run(DirName, CaseName, SolverName, pIndOutputResults, pIndLogConso
153
156
  if (max([mTEPES.pRESEnergy[p,ar] for ar in mTEPES.ar]) == 0
154
157
  and (min([mTEPES.pEmission [p,ar] for ar in mTEPES.ar]) == math.inf or sum(mTEPES.pEmissionRate[nr] for nr in mTEPES.nr) == 0)):
155
158
 
159
+ if (p,sc) == mTEPES.ps.last() and st == mTEPES.Last_st and mTEPES.NoRepetition == 0:
160
+ mTEPES.NoRepetition = 1
161
+
156
162
  # Writing LP file
157
163
  if pIndLogConsole == 1:
158
164
  StartTime = time.time()
@@ -177,6 +183,9 @@ def openTEPES_run(DirName, CaseName, SolverName, pIndOutputResults, pIndLogConso
177
183
 
178
184
  if st == mTEPES.Last_st and mTEPES.NoRepetition == 0:
179
185
 
186
+ if (p,sc) == mTEPES.ps.last():
187
+ mTEPES.NoRepetition = 1
188
+
180
189
  mTEPES.del_component(mTEPES.st)
181
190
  mTEPES.del_component(mTEPES.n )
182
191
  mTEPES.del_component(mTEPES.n2)
@@ -203,7 +212,7 @@ def openTEPES_run(DirName, CaseName, SolverName, pIndOutputResults, pIndLogConso
203
212
  mTEPES.nrcc = [(n,rs) for n,rs in mTEPES.n*mTEPES.rn if mTEPES.n.ord(n) % mTEPES.pReservoirTimeStep[rs] == 0]
204
213
  mTEPES.nrso = [(n,rs) for n,rs in mTEPES.n*mTEPES.rs if mTEPES.n.ord(n) % mTEPES.pWaterOutTimeStep [rs] == 0]
205
214
 
206
- # Writing LP file
215
+ # Writing an LP file
207
216
  if pIndLogConsole == 1:
208
217
  StartTime = time.time()
209
218
  mTEPES.write(f'{_path}/openTEPES_{CaseName}_{p}_{sc}_{st}.lp', io_options={'symbolic_solver_labels': True})
@@ -211,7 +220,7 @@ def openTEPES_run(DirName, CaseName, SolverName, pIndOutputResults, pIndLogConso
211
220
  StartTime = time.time()
212
221
  print('Writing LP file ... ', round(WritingLPFileTime), 's')
213
222
 
214
- # there are investment decisions (it is an expansion and operation model) or there are system emission constraints
223
+ # there are investment decisions (it is an expansion and operation model), or there are system emission constraints
215
224
  ProblemSolving(DirName, CaseName, SolverName, mTEPES, mTEPES, pIndLogConsole, p, sc, st)
216
225
 
217
226
  # deactivate the constraints of the previous period and scenario
@@ -256,7 +265,7 @@ def openTEPES_run(DirName, CaseName, SolverName, pIndOutputResults, pIndLogConso
256
265
  mTEPES.nrcc = [(n,rs) for n,rs in mTEPES.n*mTEPES.rn if mTEPES.n.ord(n) % mTEPES.pReservoirTimeStep[rs] == 0]
257
266
  mTEPES.nrso = [(n,rs) for n,rs in mTEPES.n*mTEPES.rs if mTEPES.n.ord(n) % mTEPES.pWaterOutTimeStep [rs] == 0]
258
267
 
259
- # Writing LP file
268
+ # Writing an LP file
260
269
  if pIndLogConsole == 1:
261
270
  StartTime = time.time()
262
271
  mTEPES.write(f'{_path}/openTEPES_{CaseName}_{p}_{sc}_{st}.lp', io_options={'symbolic_solver_labels': True})
@@ -264,7 +273,7 @@ def openTEPES_run(DirName, CaseName, SolverName, pIndOutputResults, pIndLogConso
264
273
  StartTime = time.time()
265
274
  print('Writing LP file ... ', round(WritingLPFileTime), 's')
266
275
 
267
- # there are investment decisions (it is an expansion and operation model) or there are system emission constraints
276
+ # there are investment decisions (it is an expansion and operation model), or there are system emission constraints
268
277
  ProblemSolving(DirName, CaseName, SolverName, mTEPES, mTEPES, pIndLogConsole, p, sc, st)
269
278
 
270
279
  mTEPES.del_component(mTEPES.st)
@@ -314,7 +323,7 @@ def openTEPES_run(DirName, CaseName, SolverName, pIndOutputResults, pIndLogConso
314
323
  # output plot results
315
324
  pIndPlotOutput = 1
316
325
 
317
- # indicators to control the amount of output results
326
+ # indicators to control the number of output results
318
327
  if pIndOutputResults == 1:
319
328
  pIndDumpRawResults = 0
320
329
  pIndInvestmentResults = 1
@@ -356,15 +365,15 @@ def openTEPES_run(DirName, CaseName, SolverName, pIndOutputResults, pIndLogConso
356
365
  InvestmentResults (DirName, CaseName, mTEPES, mTEPES, pIndTechnologyOutput, pIndPlotOutput)
357
366
  if pIndGenerationOperationResults == 1:
358
367
  GenerationOperationResults (DirName, CaseName, mTEPES, mTEPES, pIndTechnologyOutput, pIndAreaOutput, pIndPlotOutput)
359
- if len(mTEPES.ch) and mTEPES.pIndHeat == 1:
368
+ if mTEPES.ch and mTEPES.pIndHeat == 1:
360
369
  GenerationOperationHeatResults(DirName, CaseName, mTEPES, mTEPES, pIndTechnologyOutput, pIndAreaOutput, pIndPlotOutput)
361
- if pIndESSOperationResults == 1 and len(mTEPES.es):
370
+ if pIndESSOperationResults == 1 and mTEPES.es:
362
371
  ESSOperationResults (DirName, CaseName, mTEPES, mTEPES, pIndTechnologyOutput, pIndAreaOutput, pIndPlotOutput)
363
- if pIndReservoirOperationResults == 1 and len(mTEPES.rs) and mTEPES.pIndHydroTopology == 1:
372
+ if pIndReservoirOperationResults == 1 and mTEPES.rs and mTEPES.pIndHydroTopology == 1:
364
373
  ReservoirOperationResults (DirName, CaseName, mTEPES, mTEPES, pIndTechnologyOutput, pIndPlotOutput)
365
- if pIndNetworkH2OperationResults == 1 and len(mTEPES.pa) and mTEPES.pIndHydrogen == 1:
374
+ if pIndNetworkH2OperationResults == 1 and mTEPES.pa and mTEPES.pIndHydrogen == 1:
366
375
  NetworkH2OperationResults (DirName, CaseName, mTEPES, mTEPES)
367
- if pIndNetworkHeatOperationResults == 1 and len(mTEPES.ha) and mTEPES.pIndHeat == 1:
376
+ if pIndNetworkHeatOperationResults == 1 and mTEPES.ha and mTEPES.pIndHeat == 1:
368
377
  NetworkHeatOperationResults (DirName, CaseName, mTEPES, mTEPES)
369
378
  if pIndFlexibilityResults == 1:
370
379
  FlexibilityResults (DirName, CaseName, mTEPES, mTEPES)