Tools portal

The CSDMS software engineers create tools to help CSDMS members couple and run models.
__NOCACHE__
==BMI Builder==
 The Basic Model Interface | 200px | right 
The BMI Builder helps developers build a Basic Model Interface for their model by generating template source code which is then customized by the user for their particular model. Users provide some basic metadata for their model (such as names of input and output items, units, etc.) to the bmi builder which then creates creates BMI implementation files in their language of choice. The user then go through these file of files and implements the labeled sections.
=== Links ===
* Source code on GitHub
* Documentation on how to use the BMI Builder is provided on GitHub in the read.me file
==BMI Tester==
The BMI Tester is a Python package that provides command-line utilities for testing Python classes that implement the Basic Model Interface (BMI). BMI Tester also provides a Python interface to the tester that allows users to run tests programmatically. The package is easily extendable so that new tests can be added to the suite.
===Links===
* Source code
* Documentation
== Standard Names registry==
 
The Standard Names registry is a Python library for working with CSDMS Standard Names.
The CSDMS Standard Names provide a comprehensive set of naming rules and patterns that are not specific to any particular modeling domain. They were also designed to have many other nice features such as parsability and natural alphabetical grouping. CSDMS Standard Names always consist of an object part and a quantity/attribute part and the quantity part may also have an operation prefix which can consist of multiple operations.
standard_names is a Python package to define, query, operate, and manipulate CSDMS Standard Names. It is distributed with a comprehensive list of the currently defined Standard Names.
The standard_names package consists of two basic classes:
* StandardName: a single name
* NamesRegistry: a collection of names.
The standard_names package has a complete set of unit tests that are continually tested on Mac, Linux, and Windows. It is distributed both as source code and as Anaconda packages from Anaconda Cloud.
==== Links ====
* Documentation for the standard_names package
* Source code
* The current Standard Names Registry on GitHub
==WMT==
 The CSDMS Web Modeling Tool | 350px | right | link=https://csdms.colorado.edu/wmt 
The CSDMS Web Modeling Tool, 
WMT,
is a web application that allows users on a desktop, laptop or tablet computer to build and run standalone or coupled Earth surface dynamics models on a supercomputer.
With WMT, users can:
* Design a model from a set of CSDMS components
* Edit model parameters
* Save models to a web-accessible server
* Share saved models with the community
* Submit model runs to an HPC system
* Download simulation results
The following components are currently available in WMT.
To see how you can use WMT to configure and run a standalone or a coupled model on the web,
check out the WMT tutorial,
or jump right into using WMT at https://csdms.colorado.edu/wmt.
For more information on WMT,
including links to its documentation and its source code repositories,
please see the CSDMS Web Modeling Tool wiki page.
==Dakotathon==
For more information on Dakotathon, including links to its documentation and its source code repository, please see the Dakotathon wiki page.
==Permafrost Benchmark System==
 The Permafrost Benchmark System (PBS) | 350px | right | link=https://permamodel.github.io/pbs 
The Permafrost Benchmark System (PBS) wraps the command-line
ILAMB benchmarking software with a customized version of WMT,
and adds tools for uploading
CMIP5-compatible model outputs and benchmark datasets.
The PBS allows users to access and run ILAMB remotely,
without having to install software or data locally;
a web browser on a desktop, laptop, or tablet computer is all that’s needed.
For more information on the PBS,
including links to documentation and source code repositories,
please see the PBS home page at https://permamodel.github.io/pbs.
If you're already set up with a login on the PBS,
jump right to it at https://csdms.colorado.edu/pbs.