2020-05-29 07:50:55 +00:00
..
2024-02-19 15:21:48 +00:00
SPDX-FileCopyrightText: 2019-2024 The PyPSA-Eur Authors
2020-12-03 18:50:53 +00:00
2020-05-29 07:50:55 +00:00
SPDX-License-Identifier: CC-BY-4.0
2019-08-07 08:56:23 +00:00
.. _installation:
2019-06-07 08:34:36 +00:00
##########################################
Installation
##########################################
2019-08-10 20:46:26 +00:00
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.
2019-08-06 14:53:32 +00:00
Clone the Repository
====================
2024-04-11 13:55:11 +00:00
First of all, clone the `PyPSA-Eur repository <https://github.com/PyPSA/pypsa-eur> `__ using the version control system `` git `` in the command line.
2019-08-06 14:53:32 +00:00
.. code :: bash
2023-03-15 16:00:06 +00:00
/some/other/path % cd /some/path
2019-08-06 14:53:32 +00:00
2023-03-15 16:00:06 +00:00
/some/path % git clone https://github.com/PyPSA/pypsa-eur.git
2019-08-06 14:53:32 +00:00
2019-08-07 08:56:23 +00:00
.. _deps:
2019-08-06 14:53:32 +00:00
Install Python Dependencies
===============================
2019-08-10 20:46:26 +00:00
PyPSA-Eur relies on a set of other Python packages to function.
2024-04-11 13:55:11 +00:00
We recommend using the package manager `mamba <https://mamba.readthedocs.io/en/latest/> `__ to install them and manage your environments.
For instructions for your operating system follow the `` mamba `` `installation guide <https://mamba.readthedocs.io/en/latest/installation/mamba-installation.html> `__ .
2023-03-15 16:00:06 +00:00
You can also use `` conda `` equivalently.
2019-08-06 14:53:32 +00:00
2024-04-11 13:55:11 +00:00
The package requirements are curated in the `envs/environment.yaml <https://github.com/PyPSA/pypsa-eur/blob/master/envs/environment.yaml> `__ file.
2019-08-06 14:53:32 +00:00
The environment can be installed and activated using
.. code :: bash
2023-04-28 13:23:44 +00:00
.../pypsa-eur % mamba env create -f envs/environment.yaml
2019-08-06 14:53:32 +00:00
2023-03-15 16:00:06 +00:00
.../pypsa-eur % mamba activate pypsa-eur
2019-08-08 15:13:36 +00:00
2020-05-28 18:36:45 +00:00
.. note ::
2023-03-15 16:00:06 +00:00
The equivalent commands for `` conda `` would be
2020-05-28 18:36:45 +00:00
.. code :: bash
2020-12-03 18:50:53 +00:00
2023-03-15 16:00:06 +00:00
.../pypsa-eur % conda env create -f envs/environment.yaml
2020-05-28 18:36:45 +00:00
2023-03-15 16:00:06 +00:00
.../pypsa-eur % conda activate pypsa-eur
2020-05-28 18:36:45 +00:00
2019-08-08 15:13:36 +00:00
Install a Solver
================
2023-03-15 16:00:06 +00:00
PyPSA passes the PyPSA-Eur network model to an external solver for performing the optimisation.
2019-08-10 20:46:26 +00:00
PyPSA is known to work with the free software
2024-04-11 13:55:11 +00:00
- `HiGHS <https://highs.dev/> `__
- `Cbc <https://projects.coin-or.org/Cbc#DownloadandInstall> `__
- `GLPK <https://www.gnu.org/software/glpk/> `__ (`WinGLKP <http://winglpk.sourceforge.net/> `__ )
2024-04-24 14:23:43 +00:00
- `SCIP <https://scipopt.github.io/PySCIPOpt/docs/html/index.html> `__
2019-08-10 20:46:26 +00:00
2020-12-05 16:54:50 +00:00
and the non-free, commercial software (for some of which free academic licenses are available)
2019-08-10 20:46:26 +00:00
2024-04-11 13:55:11 +00:00
- `Gurobi <https://www.gurobi.com/documentation/quickstart.html> `__
- `CPLEX <https://www.ibm.com/products/ilog-cplex-optimization-studio> `__
- `FICO Xpress Solver <https://www.fico.com/de/products/fico-xpress-solver> `__
2019-08-08 15:13:36 +00:00
2020-01-24 16:02:09 +00:00
For installation instructions of these solvers for your operating system, follow the links above.
2023-03-15 16:00:06 +00:00
Commercial solvers such as Gurobi and CPLEX currently significantly outperform open-source solvers for large-scale problems, and
it might be the case that you can only retrieve solutions by using a commercial solver.
Nevertheless, you can still use open-source solvers for smaller problems.
2019-08-10 20:46:26 +00:00
.. seealso ::
2024-04-11 13:55:11 +00:00
`Instructions how to install a solver in the documentation of PyPSA <https://pypsa.readthedocs.io/en/latest/installation.html#getting-a-solver-for-linear-optimisation> `__
2019-08-10 20:46:26 +00:00
2020-01-24 16:02:09 +00:00
.. note ::
2024-02-19 16:15:20 +00:00
The rules :mod: `cluster_network` and :mod: `simplify_network` solve a mixed-integer quadratic optimisation problem for clustering.
2024-04-24 14:23:43 +00:00
The open-source solvers HiGHS, Cbc and GlPK cannot handle this. A fallback to SCIP is implemented in this case, which is included in the standard environment specifications.
2024-06-27 10:21:01 +00:00
For an open-source solver setup install for example HiGHS **and** SCIP in your `` conda `` environment on OSX/Linux.
2024-06-27 10:19:25 +00:00
To install the default solver Gurobi, run
2023-03-15 16:00:06 +00:00
.. code :: bash
mamba activate pypsa-eur
mamba install -c gurobi gurobi
2024-04-11 13:55:11 +00:00
Additionally, you need to setup your `Gurobi license <https://www.gurobi.com/solutions/licensing/> `__ .
2023-03-15 16:00:06 +00:00
2019-10-03 10:37:23 +00:00
.. _defaultconfig:
2023-03-15 16:00:06 +00:00
Handling Configuration Files
============================
2019-10-03 10:37:23 +00:00
2024-02-12 11:10:05 +00:00
PyPSA-Eur has several configuration options that users can specify in a
`` config/config.yaml `` file. The default configuration
`` config/config.default.yaml `` is maintained in the repository. More details on
the configuration options are in :ref: `config` .
2019-10-03 10:37:23 +00:00
2023-03-15 16:00:06 +00:00
You can also use `` snakemake `` to specify another file, e.g.
2023-04-21 08:41:44 +00:00
`` config/config.mymodifications.yaml `` , to update the settings of the `` config/config.yaml `` .
2019-10-03 10:37:23 +00:00
.. code :: bash
2023-04-21 08:41:44 +00:00
.../pypsa-eur % snakemake -call --configfile config/config.mymodifications.yaml