Skip to content

Feature full rules#3

Merged
irm-codebase merged 119 commits into
mainfrom
add-powerplants-processing
Apr 4, 2026
Merged

Feature full rules#3
irm-codebase merged 119 commits into
mainfrom
add-powerplants-processing

Conversation

@irm-codebase

@irm-codebase irm-codebase commented Jul 20, 2025

Copy link
Copy Markdown
Collaborator

Fixes #1

Summary of changes in this pull request

  • Full processing of powerplants at global scale
  • Subdivided in to 7 categories (solar, wind, nuclear, hydropower, geothermal, bioenergy, fossil)
  • Solar has unique steps that calculate 'missing' rooftop PV capacity using statistics and a proxy

Reviewer checklist

  • INTERFACE.yaml is up-to-date with all relevant user resources and results.
  • The integration example is up-to-date with a minimal use-case of the module.
  • Module documentation is up-to-date.

@irm-codebase irm-codebase self-assigned this Jul 28, 2025
@irm-codebase

irm-codebase commented Jul 28, 2025

Copy link
Copy Markdown
Collaborator Author

@sjpfenninger the module is (for now) feature-complete.
All data (including test data and a sample of the alternative wind dataset) are in this zenodo repo: https://zenodo.org/records/16541007

Brief summary:

Necessary inputs

  • country borders
  • desired shapes / regions
  • proxy for rooftop PV

Configuration

  • 7 categories (solar, wind, bioenergy, fossil, geothermal, nuclear, hydropower)
  • 2 output options (adjusted or unadjusted to national statistics)
  • 4 scenarios of planned future capacity (historical, near-future, far-future, far-off-future)
  • Technologies and fuels within each category can be re-mapped to enable different degrees of simplification (e.g., 1 or 5 types of nuclear reactor, 5 or 1 types of coal, etc).
  • Users can remove or impute individual powerplants if necessary, before aggregation.
  • Adjustable reference year (max 2023, which is recommended).

Testing
Besides the integration test, you can test it locally at 3 levels of computational expense (MNE-1region, MEX-32 regions, Europe-30+ countries). Running these tests will also give you the report and the DAG of the module.

Missing stuff (not for this PR)

  • Documentation

@sjpfenninger sjpfenninger left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It generally looks great!

There is quite a lot going on, so a high-level overview of the steps, and the data sources used, in docs/index.md is really required.

I did not go very deep into code for imputing and the special treatment of solar, but the results that I looked at are credible.

Comment thread INTERFACE.yaml Outdated
Comment thread INTERFACE.yaml
Comment thread config/config.yaml Outdated
Comment thread workflow/envs/shapes.yaml Outdated
- xlrd = 2.0.1
- pip = 25.1.1
- pip:
- git+https://github.com/irm-codebase/gregor.git@fix-memory-explosion#egg=gregor

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If gregor needs to be dependency across multiple modules, it should become part of the org. Otherwise, this will be problematic again and again

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. I'm just waiting for the latest release, to use the official version.

Comment thread config/config.yaml Outdated
Comment thread tests/integration/test_config.yaml Outdated
Comment thread tests/integration/test_config.yaml Outdated
Comment thread workflow/scripts/prepare_solar_csp.py Outdated
Comment thread workflow/scripts/prepare_solar_csp.py Outdated
Comment thread workflow/scripts/prepare_wind_gwpt.py Outdated
@irm-codebase

irm-codebase commented Nov 16, 2025

Copy link
Copy Markdown
Collaborator Author

@sjpfenninger I've fixed most review comments. Two things are still missing.

  • Documentation is missing
  • REFERENCE_YR in _utils.py should change to DATASOURCE_YEAR or something. I also need to adjust the approach based on our recent conversation of reference year standardisation. Once we have clear agreement there it's not a hard thing to update.

@irm-codebase irm-codebase merged commit 61655a1 into main Apr 4, 2026
1 check passed
@irm-codebase irm-codebase deleted the add-powerplants-processing branch April 4, 2026 12:56
@irm-codebase

irm-codebase commented Apr 4, 2026

Copy link
Copy Markdown
Collaborator Author

Merged, with no release, to allow for the Modelblocks move, which will be the first release of the module.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Initial powerplants module version

3 participants