openTEPES 4.18.7__py3-none-any.whl → 4.18.9__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.
- openTEPES/__init__.py +1 -1
- openTEPES/openTEPES.py +3 -4
- openTEPES/openTEPES_InputData.py +213 -113
- openTEPES/openTEPES_Main.py +17 -7
- openTEPES/openTEPES_ModelFormulation.py +101 -60
- openTEPES/openTEPES_OutputResults.py +496 -196
- openTEPES/openTEPES_ProblemSolving.py +35 -34
- openTEPES/sSEP/oT_Data_RampReserveDown_sSEP.csv +8737 -0
- openTEPES/sSEP/oT_Data_RampReserveUp_sSEP.csv +8737 -0
- {opentepes-4.18.7.dist-info → opentepes-4.18.9.dist-info}/METADATA +20 -19
- {opentepes-4.18.7.dist-info → opentepes-4.18.9.dist-info}/RECORD +14 -12
- {opentepes-4.18.7.dist-info → opentepes-4.18.9.dist-info}/WHEEL +0 -0
- {opentepes-4.18.7.dist-info → opentepes-4.18.9.dist-info}/entry_points.txt +0 -0
- {opentepes-4.18.7.dist-info → opentepes-4.18.9.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openTEPES
|
|
3
|
-
Version: 4.18.
|
|
3
|
+
Version: 4.18.9
|
|
4
4
|
Summary: Open Generation, Storage, and Transmission Operation and Expansion Planning Model with RES and ESS (openTEPES)
|
|
5
5
|
Home-page: https://opentepes.readthedocs.io/en/latest/index.html
|
|
6
6
|
Author: IIT-EnergySystemModels
|
|
@@ -11,19 +11,19 @@ Classifier: Development Status :: 5 - Production/Stable
|
|
|
11
11
|
Classifier: Intended Audience :: Science/Research
|
|
12
12
|
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
|
|
13
13
|
Classifier: Operating System :: OS Independent
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
15
15
|
License-File: LICENSE
|
|
16
|
-
Requires-Dist:
|
|
17
|
-
Requires-Dist: matplotlib>=3.3.4
|
|
18
|
-
Requires-Dist: numpy>=1.20.1
|
|
19
|
-
Requires-Dist: pandas>=1.2.3
|
|
20
|
-
Requires-Dist: plotly>=5.7.0
|
|
16
|
+
Requires-Dist: altair>=5.5.0
|
|
21
17
|
Requires-Dist: colour>=0.1.5
|
|
22
|
-
Requires-Dist: altair>=5.0.0
|
|
23
|
-
Requires-Dist: psutil>=5.8.0
|
|
24
|
-
Requires-Dist: jsonschema>=4.16.0
|
|
25
|
-
Requires-Dist: networkx>=3.3
|
|
26
18
|
Requires-Dist: dill>=0.3.8
|
|
19
|
+
Requires-Dist: duckdb>=1.3.2
|
|
20
|
+
Requires-Dist: jsonschema>=4.26.0
|
|
21
|
+
Requires-Dist: matplotlib>=3.10.0
|
|
22
|
+
Requires-Dist: networkx>=3.6.1
|
|
23
|
+
Requires-Dist: pandas>=2.2.2
|
|
24
|
+
Requires-Dist: plotly>=5.24.1
|
|
25
|
+
Requires-Dist: psutil>=5.9.5
|
|
26
|
+
Requires-Dist: pyomo>=6.9.5
|
|
27
27
|
|
|
28
28
|
.. image:: https://raw.githubusercontent.com/IIT-EnergySystemModels/openTEPES/refs/heads/master/doc/img/openTEPES.png
|
|
29
29
|
:target: https://opentepes.readthedocs.io/en/latest/index.html
|
|
@@ -123,14 +123,15 @@ It determines automatically optimal expansion plans that satisfy simultaneously
|
|
|
123
123
|
|
|
124
124
|
It represents hierarchically the different time scopes to make decisions in an electric system:
|
|
125
125
|
|
|
126
|
-
- Load level: one hour, e.g., 01-01 00:00:00+01:00 to 12-30 23:00:00+01:00
|
|
126
|
+
- Load level: one hour, e.g., 01-01 00:00:00+01:00 to 12-30 23:00:00+01:00, or **quarter of an hour**, e.g., 01-01 00:00:00+01:00 to 30-12 23:45:00+01:00
|
|
127
127
|
|
|
128
|
-
The time division allows a user-defined flexible representation of the periods for evaluating the system operation. Moreover, it can be run with chronological periods of several consecutive hours (bi-hourly, tri-hourly resolution) to decrease the computational burden without losing accuracy. The model can be run with a single period (year) or with several periods (years) to allow the analysis of the system's evolution.
|
|
128
|
+
The time division allows a user-defined flexible representation of the periods for evaluating the system operation. Moreover, it can be run with chronological periods of several consecutive hours (bi-hourly, tri-hourly resolution in case of hourly definition or half an hour in case of quarter of an hour definition) to decrease the computational burden without losing accuracy. The model can be run with a single period (year) or with several periods (years) to allow the analysis of the system's evolution.
|
|
129
|
+
The time definition also allows for specifying disconnected representative periods (e.g., days, weeks) to evaluate the system operation.
|
|
129
130
|
The model can be run with a single period (year) or with several periods (years) to allow the analysis of the system's evolution. The time definition can also specify disconnected representative periods (e.g., days, weeks) to evaluate the system operation.
|
|
130
131
|
The period (year) must be represented by 8736 hours because several model concepts representing the system operation are based on weeks (168 hours) or months (made of 4 weeks, 672 hours).
|
|
131
132
|
|
|
132
133
|
- **Stochastic**: several stochastic parameters that can influence the optimal generation, storage, and transmission expansion decisions are considered. The model considers stochastic
|
|
133
|
-
medium-term yearly uncertainties (scenarios) related to the system operation. These operation scenarios are associated with renewable energy sources, energy inflows and outflows, natural water inflows, operating reserves, inertia, and electricity, hydrogen, and heat demand.
|
|
134
|
+
medium-term yearly uncertainties (scenarios) related to the system operation. These operation scenarios are associated with renewable energy sources, energy inflows and outflows, natural water inflows, operating reserves, ramp reserves, inertia, and electricity, hydrogen, and heat demand.
|
|
134
135
|
|
|
135
136
|
The objective function incorporates the two main quantifiable costs: **generation, storage, and transmission investment cost (CAPEX)** and **expected variable operation costs (including generation, consumption, emission, and reliability costs) (system OPEX)**.
|
|
136
137
|
|
|
@@ -149,10 +150,10 @@ Besides, it includes a representation of **Power to Heat (P2H)** by setting the
|
|
|
149
150
|
The main results of the model can be structured into these topics:
|
|
150
151
|
|
|
151
152
|
- **Investment**: (generation, storage, hydro reservoirs, electric lines, hydrogen pipelines, and heat pipes) investment decisions and cost
|
|
152
|
-
- **Operation**: unit commitment, startup, and shutdown of non-renewable units, unit output and aggregation by technologies (thermal, storage hydro, pumped-hydro storage, RES), RES curtailment, electric line, hydrogen pipeline, and heat pipe flows, line ohmic losses, node voltage angles, upward and downward operating reserves, ESS inventory levels, hydro reservoir volumes, power, hydrogen, and heat not served
|
|
153
|
+
- **Operation**: unit commitment, startup, and shutdown of non-renewable units, unit output and aggregation by technologies (thermal, storage hydro, pumped-hydro storage, RES), RES curtailment, electric line, hydrogen pipeline, and heat pipe flows, line ohmic losses, node voltage angles, upward and downward operating reserves, upward and downward ramp reserves, ESS inventory levels, hydro reservoir volumes, power, hydrogen, and heat not served
|
|
153
154
|
- **Emissions**: CO2 emissions by unit
|
|
154
155
|
- **Marginal**: Locational Short-Run Marginal Costs (LSRMC), stored energy value, water volume value
|
|
155
|
-
- **Economic**: operation, emission, and reliability costs and revenues from operation and
|
|
156
|
+
- **Economic**: operation, emission, and reliability costs and revenues from operation, operating reserves, and ramp reserves
|
|
156
157
|
- **Flexibility**: flexibility provided by demand, by the different generation and consumption technologies, and by power not served
|
|
157
158
|
|
|
158
159
|
Results are shown in csv files and graphical plots.
|
|
@@ -163,18 +164,18 @@ Installation
|
|
|
163
164
|
############
|
|
164
165
|
`Installation guide <https://pascua.iit.comillas.edu/aramos/openTEPES_installation.pdf>`_.
|
|
165
166
|
|
|
166
|
-
There are 2 ways to get all the required packages under Windows. We recommend using the Python distribution Miniconda. If you don't want to use it or already have an existing Python
|
|
167
|
+
There are 2 ways to get all the required packages under Windows. We recommend using the Python distribution Miniconda. If you don't want to use it or already have an existing Python installation, you can also download the required packages by yourself.
|
|
167
168
|
|
|
168
169
|
Miniconda (recommended)
|
|
169
170
|
=======================
|
|
170
171
|
1. `Miniconda <https://docs.conda.io/en/latest/miniconda.html>`_. Choose the 64-bit installer if possible.
|
|
171
172
|
|
|
172
|
-
1. During the installation procedure, keep both checkboxes "modify the PATH" and "register Python" selected! If only higher Python versions are available, you can switch to a specific Python Version by typing ``conda install python
|
|
173
|
+
1. During the installation procedure, keep both checkboxes "modify the PATH" and "register Python" selected! If only higher Python versions are available, you can switch to a specific Python Version by typing ``conda install python==<version>``
|
|
173
174
|
2. **Remark:** if Anaconda or Miniconda was installed previously, please check that Python is registered in the environment variables.
|
|
174
175
|
2. **Packages and Solver**:
|
|
175
176
|
|
|
176
177
|
1. Launch a new Anaconda prompt (or terminal in any IDE)
|
|
177
|
-
2. The `HiGHS <https://ergo-code.github.io/HiGHS/dev/
|
|
178
|
+
2. The `HiGHS <https://ergo-code.github.io/HiGHS/dev/installation/#Precompiled-Binaries>`_ is our recommendation if you want a free and open-source solver.
|
|
178
179
|
3. Install openTEPES via pip by ``pip install openTEPES``
|
|
179
180
|
|
|
180
181
|
Continue at `Get Started <#get-started>`_.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
openTEPES/__init__.py,sha256=
|
|
1
|
+
openTEPES/__init__.py,sha256=FozTs8PMPcaz1sPtbHKQYWkBTIQar2I6GWwQGq69oXI,832
|
|
2
2
|
openTEPES/openTEPES.mapbox_token,sha256=xsXNkwGp2vzXqQy2zVkyLhhNcNWniK2BMeOFpc5SZHI,93
|
|
3
|
-
openTEPES/openTEPES.py,sha256
|
|
4
|
-
openTEPES/openTEPES_InputData.py,sha256=
|
|
5
|
-
openTEPES/openTEPES_Main.py,sha256=
|
|
6
|
-
openTEPES/openTEPES_ModelFormulation.py,sha256=
|
|
7
|
-
openTEPES/openTEPES_OutputResults.py,sha256=
|
|
8
|
-
openTEPES/openTEPES_ProblemSolving.py,sha256=
|
|
3
|
+
openTEPES/openTEPES.py,sha256=CnikcchmCP49DjB81RuAtxz8TEK8MSKMhwV1nEeTbMI,27461
|
|
4
|
+
openTEPES/openTEPES_InputData.py,sha256=ue_B_yaANq5k4w0vo9CPkESWpXfb5BZjF1xFqRpw3to,245619
|
|
5
|
+
openTEPES/openTEPES_Main.py,sha256=glvDODa5hfmSLTXIKamQmt3rlkTFN6d2CMFNMXXuCs0,40782
|
|
6
|
+
openTEPES/openTEPES_ModelFormulation.py,sha256=g9nRAbJpZ8r1_aIP-EH6t7mJhoWDB8uj8Q8zZjVnwjM,141751
|
|
7
|
+
openTEPES/openTEPES_OutputResults.py,sha256=rIcdKqhVyzaizcZiPtN0uGcst1-SHuFF9gs1Fj-zJjM,242215
|
|
8
|
+
openTEPES/openTEPES_ProblemSolving.py,sha256=gORJdW46pSzphOfjIT-vSJ2kgkAEuPWh0exqm7ozx0Q,16766
|
|
9
9
|
openTEPES/openTEPES_gitinfo.py,sha256=6fA1fa-JcyusSc_HcjPiCgnV9zn-fZwdG-kK0a5Fxc8,2004
|
|
10
10
|
openTEPES/.idea/.name,sha256=jiwfcnJ20wztcvpny4SHcqmAIWK-w5tCqN9TWf0GOkw,11
|
|
11
11
|
openTEPES/.idea/misc.xml,sha256=m4-3O284ZBS8WZSQD0QWwk8YjuQYz92w6kr7NRFNips,298
|
|
@@ -344,6 +344,8 @@ openTEPES/sSEP/oT_Data_Option_sSEP.csv,sha256=19qq1n4juN4atBsbVfzzBXN9QMP-ppQv19
|
|
|
344
344
|
openTEPES/sSEP/oT_Data_Parameter_sSEP.csv,sha256=vU0_9T7Vw0OcXKcaPbnVlOLseiRPt-x-k28kMfHVfrA,220
|
|
345
345
|
openTEPES/sSEP/oT_Data_Period_sSEP.csv,sha256=NFbJq1PV7fhKMp7ocoy_hy42mKuVabBdPqe9Pt2IVQ4,26
|
|
346
346
|
openTEPES/sSEP/oT_Data_RESEnergy_sSEP.csv,sha256=3IMP7IRWWEW61M2R_EX7JyOFKzfcgXT35Sg0j_WsUVk,39
|
|
347
|
+
openTEPES/sSEP/oT_Data_RampReserveDown_sSEP.csv,sha256=zJ7FxjY5PMRl8Oodw5Mz4K3u18zno5nLLa5n3Xcenew,305793
|
|
348
|
+
openTEPES/sSEP/oT_Data_RampReserveUp_sSEP.csv,sha256=zJ7FxjY5PMRl8Oodw5Mz4K3u18zno5nLLa5n3Xcenew,305793
|
|
347
349
|
openTEPES/sSEP/oT_Data_ReserveMargin_sSEP.csv,sha256=WCIVw1Yr64PzAOBRta-7h4Ri8G0kLNvdu7700sQr6Yg,46
|
|
348
350
|
openTEPES/sSEP/oT_Data_Reservoir_sSEP.csv,sha256=77JJ9UbYxkmFzpFafBmnQH57q986qpetMrKuwe83Jsc,527
|
|
349
351
|
openTEPES/sSEP/oT_Data_Scenario_sSEP.csv,sha256=V0-01Mv3aF980FDNb82DuZeTe7EsK7UCq8iCUww81JA,47
|
|
@@ -382,8 +384,8 @@ openTEPES/sSEP/oT_Dict_Storage_sSEP.csv,sha256=H2rJXZvoMuT-25sI2GpG8IuiNKD-dxuty
|
|
|
382
384
|
openTEPES/sSEP/oT_Dict_Technology_sSEP.csv,sha256=MCTpplzz7_eVPKQfOw35c86ib6CTtW6UK6JrbCJ8wls,170
|
|
383
385
|
openTEPES/sSEP/oT_Dict_ZoneToArea_sSEP.csv,sha256=AUDCs5Bg6sw9f2pVjGP1o4IJjXFF_VrokOGf_V3QsEI,24
|
|
384
386
|
openTEPES/sSEP/oT_Dict_Zone_sSEP.csv,sha256=TBud-fvbFbiAsuutxTYe8wWlv_x1P8oyWXILMpYiXJc,13
|
|
385
|
-
opentepes-4.18.
|
|
386
|
-
opentepes-4.18.
|
|
387
|
-
opentepes-4.18.
|
|
388
|
-
opentepes-4.18.
|
|
389
|
-
opentepes-4.18.
|
|
387
|
+
opentepes-4.18.9.dist-info/entry_points.txt,sha256=gNNPrDaTsRuRJXI1FLNgqMX1CiJ45bEp1dEDH7ZB8Oc,49
|
|
388
|
+
opentepes-4.18.9.dist-info/licenses/LICENSE,sha256=4O7bphXVzRuYavtsWzpLGuM3E-fp3HTRna7F4yIfnS4,35184
|
|
389
|
+
opentepes-4.18.9.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
|
|
390
|
+
opentepes-4.18.9.dist-info/METADATA,sha256=7bDfXPGg6f_5jya58I6bg6evEtMQx8TDoxr-OaSrbTs,19420
|
|
391
|
+
opentepes-4.18.9.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|