PermafrostExecutorBlanca: Difference between revisions
No edit summary |
m Use blanca-specific commands |
||
Line 50: | Line 50: | ||
===Install executor software=== | ===Install executor software=== | ||
Load blanca's `git` module. | |||
module load git | |||
Install the `wmt-exe` package from source. | Install the `wmt-exe` package from source. | ||
Line 60: | Line 64: | ||
Create a site configuration file that describes the executor and symlink it to the executor's '''etc/''' diectory. | Create a site configuration file that describes the executor and symlink it to the executor's '''etc/''' diectory. | ||
python setup.py configure --wmt-prefix=$install_dir --launch-dir='/ | python setup.py configure --wmt-prefix=$install_dir --launch-dir='/rc_scratch/$USER/wmt/permafrost' --exec-dir='/rc_scratch/$USER/wmt/permafrost' | ||
ln -s "$(realpath wmt.cfg)" $install_dir/conda/etc | #ln -s "$(realpath wmt.cfg)" $install_dir/conda/etc # "realpath" not installed on blanca :( | ||
cd $install_dir/conda/etc | |||
ln -s $install_dir/opt/wmt-exe/wmt.cfg | |||
Note that we're using [https://www.rc.colorado.edu/resources/storage/filesystemstorage rc_scratch] for the launch and execution directories instead of the default '''~/.wmt'''. | |||
Also note that we needed an [https://github.com/csdms/wmt-exe/pull/12 SbatchLauncher class] | |||
for wmt-exe because blanca uses [https://slurm.schedmd.com/overview.html Slurm] | |||
instead of Torque for job control. |
Revision as of 09:13, 26 March 2018
Instructions for installing and configuring a WMT executor on blanca.
--Mpiper (talk) 16:48, 19 March 2018 (MDT)
Set install directory
The install directory for this executor is /projects/mapi8461/wmt/permafrost.
install_dir=/projects/mapi8461/wmt/permafrost mkdir -p $install_dir
Install Python
Install a Python distribution to be used locally by WMT. We like to use Miniconda.
cd $install_dir curl https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh -o miniconda.sh bash ./miniconda.sh -f -b -p $(pwd)/conda export PATH=$(pwd)/conda/bin:$PATH
If working with an existing Miniconda install, be sure to update everything before continuing:
conda update conda conda update --all
Install the CSDMS software stack
A limiting factor in setting up this executor is the componentized version of ILAMB can only be run with `pymt=0.2`; in particular, the BMI I wrote for ILAMB is incompatible with the `model_metadata` package in newer versions of PyMT. Further, as of 2018-03-20, the `netcdf-fortran` package needs to be wound back so that HDF5 1.8.18 is used because of problems with HDF5 1.10.1 and ESMF, used in PyMT. To ensure all the packages meet the same dependencies (looking at you, numpy), simultaneously install `cca-tools`, `netcdf-fortran`, `pymt=0.2` and `csdms-ilamb` using the csdms-stack conda channel (the Bakery),
conda install cca-tools netcdf-fortran=4.4.4=5 pymt=0.2 csdms-ilamb -c csdms-stack -c defaults -c conda-forge
Install the `babelizer` for components that need to be built from source.
conda install -c csdms-stack babelizer
Optionally install IPython for testing.
conda install ipython
Note that when running IPython remotely on siwenna, it's helpful to set
export MPLBACKEND=Agg
Install executor software
Load blanca's `git` module.
module load git
Install the `wmt-exe` package from source.
mkdir -p $install_dir/opt && cd $install_dir/opt git clone https://github.com/csdms/wmt-exe cd wmt-exe python setup.py develop
Create a site configuration file that describes the executor and symlink it to the executor's etc/ diectory.
python setup.py configure --wmt-prefix=$install_dir --launch-dir='/rc_scratch/$USER/wmt/permafrost' --exec-dir='/rc_scratch/$USER/wmt/permafrost' #ln -s "$(realpath wmt.cfg)" $install_dir/conda/etc # "realpath" not installed on blanca :( cd $install_dir/conda/etc ln -s $install_dir/opt/wmt-exe/wmt.cfg
Note that we're using rc_scratch for the launch and execution directories instead of the default ~/.wmt. Also note that we needed an SbatchLauncher class for wmt-exe because blanca uses Slurm instead of Torque for job control.