Skip to content

Commit

Permalink
Refactor the landing page to make it more compact for faster orientation
Browse files Browse the repository at this point in the history
  • Loading branch information
fwitte committed Nov 24, 2024
1 parent 51cd2d6 commit 8fa7a62
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 106 deletions.
130 changes: 26 additions & 104 deletions docs/introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,130 +39,52 @@ but this will bring you quite a few mails and might be more interesting for deve
If you just want to get the latest news, like when is the next oemof meeting,
you can follow our news-blog at `oemof.org <https://oemof.org/>`_.

Installation
============
If you have a working Python installation, use pypi to install the latest version of oemof.solph.
Python >= 3.8 is recommended. Lower versions may work but are not tested.

We highly recommend to use virtual environments.
Please refer to the documentation of your Python distribution (e.g. Anaconda,
Micromamba, or the version of Python that came with your Linux installation)
to learn how to set up and use virtual environments.

::

(venv) pip install oemof.solph

If you want to use the latest features, you might want to install the **developer version**. The developer version is not recommended for productive use::

(venv) pip install https://github.com/oemof/oemof-solph/archive/dev.zip


For running an oemof-solph optimisation model, you need to install a solver.
Following you will find guidelines for the installation process for different operating systems.

Installing a solver
-------------------

There are several solvers that can work with oemof, both open source and commercial.
Two open source solvers are widely used (CBC and GLPK), but oemof suggests CBC (Coin-or branch and cut).
It may be useful to compare results of different solvers to see which performs best.
Other commercial solvers, like Gurobi or Cplex, are also options.
Have a look at the `pyomo docs <https://pyomo.readthedocs.io/en/stable/solving_pyomo_models.html#supported-solvers>`_ to learn about which solvers are supported.

Check the solver installation by executing the test_installation example below (see section Installation Test).

**Linux**

To install the solvers have a look at the package repository of your Linux distribution or search for precompiled packages. GLPK and CBC ares available at Debian, Feodora, Ubuntu and others.

**Windows**

1. Download `CBC <https://github.com/coin-or/Cbc/releases>`_
2. Download `GLPK (64/32 bit) <https://sourceforge.net/projects/winglpk/>`_
3. Unpack CBC/GLPK to any folder (e.g. C:/Users/Somebody/my_programs)
4. Add the path of the executable files of both solvers to the PATH variable using `this tutorial <https://www.computerhope.com/issues/ch000549.htm>`_
5. Restart Windows

Check the solver installation by executing the test_installation example (see the `Installation test` section).

**Mac OSX**

Please follow the installation instructions on the respective homepages for details.
Quick Installation
==================

- CBC-solver: https://projects.coin-or.org/Cbc
- GLPK-solver: http://arnab-deka.com/posts/2010/02/installing-glpk-on-a-mac/

If you install the CBC solver via brew (highly recommended), it should work without additional configuration.

**conda**

Provided you are using a Linux or MacOS, the CBC-solver can also be installed in a `conda` environment. Please note, that it is highly recommended to `use pip after conda <https://www.anaconda.com/blog/using-pip-in-a-conda-environment>`_, so:
For oemof.solph you need a solver on top of the software itself. Complete
installation instructions can be found
:ref:`here <installation_and_setup_label>`. For example, you can install
oemof.solph together with the CBC solver in a conda environment:

.. code:: console
(venv) conda install -c conda-forge coincbc
(venv) pip install oemof.solph
.. _check_installation_label:

Installation test
-----------------

Test the installation and the installed solver by running the installation test
in your virtual environment:

.. code:: console
(venv) oemof_installation_test
If the installation was successful, you will receive something like this:

.. code:: console
*********
Solver installed with oemof:
glpk: working
cplex: not working
cbc: working
gurobi: not working
*********
oemof.solph successfully installed.
as an output.

Contributing
============

A warm welcome to all who want to join the developers and contribute to
oemof.solph.

Information on the details and how to approach us can be found
`in the oemof documentation <https://oemof.readthedocs.io/en/latest/contributing.html>`_ .
oemof.solph. Information on the details and how to approach us can be found
:ref:`in this section <contribute_label>`.

Citing
======
Cite oemof.solph
================

For explicitly citing solph, you might want to refer to
For explicitly citing oemof.solph, you might want to refer to
`DOI:10.1016/j.simpa.2020.100028 <https://doi.org/10.1016/j.simpa.2020.100028>`_,
which gives an overview over the capabilities of solph.
which gives an overview over the capabilities of oemof.solph.
The core ideas of oemof as a whole are described in
`DOI:10.1016/j.esr.2018.07.001 <https://doi.org/10.1016/j.esr.2018.07.001>`_
(preprint at `arXiv:1808.0807 <https://arxiv.org/abs/1808.08070v1>`_).
To allow citing specific versions, we use the zenodo project to get a DOI for each version.
To allow citing specific versions, we use the zenodo project to get a DOI for
each version.

Example Applications
====================

The combination of specific modules (often including other packages) is called an
application (app). For example, it can depict a concrete energy system model.
You can find a large variety of helpful examples in the documentation.
The examples show the optimisation of different energy systems and are supposed
to help new users to understand the framework's structure.

You are welcome to contribute your own examples via a `pull request <https://github.com/oemof/oemof-solph/pulls>`_
or by e-mailing us (see `here <https://oemof.org/contact/>`_ for contact information).
The combination of specific modules (often including other packages) is called
an application (app). For example, it can depict a concrete energy system model.
You can find a large variety of helpful examples in the in these sections:

- :ref:`introductory tutorials <introductory_tutorials_label>`
- :ref:`advanced tutorials <advanced_tutorials_label>`
- :ref:`showcase applications <showcase_examples_label>`

You are welcome to contribute your own examples via a
`pull request <https://github.com/oemof/oemof-solph/pulls>`_
or by e-mailing us (see `here <https://oemof.org/contact/>`_ for contact
information).

License
=======
Expand Down
2 changes: 1 addition & 1 deletion docs/introductory_tutorials.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. _introductory_tutorial_label:
.. _introductory_tutorials_label:

Basic Examples
~~~~~~~~~~~~~~~~~~~~~~
Expand Down
2 changes: 1 addition & 1 deletion docs/showcase_examples.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.. _oemof_solph_showcase_examples_label:
.. _showcase_examples_label:

~~~~~~~~~~~~~~~~~~~~
Showcases
Expand Down

0 comments on commit 8fa7a62

Please sign in to comment.