TestingExecutorSiwenna
Instructions for installing and configuring a WMT executor on siwenna.
--Mpiper (talk) 12:33, 22 February 2018 (MST)
Set install directory
The install directory for this executor is /home/csdms/wmt/_testing.
install_dir=/home/csdms/wmt/_testing 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
Using the csdms-stack conda channel (the Bakery) install the CSDMS software stack, including several pre-built components, with the `csdms-stack` metapackage.
conda install csdms-stack -c csdms-stack -c defaults -c conda-forge
This metapackage currently includes
- pymt
- cca-tools
- csdms-child
- csdms-sedflux-3d
- csdms-hydrotrend
- csdms-permamodel-ku
- csdms-permamodel-frostnumber
- csdms-permamodel-kugeo
- csdms-permamodel-frostnumbergeo
- csdms-brake
- csdms-pydeltarcm
Next, install `wmt-exe` from source, making sure to create a configuration file that describes the executor.
mkdir -p $install_dir/opt && cd $install_dir/opt git clone https://github.com/csdms/wmt-exe cd wmt-exe python setup.py configure --wmt-prefix=/home/csdms/wmt/_testing python setup.py develop
Optionally install the `babelizer`, in case a component needs to be built from source.
conda install -c csdms-stack babelizer
Optionally install IPython for testing.
conda install ipython
When running IPython remotely on siwenna, it's helpful to set
export MPLBACKEND=Agg
Install and test CSDMS components
Each section below describes how to install and test a particular CSDMS component.
Consider setting the PYMT_DEBUG environment variable.
export PYMT_DEBUG=True
It's really helpful for debugging.
Note that the ILAMB component from the Bakery won't work because it's built against `pymt=0.2`; in particular, my BMI for ILAMB is incompatible with the `model_metadata` package in newer versions of PyMT.
HydroTrend
Hydrotrend is included in the `csdms-stack` metapackage. Test it by starting a Python session in $install_dir/test and executing the setup and IRF methods.
from pymt.components import Hydrotrend comp = Hydrotrend() comp.get_component_name() # args = comp.setup('.') # comp.initialize(*args) comp.setup('.') comp.initialize(None) comp.get_start_time() comp.get_end_time() comp.get_current_time() comp.update() comp.finalize()
Permamodel
Permamodel is included in the `csdms-stack` metapackage. Test a component by starting a Python session in $install_dir/test and executing the setup and IRF methods.
from pymt.components import FrostNumberModel comp = FrostNumberModel() comp.get_component_name() # args = comp.setup('.') # comp.initialize(*args) comp.setup('.') comp.initialize('frostnumber_model.cfg') comp.get_start_time() comp.get_end_time() comp.get_current_time() comp.update() comp.finalize()
CRUAKTemp
Install the CRUAKTemp data component with `conda`:
conda install csdms-cruaktemp -c csdms-stack