Programming and training support

Software Engineering Support and Training

CSDMS has senior personnel with research backgrounds in quantitative Earth Sciences and expertise in scientific software engineering and code development. The CSDMS software engineers can help your project by accelerating your scientific programming tasks.

Visit the CSDMS Integration Facility

Students, researchers, and PIs can plan a short visit to the CSDMS Integration Facility (IF) in Boulder to work with the CSDMS software engineers to improve their code. Visits may include, for example, help in making a model compatible with the CSDMS framework. Typically, a 1-2 day visit is a time for intense collaboration with our staff. The IF has several visitors per year, but resources are limited.

Subaward or Collaboration on a proposal

Scientists with plans to develop significant new research codes to answer outstanding questions in Earth Surface Processes science are invited to discuss a closer collaboration with the CSDMS IF. Creating a new model typically demands a large investment of time. An experienced software engineer can help to accelerate this process. We help to make your code more flexible, interoperable, robust and reusable. Specifically, CSDMS software engineers can help make your model compatible with the CSDMS framework, including guidance in refactoring code, wrapping a Basic Model Interface around existing code to allow coupling with other models, and getting codes to run on the High Performance Computing systems with which CSDMS has partnered. Ultimately, model codes can all become open-source community resources. The CSDMS IF can assist in the development of model codes in any of the languages supported by Babel: C, C++, Fortran, Java, or Python.

Depending on the needs of your project, we invite you to discuss options for including a subaward to the CSDMS IF, or a collaborative proposal with CSDMS senior personnel.


CSDMS IF staff teach a variety of programming and modeling skill clinics. Workshops range from 1-2 day Software Carpentry workshops to short courses on Earth Surface Process Modeling using the CSDMS Web Modeling Tool (WMT). Courses or workshops can be more technically focused; for example, we teach best programming practices, model development and model coupling using the CSDMS cyberinfrastructure. Further, the CSDMS IF has experience teaching introductions into modeling with hands-on clinics for advanced undergraduates and beginning graduate students. Talk to us to see whether CSDMS IF personnel can provide tailored training for your lab group, department or institution.

Reach out to the CSDMS Integration Facility staff to discuss your needs for support and find out the best options for collaboration: