8.0 KiB
Installation
The subsequently described installation steps are demonstrated as shell commands, where the path before the % sign denotes the directory in which the commands following the % should be entered.
Clone the Repository
First of all, clone the PyPSA-Eur repository using the version control system git. The path to the directory into which the git repository is cloned, must not have any spaces!
System Message: WARNING/2 (<stdin>, line 16)
Cannot analyze code. Pygments package not found.
.. code:: bash /some/other/path % cd /some/path/without/spaces /some/path/without/spaces % git clone https://github.com/PyPSA/pypsa-eur.git
Note
If you do not have git installed, follow installation instructions here.
Install Python Dependencies
PyPSA-Eur relies on a set of other Python packages to function. We recommend using the package manager and environment management system conda to install them. Install miniconda, which is a mini version of Anaconda that includes only conda and its dependencies or make sure conda is already installed on your system. For instructions for your operating system follow the conda installation guide.
The python package requirements are curated in the environment.yaml file. The environment can be installed and activated using
System Message: WARNING/2 (<stdin>, line 38)
Cannot analyze code. Pygments package not found.
.. code:: bash .../pypsa-eur % conda env create -f environment.yaml .../pypsa-eur % conda activate pypsa-eur
Note
Note that activation is local to the currently open shell! After opening a new terminal window, one needs to reissue the second command!
Download Data Dependencies
Not all data dependencies are shipped with the git repository, since git is not suited for handling large changing files. Instead we provide separate data bundles which can be obtained using the described shell commands or by downloading and extracting them manually in the locations outlined below.
Note
The :ref:`tutorial` uses smaller data bundles than required for the full model. To start with the tutorial, substitute with the links below using the following alternatives:
System Message: ERROR/3 (<stdin>, line 61); backlink
Unknown interpreted text role "ref".- Data Bundle: https://zenodo.org/record/3517921/files/pypsa-eur-tutorial-data-bundle.tar.xz (197 MB)
- Cutouts: https://zenodo.org/record/3518020/files/pypsa-eur-tutorial-cutouts.tar.xz (19 MB)
- Data Bundle: pypsa-eur-data-bundle.tar.xz (1.4 GB) contains common GIS datasets like NUTS3 shapes, EEZ shapes, CORINE Landcover, Natura 2000 and also electricity specific summary statistics like historic per country yearly totals of hydro generation, GDP and POP on NUTS3 levels and per-country load time-series. It should be extracted in the data sub-directory, such that all files of the bundle are stored in the data/bundle subdirectory)
System Message: WARNING/2 (<stdin>, line 78)
Cannot analyze code. Pygments package not found.
.. code:: bash .../pypsa-eur/data % curl -OL "https://zenodo.org/record/3517935/files/pypsa-eur-data-bundle.tar.xz" .../pypsa-eur/data % tar xJf pypsa-eur-data-bundle.tar.xz
- Cutouts: pypsa-eur-cutouts.tar.xz (3.9 GB) are spatiotemporal subsets of the European weather data from the ECMWF ERA5 reanalysis dataset and the CMSAF SARAH-2 solar surface radiation dataset for the year 2013. They have been prepared by and are for use with the atlite tool. You can either generate them yourself using the build_cutouts rule or extract them directly into the pypsa-eur directory. To download cutouts yourself you need to set up the CDS API. For more details read the atlite documentation. For beginners, extracting the bundle is recommended:
System Message: WARNING/2 (<stdin>, line 89)
Cannot analyze code. Pygments package not found.
.. code:: bash .../pypsa-eur % curl -OL "https://zenodo.org/record/3517949/files/pypsa-eur-cutouts.tar.xz" .../pypsa-eur % tar xJf pypsa-eur-cutouts.tar.xz
- Natura: Optionally, you can download a rasterized version of the NATURA dataset natura.tiff and put it into the resources sub-directory. If you don't, it will be generated automatically, which is a time-consuming process.
System Message: WARNING/2 (<stdin>, line 100)
Cannot analyze code. Pygments package not found.
.. code:: bash .../pypsa-eur % curl -L "https://zenodo.org/record/3518215/files/natura.tiff" -o "resources/natura.tiff"
- Remove Archives: Optionally, if you want to save disk space, you can delete data/pypsa-eur-data-bundle.tar.xz and pypsa-eur-cutouts.tar.xz once extracting the bundles is complete. E.g.
System Message: WARNING/2 (<stdin>, line 107)
Cannot analyze code. Pygments package not found.
.. code:: bash .../pypsa-eur % rm -rf data/pypsa-eur-data-bundle.tar.xz pypsa-eur-cutouts.tar.xz
Install a Solver
PyPSA passes the PyPSA-Eur network model to an external solver for performing a total annual system cost minimization with optimal power flow. PyPSA is known to work with the free software
and the non-free, commercial software (for which free academic licenses are available)
and any other solver that works with the underlying modelling framework Pyomo. For installation instructions of these solvers for your operating system, follow the links above.
System Message: ERROR/3 (<stdin>, line 128)
Unknown directive type "seealso".
.. seealso:: `Getting a solver in the PyPSA documentation <https://pypsa.readthedocs.io/en/latest/installation.html#getting-a-solver-for-linear-optimisation>`_
Note
Commercial solvers such as Gurobi and CPLEX currently significantly outperform open-source solvers for large-scale problems. It might be the case that you can only retrieve solutions by using a commercial solver.
Set Up the Default Configuration
PyPSA-Eur has several configuration options that must be specified in a config.yaml file located in the root directory. An example configuration config.default.yaml is maintained in the repository. More details on the configuration options are in :ref:`config`.
System Message: ERROR/3 (<stdin>, line 140); backlink
Unknown interpreted text role "ref".Before first use, create a config.yaml by copying the example.
System Message: WARNING/2 (<stdin>, line 146)
Cannot analyze code. Pygments package not found.
.. code:: bash .../pypsa-eur % cp config.default.yaml config.yaml
Users are advised to regularly check their own config.yaml against changes in the config.default.yaml when pulling a new version from the remote repository.