Installing a WMT executor
Installing a WMT executor
A WMT executor (also referred to as an execution server) is the part of the CSDMS Web Modeling Tool that runs standalone or coupled model components on a computational resource.
Requirements:
- An internet-accessible MacOSX or Linux computational resource
curl
git
Start by selecting an install directory, accessible to all users, on the computational resource.
For example, on the CSDMS HPCC, beach, WMT executors are installed in /home/csdms/wmt
.
Change to the install directory you've selected and define a shell variable for future use.
cd /home/csdms/wmt mkdir _testing && cd _testing root=$(pwd)
Install a local Python distribution for use by the executor. CSDMS IF recommends miniconda, a minimal distribution based on the Anaconda Python distribution.
curl http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -o miniconda.sh bash ./miniconda.sh -f -b -p $root/conda export PATH=$root/conda/bin:$PATH
Replace "Linux" with "MacOSX" in the curl
statement above
if installing on a Mac.
Use the Anaconda package manager, conda
,
to install a set of packages used by the executor.
conda install ipython numpy scipy netcdf4
(Although ipython
isn't required, it's handy for debugging.)
Using conda
and the CSDMS Anaconda channel,
install cca-bocca
, which should fetch and install
several dependencies for the CSDMS toolchain,
including cca-spec-babel
, ccaffeine
, and cca-bocca
.
conda install -c csdms cca-bocca
Clone and install the Python Modeling Tools, PyMT, using the changes from the mcflugen/fix-for-new-bmi branch. (The latest changes aren't yet in the CSDMS dev channel.)
mkdir opt && cd opt git clone https://github.com/csdms/pymt cd pymt git branch mcflugen/fix-for-new-bmi git checkout mcflugen/fix-for-new-bmi git pull origin mcflugen/fix-for-new-bmi python setup.py develop
To aid debugging, we recommend installing with "develop" for this and all Python packages built from source.
PyMT needs cfunits
to run.
conda install -c csdms cfunits-python
Clone and install bmi-babel
.
(The latest changes aren't yet in the dev channel.)
cd $root/opt git clone https://github.com/bmi-forum/bmi-babel cd bmi-babel python setup.py develop
The CSDMS scripting
package is a new requirement for bmi-babel
.
conda install -c csdms/channel/dev scripting
Finally, clone and install wmt-exe
.
cd $root/opt git clone https://github.com/csdms/wmt-exe cd wmt-exe python setup.py develop
Check the installation by calling wmt-info
:
cd $root wmt-info
which, on the executor I've set up, returns:
[beach.colorado.edu] host_nickname = beach ssh_port = 22 host = beach.colorado.edu directory = /home/csdms/wmt/_testing/conda
CSDMS model components can now be installed into this WMT executor.