add Rock weathering as Carbon Dioxide Removal Technology#2229
Open
BertoGBG wants to merge 11 commits into
Open
add Rock weathering as Carbon Dioxide Removal Technology#2229BertoGBG wants to merge 11 commits into
BertoGBG wants to merge 11 commits into
Conversation
Ported from the a_CDRs development branch. Adds enhanced rock weathering (CDR via accelerated mineral carbonation) as an optional CDR technology: a single Link per node draws electricity and atmospheric CO2 into a fixed-capacity Store representing the cumulative mineral-carbonation potential, dimensioned from CORINE-eligible land area filtered by an annual-mean-temperature threshold (atlite cutout), rather than a bioclimate-zone raster. Shares the build_available_land aggregation step with the biochar/afforestation PRs (kept byte-identical to avoid conflicts whichever merges first); the availability-matrix step itself is rock weathering's own script since it needs the temperature exclusion the shared determine_availability_matrix.py doesn't have. Off by default (sector.rock_weathering: false). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
# Conflicts: # doc/release_notes.md
for more information, see https://pre-commit.ci
… global snakemake
for more information, see https://pre-commit.ci
Author
…ta v0.15.0 rename
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes # (if applicable).
Changes proposed in this Pull Request
This PR introduces Enhanced Rock Weathering as Carbon Dioxide Removal (CDR) technology, based on #2142
Rock weathering is a land-based CDR technology and its technical potential is related to the land availability. For this CDR and future land-based CDR the land available is calculated from the Corine Land Cover dataset using the new script build_available_land.py which is based on scripts/determine_availability_matrix.py.
In the case of Rock weathering it is introduced a filter for mean annual air temperature as weathering rates drop drastically at low temperatures. This is done in the scripts/determine_rock_weathering_availability_matrix.py which is essentially the same of the base determine_availability_matrix.py with added temperature threeshold.
#NOTE: rock_weathering's land-eligibility settings (corine, natura, cutout, excluder_resolution) live under renewable: rather than a CDR-specific namespace. This is because build_available_land.py/determine_rock_weathering_availability_matrix.py reuse the same atlite ExclusionContainer machinery and config shape that determine_availability_matrix.py already uses for onwind/offwind/solar, read generically via config_provider("renewable", w.technology, ...). It's a pragmatic reuse of existing land-eligibility infrastructure, not a claim that rock weathering is a power-generation technology.
Open to moving it to a separate namespace if preferred. It is especially worth deciding now, before biochar/afforestation following the same pattern will be added.
The actual implementation of the CDR technology is part of scripts/prepare_sector_network.py
The default.config.yaml contains the main parameters for calculating the CDR potential, and sets rock_weathering default to false.
NOTE on Technology-data version.
Data dependency note (technology-data)
add_rock_weathering() requires the "Enhanced Weathering" cost entries, which are not part of technology-data v0.14.0 — the version currently pinned in data/versions.csv (costs/"latest supported"). They're already included in
technology-data v0.15.0, already tagged/released.
However, I found v0.15.0 also includes a deliberate breaking rename (technology-data#264): "electricity grid connection" → "distribution grid reinforcement". That needs a corresponding one-line update in add_electricity_grid_connection() (prepare_sector_network.py) — small, but out of scope for the rock-weathering PR.
Checklist
Required:
doc/release_notes.md.If applicable:
scripts/lib/validation.doc/*.mdfiles.