You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,13 +6,13 @@
6
6
7
7
An open-source capacity expansion modelling tool based on the methodology and assumptions used by the Australian Energy Market Operator (AEMO) to produce their Integrated System Plan (ISP). Built on [PyPSA](https://github.com/pypsa/pypsa).
8
8
9
-
**This README is a quick reference.** For detailed instructions, tutorials, and API documentation, see the [full documentation](docs/) (hosted docs coming soon):
9
+
**This README is a quick reference.** For detailed instructions, tutorials, and API documentation, see the [full documentation](https://open-isp.github.io/ISPyPSA/):
10
10
11
-
-[Getting Started](docs/getting_started.md) - Installation and first model run
12
-
-[Configuration Reference](docs/config.md) - All configuration options
13
-
-[CLI Guide](docs/cli.md) - Command line interface details
14
-
-[API Reference](docs/api.md) - Python API for custom workflows
15
-
-[Workflow Overview](docs/workflow.md) - How the modelling pipeline works
11
+
-[Getting Started](https://open-isp.github.io/ISPyPSA/getting_started/) - Installation and first model run
12
+
-[Configuration Reference](https://open-isp.github.io/ISPyPSA/config/) - All configuration options
13
+
-[CLI Guide](https://open-isp.github.io/ISPyPSA/cli/) - Command line interface details
14
+
-[API Reference](https://open-isp.github.io/ISPyPSA/api/) - Python API for custom workflows
15
+
-[Workflow Overview](https://open-isp.github.io/ISPyPSA/workflow/) - How the modelling pipeline works
Copy file name to clipboardExpand all lines: docs/method.md
+49Lines changed: 49 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -95,8 +95,36 @@ further information on custom constraint implementation.
95
95
96
96
## Generation
97
97
98
+
Generation is represented as a time-varying quantity for each generator:
99
+
100
+
- Variable renewable energy (VRE) generation data traces are the generation data published by AEMO
101
+
for each project or REZ and resource type. These traces set the upper limit on VRE generator output in
102
+
each modelled snapshot.
103
+
- The historical weather years, or reference years, used as a basis for deriving the time varying
104
+
generation data are defined using the `reference_year_cycle` options in the config. [More detail on
105
+
reference years](#reference-years).
106
+
- The time varying quantity of generation at each node is also dependent on the model year.
107
+
AEMO publishes generation data for every year in modelling horizon for each reference year.
108
+
- Other non-VRE generation is currently modelled under static output limits set by each generator's
109
+
maximum capacity `maximum_capacity_mw` and minimum stable generation `minimum_load_mw` or `minimum_stable_level_%` (where defined).
110
+
- Generator dispatch is optimised at each snapshot to meet demand at the lowest cost while meeting
111
+
the output constraints described above.
112
+
98
113
## Storage
99
114
115
+
Storage charging and discharging behaviour is also represented as a time-varying quantity for
116
+
each storage unit in the model:
117
+
118
+
- Charging and discharging efficiencies are defined for each battery and applied to charge/discharge
119
+
in each snapshot accordingly.
120
+
- The state of charge of each battery in each snapshot is determined by the previous state of charge
121
+
plus energy charged minus energy discharged (with efficiencies applied).
122
+
- Charge and discharge power and energy in each snapshot are limited by the `maximum_capacity_mw`
123
+
and `maximum_capacity_mw` $\times$ `storage_duration_hours` properties of each battery, as well
124
+
as the available state of charge.
125
+
- Battery charging and discharging behaviour is optimised for each snapshot to meet demand at lowest cost,
126
+
while subject to energy balance constraints.
127
+
100
128
## Reference years
101
129
102
130
Weather reference years are used ensure weather correlations are consistent between demand
@@ -237,6 +265,27 @@ modelled as relaxing the custom constraint limit.
237
265
238
266
### Generation
239
267
268
+
Generator capacities are decided by the model at the start of each [investment period](#investment-periodisation-and-discounting)
269
+
and for each [node](#nodal-representation):
270
+
271
+
- The model currently considers all ECAA generators that are active (not retired) during the
272
+
model investment periods. These projects have set capacities and are not extendable during the capacity expansion modelling,
273
+
and have fixed retirement dates.
274
+
- New entrant generator are extendable in the model, and the optimisation determines the capacity of new generation to be built at each node in each investment period.
275
+
- Capital costs in $/MW for new entrant generators are annuitised according to the following formula:
276
+
277
+
$$
278
+
c_{a} =\frac{c_{o} \times r }{1 - (1 + r)^{-t}}
279
+
$$
280
+
281
+
Where $c_{a}$ is the annuitised cost and, $r$ is the [WACC](config.md#wacc), and $t$ is the generator lifetime.
282
+
$c_{o}$ includes the overnight build cost (adjusted by locational cost factors), any applicable connection costs
283
+
and/or additional system strength connection costs, and fixed operational costs.
284
+
- Marginal costs in $/MWh are calculated for all generators for each model snapshot based on
285
+
dynamic fuel prices, generator heat rates and variable operational costs defined in the input tables. Alternatively
286
+
a static value can be set for a subset or all generators to simplify the model.
287
+
- Where build or resource limit constraints are defined for VRE generation in specific REZs, these are set by custom constraints. Some resource limits can be relaxed up to the corresponding build limit for the specified resource type and REZ.
288
+
240
289
## Operational
241
290
242
291
Operational is the second modelling phase. In this modelling phase capacity expansion decisions are taken as fixed,
Copy file name to clipboardExpand all lines: pyproject.toml
+2-3Lines changed: 2 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
[project]
2
2
name = "ISPyPSA"
3
-
version = "0.1.0"
3
+
version = "0.1.0beta1"
4
4
description = "An open-source capacity expansion model based on the methodology and datasets used by the Australian Energy Market Operator (AEMO) in their Integrated System Plan (ISP)."
5
5
authors = [
6
6
{ name = "prakaa", email = "abiprakash007@gmail.com" },
0 commit comments