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

[jhub]: https://csdms.colorado.edu/wiki/JupyterHub [badge]: https://img.shields.io/badge/Run%20on-EarthscapeHub-orange [jupyter]: ./lessons/jupyter/index.md [shell]: ./lessons/shell/index.md [editors]: ./lessons/editors/index.md [conda]: ./lessons/conda/index.md [python]: ./lessons/python/index.ipynb [git]: ./lessons/git/index.md [bmi]: ./lessons/bmi/index.ipynb [landlab]: ./lessons/landlab/landlab/00_welcome.ipynb [pymt]: ./lessons/pymt/index.ipynb [permamodel]: ./lessons/permamodel/index.ipynb [best-practices]: ./lessons/best-practices/index.md [hpc]: ./lessons/hpc/index.md [jhub-link]: https://explore.openearthscape.org/hub/user-redirect/git-pull?repo=https%3A%2F%2Fgithub.com%2Fcsdms%2Fivy&urlpath=lab%2Ftree%2Fivy%2FREADME.ipynb%3Fautodecode&branch=main [jhub-info]: https://csdms.colorado.edu/wiki/JupyterHub [swc]: http://software-carpentry.org [swc-license]: https://github.com/swcarpentry/python-novice-inflammation/blob/gh-pages/LICENSE.md [coco]: https://github.com/CodeToCommunicate [coco-license]: https://github.com/CodeToCommunicate/CoCoLessons/blob/main/LICENSE [comses]: https://comses.net [comses-license]: https://github.com/comses-education/fair-osg-template/blob/main/LICENSE
CSDMS Ivy
CSDMS Ivy is a collection of instructional materials on
- modern, collaborative, scientific software development, and
- use of community cyberinfrastructure tools
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.
- [Project Jupyter][jupyter]
- [Introduction to the Shell][shell]
- [Text Editors and Development Environments][editors]
- [Python Fundamentals][python]
- [Anaconda and conda][conda]
- [Version Control with git and GitHub][git]
- [Python for Modeling][python]
- [Landlab][landlab]
- [The Basic Model Interface (BMI)][bmi]
- [The Python Modeling Toolkit (pymt)][pymt]
- [Permamodel Toolkit][permamodel]
- [Introduction to Cluster Computing][hpc]
- [Best Practices in Scientific Software Development][best-practices]
git client on their computer.
All lessons are also available to run
on [EarthscapeHub][jhub].
Click this button:
[![Run on EarthscapeHub][badge]][jhub-link]
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][jhub-info] 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.
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][swc] and remixed under their [license][swc-license]. The Project Jupyter lesson is taken from the [Code to Communicate][coco] project and modified under their [license][coco-license]. Material in the FAIR software lesson is adapted, under [license][comses-license], from a [CoMSES Net][comses] project.
CSDMS Ivy is supported with funding from the National Science Foundation.