diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 75a77bb3e7eaf523aaf7f7bcf57b3b6a3e555058..f4d042f003042319b3867857b756665a2aa3ddfc 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -41,9 +41,12 @@ tests (from scratch):
     - chmod +x ./CI/update_badge.sh
     - ./CI/update_badge.sh > /dev/null
   script:
+    - pip install --upgrade pip
+    - pip install numpy wheel six
     - zypper --non-interactive install binutils libproj-devel gdal-devel
     - zypper --non-interactive install proj geos-devel
-    - cat requirements.txt | cut -f1 -d"#" | sed '/^\s*$/d' | xargs -L 1 pip install
+    #    - cat requirements.txt | cut -f1 -d"#" | sed '/^\s*$/d' | xargs -L 1 pip install
+    - pip install -r requirements.txt
     - chmod +x ./CI/run_pytest.sh
     - ./CI/run_pytest.sh
   after_script:
@@ -56,33 +59,33 @@ tests (from scratch):
       - test_results/
 
 ### Tests (on GPU) ###
-tests (on GPU):
-  tags:
-    - gpu
-    - zam347
-  stage: test
-  only:
-    - master
-    - /^release.*$/
-    - develop
-  variables:
-    FAILURE_THRESHOLD: 100
-    TEST_TYPE: "gpu"
-  before_script:
-    - chmod +x ./CI/update_badge.sh
-    - ./CI/update_badge.sh > /dev/null
-  script:
-    - pip install -r requirements.txt
-    - chmod +x ./CI/run_pytest.sh
-    - ./CI/run_pytest.sh
-  after_script:
-    - ./CI/update_badge.sh > /dev/null
-  artifacts:
-    name: pages
-    when: always
-    paths:
-      - badges/
-      - test_results/
+#tests (on GPU):
+#  tags:
+#    - gpu
+#    - zam347
+#  stage: test
+#  only:
+#    - master
+#    - /^release.*$/
+#    - develop
+#  variables:
+#    FAILURE_THRESHOLD: 100
+#    TEST_TYPE: "gpu"
+#  before_script:
+#    - chmod +x ./CI/update_badge.sh
+#    - ./CI/update_badge.sh > /dev/null
+#  script:
+#    - pip install -r test/requirements_tf_skip.txt
+#    - chmod +x ./CI/run_pytest.sh
+#    - ./CI/run_pytest.sh
+#  after_script:
+#    - ./CI/update_badge.sh > /dev/null
+#  artifacts:
+#    name: pages
+#    when: always
+#    paths:
+#      - badges/
+#      - test_results/
 
 ### Tests ###
 tests:
diff --git a/HPC_setup/requirements_HDFML_additionals.txt b/HPC_setup/requirements_HDFML_additionals.txt
index 82d78d096ba56157cf046c2e9e2064c3b68e421c..12e09ccdd620c0c81c78ae6d4781d4feb5b94baf 100644
--- a/HPC_setup/requirements_HDFML_additionals.txt
+++ b/HPC_setup/requirements_HDFML_additionals.txt
@@ -1,60 +1,63 @@
-absl-py==0.9.0
+absl-py==0.11.0
+appdirs==1.4.4
 astor==0.8.1
-atomicwrites==1.3.0
-attrs==19.3.0
-certifi==2019.11.28
-chardet==3.0.4
-cloudpickle==1.3.0
-coverage==5.0.3
+attrs==20.3.0
+cached-property==1.5.2
+certifi==2020.12.5
+cftime==1.4.1
+chardet==4.0.0
+coverage==5.4
 cycler==0.10.0
-Cython==0.29.15
-dask==2.11.0
-fsspec==0.6.2
-gast==0.3.3
-grpcio==1.27.2
+dask==2021.2.0
+fsspec==0.8.5
+gast==0.4.0
+grpcio==1.35.0
 h5py==2.10.0
-idna==2.8
-importlib-metadata==1.5.0
+idna==2.10
+importlib-metadata==3.4.0
+iniconfig==1.1.1
 
-kiwisolver==1.1.0
-locket==0.2.0
-Markdown==3.2.1
-matplotlib==3.2.0
-mock==4.0.1
-more-itertools==8.2.0
-numpy==1.18.1
-packaging==20.3
-pandas==1.0.1
+kiwisolver==1.3.1
+locket==0.2.1
+Markdown==3.3.3
+matplotlib==3.3.4
+mock==4.0.3
+netCDF4==1.5.5.1
+numpy==1.19.5
+ordered-set==4.0.2
+packaging==20.9
+pandas==1.1.5
 partd==1.1.0
 patsy==0.5.1
-Pillow==7.0.0
+Pillow==8.1.0
 pluggy==0.13.1
-protobuf==3.11.3
-py==1.8.1
-pydot==1.4.1
-pyparsing==2.4.6
-pyproj==2.5.0
-pyshp==2.1.0
-pytest==5.3.5
-pytest-cov==2.8.1
-pytest-html==2.0.1
+protobuf==3.15.0
+py==1.10.0
+pydot==1.4.2
+pyparsing==2.4.7
+pyshp==2.1.3
+pytest==6.2.2
+pytest-cov==2.11.1
+pytest-html==3.1.1
 pytest-lazy-fixture==0.6.3
-pytest-metadata==1.8.0
+pytest-metadata==1.11.0
 pytest-sugar
 python-dateutil==2.8.1
-pytz==2019.3
-PyYAML==5.3
-requests==2.23.0
-scipy==1.4.1
-seaborn==0.10.0
+pytz==2021.1
+PyYAML==5.4.1
+requests==2.25.1
+scipy==1.5.4
+seaborn==0.11.1
 --no-binary shapely Shapely==1.7.0
-six==1.11.0
-statsmodels==0.11.1
-tabulate
-toolz==0.10.0
-typing-extensions
-urllib3==1.25.8
-wcwidth==0.1.8
-Werkzeug==1.0.0
-xarray==0.15.0
-zipp==3.1.0
+six==1.15.0
+statsmodels==0.12.2
+tabulate==0.8.8
+termcolor==1.1.0
+toml==0.10.2
+toolz==0.11.1
+typing-extensions==3.7.4.3
+urllib3==1.26.3
+Werkzeug==1.0.1
+wget==3.2
+xarray==0.16.2
+zipp==3.4.0
diff --git a/HPC_setup/requirements_JUWELS_additionals.txt b/HPC_setup/requirements_JUWELS_additionals.txt
index 82d78d096ba56157cf046c2e9e2064c3b68e421c..12e09ccdd620c0c81c78ae6d4781d4feb5b94baf 100644
--- a/HPC_setup/requirements_JUWELS_additionals.txt
+++ b/HPC_setup/requirements_JUWELS_additionals.txt
@@ -1,60 +1,63 @@
-absl-py==0.9.0
+absl-py==0.11.0
+appdirs==1.4.4
 astor==0.8.1
-atomicwrites==1.3.0
-attrs==19.3.0
-certifi==2019.11.28
-chardet==3.0.4
-cloudpickle==1.3.0
-coverage==5.0.3
+attrs==20.3.0
+cached-property==1.5.2
+certifi==2020.12.5
+cftime==1.4.1
+chardet==4.0.0
+coverage==5.4
 cycler==0.10.0
-Cython==0.29.15
-dask==2.11.0
-fsspec==0.6.2
-gast==0.3.3
-grpcio==1.27.2
+dask==2021.2.0
+fsspec==0.8.5
+gast==0.4.0
+grpcio==1.35.0
 h5py==2.10.0
-idna==2.8
-importlib-metadata==1.5.0
+idna==2.10
+importlib-metadata==3.4.0
+iniconfig==1.1.1
 
-kiwisolver==1.1.0
-locket==0.2.0
-Markdown==3.2.1
-matplotlib==3.2.0
-mock==4.0.1
-more-itertools==8.2.0
-numpy==1.18.1
-packaging==20.3
-pandas==1.0.1
+kiwisolver==1.3.1
+locket==0.2.1
+Markdown==3.3.3
+matplotlib==3.3.4
+mock==4.0.3
+netCDF4==1.5.5.1
+numpy==1.19.5
+ordered-set==4.0.2
+packaging==20.9
+pandas==1.1.5
 partd==1.1.0
 patsy==0.5.1
-Pillow==7.0.0
+Pillow==8.1.0
 pluggy==0.13.1
-protobuf==3.11.3
-py==1.8.1
-pydot==1.4.1
-pyparsing==2.4.6
-pyproj==2.5.0
-pyshp==2.1.0
-pytest==5.3.5
-pytest-cov==2.8.1
-pytest-html==2.0.1
+protobuf==3.15.0
+py==1.10.0
+pydot==1.4.2
+pyparsing==2.4.7
+pyshp==2.1.3
+pytest==6.2.2
+pytest-cov==2.11.1
+pytest-html==3.1.1
 pytest-lazy-fixture==0.6.3
-pytest-metadata==1.8.0
+pytest-metadata==1.11.0
 pytest-sugar
 python-dateutil==2.8.1
-pytz==2019.3
-PyYAML==5.3
-requests==2.23.0
-scipy==1.4.1
-seaborn==0.10.0
+pytz==2021.1
+PyYAML==5.4.1
+requests==2.25.1
+scipy==1.5.4
+seaborn==0.11.1
 --no-binary shapely Shapely==1.7.0
-six==1.11.0
-statsmodels==0.11.1
-tabulate
-toolz==0.10.0
-typing-extensions
-urllib3==1.25.8
-wcwidth==0.1.8
-Werkzeug==1.0.0
-xarray==0.15.0
-zipp==3.1.0
+six==1.15.0
+statsmodels==0.12.2
+tabulate==0.8.8
+termcolor==1.1.0
+toml==0.10.2
+toolz==0.11.1
+typing-extensions==3.7.4.3
+urllib3==1.26.3
+Werkzeug==1.0.1
+wget==3.2
+xarray==0.16.2
+zipp==3.4.0
diff --git a/docs/_source/get-started.rst b/docs/_source/get-started.rst
index d51abaf4e1f256a420182c8d93055e99760b6963..7374c9bdc7b3e4ed8a224ed51f6608bf5e9aefb3 100644
--- a/docs/_source/get-started.rst
+++ b/docs/_source/get-started.rst
@@ -6,130 +6,6 @@ Getting started with MLAir
    :language: python
 
 
-Install MLAir
--------------
-
-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:`here<Workaround to skip geographical plot>`. For special instructions to install MLAir on the Juelich
-HPC systems, see section :ref:`Installation on Jülich HPC systems`.
-
-Pre-requirements
-~~~~~~~~~~~~~~~~
-
-* 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
-~~~~~~~~~~~~~~~~~~~~~
-
-* Install all requirements from `requirements.txt <https://gitlab.version.fz-juelich.de/toar/machinelearningtools/-/blob/master/requirements.txt>`_
-  preferably in a virtual environment
-* Either clone MLAir from the `gitlab repository <https://gitlab.version.fz-juelich.de/toar/machinelearningtools.git>`_
-* or download the distribution file (`current version <https://gitlab.version.fz-juelich.de/toar/mlair/-/blob/master/dist/mlair-1.2.0-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 graphviz-gnome`
-
-* 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 e0087b0e69fa2c63d1d976e4d0b076747e007d5f..4f37c1093171ba3546b8e0082839282070ef9ecd 100644
--- a/docs/_source/index.rst
+++ b/docs/_source/index.rst
@@ -1,17 +1,21 @@
-.. MLair documentation master file, created by
-sphinx-quickstart on Wed Apr 15 14:27:29 2020.
-You can adapt this file completely to your liking, but it should at least
-contain the root `toctree` directive.
 
 Welcome to MLAir's documentation!
 ================================================
 
 This is the documentation of the `MLAir package <https://gitlab.version.fz-juelich.de/toar/mlair>`_.
+g
+.. figure:: ../logo/MLAir_Logo.png
+
+    MLAir Logo
+
+MLAir (Machine Learning on Air data) is an environment that simplifies and accelerates the creation of new machine
+learning (ML) models for the analysis and forecasting of meteorological and air quality time series.
 
 .. toctree::
    :maxdepth: 2
    :caption: Contents:
 
+   installation
    get-started
    customise
    defaults
diff --git a/docs/_source/installation.rst b/docs/_source/installation.rst
new file mode 100644
index 0000000000000000000000000000000000000000..7578d9abf49b9e4b67dac19b6263c4bc05110eea
--- /dev/null
+++ b/docs/_source/installation.rst
@@ -0,0 +1,125 @@
+.. role:: py(code)
+   :language: python
+
+Install MLAir
+-------------
+
+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:`here<Workaround to skip geographical plot>`. For special instructions to install MLAir on the Juelich
+HPC systems, see section :ref:`Installation on Jülich HPC systems`.
+
+Pre-requirements
+~~~~~~~~~~~~~~~~
+
+* 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
+~~~~~~~~~~~~~~~~~~~~~
+
+* Install all requirements from `requirements.txt <https://gitlab.version.fz-juelich.de/toar/machinelearningtools/-/blob/master/requirements.txt>`_
+  preferably in a virtual environment
+* Either clone MLAir from the `gitlab repository <https://gitlab.version.fz-juelich.de/toar/machinelearningtools.git>`_
+* or download the distribution file (`current version <https://gitlab.version.fz-juelich.de/toar/mlair/-/blob/master/dist/mlair-1.2.0-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 graphviz-gnome`
+
+* 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"))
diff --git a/mlair/plotting/postprocessing_plotting.py b/mlair/plotting/postprocessing_plotting.py
index 7fe6bc2fe82f50cb011f325707f102d51549c174..1cb6181ac5d1428012ce17a59b60da708085fe44 100644
--- a/mlair/plotting/postprocessing_plotting.py
+++ b/mlair/plotting/postprocessing_plotting.py
@@ -734,7 +734,8 @@ class PlotCompetitiveSkillScore(AbstractPlotClass):
         data = data.to_dataframe("data").unstack(level=1).swaplevel()
         data.columns = data.columns.levels[1]
         self._labels = [str(i) + "d" for i in data.index.levels[1].values]
-        return data.stack(level=0).reset_index(level=2, drop=True).reset_index(name="data")
+        data = data.stack(level=0).reset_index(level=2, drop=True).reset_index(name="data")
+        return data.astype({"comparison": str, "ahead": int, "data": float})
 
     def _plot(self, single_model_comparison=False):
         """Plot skill scores of the comparisons."""
diff --git a/requirements.txt b/requirements.txt
index af24bfc2ad000418daaee8e452ebe17bc24062fe..a5854fea755d20cc95afd161f587e709a29cfd19 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,70 +1,70 @@
-Cython==0.29.15
-absl-py==0.9.0
+absl-py==0.11.0
+appdirs==1.4.4
 astor==0.8.1
-atomicwrites==1.3.0
-attrs==19.3.0
-certifi==2019.11.28
-chardet==3.0.4
-cloudpickle==1.3.0
-coverage==5.0.3
+attrs==20.3.0
+cached-property==1.5.2
+certifi==2020.12.5
+cftime==1.4.1
+chardet==4.0.0
+coverage==5.4
 cycler==0.10.0
-dask==2.11.0
-fsspec==0.6.2
-gast==0.3.3
-grpcio==1.27.2
+dask==2021.2.0
+fsspec==0.8.5
+gast==0.4.0
+grpcio==1.35.0
 h5py==2.10.0
-idna==2.8
-importlib-metadata==1.5.0
+idna==2.10
+importlib-metadata==3.4.0
+iniconfig==1.1.1
 Keras==2.2.4
 Keras-Applications==1.0.8
-Keras-Preprocessing==1.1.0
-kiwisolver==1.1.0
-locket==0.2.0
-Markdown==3.2.1
-matplotlib==3.2.0
-mock==4.0.1
-more-itertools==8.2.0
-netcdf4==1.5.5.1
-numpy==1.18.1
-packaging==20.3
-pandas==1.0.1
+Keras-Preprocessing==1.1.2
+kiwisolver==1.3.1
+locket==0.2.1
+Markdown==3.3.3
+matplotlib==3.3.4
+mock==4.0.3
+netCDF4==1.5.5.1
+numpy==1.19.5
+ordered-set==4.0.2
+packaging==20.9
+pandas==1.1.5
 partd==1.1.0
 patsy==0.5.1
-Pillow==7.0.0
+Pillow==8.1.0
 pluggy==0.13.1
-protobuf==3.11.3
+protobuf==3.15.0
 py==1.10.0
-pydot==1.4.1
-pyparsing==2.4.6
-pyproj==2.5.0
-pyshp==2.1.0
-pytest==6.0.0
-pytest-cov==2.10.0
-pytest-html==2.1.1
+pydot==1.4.2
+pyparsing==2.4.7
+pyshp==2.1.3
+pytest==6.2.2
+pytest-cov==2.11.1
+pytest-html==3.1.1
 pytest-lazy-fixture==0.6.3
-pytest-metadata==1.8.0
-pytest-sugar
+pytest-metadata==1.11.0
+pytest-sugar==0.9.4
 python-dateutil==2.8.1
-pytz==2019.3
-PyYAML==5.3
-requests==2.23.0
-scipy==1.4.1
-seaborn==0.10.0
-six==1.11.0
-statsmodels==0.11.1
-tabulate
+pytz==2021.1
+PyYAML==5.4.1
+requests==2.25.1
+scipy==1.5.4
+seaborn==0.11.1
+six==1.15.0
+statsmodels==0.12.2
+tabulate==0.8.8
 tensorboard==1.13.1
-tensorflow-estimator==1.13.0
 tensorflow==1.13.1
+tensorflow-estimator==1.13.0
 termcolor==1.1.0
-toolz==0.10.0
-typing-extensions
-urllib3==1.25.8
-wcwidth==0.1.8
-Werkzeug==1.0.0
-xarray==0.16.1
-zipp==3.1.0
-wget~=3.2
-setuptools~=49.6.0
+toml==0.10.2
+toolz==0.11.1
+typing-extensions==3.7.4.3
+urllib3==1.26.3
+Werkzeug==1.0.1
+wget==3.2
+xarray==0.16.2
+zipp==3.4.0
+
+--no-binary shapely Shapely==1.7.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 45e04819f355640dc4a85218440b95164dba280c..809eb0b303a745ae9d68dfb5aa059aeebcf24ac6 100644
--- a/requirements_gpu.txt
+++ b/requirements_gpu.txt
@@ -1,68 +1,70 @@
-Cython==0.29.15
-absl-py==0.9.0
+absl-py==0.11.0
+appdirs==1.4.4
 astor==0.8.1
-atomicwrites==1.3.0
-attrs==19.3.0
-certifi==2019.11.28
-chardet==3.0.4
-cloudpickle==1.3.0
-coverage==5.0.3
+attrs==20.3.0
+cached-property==1.5.2
+certifi==2020.12.5
+cftime==1.4.1
+chardet==4.0.0
+coverage==5.4
 cycler==0.10.0
-dask==2.11.0
-fsspec==0.6.2
-gast==0.3.3
-grpcio==1.27.2
+dask==2021.2.0
+fsspec==0.8.5
+gast==0.4.0
+grpcio==1.35.0
 h5py==2.10.0
-idna==2.8
-importlib-metadata==1.5.0
-#Keras==2.2.4
-#Keras-Applications==1.0.8
-#Keras-Preprocessing==1.1.0
-kiwisolver==1.1.0
-locket==0.2.0
-Markdown==3.2.1
-matplotlib==3.2.0
-mock==4.0.1
-more-itertools==8.2.0
-numpy==1.18.1
-packaging==20.3
-pandas==1.0.1
+idna==2.10
+importlib-metadata==3.4.0
+iniconfig==1.1.1
+Keras==2.2.4
+Keras-Applications==1.0.8
+Keras-Preprocessing==1.1.2
+kiwisolver==1.3.1
+locket==0.2.1
+Markdown==3.3.3
+matplotlib==3.3.4
+mock==4.0.3
+netCDF4==1.5.5.1
+numpy==1.19.5
+ordered-set==4.0.2
+packaging==20.9
+pandas==1.1.5
 partd==1.1.0
 patsy==0.5.1
-Pillow==7.0.0
+Pillow==8.1.0
 pluggy==0.13.1
-protobuf==3.11.3
-py==1.8.1
-pydot==1.4.1
-pyparsing==2.4.6
-pyproj==2.5.0
-pyshp==2.1.0
-pytest==5.3.5
-pytest-cov==2.8.1
-pytest-html==2.0.1
+protobuf==3.15.0
+py==1.10.0
+pydot==1.4.2
+pyparsing==2.4.7
+pyshp==2.1.3
+pytest==6.2.2
+pytest-cov==2.11.1
+pytest-html==3.1.1
 pytest-lazy-fixture==0.6.3
-pytest-metadata==1.8.0
-pytest-sugar
+pytest-metadata==1.11.0
+pytest-sugar==0.9.4
 python-dateutil==2.8.1
-pytz==2019.3
-PyYAML==5.3
-requests==2.23.0
-scipy==1.4.1
-seaborn==0.10.0
-six==1.11.0
-statsmodels==0.11.1
-tabulate
-#tensorboard==1.13.1
-#tensorflow-estimator==1.13.0
-#tensorflow-gpu==1.13.1
-#termcolor==1.1.0
-toolz==0.10.0
-typing-extensions
-urllib3==1.25.8
-wcwidth==0.1.8
-Werkzeug==1.0.0
-xarray==0.15.0
-zipp==3.1.0
+pytz==2021.1
+PyYAML==5.4.1
+requests==2.25.1
+scipy==1.5.4
+seaborn==0.11.1
+six==1.15.0
+statsmodels==0.12.2
+tabulate==0.8.8
+tensorboard==1.13.1
+tensorflow-gpu==1.13.1
+tensorflow-estimator==1.13.0
+termcolor==1.1.0
+toml==0.10.2
+toolz==0.11.1
+typing-extensions==3.7.4.3
+urllib3==1.26.3
+Werkzeug==1.0.1
+wget==3.2
+xarray==0.16.1
+zipp==3.4.0
 
-#Cartopy==0.18.0
---no-binary shapely Shapely==1.7.0
\ No newline at end of file
+--no-binary shapely Shapely==1.7.0
+Cartopy==0.18.0
diff --git a/test/requirements_tf_skip.txt b/test/requirements_tf_skip.txt
new file mode 100644
index 0000000000000000000000000000000000000000..024a2ee7902890304efe3075cdfbe1ed210e5393
--- /dev/null
+++ b/test/requirements_tf_skip.txt
@@ -0,0 +1,70 @@
+absl-py==0.11.0
+appdirs==1.4.4
+astor==0.8.1
+attrs==20.3.0
+cached-property==1.5.2
+certifi==2020.12.5
+cftime==1.4.1
+chardet==4.0.0
+coverage==5.4
+cycler==0.10.0
+dask==2021.2.0
+fsspec==0.8.5
+gast==0.4.0
+grpcio==1.35.0
+h5py==2.10.0
+idna==2.10
+importlib-metadata==3.4.0
+iniconfig==1.1.1
+Keras==2.2.4
+Keras-Applications==1.0.8
+Keras-Preprocessing==1.1.2
+kiwisolver==1.3.1
+locket==0.2.1
+Markdown==3.3.3
+matplotlib==3.3.4
+mock==4.0.3
+netCDF4==1.5.5.1
+numpy==1.19.5
+ordered-set==4.0.2
+packaging==20.9
+pandas==1.1.5
+partd==1.1.0
+patsy==0.5.1
+Pillow==8.1.0
+pluggy==0.13.1
+protobuf==3.15.0
+py==1.10.0
+pydot==1.4.2
+pyparsing==2.4.7
+pyshp==2.1.3
+pytest==6.2.2
+pytest-cov==2.11.1
+pytest-html==3.1.1
+pytest-lazy-fixture==0.6.3
+pytest-metadata==1.11.0
+pytest-sugar==0.9.4
+python-dateutil==2.8.1
+pytz==2021.1
+PyYAML==5.4.1
+requests==2.25.1
+scipy==1.5.4
+seaborn==0.11.1
+six==1.15.0
+statsmodels==0.12.2
+tabulate==0.8.8
+# tensorboard==1.13.1
+# tensorflow-gpu==1.13.1
+# tensorflow-estimator==1.13.0
+termcolor==1.1.0
+toml==0.10.2
+toolz==0.11.1
+typing-extensions==3.7.4.3
+urllib3==1.26.3
+Werkzeug==1.0.1
+wget==3.2
+xarray==0.16.1
+zipp==3.4.0
+
+--no-binary shapely Shapely==1.7.0
+Cartopy==0.18.0