A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

CSDMS Ivy

Course material on scientific software development for researchers in earth and planetary surface processes.
https://github.com/csdms/ivy

Category: Sustainable Development
Sub Category: Education

Keywords

bash best-practices bmi csdms education geoscience git hpc jupyter landlab pymt python

Keywords from Contributors

earth-system-model hydrology permafrost

Last synced: about 8 hours ago
JSON representation

Repository metadata

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

README.ipynb

          {
 "cells": [
  {
   "cell_type": "markdown",
   "id": "b56d3d13",
   "metadata": {},
   "source": [
    "![Ivy logo](https://raw.githubusercontent.com/csdms/project/main/assets/CSDMS-logo-color-tagline-hor.png)\n",
    "\n",
    "\n",
    "\n",
    "[jhub]: https://csdms.colorado.edu/wiki/JupyterHub\n",
    "[badge]: https://img.shields.io/badge/Run%20on-EarthscapeHub-orange\n",
    "[jupyter]: ./lessons/jupyter/index.md\n",
    "[shell]: ./lessons/shell/index.md\n",
    "[editors]: ./lessons/editors/index.md\n",
    "[conda]: ./lessons/conda/index.md\n",
    "[python]: ./lessons/python/index.ipynb\n",
    "[git]: ./lessons/git/index.md\n",
    "[bmi]: ./lessons/bmi/index.ipynb\n",
    "[landlab]: ./lessons/landlab/landlab/00_welcome.ipynb\n",
    "[pymt]: ./lessons/pymt/index.ipynb\n",
    "[permamodel]: ./lessons/permamodel/index.ipynb\n",
    "[best-practices]: ./lessons/best-practices/index.md\n",
    "[hpc]: ./lessons/hpc/index.md\n",
    "[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\n",
    "[jhub-info]: https://csdms.colorado.edu/wiki/JupyterHub\n",
    "[swc]: http://software-carpentry.org\n",
    "[swc-license]: https://github.com/swcarpentry/python-novice-inflammation/blob/gh-pages/LICENSE.md\n",
    "[coco]: https://github.com/CodeToCommunicate\n",
    "[coco-license]: https://github.com/CodeToCommunicate/CoCoLessons/blob/main/LICENSE\n",
    "[comses]: https://comses.net\n",
    "[comses-license]: https://github.com/comses-education/fair-osg-template/blob/main/LICENSE\n",
    "\n",
    "# CSDMS Ivy\n",
    "\n",
    "CSDMS Ivy is a collection of instructional materials on\n",
    "\n",
    "* modern, collaborative, scientific software development, and\n",
    "* use of community cyberinfrastructure tools\n",
    "\n",
    "for researchers in earth and planetary surface processes.\n",
    "\n",
    "CSDMS Ivy is\n",
    "written and maintained by the\n",
    "[Community Surface Dynamics Modeling System ](https://csdms.colorado.edu)(CSDMS).\n",
    "\n",
    "## Lessons\n",
    "\n",
    "CSDMS Ivy lessons are modular and independent,\n",
    "although the ordering below represents a typical progression.\n",
    "\n",
    "1. [Project Jupyter][jupyter]\n",
    "1. [Introduction to the Shell][shell]\n",
    "1. [Text Editors and Development Environments][editors]\n",
    "1. [Python Fundamentals][python]\n",
    "1. [Anaconda and conda][conda]\n",
    "1. [Version Control with git and GitHub][git]\n",
    "1. [Python for Modeling][python]\n",
    "1. [Landlab][landlab]\n",
    "1. [The Basic Model Interface (BMI)][bmi]\n",
    "1. [The Python Modeling Toolkit (pymt)][pymt]\n",
    "1. [Permamodel Toolkit][permamodel]\n",
    "1. [Introduction to Cluster Computing][hpc]\n",
    "1. [Best Practices in Scientific Software Development][best-practices]\n",
    "\n",
    "The lessons can be run locally\n",
    "if a user installs Anaconda and a `git` client on their computer.\n",
    "All lessons are also available to run\n",
    "on [EarthscapeHub][jhub].\n",
    "Click this button:\n",
    "\n",
    "[![Run on EarthscapeHub][badge]][jhub-link]\n",
    "\n",
    "to open the lessons directly on the EarthscapeHub *explore* instance!\n",
    "\n",
    "> **Note:** The EarthscapeHub *explore* instance is password-protected.\n",
    "  Please contact your instructor about obtaining a login,\n",
    "  or visit [this][jhub-info] CSDMS wiki page for more information.\n",
    "\n",
    "## Contributing\n",
    "\n",
    "CSDMS Ivy is an open source project;\n",
    "[contributions](./CONTRIBUTING.md) that follow\n",
    "the [contributor code of conduct](./CODE-OF-CONDUCT.md) are welcomed\n",
    "and are [acknowledged](./AUTHORS.md).\n",
    "All CSDMS Ivy course material is\n",
    "released under [CC BY 4.0 and MIT licenses](./LICENSE.md).\n",
    "If you use the CSDMS Ivy course material,\n",
    "please [cite](./CITATION.cff) it.\n",
    "\n",
    "[![DOI](https://zenodo.org/badge/278206679.svg)](https://zenodo.org/badge/latestdoi/278206679)\n",
    "\n",
    "## Acknowledgments\n",
    "\n",
    "CSDMS Ivy grew from a National Science Foundation Cybertraining pilot program,\n",
    "*Cybertraining: Pilot: Collaborative Research:\n",
    "Cybertraining for Earth Surface Processes Modelers*\n",
    "(award numbers\n",
    "[1924259](https://www.nsf.gov/awardsearch/showAward?AWD_ID=1924259) and\n",
    "[1924185](https://www.nsf.gov/awardsearch/showAward?AWD_ID=1924185)).\n",
    "\n",
    "Portions of the CSDMS Ivy Python lessons are derived\n",
    "from material that is copyright\n",
    "[Software Carpentry][swc]\n",
    "and remixed under their [license][swc-license].\n",
    "The Project Jupyter lesson\n",
    "is taken from the [Code to Communicate][coco] project\n",
    "and modified under their [license][coco-license].\n",
    "Material in the FAIR software lesson is adapted,\n",
    "under [license][comses-license],\n",
    "from a [CoMSES Net][comses] project.\n",
    "\n",
    "CSDMS Ivy is supported with funding from the National Science Foundation."
   ]
  }
 ],
 "metadata": {
  "jupytext": {
   "cell_metadata_filter": "-all",
   "main_language": "python",
   "notebook_metadata_filter": "-all"
  },
  "kernelspec": {
   "display_name": "Ivy",
   "language": "python",
   "name": "ivy"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}

        

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# https://citation-file-format.github.io/cff-initializer-javascript/

cff-version: 1.2.0
title: CSDMS Ivy
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - family-names: Piper
    given-names: Mark
    orcid: 'https://orcid.org/0000-0001-6418-277X'
  - family-names: Campforts
    given-names: Benjamin
    orcid: 'https://orcid.org/0000-0001-5699-6714'
  - family-names: Hutton
    given-names: Eric
    orcid: 'https://orcid.org/0000-0002-5864-6459'
  - family-names: Gan
    given-names: Tian
    orcid: 'https://orcid.org/0000-0003-3624-6910'
  - family-names: Pierce
    given-names: Ethan
    orcid: 'https://orcid.org/0000-0001-8207-2785'
  - family-names: Overeem
    given-names: Irina
    orcid: 'https://orcid.org/0000-0002-8422-580X'
  - family-names: Gasparini
    given-names: Nicole
    orcid: 'https://orcid.org/0000-0002-0803-3697'
  - family-names: Arthurs
    given-names: Leilani
    orcid: 'https://orcid.org/0000-0002-6559-3412'
identifiers:
  - type: doi
    value: 10.5281/zenodo.4000978
    description: >-
      CSDMS Ivy
repository-code: 'https://github.com/csdms/ivy'
url: 'https://github.com/csdms/ivy'
abstract: >-
  Course material on scientific software development for
  researchers in earth and planetary surface processes.
keywords:
  - csdms
  - geosciences
  - landlab
  - bmi
  - pymt
  - python
  - git
  - shell
  - jupyter
license: CC-BY-4.0
commit: be832698a2fe3811cf27707e8314c2109d982942
version: '2024.0'
date-released: '2024-07-26'

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 6 days ago

Total Commits: 419
Total Committers: 7
Avg Commits per committer: 59.857
Development Distribution Score (DDS): 0.308

Commits in past year: 24
Committers in past year: 4
Avg Commits per committer in past year: 6.0
Development Distribution Score (DDS) in past year: 0.458

Name Email Commits
Mark Piper m****r@c****u 290
mcflugen m****n@g****m 77
BCampforts b****s@g****m 42
iovereem i****m@c****u 6
gantian127 j****7@f****m 2
Ethan Pierce e****e@c****u 1
Benjamin Campforts b****a@B****l 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 41
Total pull requests: 82
Average time to close issues: 6 months
Average time to close pull requests: 17 days
Total issue authors: 3
Total pull request authors: 7
Average comments per issue: 1.56
Average comments per pull request: 0.51
Merged pull request: 76
Bot issues: 0
Bot pull requests: 0

Past year issues: 3
Past year pull requests: 15
Past year average time to close issues: N/A
Past year average time to close pull requests: 10 days
Past year issue authors: 1
Past year pull request authors: 4
Past year average comments per issue: 0.33
Past year average comments per pull request: 0.87
Past year merged pull request: 13
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/csdms/ivy

Top Issue Authors

  • mdpiper (39)
  • shelbyahrendt (1)
  • ethan-pierce (1)

Top Pull Request Authors

  • mdpiper (64)
  • mcflugen (11)
  • gantian127 (2)
  • ethan-pierce (2)
  • BCampforts (1)
  • KarstModel (1)
  • rmallen86 (1)

Top Issue Labels

  • enhancement (10)
  • bug (5)
  • question (1)
  • help wanted (1)

Top Pull Request Labels


Dependencies

.github/workflows/test.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/lint.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v4 composite
lessons/python/ivy-diffusion/pyproject.toml pypi
  • numpy *
lessons/requirements.in pypi
  • bmi-topography *
  • bmipy *
  • imageio *
  • landlab >=2.5
  • matplotlib *
  • notebook *
  • numpy *
  • pandas *
  • pymt >=1.3
  • pymt_child *
  • pymt_hydrotrend *
  • rasterio *
  • scipy *
  • terrainbento *
  • tqdm *
pyproject.toml pypi
environment.yaml conda
  • bmi-topography
  • bmipy
  • coverage
  • imageio
  • landlab >=2.5
  • matplotlib
  • notebook
  • numpy
  • pandas
  • pip
  • pymt >=1.3
  • pymt_child
  • pymt_hydrotrend
  • pytest
  • python >=3.9
  • rasterio
  • scipy
  • terrainbento
  • tqdm

Score: 6.47850964220857