Skip to content
/ ivy Public

Course material on scientific software development for researchers in earth and planetary surface processes

License

Notifications You must be signed in to change notification settings

csdms/ivy

Repository files navigation

Ivy logo

CSDMS Ivy

CSDMS Ivy is a collection of instructional materials on

  • modern, collaborative, scientific software development, and
  • use of community cyberinfrastructure tools

for researchers in earth and planetary surface processes.

CSDMS Ivy is written and maintained by the Community Surface Dynamics Modeling System (CSDMS).

Lessons

CSDMS Ivy lessons are modular and independent, although the ordering below represents a typical progression.

  1. Project Jupyter
  2. Introduction to the Shell
  3. Text Editors and Development Environments
  4. Python Fundamentals
  5. Anaconda and conda
  6. Version Control with git and GitHub
  7. Python for Modeling
  8. Landlab
  9. The Basic Model Interface (BMI)
  10. The Python Modeling Toolkit (pymt)
  11. Permamodel Toolkit
  12. Introduction to Cluster Computing
  13. Best Practices in Scientific Software Development

The lessons can be run locally if a user installs Anaconda and a git client on their computer. All lessons are also available to run on EarthscapeHub. Click this button:

Run on EarthscapeHub

to open the lessons directly on the EarthscapeHub explore instance!

Note: The EarthscapeHub explore instance is password-protected. Please contact your instructor about obtaining a login, or visit this CSDMS wiki page for more information.

Contributing

CSDMS Ivy is an open source project; contributions that follow the contributor code of conduct are welcomed and are acknowledged. All CSDMS Ivy course material is released under CC BY 4.0 and MIT licenses. If you use the CSDMS Ivy course material, please cite it.

DOI

Acknowledgments

CSDMS Ivy grew from a National Science Foundation Cybertraining pilot program, Cybertraining: Pilot: Collaborative Research: Cybertraining for Earth Surface Processes Modelers (award numbers 1924259 and 1924185).

Portions of the CSDMS Ivy Python lessons are derived from material that is copyright Software Carpentry and remixed under their license. The Project Jupyter lesson is taken from the Code to Communicate project and modified under their license. Material in the FAIR software lesson is adapted, under license, from a CoMSES Net project.

CSDMS Ivy is supported with funding from the National Science Foundation.