{"id":23831969,"url":"https://github.com/csdms/sedhyd-2019","last_synced_at":"2026-06-19T02:31:32.651Z","repository":{"id":78596705,"uuid":"191650382","full_name":"csdms/sedhyd-2019","owner":"csdms","description":"Resources for the SEDHYD 2019 conference","archived":false,"fork":false,"pushed_at":"2019-06-14T16:56:21.000Z","size":816,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-10T16:56:04.872Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/csdms.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-06-12T21:58:23.000Z","updated_at":"2019-06-14T16:56:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"8f2df8dd-938f-4d7b-b3c3-022bf7ef9294","html_url":"https://github.com/csdms/sedhyd-2019","commit_stats":{"total_commits":13,"total_committers":1,"mean_commits":13.0,"dds":0.0,"last_synced_commit":"f107941b3cfdc8f57aa01b061bea016504c27bd5"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/csdms/sedhyd-2019","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csdms%2Fsedhyd-2019","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csdms%2Fsedhyd-2019/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csdms%2Fsedhyd-2019/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csdms%2Fsedhyd-2019/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/csdms","download_url":"https://codeload.github.com/csdms/sedhyd-2019/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csdms%2Fsedhyd-2019/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34515405,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-02T14:16:46.026Z","updated_at":"2026-06-19T02:31:32.631Z","avatar_url":"https://github.com/csdms.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sedhyd-2019 💧\n\nResources for the SEDHYD 2019 conference (24-28 June 2019).\n\n## Links 🔗\n\n* [Community Surface Dynamics Modeling System\n  (CSDMS)](http://csdms.colorado.edu)\n* [Basic Model Interface (BMI)](http://bmi.readthedocs.io)\n* [Python Modeling Toolkit (pymt)](http://pymt.readthedocs.io)\n* [SEDHYD 2019](http://www.sedhyd.org/2019)\n\n## Get Started 🚀\n\nInstall *pymt* using the *conda* package manager,\n\n    $ conda env create --file=environment.yml\n\n# Extended Abstract 📃\n\n**Exploring Surface Processes Using the Community Surface Dynamics\nModeling System Modeling Tools**\n\n**Jordan Adams**, Postdoctoral Research Associate, The Institute of\nArctic and Alpine Research, University of Colorado, Boulder, CO,\njordan.adams\\@colorado.edu **Irina Overeem**, Associate Professor,\nDepartment of Geological Sciences, University of Colorado, Boulder, CO,\nirina.overeem\\@colorado.edu **Eric Hutton**, Chief Software Engineer,\nCommunity Surface Dynamics Modeling System, University of Colorado,\nBoulder, CO, eric.hutton\\@colorado.edu **Gregory Tucker**, Professor,\nDepartment of Geological Sciences, University of Colorado, Boulder, CO,\ngtucker\\@colorado.edu **Albert Kettner**, Research Scientist II, The\nInstitute of Arctic and Alpine Research, University of Colorado,\nBoulder, CO, albert.kettner\\@gmail.com\n\n**Extended Abstract**\n\nHydrological and sediment transport processes operate over a range of\ntemporal and spatial scales. Flood events can cause catastrophic erosion\nrates over short timescales, reshaping floodplains and catchments in\nhours or over days. Over longer timeframes, from decades to millennia,\nthe cumulative effect of these erosional events sculpt watershed\nmorphologies, driving changes in drainage area, density and relief. The\nfeedbacks between hydrologic events and sediment transport can shape\nareas as small as millimeter-scale hillslope rills or as large as\ncontinental-scale river basins.\n\nThe unpredictable or unobservable nature of flood events makes it\ndifficult to study the interaction between hydrologic and\nsedimentological proccesses. The stochastic nature of floods make it\nchallenging to predict when an event will occur and how to best measure\nerosional and depositional changes. Morphological responses to climate\nchange occur on timescales too long to make meaningful observations.\nMoreover, at many relevant natural hazard scales, hydrology and sediment\ntransport are entangled with ecosystem and human dynamics, complex\ninteractions that are even less understood.\n\nImproved understanding, and ultimately, improved resiliency in the face\nof hydrologically- driven Earth surface change, require computational\nmodels that bridge boundaries and link process mechanics. Many\nhydrological models exist and have a variety of uses: forecasting floods\nor water resource availability (e.g. WRF-Hydro, Gochis et al., 2018);\nchannel and floodplain engineering (e.g. HEC-RAS, Brunner, 2016) or\ngroundwater resource assessment (SWAT, USDA ARS Grassland Soil and Water\nResearch Laboratory, 2018). As computational resources become more\nefficient, more researchers are adding numerical modeling skills to\ntheir repertoire. Yet, as more models are built, questions remain: can\nthe surface processes community work together to share these\never-improving tools? Is there a way to standardize both existing and\nnew modeling components so that they can be coupled flexibly and\neffectively?\n\nThe Community Surface Dynamics Modeling System (CSDMS) is a NSF-funded\ninitiative that supports the open software efforts of the surface\nprocesses community. CSDMS sets modeling standards and protocols, hosts\na Model Repository to distribute models and modeling tools, and provides\ncyberinfrastructure to an interdisciplinary set of community members.\nThe CSDMS Repository contains over 200 tools and models that simulate\nlithosphere, hydrosphere, atmosphere or cryosphere dynamics. The goal of\nCSDMS is simple: to expedite scientific discovery and eliminate\nduplication of effort by sharing computational resources.\n\nAs part of these efforts, CSDMS has designed a new tool for\nhypothesis-driven modeling; the CSDMS Python Modeling Tool (PyMT)\nprovides a unified framework that allows users to interactively run and\ncouple numerical models written in a variety of programming languages.\nThese coupled models can operate on disparate time and space scales,\nwhich are then resolved by PyMT. Principally, the PyMT is three things:\n(1) a collection of Earth-surface models wrapped with a common\ninterface, (2) an extensible plug-in framework into which new models can\nbe incorporated, and (3) tools for coupling models that operate on a\nvariety of spatial grids and time steps.\n\nCurrently, the PyMT model collection consists of several dozen\nEarth-surface models that cover a variety of process domains that range\nfrom land, to coast, to ocean. Each of these models were contributed by\nCSDMS community members to the CSDMS Model Repository as standalone\nmodels. There was no initial intent for these models to be part of a\nlarger framework. The heterogeneity of the collection is represented not\njust in the variety of programming languages but also by idiosyncratic\nuser interfaces (e.g. model specific input and output file formats).\n\nAll models within the PyMT collection are wrapped in a single, unified,\ninterface within the Python programming language. An overriding tenet of\nthe PyMT is: *if you know how to use one pymt model, you know how to use\nall pymt models*. The PyMT model interface allows users to interactively\nrun models within a Python kernel such that they can advance models\nthrough time while dynamically changing their state variables. This\nallows users to become model composers by orchestrating different model\nfunctionality within a script, while being able to leverage the power of\nthe Python programming language and its powerful collection of\nthird-party packages (e.g. numpy, scipy, matplotlib, xarray, dask).\n\nThe PyMT provides an extensible plugin framework that allows additional\nmodels to be easily incorporated into the PyMT framework. This allows\nnew models, written by domain experts, to become PyMT models usable by a\nbroad community in potentially novel ways. To be incorporated into PyMT,\nnew models must be written to expose a Basic Model Interface (BMI). At\nits core, the BMI is simply a specification that defines the necessary\nfunctions a model must provide to make it coupleable. These functions\ncontrol how a model is initialized, updates through time, as well as how\na model provides its output variables or ingests externally provided\ninput variables. The CSDMS modeling stack additionally provides tools\nfor automatically wrapping models written in several programming\nlanguages (currently C, C++, Fortran, and Python) into PyMT. These four\nlanguages cover a significant majority of the models in the CSDMS Model\nRepository.\n\nThe PyMT contains a collection of tools useful for model coupling\n(either model-to-model or model-to-data coupling). As mentioned\npreviously, the CSDMS Model Repository is a heterogeneous collection of\nmodels that were not necessarily written with the intent of coupling to\nother models. As such, a significant obstacle when coupling models is\ntransferring values from one model's solution grid to another. Included\nwith the PyMT are a set of grid mappers, based on the Earth System\nModeling Framework (ESMF) grid mapping library. This allows for\nefficient mapping of values between large grids. Other coupling tools\ninclude:\n\n*  Unit conversion utilities, which conform to the cfunits conventions,\n   when models provide the same values but with different units,\n*  Time interpolators that estimate state variables between model\n   timesteps,\n*  Output writers that write model output to standardized netCDF files\n   that conform to the UGRID/SGRID specifications\n\nPyMT is designed to expedite the process of exploring ideas, testing\nhypotheses, and comparing models with data, and make Earth-surface\nprocess models more accessible.\n\nFor proof of concept, we present an example of a coupled hydrodynamic\nand bedrock incision model in PyMT. This work uses two components from\nthe Landlab model, OverlandFlow and DetachmentLtdErosion, as they are\nimplemented in PyMT (Adams et. al, 2017; Hobley et al., 2017). The\nOverlandFlow component was originally developed to bridge the gap\nbetween fully hydrodynamic models used to model single hydrograph events\nand simplified 'steady-state' hydrology components used in long-term\nfluvial geomorphology models. Figure 1 illustrates the difference\nbetween these two model types: 'steady-state' models often simplify\nrainfall and runoff into steady, constant values that drive steady,\nconstant incision rates (Figure 1a), while non-steady models can take\nrainfall stochasticity into account and drive individual event\nhydrographs and changing incision rates through time (Figure 1b). As\ncomputational efficiency and speed have improved over the last decade,\nmore efforts have been made to bring hydrodynamics into models of\nlandscape evolution. The Landlab OverlandFlow model is an open-source\ntool designed to achieve that goal.\n\n\u003cimg src=\"overland_flow.png\" width=400\u003e\n\n**Figure 1**. Comparison of steady (**a**) and nonsteady (**b**)\nhydrology models. The latter case illustrates how the OverlandFlow model\nis implemented. A sample OverlandFlow workflow is also shown.\n\nIn this presentation, we run several test cases in PyMT to illustrate\nlandscape sensitivity to rainfall parameters, hydrograph shape and basin\norientation. These results are compared against traditional steady-state\nmodel results. Landscapes eroded and evolved using nonsteady methods are\ncharacterized by greater relief and increased channel concavities when\ncompared to steady results, suggesting that hydrodynamics should be\nconsidered when studying the impact of bedrock river incision on\ntopographic evolution over long timescales.\n\nThe implementation of OverlandFlow and DetachmentLtdErosion is just one\nexample of coupled hydrology-sedimentology modeling available through\nPyMT. This presentation will provide detailed background on how models\ncan be brought into the PyMT\nframework, how PyMT resolves grid and temporal differences across\nmodels, the existing hydrologic and sedimentologic tools in PyMT, and\nexamples of model output from the OverlandFlow and DetachmentLtdErosion\nmodels.\n\n**References**\n\n*  Adams, J.M., Gasparini, N.M., Hobley, D.E., Tucker, G.E., Hutton, E.,\n   Nudurupati, S.S. and Istanbulluoglu, E., 2017. The Landlab v1.0 OverlandFlow\n   component: a Python tool for computing shallow-water flow across watersheds.\n   Geoscientific Model Development, 10(4).\n*  Brunner, G. W. (2016). HEC-RAS river analysis system 2D modeling user's\n   manual. US Army Corps of Engineers---Hydrologic Engineering Center, 1-171.\n*  Gochis, D.J., M. Barlage, A. Dugger, K. FitzGerald, L. Karsten, M.  McAllister,\n   J. McCreight, J.  Mills, A. RafieeiNasab, L. Read, K. Sampson, D. Yates,\n   W. Yu, 2018.  The WRF-Hydro modeling system technical description,\n   (Version 5.0).  NCAR Technical Note. 107 pages. DOI:10.5065/D6J38RBJ\n*  Hobley, D.E., Adams, J.M., Nudurupati, S.S., Hutton, E.W., Gasparini, N.M.,\n   Istanbulluoglu, E.  and Tucker, G.E., 2017. Creative computing with Landlab:\n   an open-source toolkit for building, coupling, and exploring two-dimensional\n   numerical models of Earth-surface dynamics. Earth Surface Dynamics, 5(1), p.21.\n*  USDA ARS Grassland Soil and Water Research Laboratory; Texas A\u0026M AgriLife\n   Research, 2018\\. SWAT - Soil and Water Assessment Tool. USDA Agricultural\n   Research Service; Texas A\u0026M AgriLife Research.\n   https://data.nal.usda.gov/dataset/swat-soil-and-water- assessment-tool\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsdms%2Fsedhyd-2019","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcsdms%2Fsedhyd-2019","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsdms%2Fsedhyd-2019/lists"}