You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Update dependency pinning to have as few upper bounds as feasible
* Move to recommending CBC as the main open-source solver
* Use conda forge GLPK link to mitigate markdown link check errors
Copy file name to clipboardExpand all lines: README.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ Calliope comes with several built-in analysis and visualisation tools. Having so
37
37
38
38
## Quick start
39
39
40
-
Calliope can run on Windows, macOS and Linux. Installing it is quickest with the `mamba` package manager by running a single command: `mamba create -c conda-forge -n calliope calliope`.
40
+
Calliope can run on Windows, macOS and Linux. Installing it is quickest with the `mamba` package manager by running a single command: `mamba create -n calliope -c conda-forge conda-forge/label/calliope_dev::calliope`.
41
41
42
42
See the documentation for more [information on installing](https://calliope.readthedocs.io/en/stable/user/installation.html).
1. Activate the calliope mamba environment: `mamba activate calliope`
41
41
1. Install the calliope package into the environment, in editable mode and ignoring dependencies (we have dealt with those when creating the mamba environment): `pip install --no-deps -e .`
42
42
1. Install the interactive python shell (necessary when testing our documentation locally): `ipython kernel install --user --name=calliope_docs_build`
Copy file name to clipboardExpand all lines: docs/installation.md
+9-20
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,8 @@ Running Calliope requires four things:
8
8
9
9
1. The Python programming language, version {{ min_python_version }} to {{ max_python_version }}.
10
10
2. A number of Python add-on modules including [Pyomo](https://www.pyomo.org/), [Pandas](https://pandas.pydata.org/) and [Xarray](https://docs.xarray.dev/).
11
-
3. An optimisation solver: Calliope has been tested with CBC, GLPK, Gurobi, and CPLEX. Any other solver that is compatible with Pyomo should also work.
11
+
3. An optimisation solver: Calliope has been tested with CBC, GLPK, and Gurobi.
12
+
Any other solver that is compatible with Pyomo should also work.
12
13
4. The Calliope software itself.
13
14
14
15
## Recommended installation method
@@ -22,11 +23,11 @@ To get `mamba`, the most straightforward approach is to [download and install th
22
23
Another option is to use the commercially developed [Anaconda Python distribution](https://www.anaconda.com/download), which is available for all operating systems and comes with a graphical user interface to install and manage packages.
23
24
If you use the Anaconda distribution, you have to replace `mamba` with `conda` in the installation instructions below.
24
25
25
-
With the package manager installed, you can create a new environment called `calliope` with Calliope as well as the free and open source GLPK solver.
26
+
With the package manager installed, you can create a new environment called `calliope` with Calliope as well as the free and open source CBC solver.
26
27
Run the following command in a terminal or command-line window:
Although possible, we do not recommend installing Calliope directly via `pip` (`pip install calliope`).
47
48
Non-python binaries are not installed with `pip`, some of which are necessary for stable operation (e.g., `libnetcdf`).
48
49
49
-
## Updating an existing installation
50
-
51
-
If following the recommended installation method above, the following command, assuming the mamba environment is active, will update Calliope to the newest version
52
-
53
-
```bash
54
-
mamba update -c conda-forge calliope
55
-
```
56
-
57
50
## Choosing a solver
58
51
59
52
You cannot solve a Calliope model until you have installed a solver.
60
-
The easiest solver to install is [GLPK](#glpk).
61
-
However, we recommend to not use this solver where possible, since it performs relatively poorly (both in solution time and stability of result).
62
-
Indeed, our example models use the free and open source [CBC](#cbc) solver instead, but installing it on Windows requires an extra step.
53
+
The easiest solver to install is [CBC](#cbc), which is included if you follow the [recommended installation instructions](#recommended-installation-method) above.
63
54
[CBC](#cbc) (open-source) or [Gurobi](#gurobi) (commercial) are recommended for large problems, and have been confirmed to work with Calliope.
64
55
The following subsections provide additional detail on how to install a solver.
65
56
This list is not exhaustive; any solvers [supported by Pyomo](https://pyomo.readthedocs.io/en/latest/reference/topical/appsi/appsi.solvers.html) can be used.
66
57
67
58
### CBC
68
59
69
60
[CBC](https://github.com/coin-or/Cbc) is our recommended option if you want a free and open-source solver.
70
-
CBC can be installed via conda on Linux and macOS by running `mamba install -c conda-forge coin-or-cbc`.
71
-
Windows binary packages are somewhat more difficult to install, due to limited information on [the CBC website](https://github.com/coin-or/Cbc), but are included in their [package releases on GitHub](https://github.com/coin-or/Cbc/releases).
72
-
The GitHub releases are more up-to-date. We recommend you download the relevant binary for [CBC 2.10.11](https://github.com/coin-or/Cbc/releases/download/releases%2F2.10.11/Cbc-releases.2.10.11-w64-msvc17-md.zip) and add `cbc.exe` to a directory known to PATH (e.g. an Anaconda environment 'bin' directory).
61
+
If you do not have it in your working environment (i.e. there is nothing listed when you call `conda list cbc`) then it can be installed by running `mamba install conda-forge::coin-or-cbc`.
73
62
74
63
### GLPK
75
64
76
-
[GLPK](https://www.gnu.org/software/glpk/) is free and open-source, but can take too much time and/or too much memory on larger problems.
77
-
`GLPK` can be installed from `conda-forge` on all platforms: `mamba install glpk`.
78
-
It is therefore the _easiest_ solver to have installed in your Calliope environment.
65
+
[GLPK](https://anaconda.org/conda-forge/glpk) is free and open-source, but can take too much time and/or too much memory on larger problems.
66
+
`GLPK` can be installed from `conda-forge` on all platforms: `mamba install conda-forge::glpk`.
67
+
Unlike [CBC](#cbc), it is possible to extract [shadow prices](./advanced/shadow_prices.md) from a model solved with GLPK, which is why you may with to use it instead of CBC.
pandas >= 2.1.3, < 2.3 # Minimum bound is 2.1.3 because of a regression in v2.1.0/2.1.1 inflating time/memory consumption on groupby operations with MultiIndex
13
-
pyomo >= 6.8.2, < 7
14
-
pyparsing >= 3.0, < 3.1
15
-
ruamel.yaml >= 0.18, < 0.19
16
-
typing-extensions >= 4, < 5
17
-
xarray >= 2024.1, < 2024.4
1
+
bottleneck >= 1
2
+
click >= 8
3
+
geographiclib >= 2
4
+
ipdb >= 0.13
5
+
ipykernel >= 6
6
+
jinja2 >= 3
7
+
jsonref >= 1.1
8
+
jsonschema >= 4
9
+
natsort >= 8
10
+
netcdf4 >= 1.2
11
+
numpy >= 1
12
+
pandas >= 2.1.3 # Minimum bound is 2.1.3 because of a regression in v2.1.0/2.1.1 inflating time/memory consumption on groupby operations with MultiIndex
13
+
pyomo >= 6.8.2
14
+
pyparsing >= 3.2
15
+
ruamel.yaml >= 0.18
16
+
typing-extensions >= 4
17
+
xarray >= 2024.1, < 2024.4 # pinned while https://github.com/pydata/xarray/issues/9755 is open
0 commit comments