Skip to content

Commit 51404fa

Browse files
authored
Merge pull request #1 from calliope-project/feature-initial-module
Feature initial module
2 parents 9b75cb4 + 8e5e24d commit 51404fa

35 files changed

Lines changed: 13115 additions & 107 deletions

.pre-commit-config.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ repos:
4242
hooks:
4343
- id: codespell
4444
files: .*\.(py|smk|md)$|^Snakefile$
45+
args: # these come from CO2Stop itself
46+
- --ignore-words-list=aproximated
4547

46-
ci: # https://pre-commit.ci/
48+
ci: # https://pre-commit.ci/
4749
autoupdate_schedule: monthly

INTERFACE.yaml

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
11
# Module Input-Output structure for automated doc. generation
22
resources:
33
user:
4-
user_message.md: "Example file emulating external files requested from a user."
5-
automatic:
6-
dummy_readme.md: "Example file emulating downloads determined by internal settings."
4+
"{shapes}/shapes.parquet": |
5+
Region geometries in parquet format.
6+
These should conform to the schema defined in https://github.com/calliope-project/module_geo_boundaries/.
77
results:
8-
combined_text.md: "Example file emulating module results."
8+
"{shapes}/{scenario}/{cdr_group}.parquet": |
9+
parquet data table with aggregated CO2 sequestration potential per shape in MtCO2.
10+
This is the total potential, not an annual rate!
11+
"{shapes}/{scenario}/totals.parquet": |
12+
parquet data table with the sum of all cdr_groups.
913
10-
# Wildcard example:
11-
# resources:
12-
# user:
13-
# shapes_{resolution}.geojson: region geometries.
14-
# automatic:
15-
# technology_data.parquet: dataset with technology characteristics.
16-
# results:
17-
# '{resolution}/tech_capacity.parquet': description of output data.
18-
# '{resolution}/results_image.png': description of output image.
19-
# wildcards:
20-
# resolution: description of the wildcard’s purpose.
14+
wildcards:
15+
shapes: name of the provided shapefile case.
16+
scenario: requested CO2Stop CDR scenario. Can be 'low', 'medium', or 'high'.
17+
cdr_group: type of CO2 storage asset. Can be 'aquifer', 'gas', or 'oil'.

README.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,6 @@ For testing, simply run:
2626
pixi run test-integration
2727
```
2828

29-
To view the documentation locally, use:
30-
31-
```shell
32-
pixi run serve-docs
33-
```
34-
3529
To test a minimal example of a workflow using this module:
3630

3731
```shell

config/config.yaml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,19 @@
11
# A minimal example of how to configure this module
2-
dummy_text: This is a user input.
2+
crs:
3+
geographic: "epsg:4326"
4+
projected: "epsg:3035"
5+
6+
imputation:
7+
bounds_mtco2:
8+
co2stop_polygons:
9+
# Constrain rows within the CO2Stop database
10+
lower: 0
11+
upper: 300000
12+
aggregated_polygons:
13+
# Constrain rows within your requested regions
14+
lower: 5
15+
upper: 5000000 # TtCO2 -> essentially no upper limit
16+
filter:
17+
surface_issues: False
18+
subsurface_issues: False
19+
artificial_polygons: True

docs/README.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Module CO2Stop - Carbon Dioxide Removal
2+
3+
Welcome to the documentation of the `module_co2stop_cdr` data module!
4+
This module performs geospatial aggregation of $CO_2$ sequestration potentials for Europe using the [CO2Stop dataset](https://energy.ec.europa.eu/publications/assessment-co2-storage-potential-europe-co2stop_en).
5+
6+
Please consult the [specification guidelines](./specification.md) and the [`clio` documentation](https://clio.readthedocs.io/) for more information.
7+
8+
## Overview
9+
10+
![rulegraph](./rulegraph.png)
11+
12+
The analysis of the module is structured as follows:
13+
14+
1. The CO2Stop dataset is downloaded and cleaned up following methods described in the [JRC - CO2 transport report](https://publications.jrc.ec.europa.eu/repository/handle/JRC136709).
15+
Storage units and traps are removed according to the following.
16+
- Cases that were not assessed or for which data was undisclosed.
17+
- Ambiguous duplicates (these are two small traps located in the north sea with repeated IDs and capacities).
18+
- Optionally, details from the dataset are used to remove the following, if configured:
19+
- Cases marked as having surface issues (e.g., a protected area).
20+
- Cases marked as having subsurface issues (e.g., ground water).
21+
- Artificial polygons created by the CO2Stop authors (i.e., the true spatial extent is unknown).
22+
1. To avoid double-counting, traps within the remaining storage units are removed as their capacity is already included in the storage unit total.
23+
Please consult the [CO2Stop Final report](https://energy.ec.europa.eu/publications/assessment-co2-storage-potential-europe-co2stop_en) (section 2.3.1) for details.
24+
1. Three scenarios (`low`, `medium`, `high`) are created for each sequestration type (`aquifer`, `gas`, `oil`) for the remaining CO2Stop data.
25+
User-configured lower and upper bounds are applied per-polygon at this stage.
26+
See `bounds_mtco2: co2stop_polygons` in the configuration schema for more information.
27+
![scenarios](./aquifer_scenarios.png)
28+
1. The resulting sequestration potential is aggregated per scenario into user provided shapes.
29+
These shapes should follow the schema provided by the [geo-boundaries module](https://github.com/calliope-project/module_geo_boundaries/tree/v0.1.6).
30+
31+
>[!WARNING]
32+
>Estimates from the CO2Stop dataset are biased by disclosure (or lack thereof), and the filtering settings used.
33+
>Some countries are affected more than others, with Germany being heavily affected by lack of disclosure.
34+
>We provide automated figures so users can evaluate how these aspects affect polygon selection.
35+
>
36+
>Below is an example for storage unit aquifers where only undisclosed and artificial polygons have been removed:
37+
>![filters](./aquifer_kept.png)
38+
39+
## Configuration
40+
41+
See [the configuration README](./../config/README.md).
42+
43+
## Outputs
44+
45+
See the [interface file](./../INTERFACE.yaml).
46+
47+
## Data sources
48+
49+
- Poulsen, N., Holloway, S., Neele, F., Smith, N.A., Kirk, K., 2012. CO2StoP Executive Summary (No. ENER/C1/154-2011-SI2.611598). GEOLOGICAL SURVEY OF DENMARK AND GREENLAND.
50+
51+
## References
52+
53+
This module relies on code and methods from the following sources.
54+
55+
- [Ruiz Manuel, I. clio - module_geo_boundaries [Computer software].](https://github.com/calliope-project/module_geo_boundaries/)

docs/aquifer_kept.png

294 KB
Loading

docs/aquifer_scenarios.png

102 KB
Loading

docs/index.md

Lines changed: 0 additions & 4 deletions
This file was deleted.

docs/rulegraph.png

19.3 KB
Loading

0 commit comments

Comments
 (0)