Skip to content

Commit a0b0aca

Browse files
authored
Merge pull request #294 from trevorb1/issue-220
Docs updates
2 parents 362360e + 7d66bdf commit a0b0aca

File tree

11 files changed

+154
-55
lines changed

11 files changed

+154
-55
lines changed

docs/source/config-co2-base.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
(base_emission_values)=
2+
# Base Emission Values
3+
4+
If using the `{opts}` wildcard to reduce emissions, the user must put in a `co2base` value. Provided below are historical yearly CO2 emission values for both the power sector and all sectors at an interconnect level. This data can be used as a starting point for users. **Note the units in this table are Million Metric Tons (MMT).** This data originates from the [EIA State Level CO2 database](https://www.eia.gov/opendata/browser/co2-emissions/co2-emissions-aggregates?frequency=annual&data=value;&sortColumn=period;&sortDirection=desc;), and is compiled by the script `workflow/notebooks/historical_emissions.ipynb`
5+
6+
```{eval-rst}
7+
.. csv-table::
8+
:header-rows: 1
9+
:widths: 22,7,22,33
10+
:file: configtables/emissions.csv
11+
```

docs/source/config-configuration.md

Lines changed: 44 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Planning horizons determines which year of future demand forecast to use for you
4545
(snapshots_cf)=
4646
## `snapshots`
4747

48-
Specifies the temporal range to build an energy system model for as arguments to `(pandas.date_range)[https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.date_range.html]`
48+
Specifies the temporal range to build an energy system model for as arguments to [`pandas.date_range`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.date_range.html)
4949

5050
```{eval-rst}
5151
.. literalinclude:: ../../workflow/repo_data/config/config.default.yaml
@@ -93,14 +93,10 @@ Specifies the types of generators that are included in the network, which are ex
9393
:file: configtables/electricity.csv
9494
```
9595

96-
If using the `{opts}` wildcard to reduce emissions, the user must put in a `co2base` value. Provided below are historical yearly CO2 emission values for both the power sector and all sectors at an interconnect level. This data can be used as a starting point for users. **Note the units in this table are Million Metric Tons (MMT).** This data originates from the [EIA State Level CO2 database](https://www.eia.gov/opendata/browser/co2-emissions/co2-emissions-aggregates?frequency=annual&data=value;&sortColumn=period;&sortDirection=desc;), and is compiled by the script `workflow/notebooks/historical_emissions.ipynb`
97-
98-
```{eval-rst}
99-
.. csv-table::
100-
:header-rows: 1
101-
:widths: 22,7,22,33
102-
:file: configtables/emissions.csv
96+
```{note}
97+
See [here](./config-co2-base.md) for information on interconnect level base emission values.
10398
```
99+
104100
(renewable_cf)=
105101
## `renewable`
106102

@@ -199,12 +195,51 @@ If using the `{opts}` wildcard to reduce emissions, the user must put in a `co2b
199195

200196
(sector_cf)=
201197
## `sector`
202-
```{eval-rst}
198+
<!-- ```{eval-rst}
203199
.. literalinclude:: ../../workflow/repo_data/config/config.default.yaml
204200
:language: yaml
205201
:start-at: sector:
206202
:end-before: # docs
207203
204+
.. csv-table::
205+
:header-rows: 1
206+
:widths: 22,7,22,33
207+
:file: configtables/sector.csv
208+
``` -->
209+
210+
```{warning}
211+
Sector coupling studies are all under active development
212+
```
213+
214+
```yaml
215+
sector:
216+
co2_sequestration_potential: 0
217+
natural_gas:
218+
allow_imports_exports: true # false to be implemented
219+
cyclic_storage: false
220+
heating:
221+
heat_pump_sink_T: 55.
222+
demand:
223+
profile:
224+
residential: eulp # efs, eulp
225+
commercial: eulp # efs, eulp
226+
transport: efs # efs
227+
industry: efs # efs
228+
scale:
229+
residential: aeo # efs, aeo
230+
commercial: aeo # efs, aeo
231+
transport: aeo # efs, aeo
232+
industry: aeo # efs, aeo
233+
disaggregation:
234+
residential: pop # pop
235+
commercial: pop # pop
236+
transport: pop # pop
237+
industry: pop # pop
238+
scenarios:
239+
aeo: reference
240+
```
241+
242+
```{eval-rst}
208243
.. csv-table::
209244
:header-rows: 1
210245
:widths: 22,7,22,33

docs/source/config-sectors.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
(sectors)=
22
# Sectors
33

4+
```{note}
5+
More information to come!
6+
```
7+
48
(natural-gas-sector)=
59
## Natural Gas
610

docs/source/config-wildcards.md

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -90,26 +90,31 @@ currently:
9090
(sector)=
9191
## The `{sector}` wildcard
9292

93+
```{warning}
94+
Sector coupling studies are all under active development
95+
```
96+
9397
The `{sector}` wildcard is used to specify what sectors to include. If `None`
9498
is provided, an electrical only study is completed.
9599

96-
| Sector | Code | Description |
97-
|-------------|------|--------------------------------------------------------------|
98-
| Electricity | E | Electrical sector. Will always be run. |
99-
| Natural Gas | G | Natural gas sector |
100-
| Heating | H | Residential and commercial heating and cooling demand |
101-
<!-- | Transport | T | Residential and light duty commercial transportation demand |
102-
| Methane | M | Methane tracking. Requires natural gas sector. | -->
100+
| Sector | Code | Description | Status |
101+
|-------------|------|------------------------------------------------|-------------|
102+
| Electricity | E | Electrical sector. Will always be run. | Runs |
103+
| Natural Gas | G | Natural gas sector | Development |
104+
| Heating | H | Heating and Cooling | Development |
105+
| Industry | I | Industrial Processes | Development |
106+
| Transport | T | Transportation sector | Development |
107+
| Methane | M | Methane tracking. Requires natural gas sector. | Future |
103108

104109
(scope)=
105110
## The `{scope}` wildcard
106-
Takes values `residential`, `urban`, `total`. Used in sector coupling
107-
studies to define population breakdown.
108111

109-
Used in the following rules:
110-
- `build_heat_demands`
111-
- `build_temperature_profiles`
112-
- `build_solar_thermal_profiles`
112+
```{warning}
113+
Sector coupling studies are all under active development
114+
```
115+
116+
Takes values `residential`, `urban`, `total`. Used in sector coupling studies to define
117+
population breakdown.
113118

114119

115120
(cutout_wc)=

docs/source/configtables/costs.csv

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
,Unit,Values,Description
2-
year,--,"YYYY; e.g. '2030'","Year for which to retrieve cost assumptions of `resources/costs.csv`."
3-
version,--,"vX.X.X; e.g. 'v0.5.0'","Version of `technology-data` repository to use."
2+
year,--,YYYY; e.g. ``2030``,"Year for which to retrieve cost assumptions of `resources/costs.csv`."
3+
version,--,vX.X.X; e.g. ``v0.5.0``,"Version of `technology-data` repository to use."
44
rooftop_share,--,float,"Share of rooftop PV when calculating capital cost of solar (joint rooftop and utility-scale PV)."
55
fill_values,--,float,"Default values if not specified for a technology in `resources/costs.csv`."
66
capital_cost,$/MW,"Keys should be in the 'technology' column of `resources/costs.csv`. Values can be any float.","For the given technologies, assumptions about their capital investment costs are set to the corresponding value. Optional; overwrites cost assumptions from ``resources/costs.csv``."
77
marginal_cost,$/MWh,"Keys should be in the 'technology' column of `resources/costs.csv`. Values can be any float.","For the given technologies, assumptions about their marginal operating costs are set to the corresponding value. Optional; overwrites cost assumptions from ``resources/costs.csv``."
88
emission_prices,,,"Specify exogenous prices for emission types listed in `network.carriers` to marginal costs."
9-
-- co2,$/t,float,"Exogenous price of carbon-dioxide added to the marginal costs of fossil-fuelled generators according to their carbon intensity. Added through the keyword `Ep` in the `{opts}` wildcard only in the rule :mod:`prepare_network``."
9+
-- enable,bool,``true`` or ``false``, Add cost for a carbon-dioxide price configured in costs: emission_prices: co2 to marginal_cost of generators (other emission types listed in network.carriers possible as well)
10+
-- co2,$/t,float,"Exogenous price of carbon-dioxide added to the marginal costs of fossil-fuelled generators according to their carbon intensity. Added through the keyword `Ep` in the `{opts}` wildcard only in the rule :mod:``prepare_network``."
Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,36 @@
11
,Unit,Values,Description
22
conventional_carriers,--,"Any subset of {nuclear, oil, OCGT, CCGT, coal, geothermal, biomass}","List of conventional power plants to include in the model from ``resources/powerplants.csv``. If an included carrier is also listed in ``extendable_carriers``, the capacity is taken as a lower bound."
33
renewable_carriers,--,"Any subset of {solar, onwind, offwind-ac, offwind-dc, hydro}",List of renewable generators to include in the model.
4-
voltage_simplified,kV,int,"Voltage level to simplify network to in rule ""simplify network"""
4+
voltage_simplified,kV,int,Voltage level to simplify network to in rule ``simplify_network``
55
gaslimit,MWhth,float or false,Global gas usage limit (Set False for development)
66
co2limit,:math:`t_{CO_2-eq}/a`,float,Cap on total annual system carbon dioxide emissions
77
co2base,:math:`t_{CO_2-eq}/a`,float,Reference value of total annual system carbon dioxide emissions if relative emission reduction target is specified in ``{opts}`` wildcard.
8+
retirement, --,One of ``economic`` or ``technical``,"Sets the retirement method for converntional generators. If ``technical`` all generators ``p_nom_min`` are set to ``p_nom`` to prevent selling off of the asset. Retirements are then tracked in post-proccessing. If ``economic`` existing plants have their ``p_nom_min`` set as ``0``, ``p_nom_max`` set to ``p_nom``, and capital costs set to fixed costs. Generators with ``p_nom`` are then added to handle capacity expansion."""
9+
,,,
10+
operational_reserve:,,,Settings for reserve requirements following `GenX <https://genxproject.github.io/GenX/dev/core/#Reserves>`_
11+
--activate,bool,true or false,Whether to take operational reserve requirements into account during optimisation
12+
--epsilon_load,--,float,share of total load
13+
--epsilon_vres,--,float,share of total renewable supply
14+
--contingency,MW,float,fixed reserve capacity
815
,,,
916
max_hours:,,,
1017
battery,h,float,Maximum state of charge capacity of the battery in terms of hours at full output capacity ``p_nom``. Cf. `PyPSA documentation <https://pypsa.readthedocs.io/en/latest/components.html#storage-unit>`_.
1118
,,,
1219
extendable_carriers:,,,
1320
Generator,--,Any extendable carrier,"Defines existing or non-existing conventional and renewable power plants to be extendable during the optimization. Conventional generators can only be built/expanded where already existent today. If a listed conventional carrier is not included in the ``conventional_carriers`` list, the lower limit of the capacity expansion is set to 0."
14-
Storage Unit,--,"Any subset of {'battery','H2'}",Adds extendable storage units (battery and/or hydrogen) at every node/bus after clustering without capacity limits and with zero initial capacity.
15-
Store,--,"Any subset of {'battery','H2'}",Adds extendable storage units (battery and/or hydrogen) at every node/bus after clustering without capacity limits and with zero initial capacity.
16-
Links,--,Any subset of {'H2 pipeline'},Adds extendable links (H2 pipelines only) at every connection where there are lines or HVDC links without capacity limits and with zero initial capacity. Hydrogen pipelines require hydrogen storage to be modelled as ``Store``.
21+
Storage Unit,--,Any subset of {``battery``},Adds extendable storage units (battery and/or hydrogen) at every node/bus after clustering without capacity limits and with zero initial capacity.
22+
Store,--,Any subset of {``battery``},Adds extendable storage units (battery and/or hydrogen) at every node/bus after clustering without capacity limits and with zero initial capacity.
23+
Links,--,Any subset of {},Adds extendable linksat every connection where there are lines or HVDC links without capacity limits and with zero initial capacity. Hydrogen pipelines require hydrogen storage to be modelled as ``Store``.
24+
,,,
25+
demand:,,,
26+
--profile,--,"One of {``efs``, ``eia``}",Datasource for electrical load data. ``EFS`` pulls future state level electrical demand data. ``EIA`` pulls historical balancing level electrical demand dataa.
27+
--scale,--,"One of {``efs``, ``aeo``}, or a float",(UNDER DEVELOPMENT) Used to scale the demand profile data. ``AEO`` will scale according to demand projections from the Annual Energy Outlook. ``EFS`` will scale according to growth rates from the Electrification Futures Study. Or can sclae according to a user defined value.
28+
--disaggregation,--,One of {``pop``},Method to dissagreagate load data. ``pop`` will dissagregate based on population from Breakthrough Energy.
29+
scenario:,,,
30+
--efs_case,--,"One of {``reference``, ``medium``, ``high``}",(UNDER DEVELOPMENT) Extracts EFS data according to level of adoption
31+
--efs_speed,--,"One of {``slow``, ``moderate``, ``fast``}",(UNDER DEVELOPMENT) Extracts EFS data according to speed of electrification
32+
--aeo,--,One of the AEO scenarios `here <https://www.eia.gov/outlooks/aeo/data/browser/>`_,(UNDER DEVELOPMENT) Scales future demand according to the AEO scenario
1733
,,,
18-
retirement, --," One of ""economic"" or ""technical"""," ""Sets the retirement method for converntional generators. If ``technical`` all generators ``p_nom_min`` are set to ``p_nom`` to prevent selling off of the asset. Retirements are then tracked in post-proccessing. If ``economic`` existing plants have their ``p_nom_min`` set as ``0``, ``p_nom_max`` set to ``p_nom``, and capital costs set to fixed costs. Generators with ``p_nom`` are then added to handle capacity expansion."""
34+
autarky,,,
35+
--enable,bool,``true`` or ``false``,Require each node to be autarkic by removing all lines and links.
36+
--by_country,bool,``true`` or ``false``,Require each region to be autarkic by removing all cross-border lines and links. ``electricity: autarky`` must be enabled.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,30 @@
11
,Unit,Values,Description
22
co2_sequestration_potential,MtCO2/a,"float","The potential of sequestering CO2 in the spatial scope per year"
3+
,,,
34
natural_gas,,,"Options when implementing natural gas network with sector wildcard 'G'"
45
-- allow_imports_exports,bool,"{true, false}","Allow international imports/exports"
56
-- cyclic_storage,bool,"{true, false}","Apply cyclic storage constraints on linepack and underground storage"
7+
,,,
68
heating,,,"Options when implementing heating network with sector wildcard 'H'"
79
-- heat_pump_sink_T,C,"float","The temperature heat sink used in heat pumps based on DTU / large area radiators. The value is conservatively high to cover hot water and space heating in poorly-insulated buildings"
10+
,,,
11+
demand:,,,Demand configuration options for each end use sector
12+
profile:,,,Demand profile source. ``EFS`` pulls future state level electrical demand data. ``eulp`` pulls End Use Load Profiles for 2018."
13+
--residential,--,"One of {``efs``, ``eulp``}",Datasource for residential electrical and cooling and heating data.
14+
--commercial,--,"One of {``efs``, ``eulp``}",Datasource for commercial electrical and cooling and heating data.
15+
--transport,--,"One of {``efs``}",Datasource for transportation electrical data.
16+
--industry,--,"One of {``efs``}",Datasource for industrial electrical data.
17+
scale:,,,Scales data. ``AEO`` will scale according to demand projections from the Annual Energy Outlook. ``EFS`` will scale according to growth rates from the Electrification Futures Study. Or can scale according to a user defined value.
18+
--residential,--,"One of {``efs``, ``aeo``}, or a float",(UNDER DEVELOPMENT) Used to scale residential demand profile data.
19+
--commercial,--,"One of {``efs``, ``aeo``}, or a float",(UNDER DEVELOPMENT) Used to scale commercial demand profile data.
20+
--transport,--,"One of {``efs``, ``aeo``}, or a float",(UNDER DEVELOPMENT) Used to scale transport demand profile data.
21+
--industry,--,"One of {``efs``, ``aeo``}, or a float",(UNDER DEVELOPMENT) Used to scale industrial demand profile data.
22+
disaggregation:,,,Dissagregation method. ``pop`` will dissagregate based on population from Breakthrough Energy.
23+
--residential,--,One of {``pop``},Method to dissagreagate residential load data.
24+
--commercial,--,One of {``pop``},Method to dissagreagate commercial load data.
25+
--transport,--,One of {``pop``},Method to dissagreagate transport load data.
26+
--industry,--,One of {``pop``},Method to dissagreagate industrial load data.
27+
scenario:,,,
28+
--efs_case,--,"One of {``reference``, ``medium``, ``high``}",(UNDER DEVELOPMENT) Extracts EFS data according to level of adoption
29+
--efs_speed,--,"One of {``slow``, ``moderate``, ``fast``}",(UNDER DEVELOPMENT) Extracts EFS data according to speed of electrification
30+
--aeo,--,One of the AEO scenarios `here <https://www.eia.gov/outlooks/aeo/data/browser/>`_,(UNDER DEVELOPMENT) Scales future demand according to the AEO scenario

docs/source/index.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,9 @@ license
7979
changelog
8080
contributing
8181
```
82+
83+
```{toctree}
84+
:hidden:
85+
86+
config-co2-base
87+
```

workflow/repo_data/config/config.default.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@ electricity:
6262

6363
extendable_carriers:
6464
Generator: [solar, onwind, offwind, offwind_floating, OCGT, CCGT, coal] #offwind, offwind_floating,
65-
StorageUnit: [4hr_battery_storage] # [Xhr-battery-storage (2-10 hours), H2]
66-
Store: [] #[H2]
67-
Link: [] #[H2 pipeline]
65+
StorageUnit: [4hr_battery_storage] # [Xhr-battery-storage (2-10 hours)]
66+
Store: []
67+
Link: []
6868

6969
demand:
7070
profile: efs # efs, eia
@@ -274,4 +274,4 @@ solving:
274274
glpk-default: {} # Used in CI
275275

276276
mem: 30000 #memory in MB; 20 GB enough for 50+B+I+H2; 100 GB for 181+B+I+H2
277-
walltime: "12:00:00"
277+
walltime: "12:00:00"

workflow/scripts/add_electricity.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
2222
.. seealso::
2323
Documentation of the configuration file `config/config.yaml` at :ref:`costs_cf`,
24-
:ref:`electricity_cf`, :ref:`load_cf`, :ref:`renewable_cf`, :ref:`lines_cf`
24+
:ref:`electricity_cf`, :ref:`renewable_cf`, :ref:`lines_cf`
2525
2626
**Inputs**
2727

0 commit comments

Comments
 (0)