diff --git a/config.default.yaml b/config.default.yaml index cd8850723..ce87ede99 100644 --- a/config.default.yaml +++ b/config.default.yaml @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: CC0-1.0 -version: 0.4.2 +version: 0.5.0 tutorial: false logging: diff --git a/config.tutorial.yaml b/config.tutorial.yaml index 845370c9e..7ada63032 100644 --- a/config.tutorial.yaml +++ b/config.tutorial.yaml @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: CC0-1.0 -version: 0.4.2 +version: 0.5.0 tutorial: true diff --git a/doc/conf.py b/doc/conf.py index 6f1edc018..cf4323277 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -65,7 +65,7 @@ copyright = f"{datetime.datetime.today().year}, {author}" # The full version, including alpha/beta/rc tags -release = "0.4.1" +release = "0.5.0" # The name of the Pygments (syntax highlighting) style to use. pygments_style = "sphinx" diff --git a/doc/release_notes.rst b/doc/release_notes.rst index e0909d539..9d0ec07c7 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -9,16 +9,28 @@ Release Notes Upcoming release ================ -Please add descriptive release notes like in `PyPSA-Eur `__. -E.g. if a new rule becomes available describe how to use it `make test` and in one sentence what it does. +This part of documentation collects descriptive release notes to capture the main improvements introduced by developing the model before the next release. **New Features and Major Changes** + +**Minor Changes and bug-fixing** + + +PyPSA-Earth 0.5.0 +================= + +**New Features and Major Changes (14th December 2024)** + +* Added capabilities of cross-sectoral modeling by merging with PyPSA-Earth-Sec model `https://github.com/pypsa-meets-earth/pypsa-earth-sec`__ + * The workflow configuration now supports incremental changes to the default configuration in the `config.yaml` and configfiles passed to snakemake via `--configfile myconfig.yaml`. Therefore the user may now only include settings in their `config.yaml` which differ from the default configuration. One can think of the new `config.yaml` as of a list of arguments in a python function that already have a default. So in principle the `config.yaml` could now be empty, and the workflow would still run. `PR #1053 `__ -* Local tests are now run with `make test`. This uses a `Makefile` which runs snakemake calls with different configurations. `PR #1053 `__ +* Include option of endogenous export, which optimizes the export quantity based on price signals `PR #1201 `__ -* Integrate RDIR into sector rules to store intermediate data in scenario folders `PR #1154 `__ +* Remove elec-based H2 and battery technologies before addition in `prepare_sector_network.py` script and fix bus names for links that models H2 repuspose network `PR #1198 `__ + +* Add electricity distribution grid with solar rooftop and home battery technologies `PR #1221 `__ * Include a dedicated cutout for North America in bundle_config.yaml `PR #1121 `__ @@ -26,21 +38,14 @@ E.g. if a new rule becomes available describe how to use it `make test` and in o * Include a dedicated cutout for Oceania in bundle_config.yaml `PR #1157 `__ -* Removed duplications of devendencies in environment.yaml `PR #1128 `_ +* Integrate RDIR into sector rules to store intermediate data in scenario folders `PR #1154 `__ -* Use BASE_DIR in rules and `_helpers.py` script for facilitate module import in subworkflow `PR #1137 `__ +* The computation of `hydro_profile.nc` in `build_renewable_profiles.py` is not differentiated whether alternative clustering is applied or not; the indexing of the different power plants in `add_electricity.py` is performed according to the bus either in case alternative clustering is applied or not and a `hydro_inflow_factor` is computed prior to the computation of `inflow_t` to split the inflow according to the capacity of each different unit of each power plant (if more units are present). `PR #1119 `__ +* Use BASE_DIR in rules and `_helpers.py` script for facilitate module import in subworkflow `PR #1137 `__ * Enable sector rules import in subworkflow `PR #1178 `__ -* Include option of endogenous export, which optimizes the export quantity based on price signals `PR #1201 `__ - -* Remove elec-based H2 and battery technologies before addition in `prepare_sector_network.py` script and fix bus names for links that models H2 repuspose network `PR #1198 `__ - -* Drop vrestil depenedncy `PR #1220 `__ - -* Add electricity distribution grid with solar rooftop and home battery technologies `PR #1221 `__ - **Minor Changes and bug-fixing** * The default configuration for `electricity:estimate_renewable_capacities:year` was updated from 2020 to 2023. `PR #1106 `__ @@ -49,16 +54,18 @@ E.g. if a new rule becomes available describe how to use it `make test` and in o * Enable configfile specification for mock_snakemake `PR #1135 `__ +* Removed duplications of devendencies in environment.yaml `PR #1128 `_ + * Fix pre-commit docformatter python issue. `PR #1153 `__ * Drop duplicate entries in `AL_production.csv` data used in `build_industry_demand` rule `PR #1143 `__ -* The computation of `hydro_profile.nc` in `build_renewable_profiles.py` is not differentiated whether alternative clustering is applied or not; the indexing of the different power plants in `add_electricity.py` is performed according to the bus either in case alternative clustering is applied or not and a `hydro_inflow_factor` is computed prior to the computation of `inflow_t` to split the inflow according to the capacity of each different unit of each power plant (if more units are present). `PR #1119 `__ - * Fix bugs in `prepare_sector_network.py` related to links with H2 buses and bug of re-addition of H2 and battery carriers in present `PR #1145 `__ * Drop entries that contain non-string elements in country column of `CO2_emissions_csv` data in `prepare_transport_data_input.py` script `PR #1166 `_ +* Local tests are now run with `make test`. This uses a `Makefile` which runs snakemake calls with different configurations. `PR #1053 `__ + * Adds `Dependabot `__ to keep GitHub actions up to date. `PR #1184 `__ * Adds code security scans via `CodeQL `__ to CI. `PR #1185 `__ @@ -69,6 +76,8 @@ E.g. if a new rule becomes available describe how to use it `make test` and in o * Restore string values of tech_colors in config file `PR #1205 `_ +* Drop vrestil dependency `PR #1220 `__ + * Remove duplicate entries from hydrogen export ports `PR #1233 `_ * Fix the environment placing a version limit to numpoly `PR #1237 `_ @@ -504,9 +513,7 @@ Release Process * Finalise release notes at ``doc/release_notes.rst``. -* Update ``envs/environment.fixed.yaml`` via - ``conda env export -n pypsa-earth -f envs/environment.fixed.yaml --no-builds`` - from an up-to-date `pypsa-earth` environment. Add license note at the top of the new yaml. +* Make sure thah pinned versions of the environments ``*-pinned.yaml`` in ``envs`` folder are up-to-date. * Update version number in ``doc/conf.py`` and ``*config.*.yaml``. diff --git a/test/config.custom.yaml b/test/config.custom.yaml index bc58c98da..a596a932d 100644 --- a/test/config.custom.yaml +++ b/test/config.custom.yaml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: CC0-1.0 ### CHANGES TO CONFIG.TUTORIAL.YAML ### -version: 0.4.1 +version: 0.5.0 run: name: "custom" diff --git a/test/config.landlock.yaml b/test/config.landlock.yaml index bc2f2707b..913211f29 100644 --- a/test/config.landlock.yaml +++ b/test/config.landlock.yaml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: CC0-1.0 ### CHANGES TO CONFIG.TUTORIAL.YAML ### -version: 0.4.1 +version: 0.5.0 countries: ["BW"] diff --git a/test/config.monte_carlo.yaml b/test/config.monte_carlo.yaml index 622371a98..034dd51cd 100644 --- a/test/config.monte_carlo.yaml +++ b/test/config.monte_carlo.yaml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: CC0-1.0 ### CHANGES TO CONFIG.TUTORIAL.YAML ### -version: 0.4.1 +version: 0.5.0 monte_carlo: options: diff --git a/test/config.test1.yaml b/test/config.test1.yaml index 2491699be..792f60767 100644 --- a/test/config.test1.yaml +++ b/test/config.test1.yaml @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: AGPL-3.0-or-later -version: 0.4.1 +version: 0.5.0 tutorial: true run: diff --git a/test/config.test_myopic.yaml b/test/config.test_myopic.yaml index 5fc393fde..d64971cde 100644 --- a/test/config.test_myopic.yaml +++ b/test/config.test_myopic.yaml @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: AGPL-3.0-or-later -version: 0.4.2 +version: 0.5.0 logging_level: INFO tutorial: true