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