CSDMS Ivy

From CSDMS
CSDMS Ivy

Would you like to learn more about…

  • Using Python and Jupyter for your research
  • Managing projects with Git and GitHub
  • Building and running models with Landlab, BMI, and pymt
  • Writing clean, tested, and documented scientific code
  • Running models on clusters or in the cloud

Then the Ivy modular course materials are exactly what you’re looking for!


The CSDMS Ivy curriculum offers modular, open-source instructional materials to teach modern, collaborative scientific software development practices tailored to researchers in earth and planetary surface processes. The lessons are designed to be pedagogically independent yet follow a logical sequence: beginning with foundational tools (Project Jupyter, the Unix shell, text editors, and core Python), then advancing to environment management (Anaconda/conda), version control (git/GitHub), and domain-specific modeling tools (Python for Modeling, Landlab, the Basic Model Interface, the Python Modeling Toolkit, and PermaModel). Later modules introduce scalable infrastructure (cluster computing) and engineering discipline via best practices in scientific software (e.g. testing, documentation, reproducibility).

Each lesson combines conceptual explanation, interactive examples, and hands-on exercises, aiming to equip you with the skills needed to write reliable, maintainable, and reproducible code in geoscience contexts. Because the lessons are containerized and available via EarthscapeHub (or installable locally via Anaconda/git), you can flexibly deploy them. As an open project under permissive licensing (CC BY 4.0 / MIT), Ivy encourages you to contribute and reuse, enjoy!

Get started at: https://github.com/csdms/ivy