Installing a WMT executor: Difference between revisions

From CSDMS
m Foo
m Change variable name
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
A '''WMT executor''', part of the CSDMS Web Modeling Tool,
==Installing a WMT executor==
runs standalone or coupled model components on a computational resource.
 
 
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:
Requirements:
* An internet-accessible MacOSX or Linux computational resource
* An internet-accessible MacOSX or Linux computational resource
* <code>curl</code>
* <code>git</code>
* <code>git</code>




Start by selecting an install directory for the WMT executor on the computational resource.
Start by selecting an install directory, accessible to all users, on the computational resource.
The installation directory needs to be accessible to all users.
For example, on the CSDMS HPCC, '''''beach''''', WMT executors are installed in <code>/home/csdms/wmt</code>.
For example, on the CSDMS HPCC, '''''beach''''', WMT executors are installed in <code>/home/csdms/wmt</code>.


Line 15: Line 18:
  cd /home/csdms/wmt
  cd /home/csdms/wmt
  mkdir _testing && cd _testing
  mkdir _testing && cd _testing
  install=$(pwd)
  root=$(pwd)


Install a local Python distribution for use by the executor.
Install a local Python distribution for use by the executor.
Line 22: Line 25:


  curl http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -o miniconda.sh
  curl http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -o miniconda.sh
  bash ./miniconda.sh -f -b -p $install/conda
  bash ./miniconda.sh -f -b -p $root/conda
  export PATH=$install/conda/bin:$PATH
  export PATH=$root/conda/bin:$PATH


Replace "Linux" with "MacOSX" in the <code>curl</code> statement above
Replace "Linux" with "MacOSX" in the <code>curl</code> statement above
Line 66: Line 69:
(The latest changes aren't yet in the ''dev'' channel.)
(The latest changes aren't yet in the ''dev'' channel.)


  cd $install/opt
  cd $root/opt
  git clone https://github.com/bmi-forum/bmi-babel
  git clone https://github.com/bmi-forum/bmi-babel
  cd bmi-babel
  cd bmi-babel
Line 77: Line 80:
Finally, clone and install <code>wmt-exe</code>.
Finally, clone and install <code>wmt-exe</code>.


  cd $install/opt
  cd $root/opt
  git clone https://github.com/csdms/wmt-exe
  git clone https://github.com/csdms/wmt-exe
  cd wmt-exe
  cd wmt-exe
Line 84: Line 87:
Check the installation by calling <code>wmt-info</code>:
Check the installation by calling <code>wmt-info</code>:


cd $root
  wmt-info
  wmt-info


which returns:
which, on the executor I've set up, returns:


  [beach.colorado.edu]
  [beach.colorado.edu]
Line 94: Line 98:
  directory = /home/csdms/wmt/_testing/conda
  directory = /home/csdms/wmt/_testing/conda


on the executor I've set up.
CSDMS model components can now be [[Installing_components_into_a_WMT_executor|installed]] into this WMT executor.
 
CSDMS model components can now be installed into this WMT executor.
(TODO: Link to article.)




--[[User:Mpiper|Mpiper]] ([[User talk:Mpiper|talk]]) 10:53, 23 September 2016 (MDT)
--[[User:Mpiper|Mpiper]] ([[User talk:Mpiper|talk]]) 10:53, 23 September 2016 (MDT)

Latest revision as of 14:13, 23 September 2016

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)