Installing a WMT executor

From CSDMS

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.


--Mpiper (talk) 10:53, 23 September 2016 (MDT)