Skip to content

feat: process and prepare PECD capacity factor time series for offshore generators #53

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 24 commits into
base: master
Choose a base branch
from

Conversation

daniel-rdt
Copy link

@daniel-rdt daniel-rdt commented May 27, 2025

Closes #49. This PR is necessary for addressing #48.

Changes proposed in this Pull Request

This PR prepares the workflow to use PECD data as input for renewable capacity factor time series of offshore generators.
The openly published TYNDP 2024 input data from PECD includes renewable time series for the years, 2030, 2040 and 2050.

To reproduce and test the implementation of this PR, you can run the 'Make' Rule:

make tyndp

To produce a dag of the adapted workflow of this PR with PECD profiles instead of default atlite renewable profiles as specified in the configuration file, you can call:

snakemake solve_sector_networks --configfile config/config.tyndp.yaml --dag | dot -Tsvg > dag.svg

The PECD renewable profiles output files resources/profile_pecd_{clusters}_{technology}.nc have the following structure:

===================  ====================  =========================================================
Field                Dimensions            Description
===================  ====================  =========================================================
profile              year, bus, bin, time  the per unit hourly availability factors for each bus
===================  ====================  =========================================================

Tasks

  • Prepare workflow by skipping default renewables profiles in the workflow
  • Add rule to clean PECD data
  • Add rule to process cleaned PECD data into one renewable profile xarray Dataset
  • validate the workflow for offshore input data
  • Add retrieve of PECD data from gdrive until data is validated and added to Zenodo data bundle
  • Add documentation to the configuration and rules doc files
  • add release note
  • add 2050 in PECD renewable profiles explicitly
  • early filter for snapshots when cleaning data
  • differentiate renewable carrier names for tyndp from renewable profiles

Workflow

  1. (new) configuration option electricity/tyndp_renewable_profiles where one can choose whether to use pecd renewable profiles and for which technologies. There on can specify both the profile name and the TYNDP technologies associated to that profile.
  2. Adapted inputs to rules add_electricity, prepare_sector_network and add_brownfield based on this new setting
  3. (new) rule and script clean_pecd_data
    • Loads and cleans the available PECD capacity factor generation time series based on PECD weather data.
    • The rule is executed for a given technology, and planning horizon.
    • Data is available for climate years between 1982-2019.
    • For intermediate planning_years, fallback is to the previous available year.
  4. (new) rule and script build_renewable_profiles_pecd
    • Creates renewable profiles for each region from PECD and TYNDP input data containing the available generation time series (based on PECD weather data) from the node for onshore wind, AC-connected offshore wind, DC-connected offshore wind and solar PV generators.
    • The rule is executed for a given technology and combines all planning_horizon years into one xarray Dataset for this technology
    • For planning_year 2050, fallback is to 2040 because of missing data for 2050.
  5. Hotfix: In add_existing_baseyear and add_brownfield skipped addition of existing renewables and p_max_pu respectively for specified technologies that use pecd data until their TYNDP generator components are added to the system

Open Issues

  • The openly published PECD input data from the TYNDP 2024 downloads page does not cover all offshore buses for the year 2040 and 2050.
  • While for 2030 the available PECD offshore zones match with those 45 zones where there is actually any zonal potential specified in the offshore generators input file, for 2040 data is only available for the same 45 offshore zones that are also available for 2030.
  • For 2050, data for only very few Offshore zones are available in the input dataset (namely: BEIOH01, BEOH001, DEOH001). Therefore, for planning_horizon 2050, fallback is the PECD data from 2040.

Notes

The updated workflow is described by the following simplified dag showcasing all the rules between the clean_pecd_data rules and the solve rules when calling
snakemake solve_sector_networks --configfile config/config.tyndp.yaml

image

Checklist

  • I tested my contribution locally and it works as intended.
  • Code and workflow changes are sufficiently documented.
  • Changed dependencies are added to envs/environment.yaml.
  • Changes in configuration options are added in config/config.default.yaml.
  • Changes in configuration options are documented in doc/configtables/*.csv.
  • Changes in configuration options are added in config/test/*.yaml.
  • Sources of newly added data are documented in doc/data_sources.rst.
  • A release note doc/release_notes.rst is added.

@daniel-rdt daniel-rdt requested a review from tgilon May 27, 2025 13:57
@tgilon tgilon added this to the Release v0.2 milestone May 28, 2025
Copy link
Collaborator

@tgilon tgilon left a comment

Choose a reason for hiding this comment

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

I just wanted to share a few thoughts from our last chat. The main request is for a definition of TYNDP specific renewables carriers.

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.

PECD Offshore capacity factors
2 participants