pypsa-eur/doc/release_notes.rst
FabianHofmann 1ecca802f3 Nomopyomo (#116)
* play around, add new nomopyomo feature

* fix constraints

* fix constraints

* set solver to cbc due to error with gurobi900

* update environments
shift lv and lc constraints to prepare_network
start modifying opt constraints

* correct BAU

* correct environment

* fix import

* fix SAFE constraint

* fix battery charger ratio constraint

* code cleaning

* restructure solve scripts

* fix CCL constraint

* adjust doc

* solve_network: update doc string

* revert unwanted changes

* update environment.yaml

* update environment.yaml II

* force conda update, revert last commit

* revert last change, use other channel priority

* remove trace_sove_network

* add skip_iterating and track_iterations options to config file

* revert last commit, fix environment to current pypsa master

* line break, trigger CI with updated pypsa

* nomopyomo: PR review

Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2020-02-10 12:06:43 +01:00

5.0 KiB

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> </head>

Release Notes

PyPSA-Eur 0.2.0 (TBD)

  • The optimization is now performed using the pyomo=False setting in the :func:`pypsa.lopf.network_lopf`. This speeds up the solving process significantly and consumes much less memory. The inclusion of additional constraints were adjusted to the new implementation. They are all passed to the :func:`network_lopf` function via the extra_functionality argument. The rule trace_solve_network was integrated into the rule :mod:`solve_network` and can be activated via configuration with solving: options: track_iterations: true. The charging and discharging capacities of batteries modelled as store-link combination are now coupled (#116).

    System Message: ERROR/3 (<stdin>, line 8); backlink

    Unknown interpreted text role "func".

    System Message: ERROR/3 (<stdin>, line 8); backlink

    Unknown interpreted text role "func".

    System Message: ERROR/3 (<stdin>, line 8); backlink

    Unknown interpreted text role "mod".

PyPSA-Eur 0.1.0 (9th January 2020)

This is the first release of PyPSA-Eur, a model of the European power system at the transmission network level. Recent changes include:

  • Documentation on installation, workflows and configuration settings is now available online at pypsa-eur.readthedocs.io (#65).

  • The conda environment files were updated and extended (#81).

  • The power plant database was updated with extensive filtering options via pandas.query functionality (#84 and #94).

  • Continuous integration testing with Travis CI is now included for Linux, Mac and Windows (#82).

  • Data dependencies were moved to zenodo and are now versioned (#60).

  • Data dependencies are now retrieved directly from within the snakemake workflow (#86).

  • Emission prices can be added to marginal costs of generators through the keyworks Ep in the {opts} wildcard (#100).

  • An option is introduced to add extendable nuclear power plants to the network (#98).

  • Focus weights can now be specified for particular countries for the network clustering, which allows to set a proportion of the total number of clusters for particular countries (#87).

  • A new rule :mod:`add_extra_components` allows to add additional components to the network only after clustering. It is thereby possible to model storage units (e.g. battery and hydrogen) in more detail via a combination of Store, Link and Bus elements (#97).

    System Message: ERROR/3 (<stdin>, line 34); backlink

    Unknown interpreted text role "mod".

  • Hydrogen pipelines (including cost assumptions) can now be added alongside clustered network connections in the rule :mod:`add_extra_components` . Set electricity: extendable_carriers: Link: [H2 pipeline] and ensure hydrogen storage is modelled as a Store. This is a first simplified stage (#108).

    System Message: ERROR/3 (<stdin>, line 36); backlink

    Unknown interpreted text role "mod".

  • Logfiles for all rules of the snakemake workflow are now written in the folder log/ (#102).

  • The new function _helpers.mock_snakemake creates a snakemake object which mimics the actual snakemake object produced by workflow by parsing the Snakefile and setting all paths for inputs, outputs, and logs. This allows running all scripts within a (I)python terminal (or just by calling python <script-name>) and thereby facilitates developing and debugging scripts significantly (#107).

Release Process

  • Checkout a new release branch git checkout -b release-v0.x.x.
  • Finalise release notes at doc/release_notes.rst.
  • Update environment.fixedversions.yaml via conda env export -n pypsa-eur -f environment.fixedversions.yaml --no-builds from an up-to-date pypsa-eur environment.
  • Update version number in doc/conf.py and *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).
  • Tag a release on Github via git tag v0.x.x, git push, git push --tags. Include release notes in the tag message.
  • Upload code to zenodo code repository with GNU GPL 3.0 license.
  • Create pre-built networks for config.default.yaml by running snakemake extra_components_all_elec_networks.
  • Upload pre-built networks to zenodo data repository with CC BY 4.0 license.
  • Send announcement on the PyPSA and PyPSA-Eur mailing list.
</html>