diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 32d8f138020e175ed4e17077713ed7cb26c5c533..4c9e114a55c22341be115484a2f71f303493726a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -72,7 +72,7 @@ tests (on GPU):
     - chmod +x ./CI/update_badge.sh
     - ./CI/update_badge.sh > /dev/null
   script:
-    - pip install -r requirements.txt
+    - pip install -r requirements_gpu.txt
     - chmod +x ./CI/run_pytest.sh
     - ./CI/run_pytest.sh
   after_script:
diff --git a/README.md b/README.md
index 6786f0ddb31e0616bf10161f94e80f09f8afeb1b..c56baeea96c3f7d6f3712a72966f166af4ecf844 100644
--- a/README.md
+++ b/README.md
@@ -10,26 +10,74 @@ docs [here](http://toar.pages.jsc.fz-juelich.de/mlair/docs/).
 
 MLAir is based on several python frameworks. To work properly, you have to install all packages from the 
 `requirements.txt` file. Additionally to support the geographical plotting part it is required to install geo
-packages built for your operating system. Name names of these package may differ for different systems, we refer
-here to the opensuse / leap OS. The geo plot can be removed from the `plot_list`, in this case there is no need to 
-install the geo packages. For special instructions to install MLAir on the Juelich HPC systems, see 
-[here](#special-instructions-for-installation-on-jülich-hpc-systems).
-
-* (geo) Install **proj** on your machine using the console. E.g. for opensuse / leap `zypper install proj`
-* (geo) A c++ compiler is required for the installation of the program **cartopy**
-* Install all requirements from [`requirements.txt`](https://gitlab.version.fz-juelich.de/toar/mlair/-/blob/master/requirements.txt)
+packages built for your operating system. Unfortunately, the names of these package may differ for different systems.
+In this instruction, we try to address users of different operating systems namely openSUSE Leap, Ubuntu and macOS.
+If the installation is still not working, we recommend skipping the geographical plot. We have put together a small 
+workaround [here](#workaround-to-skip-geographical-plot). For special instructions to install MLAir on the Juelich 
+HPC systems, see [here](#special-instructions-for-installation-on-jülich-hpc-systems).
+
+* Make sure to have the **python3.6** version installed.
+* (geo) A **c++ compiler** is required for the installation of the program **cartopy**
+* (geo) Install **proj** and **GEOS** on your machine using the console.
+* Install the **python3.6 develop** libraries.
+* Install all **requirements** from [`requirements.txt`](https://gitlab.version.fz-juelich.de/toar/mlair/-/blob/master/requirements.txt)
   preferably in a virtual environment
-* (tf) Currently, TensorFlow-1.13 is mentioned in the requirements. We already tested the TensorFlow-1.15 version and couldn't
-  find any compatibility errors. Please note, that tf-1.13 and 1.15 have two distinct branches each, the default branch 
-  for CPU support, and the "-gpu" branch for GPU support. If the GPU version is installed, MLAir will make use of the GPU
-  device.
 * Installation of **MLAir**:
     * Either clone MLAir from the [gitlab repository](https://gitlab.version.fz-juelich.de/toar/mlair.git) 
       and use it without installation (beside the requirements) 
     * or download the distribution file ([current version](https://gitlab.version.fz-juelich.de/toar/mlair/-/blob/master/dist/mlair-0.12.2-py3-none-any.whl)) 
       and install it via `pip install <dist_file>.whl`. In this case, you can simply import MLAir in any python script 
       inside your virtual environment using `import mlair`.
-      
+* (tf) Currently, TensorFlow-1.13 is mentioned in the requirements. We already tested the TensorFlow-1.15 version and couldn't
+  find any compatibility errors. Please note, that tf-1.13 and 1.15 have two distinct branches each, the default branch 
+  for CPU support, and the "-gpu" branch for GPU support. If the GPU version is installed, MLAir will make use of the GPU
+  device.
+
+## openSUSE Leap 15.1
+
+* c++ compiler
+
+`sudo zypper install gcc-c++`
+
+* geo packages
+
+`sudo zypper install proj geos-devel`
+
+* depending on the pre-installed packages it could be required to install further packages
+
+`sudo zypper install libproj-devel binutils gdal-devel graphviz`
+
+* python develop libraries
+
+`sudo zypper install python3-devel`
+
+## Ubuntu 20.04.1
+
+* c++ compiler
+
+`sudo apt install build-essential` 
+
+* geo packages
+
+`sudo apt install proj-bin libgeos-dev libproj-dev`
+
+* depending on the pre-installed packages it could be required to install further packages
+
+`sudo apt install graphviz libgeos++-dev`
+
+* python develop libraries
+
+`sudo apt install python3.6-dev`
+
+## macOS & windows
+
+The installation on macOS is not tested yet. The following commands are possibly needed:
+
+`brew install geos`
+
+`sudo port install graphviz`
+
+The installation on Windows is not tested yet.
 
 # How to start with MLAir
 
@@ -421,6 +469,20 @@ class DummyDataHandler(AbstractDataHandler):
 
 # Special Remarks
 
+## Workaround to skip geographical plot
+
+If it is not possible to install all required geo libraries on your system, a good compromise is to skip the creation
+of the geographical plot. Therefore, it is required to remove the plot from the `plot_list` manually. We recommend to
+use this code snippet as a starting point.
+
+```python
+from mlair.helpers import remove_items
+from mlair.configuration.defaults import DEFAULT_PLOT_LIST
+
+mlair.run(plot_list=remove_items(DEFAULT_PLOT_LIST, "PlotStationMap"))
+
+```
+
 ## Special instructions for installation on Jülich HPC systems
 
 _Please note, that the HPC setup is customised for JUWELS and HDFML. When using another HPC system, you can use the HPC 
@@ -429,10 +491,10 @@ setup files as a skeleton and customise it to your needs._
 The following instruction guide you through the installation on JUWELS and HDFML. 
 * Clone the repo to HPC system (we recommend to place it in `/p/projects/<project name>`).
 * Setup venv by executing `source setupHPC.sh`. This script loads all pre-installed modules and creates a venv for 
-all other packages. Furthermore, it creates slurm/batch scripts to execute code on compute nodes. <br> 
+all other packages. Furthermore, it creates slurm/batch scripts to execute code on compute nodes.
 You have to enter the HPC project's budget name (--account flag).
 * The default external data path on JUWELS and HDFML is set to `/p/project/deepacf/intelliaq/<user>/DATA/toar_<sampling>`. 
-<br>To choose a different location open `run.py` and add the following keyword argument to `ExperimentSetup`: 
+To choose a different location open `run.py` and add the following keyword argument to `ExperimentSetup`: 
 `data_path=<your>/<custom>/<path>`. 
 * Execute `python run.py` on a login node to download example data. The program will throw an OSerror after downloading.
 * Execute either `sbatch run_juwels_develgpus.bash` or `sbatch run_hdfml_batch.bash` to verify that the setup went well.
diff --git a/docs/_source/get-started.rst b/docs/_source/get-started.rst
index 7dda0eccb41281f6d15b4434b7e13ed2aa332d35..67b03ce3644dd65eebc99b864285a8f6aad72d89 100644
--- a/docs/_source/get-started.rst
+++ b/docs/_source/get-started.rst
@@ -15,15 +15,21 @@ packages built for your operating system. Name names of these package may differ
 here to the opensuse / leap OS. The geo plot can be removed from the :py:`plot_list`, in this case there is no need to
 install the geo packages.
 
+MLAir is based on several python frameworks. To work properly, you have to install all packages from the
+:py:`requirements.txt` file. Additionally to support the geographical plotting part it is required to install geo
+packages built for your operating system. Unfortunately, the names of these package may differ for different systems.
+In this instruction, we try to address users of different operating systems namely openSUSE Leap, Ubuntu and macOS.
+If the installation is still not working, we recommend skipping the geographical plot. We have put together a small
+workaround :ref:`Workaround to skip geographical plot`. For special instructions to install MLAir on the Juelich
+HPC systems, see ref:`Installation on Jülich HPC systems`.
+
 Pre-requirements
 ~~~~~~~~~~~~~~~~
 
-* (geo) Install **proj** on your machine using the console. E.g. for opensuse / leap :py:`zypper install proj`
-* (geo) A c++ compiler is required for the installation of the program **cartopy**
-* (tf) Currently, TensorFlow-1.13 is mentioned in the requirements. We already tested the TensorFlow-1.15 version and couldn't
-  find any compatibility errors. Please note, that tf-1.13 and 1.15 have two distinct branches each, the default branch
-  for CPU support, and the "-gpu" branch for GPU support. If the GPU version is installed, MLAir will make use of the GPU
-  device.
+* Make sure to have the **python3.6** version installed.
+* (geo) A **c++ compiler** is required for the installation of the program **cartopy**
+* (geo) Install **proj** and **GEOS** on your machine using the console.
+* Install the **python3.6 develop** libraries.
 
 Installation of MLAir
 ~~~~~~~~~~~~~~~~~~~~~
@@ -34,6 +40,100 @@ Installation of MLAir
 * or download the distribution file (`current version <https://gitlab.version.fz-juelich.de/toar/mlair/-/blob/master/dist/mlair-0.12.2-py3-none-any.whl>`_)
   and install it via :py:`pip install <dist_file>.whl`. In this case, you can simply
   import MLAir in any python script inside your virtual environment using :py:`import mlair`.
+* (tf) Currently, TensorFlow-1.13 is mentioned in the requirements. We already tested the TensorFlow-1.15 version and couldn't
+  find any compatibility errors. Please note, that tf-1.13 and 1.15 have two distinct branches each, the default branch
+  for CPU support, and the "-gpu" branch for GPU support. If the GPU version is installed, MLAir will make use of the GPU
+  device.
+
+Special Instructions for Installation
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+openSUSE Leap 15.1
+""""""""""""""""""
+
+* c++ compiler
+
+:py:`sudo zypper install gcc-c++`
+
+* geo packages
+
+:py:`sudo zypper install proj geos-devel`
+
+* depending on the pre-installed packages it could be required to install further packages
+
+:py:`sudo zypper install libproj-devel binutils gdal-devel graphviz`
+
+* python develop libraries
+
+:py:`sudo zypper install python3-devel`
+
+Ubuntu 20.04.1
+""""""""""""""
+
+* c++ compiler
+
+:py:`sudo apt install build-essential`
+
+* geo packages
+
+:py:`sudo apt install proj-bin libgeos-dev libproj-dev`
+
+* depending on the pre-installed packages it could be required to install further packages
+
+:py:`sudo apt install graphviz libgeos++-dev`
+
+* python develop libraries
+
+:py:`sudo apt install python3.6-dev`
+
+macOS & windows
+"""""""""""""""
+
+The installation on macOS is not tested yet. The following commands are possibly needed:
+
+:py:`brew install geos`
+
+:py:`sudo port install graphviz`
+
+The installation on Windows is not tested yet.
+
+Installation on Jülich HPC systems
+""""""""""""""""""""""""""""""""""
+
+*Please note, that the HPC setup is customised for JUWELS and HDFML. When using another HPC system, you can use the HPC
+setup files as a skeleton and customise it to your needs.*
+
+The following instruction guide you through the installation on JUWELS and HDFML.
+
+* Clone the repo to HPC system (we recommend to place it in :py:`/p/projects/<project name>`).
+* Setup venv by executing :py:`source setupHPC.sh`. This script loads all pre-installed modules and creates a venv for
+  all other packages. Furthermore, it creates slurm/batch scripts to execute code on compute nodes.
+  You have to enter the HPC project's budget name (--account flag).
+* The default external data path on JUWELS and HDFML is set to :py:`/p/project/deepacf/intelliaq/<user>/DATA/toar_<sampling>`.
+* To choose a different location open :py:`run.py` and add the following keyword argument to :py:`ExperimentSetup`:
+  :py:`data_path=<your>/<custom>/<path>`.
+* Execute :py:`python run.py` on a login node to download example data. The program will throw an OSerror after downloading.
+* Execute either :py:`sbatch run_juwels_develgpus.bash` or :py:`sbatch run_hdfml_batch.bash` to verify that the setup
+  went well.
+* Currently cartopy is not working on our HPC system, therefore PlotStations does not create any output.
+
+Note: The method :py:`PartitionCheck` currently only checks if the hostname starts with :py:`ju` or :py:`hdfmll`.
+Therefore, it might be necessary to adopt the :py:`if` statement in :py:`PartitionCheck._run`.
+
+
+Workaround to skip geographical plot
+""""""""""""""""""""""""""""""""""""
+
+If it is not possible to install all required geo libraries on your system, a good compromise is to skip the creation
+of the geographical plot. Therefore, it is required to remove the plot from the :py:`plot_list` manually. We recommend
+to use this code snippet as a starting point.
+
+.. code-block:: python
+
+    from mlair.helpers import remove_items
+    from mlair.configuration.defaults import DEFAULT_PLOT_LIST
+
+    mlair.run(plot_list=remove_items(DEFAULT_PLOT_LIST, "PlotStationMap"))
 
 
 How to start with MLAir
diff --git a/docs/_source/index.rst b/docs/_source/index.rst
index 5777cf162545d81c11e3834c74a62271d05254d2..705ab91ddc1000edfa7961719db1ff913de26a93 100644
--- a/docs/_source/index.rst
+++ b/docs/_source/index.rst
@@ -6,6 +6,7 @@
 Welcome to MLAir's documentation!
 ================================================
 
+This is the documation of the `MLAir package <https://gitlab.version.fz-juelich.de/toar/mlair>`_.
 
 .. toctree::
    :maxdepth: 2
diff --git a/requirements.txt b/requirements.txt
index 9032c9973ec6fbd28493763e4ebf6dbb4a16ed9a..be76eab5b74797b039682a292ae8890488c058ec 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -65,5 +65,5 @@ xarray==0.15.0
 zipp==3.1.0
 
 setuptools~=49.6.0
-Cartopy==0.17.0
+Cartopy==0.18.0
 --no-binary shapely Shapely==1.7.0
\ No newline at end of file
diff --git a/requirements_gpu.txt b/requirements_gpu.txt
index fac479d5e724779114006a29eb701944f5ff314f..45e04819f355640dc4a85218440b95164dba280c 100644
--- a/requirements_gpu.txt
+++ b/requirements_gpu.txt
@@ -64,5 +64,5 @@ Werkzeug==1.0.0
 xarray==0.15.0
 zipp==3.1.0
 
-#Cartopy==0.17.0
+#Cartopy==0.18.0
 --no-binary shapely Shapely==1.7.0
\ No newline at end of file