OMP-IRD / hyfaa-scheduler

HYFAA/MGB scheduler designed by Magellium
0 stars 2 forks source link

HYFAA V4 : Global Hydrological Operational Forecast and Assimilated System version 4

Install markdown reader browser extension, enable access to urls, and open this file to view it with a nicer rendering.

About HYFAA

HYFAA is a python scheduler for operational hydrological forecasting. To achieve this, it combines :

HYFAA is composed of :

Hardware requirements :

Install HYFAA

With Docker

Make docker image with make_docker.sh

On a linux PC without docker

  1. apt-get install build-essential gfortran cmake libnetcdf-dev libnetcdff-dev
  2. pip install numpy numba scipy netCDF4 pyyaml progress pandas geopandas pytest requests SALib ftputil

Standard install

  1. Run ./install.sh

NB:

Local install

Use for instance if you do not have root priviledges on your machine

  1. Run ./install.sh ${mgb_iph_install_dir}, ${mgb_iph_install_dir} being any directory (must not exist prior to installation).
  2. You will need to add paths to $PATH and $PYTHONPATH to directories within ${mgb_iph_install_dir} that contain hyfaa and mgb_iph executables:
    export PATH=${mgb_iph_install_dir}:${mgb_iph_install_dir}/bin:$PATH
    export PYTHONPATH=$(find ${mgb_iph_install_dir} -type d -iname 'site-packages'):$PYTHONPATH

NB:

Standard linux install on CNES cluster

Method 1

This is the preferred method as it installs an independant python environment and therefore allows more flexibility to add other librairies in the future and prevents problems with changes on HAL python modules.

Method 2

This solely relies on HAL modules for python environment, rendering installation easier but changes on HAL python module may cause installation to fail in the future, and SALib library is not available.

Windows or Mac

Use docker (best option), or use a unix virtual machine.

Use HYFAA

With Docker

Without docker

Using PBS on CNES cluster

WARNING: So that modules and paths, pythonpaths are set on the node, you must either add them to your ~/.bashrc, or to the run.sh script in the configuration folder.

NB: You can use the --pbs_name option to set your job name; hyfaa by default.