Release Notes¶
Upcoming PyPSA-Zambia release¶
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¶
- Use separate custom powerplants datasets for dispatch validation (ERB 2023-2025 data with KGL as reservoir) and capacity expansion (IRP and proposed plants), configured via
data.custom-powerplantsin the respective config files PR #302
Minor Changes and bug-fixing¶
-
Added link to download PyPSA APP to docs PR #319
-
Fixed bug whereby docs page was not included into nav tree of readthedocs PR #328
PyPSA-Zambia v0.4¶
New Features and Major Changes¶
-
Enable expansion of biomass generators considering realistic regional values of biomass potential PR #220
-
Priority dispatch for existing thermal plants to reflect IRP assumptions PR #280
-
Add cross-scenario comparison plots functionality to allow for comparison across scenario runs PR #276
-
Fix run_all_scenarios to allow running all scenarios in a clean and robust way PR #243
Minor Changes and bug-fixing¶
-
Fixed double-annualisation of IRP capital costs for wind and solar by introducing
investment_annualisedconfig key, which applies pre-annualised costs directly without CRF PR #293 -
Added link to data versioning in docs, and tidied up the links and licenses in the data inventory PR #233
-
Added a baseline configuration for capacity expansion runs PR #242
-
Added proposed hydro powerplants projects from IPPPO to the custom powerplants file PR #242
-
Add GloFAS inflow datasets for different yearsPR #262
-
Fix CI by replacing unresponsive remote data sources PR #279
-
Drop isolated subnetworks from the network that do not meet threshold value greater than 100mw PR #272
-
Add future scenario configs for years 2025,2030, 2040 and 2050 PR #264
-
Created hydro validation config PR #231
-
Updated CI to support weather years greater than 2013 PR #231
-
Updated ReadMe and Docs PR #295
-
Updated Docs to include capacity expansion design PR #304
-
Fix affecting full reuse compliance of the project PR #298
-
Merge latest upstream changes from PyPSA-Earth PR #286
PyPSA-Zambia v0.3¶
New Features and Major Changes¶
-
Power Plant disaggregation allowing power plants to retain individual identities PR #153
-
Ability to use custom hydro inflow data in the workflow PR #178
-
Ability to specify cutout retrieval by year for specified years via config file PR #218
-
Merge upstream changes PR #221
-
Enable capacity expansion runs by adding a dedicated configuration file PR #219
Minor Changes and bug-fixing¶
- Add test to standard CI to ensure no workflow breaking changes are integrated when introducing custom configuration PR #201
Upcoming changes from upstream¶
This part of documentation collects descriptive release notes to capture the main improvements introduced by developing the model before the next release.
PyPSA-Zambia v0.2¶
New Features and Major Changes¶
-
Add regional-focused marginal costs, efficiencies and hydro reservoir data PR #171
-
Add regional-focused investment costs PR #171
Minor Changes and bug-fixing¶
-
advance testing infrastructure to update the objective reference values, ensure that run artifacts are always available, add a manual run trigger, and amend an example on adding a new test PR #166
-
Updated readme to align more closely with the Zambian context. Fixed overall consistency PR #170
-
Improved instructions for creating version release PR #181
PyPSA-Zambia v0.1¶
New Features and Major Changes¶
-
update Snakefile, add utility_custom_features.py, update prepare_network and add validation notebook PR #88
-
Provide a reproducible way to build a cutout PR #86
-
Retrieve hydrobasins, IRENA and landcover in separate snakemake module PR #74
-
Integrate African transmission line types into PyPSA line type library for improved regional representation.PR #128
-
Add voltage levels for the Zambian PowerGrid PR #122
-
Integrate a regional cutout into a testing workflow for the Zambia model PR #75
-
Adds a PyPSA-Zambia specific GitHub Actions workflow for the Zambia model PR #60
-
Only run Github Action test workflows when workflow-relevant files are changed PR #94
-
Add regional-focused cutouts to the databundles PR #87
Minor Changes and bug-fixing¶
-
Prevent pre-commit from providing automatic corrections to pull requests PR #89
-
Add release process PR template PR #126
-
Add line_types_data PR #123
-
Add a modelling note PR #120
-
Add maintenance note PR #119
-
Create templates for data collection PR #118
-
Fix linting issues PR #95
New Features and Major Changes from upstream¶
-
Add pixi as an alternative package manager for environment and dependency management, alongside the existing conda-based setup. PR #1789
-
Advance CI: add docs and lint workflows, skip test CI for doc-only PRs PR #1790
-
Add ammonia industry explicitly PR #1783
-
Attach wind and solar generators using real positions from
powerplants.csvinstead of using redistribution according to the populationPR #1622 <https://github.com/pypsa-meets-earth/pypsa-earth/pull/1622>__ -
Revise implementation of myopic optimization PR #1722
-
Migrate all cost data processing to
process_cost_data.pyPR #1719 -
Add the rule
retrieve_cutoutusing the same script fromretrieve_databundle_light. Thebundle_to_downloadexcludes cutouts whilecutout_to_downloadinclude only cutouts. The retrieved cutouts are then verified to ensure their total bounds match the outputs frombuild_shapes. The configenable: retrieve_cutoutallows users to switch off this rule after retrieval. PR #1767 -
Use IRENA statistics for 2023 to normalize countries hydropower generation data PR #1681
-
Drop use of override_components that is no longer needed in newer PyPSA versions PR #1699
-
Ensure connectivity of transformers in buses with several transformers PR #1706
Minor Changes and bug-fixing from upstream¶
-
Enable green-field capacity expansion of custom lines under construction PR #1778
-
Remove unused override_respot PR #1805
-
Integrate DemandCast dataset for electricity demand PR #1725
Minor Changes and bug-fixing
-
Replace deprecated UNCTAD urban population download endpoint in
prepare_urban_percent.pyPR #1881 -
Remove unused
add_extendable_generatorsfunction inadd_electricity.pyscript PR #1854 -
Adjusted the code to be more robust #1812
-
Avoid crash in
add_chp_constraintswhen the network has no links, supporting operational models without brownfield/expandable batteries, pumped storage, or DC links #1750 -
Add error when emission_extractor fails PR #1856
-
Generalize the hard-coded legacy name
africa_shapePR #1848 -
Reduce execution time of CI tests PR #1819
-
Avoid crash in
build_osm_networkwhen merging substations with the samestation_idiftag_substationorsymbolcontains missing OSM metadata PR #1818 -
Add CI to update reference objective values PR #1811
-
Fix
UnboundLocalErrorand back-pressure RHS leak inadd_chp_constraints#1814 -
Add config parameter
enable_electricity_connection_cost, which adds electricity grid connection costs to fixed capital costs for solar and onwind generators in prepare_sector_network PR #1810 -
Avoid crash in
add_chp_constraintswhen the network has no links, supporting operational models without brownfield/expandable batteries, pumped storage, or DC links PR #1750 -
Update configuration of powerplantmatching PR #1787
-
Avoid crash in add_electricity when no extendable generators are configured PR #1794
-
Include country-specific nuclear
p_max_puvalues based on IAEA dataset PR #1718 -
Included critical step in the documentation to confirm Terms and Conditions on Copernicus portal to allow for unrestricted use of API. PR #1785
-
Update biomass transport cost for Australia PR #1784
-
Convert dangling
custom_data.rstto MkDocs Markdown and add Custom Data Integration page to the User Guide PR #1767 -
Enhance CI test for myopic optimization (
test/config.myopic.yaml) by including additional horizon PR #1776 -
Add options to use custom shapes for offshore subregions PR #1769
-
In
cluster_network, replace custom voronoi polygon calculation function with Geopandasgdf.voronoi_polygonsmethod PR #1771 -
Add
autoas an option in renewable cutout selection, which directs to the cutout defined inatlite: default. This is executed using the functionupdate_cutout_config(config). Furthermore, improveterminate_if_cutout_exist(w)to be based purely on wildcards of the cutouts name that are to be downloaded. This is applied to bothbuild_cutoutandretrieve_cutout. PR #1767 -
Send information from
retrieve_databundle_light.pytodatabundle_cli.pyusing a temporary yaml file to make missing files consistent. PR #1767 -
Streamline subregions implementation, subdivide EEZs for subregions for
build_bus_regionsPR #1730 -
Restructure sector configuration and add sector documentation PR #1760
-
Use bus_regions instead of downloading gadm regions again in prepare_gas_network to avoid mismatches in case of simplifying PR #1662
-
Bump powerplantmatching to 0.8.0 PR #1702
-
Update reference values of the objective function in validator workflow and adjust format of the objective outputs in csv files PR #1705, PR #1733, and PR #1749
-
Update steel GEM data to version 2024 and use backup link for GEM pipelines PR #1708
-
Update eia hydro database up to 2023 PR #1703
-
Fix missing bus warning for hydrogen due to pypsa version change PR #1723
-
Fix warning in of H2 pipeline extension in solve_network PR #1732
-
Fix stochastic bundle names causing rerun of workflow every time PR #1746
-
Use production version of Zenodo instead of the Zenodo sandbox PR #1743
-
Bugfix creation of offshore regions: properly specify tolerance and options to eez PR #1739
-
Include solar rooftops as carrier constrained by surface area PR #1737
-
Fix clustering with gadm_layer_id 0 and 2 PR #1714
-
Add hydrobasins to rule input for build_renewable_profiles PR #1753
-
Make checking the need for exclusion rasters more explicit PR #1755
-
Dissolve geometries with duplicated GADM IDs, typical of regions with contested regions PR #1759
-
Update contribution guide PR #1803
-
Fix residual issues with the scaling of H2 demand for export PR #1692
-
Add module-level and missing function docstrings and type hints to
scripts/_helpers.pyPR #1857
PyPSA-Earth 0.8.0¶
New Features and Major Changes
-
Generalize usage of SEG option PR #1535
-
Added a hot-fix to handle UNSD data downtime causing CI to fail PR #1653
-
Account for existing batteries in powerplants file and improve logging on installed capacity PR #1623
-
Add an option to estimate solar-rooftop potentials using GlobalMLBuildingFootprints, a simplified data is provided for tutorials PR #1629
-
Align PyPSA-Earth costs with the reference units used in
technology-data, avoiding discrepancies when combining technologies with different original currency years PR #1604 -
Add an option to redefine countries into subregions in
cluster_networksPR #1542 -
Added Section covering Optimization for Energy Systems Models PR #1558
-
Add the configuration
co2_budgetto set COâ‚‚ emission targets in multiple planning horizon years PR #1553 -
Add pseudo
branch()to streamline snakemake workflow. Replace this with Snakemake implementation if Snakemake >= 8.3.0. Added an option to configure which sector components to include which when disabled, irrelevant rules are skipped automatically PR #1538 -
Extend functionality of isolated nodes to networks and fix to demand scaling when gdp or pop is empty PR #1540
-
Redesign temporal matching including yearly, monthly and hourly matching PR #1463
-
Add option to ignore loading network data in clean_osm_data PR #1580
-
Add ll wildcard option 'l{factor}' to enable line-wise transmission expansion, including optional lower and upper bounds PR #1592
-
Update
build_natura_raster.pyto function regardless of RAM size PR #1545 -
Enable config options to customize hydrogen and renewable carriers for temporal matching PR #1489
-
Revise CCL constraint and enhance it with an option to include existing capacities in the calculation PR #1610
Minor Changes and bug-fixing
-
Add heuristics to infer missing hydropower technologies: if the energy-to-capacity ratio exceeds the threshold defined in
hydro_min_inflow_pu, the plant is classified as a reservoir. Otherwise, it is treated as run-of-river PR #1684 -
Fix issues where gas and biomass powerplant capacity were not added in
add_existing_baseyear.py. Differentiateurban central solid biomass CHPwith non-CHPbiomassfor historical capacity PR #1678 -
Avoid creating duplicate conventional generators by setting
keep_existing_capacitiestofalse. Convert CCGT as links inprepare_sector_networkPR #1630 -
Refine load shedding capacity calculation to use bus-specific maximum loads instead of fixed large values, improving solver performance and numeric stability. Rename load shedding generator carrier to 'load shedding' (now) instead of just 'load' (previously) PR #1581
-
The configuration setting for
focus_weightshas been moved fromfocus_weights:tocluster_options: focus_weights:. Backwards compatibility to old config files is maintained PR #1565 -
Disable distribute_cluster only for one subnetwork and country PR #1539
-
Reintroduce sanitize_carriers and sanitize_location to reduce the number of warnings related to components with undefined carriers PR #1555
-
Fix the offwind depth calculation by providing the proper GEBCO file PR #1559
-
bug-fix in
clean_osm_data.pyso that cleaned data has the same number of circuits as in the raw data and assumptions are correctly applied PR #1552 -
Avoid using variable "nodes" in prepare_sector_network unless explicitly in the arguments PR #1575
-
Fix and reactivate the option for a custom busmap in
cluster_network.pyPR #1537 -
Create a section in the documentation to include information about custom data in the model PR #1571
-
Bug-fixing override co2opt in add_co2_budget PR #1597
-
Fix shipping and aviation implementation in multi-country models PR #1582
-
Increase robustness of geometry management by merging MultiLineStrings and adding tolerance in splitting linestrings PR #1608
-
Add geojson output to build_osm_network PR #1611
-
Add missing colors for energy carriers in the sector-coupled model PR #1625
-
Adjust default solver parameters for using HiGHS to improve convergence PR #1650
-
Fix Labeling of technologies PR #1644
-
fix workflow when augmmented_line_connection is false for Tunisia PR #1677
-
Copyedit + fixes of documentation, PR template PR #1675, PR #1674, and PR #1673
-
Update credits and cross-referals in the documentation PR #1614
-
Add configtable for some sector parameters PR #1494
-
Included a configuration option to quantitatively set the tolerance levels for simplifying GADM shapes PR #1147
PyPSA-Earth 0.7.0¶
New Features and Major Changes
-
Revise bundle_cutouts_northamerica PR #1479
-
Revise pinned to locked environments PR #1458
-
Update to
technology-dataversion v0.12.0 PR #1452 -
Add a command-line interface in
databundle_cli.pythat will be triggered ifretrieve_databundle_light.pyfails to retrieve all necessary files, providing a fallback to assist with debugging the issue PR #1366 -
Add Wikipedia as a source for the preparation of transport_data.csv PR #1410
-
Add a new page for sector-coupled tutorial PR #1374
-
Add an option to redefine countries into subregions which can be activated at various stages of the workflow. The subregions can be defined either by the GADM_ID or a custom map. Currently, it is only used in the
simplify_networkrule PR #1300 -
Drop duplication of retrieve_data and COST_DIR, add params and update technology-data version PR #1249
-
In alternative clustering, generate hydro inflows by shape and avoid hydro inflows duplication for plants installed in the same node PR #1120
-
Add a function to calculate length-based efficiencies and apply it to the H2 pipelines PR #1192
-
Support of Linopy for Power and Sector-Coupled Modelling and latest PyPSA version PR #1172
-
Update workflow to geopandas >= 1.0 PR #1276
-
Index hydro units by their location and drop use of alternative clustering option for hydro PR #1331
-
Introduce universal currency conversion to allow use of currencies other than EUR in input data and results PR #1319
-
Introduce US-specific cost configurations and update to
technology_data_versionv0.13.2 PR #1448 -
Add new hydrogen production technologies and reorganize existing structure PR #1227
-
Add all cutouts to sandbox zenodo PR #1688
Minor Changes and bug-fixing
-
Remove duplicates in environment file PR #1473
-
Fix fallback logic for missing currency data by correctly applying the default exchange rate and build cache for storing commonly used exchange rates PR #1492
-
Update code to reflect the Wikipedia source page for
prepare_transport_data_inputPR #1486 -
Add efficiency gain and growth rates for other energy consumption and fill missing NaNs with 0 PR #1468
-
Fix missing nodes in prepare_sector_network PR #1432
-
Fix missing country attribute in cluster_network PR #1443
-
Fix numpy TypeErrors PR #1430
-
Update description of the sector-coupled capabilities PR #1449
-
Modified how_to_contribute documentation page PR #1439
-
Redefine h2export wildcard_constraint to allow digits + optional dot followed by more digites (decimals) PR #1434
-
Update the AL_production.csv data from another source with more countries PR #1428
-
Fix params for prepare_sector_network script PR #1427
-
Add option to adjust load shedding costs PR #1403
-
Fix: Use the mean value instead of the sum to remove duplicates in the urban percentage data per country and year PR #1420
-
Fix prepare_ports script to generate both outputs if export ports with custom data is selected PR #1424
-
Update the applications list for PyPSA-Earth model PR #1413
-
Fix problem with a discontinued World Bank data source in prepare_transport_data_input PR #1410
-
Fix bug in myopic run PR #1369
-
Fix missing focus_weights on cluster_network params without augmented_line_connections, minimize warnings on subregions PR #1348
-
Align structure of the components with consistency checks in the updated PyPSA version PR #1315
-
Prevent computation of powerplantmatching if replace option is selected for custom_powerplants PR #1281
-
Fix overlapping bus regions when alternative clustering is selected PR #1287
-
Fix readthedocs by explicitly specifying the location of the Sphinx config PR #1292
-
Fix lossy bidirectional links, especially H2 pipelines, which would sometimes gain H2 instead of losing it PR #1192
-
Fix the need for administrative rights on Windows by changing all shadow directory settings for Windows in the Snakefile PR #1295 and PR #1301
-
Add CITATION.cff to guide users on how cite PyPSA-Earth. Insert the DOI badge in the README linking to the very first PyPSA-Earth paper PR #1316
-
Remove pyomo from cluster_network and introduce scip PR #1320
-
Fix mixup of plant locations for hydro inflow and inflow overestimation PR #1322
-
Fix namibia geofk, line country tag mismatch and minor fixes PR #1330
-
Minor revision docker workflow to have it working on upstream PR #1343
-
Fix the scaling factor for time-varying loads of the sector model PR #1372
-
Integrate EIA data for US-specific CAGR and fuel shares for the sector model PR #1372
-
Revise naming of Wikipedia data for vehicles PR #1422
-
Monte Carlo: move qmc.discrepancy to logging only PR #1418
-
Extending powerplant filter option to custom powerplants PR #1465
-
Fix an issue with the GEBCO file by limiting libgdal-core<3.10 PR #1519
-
Fix a naming issue with European cutout PR #1530
-
Avoid adding CO2 pipeline links when option is disabled PR #1504
-
Add possibility to overwrite cost attributes for sector model PR #1567
-
Update team description in the documentation PR #1670
PyPSA-Earth 0.6.0¶
New Features and Major Changes (24th December 2024)
-
Include option in the config to allow for custom airport data PR #1241
-
Added Dev Containers and docker as an option to get started with pypsa-earth PR #1228
-
Add a list of PyPSA-Earth applications in academic and industrial projects PR #1255
-
Computational improvements of build_osm_network PR #845
-
Boost computational performances of set_lines_ids with cKDTree by scipy PR #806
-
Boost computational performances of set_substation_ids using DBSCAN PR #799
-
Boost computational performances of fix_overpassing_line PR #807
Minor Changes and bug-fixing
-
Added electricity bus to Fischer-Tropsch in prepare_sector_network.py PR #1226
-
Update BW, NG and BJ tutorial databundles to include gadm-like sources from geoboundaries PR #1257
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.yamland configfiles passed to snakemake via--configfile myconfig.yaml. Therefore the user may now only include settings in theirconfig.yamlwhich differ from the default configuration. One can think of the newconfig.yamlas of a list of arguments in a python function that already have a default. So in principle theconfig.yamlcould now be empty, and the workflow would still run. `PR #1053](https://github.com/pypsa-meets-earth/pypsa-earth/pull/1053) -
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.pyscript 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
-
Include a dedicated cutout for Europe in bundle_config.yaml PR #1125
-
Include a dedicated cutout for Oceania in bundle_config.yaml PR #1157
-
Integrate RDIR into sector rules to store intermediate data in scenario folders PR #1154
-
Use BASE_DIR in rules and
_helpers.pyscript for facilitate module import in subworkflow PR #1137 -
Enable sector rules import in subworkflow PR #1178
Minor Changes and bug-fixing
-
The default configuration for
electricity:estimate_renewable_capacities:yearwas updated from 2020 to 2023. PR #1106 -
Fix the mismatch between buses and x, y locations while creating H2 Stores PR #1134
-
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.csvdata used in build_industry_demandrulePR #1143 -
Fix bugs in
prepare_sector_network.pyrelated 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_csvdata in prepare_transport_data_input.pyscriptPR #1166 -
Local tests are now run with
make test. This uses aMakefilewhich runs snakemake calls with different configurations. PR #1053 -
Adds Dependabot to keep GitHub actions up to date. PR #1184
-
Adds CI to update keep pinned environment files up to date. PR #1183 and PR #1210
-
Revise ports data for export in
add_export.pyrelated to sector model PR #1175 -
Restore string values of tech_colors in config file PR #1205
-
Drop vrestil dependency PR #1220
-
Include a configuration option to simplify / not simplify shapefiles based on a boolean value specified under build_shape_options:simplify_gadm
option in the config filePR 1138 -
Fix the mismatch between buses and x, y locations while creating H2 Stores PR #1134
-
Remove duplicate entries from hydrogen export ports PR #1233
-
Fix the environment placing a version limit to numpoly PR #1237
PyPSA-Earth 0.4.1¶
New Features and Major Changes (19th September 2024)
- Add functionality to modify the cost assumptions using config files PR #1097
Minor Changes and bug-fixing
- Remove unused
countries_codesargument from load_GDPfunction inbuild_shapes.pyscript, which was not being called as intended with positional argumentsPR #1069 - Fixed problematic float parsing (
_parse_float) inclean_osm_data.pyto make sure all OSM lines are correctly accounted for PR #1089 - Fix minor bug for advanced csp implementation PR #1076
- Fix minor bug in
build_powerplants.pywhere the gas technology assignment incorrectly introduced NaN values for all powerplant technologies. PR #1102 - Add Ghana-specific config file supplemented by an exception in
.gitignorePR #1861
PyPSA-Earth 0.4.0¶
New Features and Major Changes (27th July 2024)
-
Improve Monte Carlo feature with more distributions types, independent by PyPSA component. PR #930
-
Introduce flexible regional selection of the demand files of GEGIS. PR #991
-
Generalize line types for AC and DC networks. PR #999
-
Add an option to merge isolated networks into respective backbone networks by countries. PR #903
-
Add an option to use csv format for custom demand imports. PR #995
Minor Changes and bug-fixing
-
Minor bug-fixing to run the cluster wildcard min PR #1019
-
Add option to adjust load scale for each individual countries PR #1006
-
Minor bug-fixing to get the generalised line types work for DC lines and AC lines. PR #1008 , PR #1011 and PR #1013
-
Minor bug-fixing for GADM_ID format naming. PR #980, PR #986 and PR #989
-
Fix download_osm_data compatibility for earth-osm v2.1. PR #954 and PR #988
-
Improve geometry filtering in clean_osm_data. PR #989
-
Revise bus region definition by gadm. PR #1001
-
Documentation improvements. PR #1007
-
Remove unnecessary imports. PR #1020
-
Resolve pandas deprecation warning. PR #1023
-
Create files where the code outputs the value of the objective function. PR #1033
-
Introduce versioning of the configuration files. PR #1058
-
Fix bug for hydro inflow normalization for gadm regions (alternative clustering). PR #1057
-
Minor bug-fixing for s_nom_min. PR #961
PyPSA-Earth 0.3.0¶
New Features and major Changes (24th December 2023)
-
Keep all traceback in logs. PR #898
-
Function added in clean_osm_data script to allow the use of custom network data instead or on-top of OSM data. PR #842
-
Improve retrieve_databundle to prioritize smallest databundles PR #911
-
Add functionality to load shapefiles for hydrobasins directly from the data source directly PR #919
-
Use new CC0 v1 dataset for the natura input and automate download of WDPA protected planet data PR #913
Minor Changes and bug-fixing
-
Revise databundles and improve logging in retrieve_databundle PR #928
-
Improve documentation on installation and short tutorial PR #918
PyPSA-Earth 0.2.3¶
New Features and major Changes (19th October 2023)
-
Add params: section in rule definition to keep track of changed settings in config.yaml. PR #823 and PR #880
-
Fix Natural Gas implementation in "add_electricity" to avoid "Natural Gas" to be filtered out PR #797
-
Improve network simplification routine to account for representation HVDC as Line component PR #743
-
Remove deprecated pypsa.networkclustering approach and replace by pypsa.clustering.spatial PR #786
-
Drop code-dependency from vresutil PR #803
-
Add a check to ensure match between a cutout and a modelled area PR #805
-
Support renewables or renewable expansion to meet a desired share of total load. PR #793
-
Add NorthAmerican and Earth cutouts, and improve African cutout PR #813
-
Bug fixing to restore Africa execution and improve performances PR #817
-
Add Asian cutout PR #826
-
Add a cutout for Western Asia PR #837
-
Add osm_config yaml file PR #822
-
Re-enable offshore wind and revise hydro PR #830
-
Add databundle of cutouts for Kazakhstan for CI test PR #856. The bundle (~5MB) is used in pypsa-kz-data repository during CI tests.
-
Option to specify a global upper capacity limit (using existing BAU functionality) PR #857
-
Add cluster options
all,minand flexPR #848 -
Add commit id of pypsa earth in the n.meta of the .nc file per default PR #863
PyPSA-Earth 0.2.2¶
New Features and major Changes (8th July 2023)
-
Fix Natural Gas assignment bug in build_powerplants rule PR #754.
-
Add GEM datasets to the powerplantmatching config PR #750.
-
Add merge and replace functionalities when adding custom powerplants PR #739. "Merge" combined the powerplantmatching data with new custom data. "Replace" allows to use fully self-collected data.
-
Add functionality of attaching existing renewable caapcities from custom_powerplants.csv. PR #744. If custom_powerplants are enabled and custom_powerplants.csv contains wind or solar powerplants, then p_nom and p_nom_min for renewables are extracted from custom_powerplants.csv, aggregated for each bus, and set.
-
Fix dask parallel computations for e.g. cutouts calculations. Now again more than 1 core will be used when available that can lead to ~8x speed ups with 8 cores PR #734 and PR #761.
-
Add the usage of custom rules. Custom rule files must be specified in the config as a list, e.g. custom rules: ["my_rules.smk"]. Empty by default (i.e. no custom rules). PR #755
-
Add trailing whitespace linter which removes unnecessary tabs when running
pre-commitPR #762 -
Add codespell linter which corrects word spellings PR #763
-
Remove RES addition functionality from attach_conventional_generators PR #769. Currently wind and solar powerplants stored in powerplants.csv are added to the network by attach_conventional_generators.
-
Add functionalities to download and extract emission of countries. [PR #748 https://github.com/pypsa-meets-earth/pypsa-earth/pull/748`
PyPSA-Earth 0.2.1¶
New Features and major Changes (20th May 2023)
-
Fix bug. Add graphviz to docs to compile workflows in the documentation and adapt release notes `PR #719](https://github.com/pypsa-meets-earth/pypsa-earth/pull/719)
-
License change from GPL to AGPL as voted here
-
Fix hard-coded simplification of lines to 380kV PR #732. It is now possible to simplify the network to any other voltage level with config option [base_voltage`.
-
Fix a KeyError in simplify_links caused by misinterpretation of AC lines as DC ones `PR #740](https://github.com/pypsa-meets-earth/pypsa-earth/pull/740).
PyPSA-Earth 0.2.0¶
New Features and major Changes (7th May 2023)
-
Finalize package restructuring PR #462
-
Fix made in config.default and config.tutorial changing Monte-Carlo from true to false PR #463
-
Add new config test design. It is now easy and light to test multiple configs PR #466
-
Revision of documentation PR #471
-
Move to new GADM version PR #478
-
Update natura tiff to global scale, revise default databundle description and remove old limitations to environment PR #470 and PR #500
-
Update docs on installation PR #498
-
Update docs on tutorial PR #507
-
Moved from pycountry to country_converter PR #493
-
Fix workflow in order to solve the landlock countries bug PR #481 and PR #517
-
Add meta data of config to pypsa network per default. Allows keeping track of the config used to generate the network PR #526
-
Fix renewable profiles generation for possible data loss in ERA5-derived cutouts PR #511
-
Adapt dependencies of powerplantmatching to the PyPSA main branch PR #527
-
Calculate the outputs of retrieve_databundle dynamically depending on settings PR #529
-
Fix shape bug in the Voronoi cell creation PR #541
-
Adapt dependencies on PyPSA to the PyPSA main branch PR #538
-
Fix None geometries into regions PR #546
-
Swap OpenStreetMap python download interface from esy-osm to earth-osm PR #547
-
Restore saving of logger outputs PR #559
-
Techno-economic parameters of technologies (e.g. costs and efficiencies) can be now retrieved from a separate repository PyPSA/technology-data that collects assumptions from a variety of sources. It is activated by default with
enable: retrieve_cost_data: trueand controlled withcosts: year:andcosts: version:. The location of this data changed fromdata/costs.csvtoresources/costs.csv``. Adapted from [#184]. -
Added approaches to process contended areas PR #572
-
Improve parallel capabilities of build_shapes to enable parallelization even within a country shape PR #575
-
Add pypsa-eur scenario management PR #577
-
Minor bug fixing and improvements PR #580
-
Streamline default configuration file PR #589
-
Fix rule run_test, remove code duplication, add gitstars to readme `PR #593 https://github.com/pypsa-meets-earth/pypsa-earth/pull/593[
-
Add new build_demand_profiles.py. It builds demand_profiles.csv and allow easier interfacing of new data `PR #582](https://github.com/pypsa-meets-earth/pypsa-earth/pull/582)
-
Upgrade technology data to v0.5.0 PR #600
-
Update simplify_network and cluster_network according to PyPSA-Eur developments PR #597
-
Revise OSM cleaning to improve the cleaning process and error resilience PR #620
-
Fix isolated buses when simplifying the network and add clustering by networks PR #632
-
Include hydro runoff normalization PR #631
-
Add REUSE compatibility PR #651
-
Fix bug of missing GitHub issue template PR #660
-
Fix GADM bug when using alternative clustering and store gadm shape with two letter instead of three letter ISO code PR #670
-
Fix GADM naming bug related to level-2 clustering PR #684
-
Fix append bug in build_powerplants rule PR #686
-
Add zenodo_handler.py to update and upload files via code PR #688
-
Fix a few typos in docstrings PR #695
-
Update and improve configuration section in documentation PR #694
-
Improve earth coverage and add improve make_statistics coverage PR #654
-
Fix bug for missing renewable profiles and generators PR #714
-
Update instructions on how to write documentation. PR #720
-
Enable workflow to run including countries with empty OSM data, test on all UN countries [PR #701 https://github.com/pypsa-meets-earth/pypsa-earth/pull/701`__
PyPSA-Earth 0.1.0¶
Model rebranded from PyPSA-Africa to PyPSA-Earth. Model is part of the now called PyPSA meets Earth initiative which hosts multiple projects.
New features and major changes (10th September 2022)
-
Identify DC lines but temporary transform them back into AC `PR #348](https://github.com/pypsa-meets-earth/pypsa-earth/pull/348)
-
Get renewable capacities from IRENA statistics PR #343
-
Bug fixing (script retrieve_databundle) and rule run_test to ease testing PR #322
-
Handling non-numerical entries in raw OSM data: PR #287
-
General user experience improvements: PR #326
-
Fix minor validation notebook inaccuracy: PR #332
-
Make clean_osm_data script work with land-locked country: PR #341
-
Add demand validation notebook for 2030 prediction: PR #344
-
Revise build_powerplants with new version of powerplantmatching: PR #342
-
Fix typo causing the wrong coordinate reference systems (CRS) to be used when determining available land types using CLC PR #345
-
Add high resolution population raster via API: PR #325
-
Fix bounds of cutouts aka weather cells: PR #347
-
Add new countries and update iso code: PR #330
-
Fix solar pv slope and add correction factor for wake losses: PR #335
-
Add renewable potential notebook: PR #351
-
Make cutout workflow simpler: PR #352
-
Add option to run workflow without pop and gdp raster: PR #353
-
Add latitude_optimal to get optimal solar orientation by default: Commit 1b2466b
-
Harmonize CRSs by options: PR #356
-
Fix powerplantmatching problem for DRC and countries with multi-word name: PR #359
-
Change default option for build_natura: PR #360
-
Add renewable potential validation notebook and update others: PR #363 and PR #369
-
Constrain rasterio version and add plotting dependencies: PR #365
-
Change solar power density form 1.7 to 4.6 MW/km2: PR #364
-
Bug fixing of unexpected float value in build_powerplants: PR #372 and PR #373
-
Revise hydro capacities, add hydro validation notebook and minor revisions: PR #366
-
Revise dropnan for regions: PR #366
-
Fix bug in GADM clustering. Missing crs input: PR #379
-
Fix bug in inline documentation for GADM and Voronoi clustering: PR #384
-
Fix simple clustering enabling the creation of networks such regions_onshore_elec_s54_14.nc
:PR #386 -
Add transformer components which connect different voltage level lines: PR #389
-
Enable the use of a float value for the scale in load_options: PR #397
-
Add operational reserve margin according to PyPSA-Eur: PR #399
-
Add optional normalization of hydro inflows by hydro_capacities or eia stats: PR #376
-
Enable DC carrier in the network model and include converters into the model: PR #392
-
Implement PyPSA-Eur improvements. Add gas limit constraints, add marginal cost sweeps wildcard, add and harmonize aggregation strategies, improve config usability by carrier clarifications, ease debugging by removing snakemake inputs from functions: PR #402
-
Fix and add docs. Fix incomplete tutorial, recommend mamba for installation, add YouTube videos PR #412 and PR #423
-
Restructure the package to ease readability and fix google drive downloading method: PR #355
-
Update config links to adhere to the new structure of the package: PR #420
-
Improve and finalize capacity_validation notebook: PR #406 and PR #455
-
Fix hydro technology with the GADM clustering approach: PR #428
-
Adapt for a custom shapefile for MA as a first step towards generalizing the feature: PR #429
-
Improve line augmentation for network expansion explorations. Use k-edge augmenation for AC lines and random sampling for long HVDC lines: PR #427
-
Fix minor bug in clustering about missing prefix assignment PR #434
-
Fix major aggregation bug and adjust config: PR #435
-
Fix nan techtype and wrong tech for nuclear which improves the representation of existing powerplants PR #436
-
Add notebook to compare results by different solvers PR #421
-
Fix overestimation of the network capacity by simplify network PR #443
-
Fix output electricity column in clean_data PR #441
-
Bug fixing to download global OSM and shape data: PR #433
PyPSA-Africa 0.0.2¶
New features and major changes (6th April 2022)
-
Templates for issue, PR, feature request: PR #216
-
Attach hydro enabled with all hydro types: PR #232
-
Parallel download of osm data: PR #232
-
Decoupling iso coding from geofabrik; rule download_osm_data extended to the world: PR #236
-
Rule build_shape extended to the world: PR #236
-
Validation of geofabrik links: PR #249
-
Generalized version of Data retrieval with google and zenodo hosting platforms: PR #242 and PR #260
-
Fix random state for kmean clustering, adopted from PR 313
-
Implement area exclusions based on land type using the Copernicus Land Cover: PR #272.
-
Flexible demand extraction for multiple years across the globe: PR #275
-
Add CI caching and windows CI: Commit CI windows, PR #277.
-
Change config to allow weather year extraction from snapshots as default: PR #301.
-
Replace Restyler by .pre-commit [PR #307 https://github.com/pypsa-meets-earth/pypsa-earth/pull/307`__.
-
Solved the issue of "overpassing nodes" and restyling osm_build_network: `PR #294](https://github.com/pypsa-meets-earth/pypsa-earth/pull/294)
-
Revise deprecations in build_shape: PR #315
PyPSA-Africa 0.0.1¶
This is the first release of PyPSA-Africa which heavily builds on PyPSA-Eur.
New features and major changes (24th December 2021)
-
Include new data streams for Africa model
-
Demand data implementation from GEGIS. Demand can be chosen for weather years and socioeconomic [ssp` scenarios
-
Network is built, cleaned and processed solely on `OpenStreetMap data](https://github.com/pypsa-meets-earth/pypsa-earth/blob/9acf89b8756bb60d61460c1dad54625f6a67ddd5/scripts/osm_pbf_power_data_extractor.py)
-
Voronoi regions, where data is aggregated towards, can be replaced by administrative GADM zones
-
Augmented line expansion feature can make network meshed, connect isolated mini-grids to the main-grid.
-
Community moved to Discord.
-
Most meeting and agenda's are open.
Release Process¶
-
Checkout a new release branch [
git checkout -b release-v0.x.x. -
Finalise release notes at
doc/release_notes.rst. -
Make sure thah pinned versions of the environments
*-pinned.yamlinenvsfolder are up-to-date. -
Update version number in
doc/conf.py,default.config.yaml,tutorial.config.yamlandtest/config.*.yaml. -
Open, review and merge pull request for branch
release-v0.x.x. Make sure to close issues and PRs or the release milestone with it (e.g. closes #X). Run `pre-commit run --all`` locally and fix any issues. -
Update and checkout your local
mainand tag a release withgit tag v0.x.x,git push,git push --tags. Include release notes in the tag message using Github UI. -
Upload code to `zenodo code repository](https://doi.org) with GPLv3 license.
-
Create pre-built networks for [
config.default.yamlby running `snakemake -j 1 extra_components_all_networks``. -
Upload pre-built networks to `zenodo data repository](https://doi.org/10.5281/zenodo.3601881) with CC BY 4.0 license.
-
Send announcement on the PyPSA-Earth Discord channel.