{"id":23831959,"url":"https://github.com/csdms/model_metadata","last_synced_at":"2025-10-10T15:46:59.146Z","repository":{"id":53184889,"uuid":"98451887","full_name":"csdms/model_metadata","owner":"csdms","description":"Tools for working with CSDMS Model Metadata","archived":false,"fork":false,"pushed_at":"2025-09-22T20:45:49.000Z","size":206,"stargazers_count":1,"open_issues_count":4,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-09-22T22:25:04.969Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-07-26T18:05:29.000Z","updated_at":"2025-05-22T17:34:42.000Z","dependencies_parsed_at":"2024-08-06T01:19:05.711Z","dependency_job_id":"61df679f-d451-4d0a-bedf-a6958f7282c7","html_url":"https://github.com/csdms/model_metadata","commit_stats":{"total_commits":112,"total_committers":2,"mean_commits":56.0,"dds":0.0625,"last_synced_commit":"62acab7ae2a152bec64bc1f52751f7a8aa1d4184"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/csdms/model_metadata","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csdms%2Fmodel_metadata","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csdms%2Fmodel_metadata/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csdms%2Fmodel_metadata/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csdms%2Fmodel_metadata/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/csdms","download_url":"https://codeload.github.com/csdms/model_metadata/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csdms%2Fmodel_metadata/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279004570,"owners_count":26083736,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"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:44.771Z","updated_at":"2025-10-10T15:46:59.130Z","avatar_url":"https://github.com/csdms.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# model_metadata\n\n![[Python][pypi-link]][python-badge]\n![[Build Status][build-link]][build-badge]\n![[PyPI][pypi-link]][pypi-badge]\n![[Build Status][anaconda-link]][anaconda-badge]\n\n[anaconda-badge]: https://anaconda.org/conda-forge/model_metadata/badges/version.svg\n[anaconda-link]: https://anaconda.org/conda-forge/model_metadata\n[build-badge]: https://github.com/csdms/model_metadata/actions/workflows/test.yml/badge.svg\n[build-link]: https://github.com/csdms/model_metadata/actions/workflows/test.yml\n[pypi-badge]: https://badge.fury.io/py/model_metadata.svg\n[pypi-link]: https://pypi.org/project/model_metadata/\n[python-badge]: https://img.shields.io/pypi/pyversions/model_metadata.svg\n\nTools for working with CSDMS Model Metadata\n\nThe CSDMS Model Metadata provides a detailed and formalized description\nof a model. This includes information about:\n\n- Identifying information about the model. For example, model\n  author(s), citations for the model, URL to the source code, etc.\n- A description of the model API, if it has been wrapped with a Basic\n  Model Interface. This includes, for instance, how to build the model,\n  depending on the language, what include statements are needed, etc.\n- A description of input file parameters. This includes default values,\n  acceptable parameter ranges, units, etc.\n- Template input files. These are a set of input files that contain\n  special markup where parameters from the metadata parameter\n  description can be placed.\n- A description of how to run the model from the command line.\n\nThe CSDMS Model Metadata is extensible and not yet complete. New\nmetadata will most certainly be added in the future. We believe the\ncurrent specification provides a minimum amount of information needed to\ndescribe a model to be either run as a standalone model or, possibly, to\ncouple with another model.\n\nWhereas the BMI answers run-time queries of a model (e.g. the current\ntime of a model simulation, the value of a particular output variable),\nthe CSDMS Model Metadata provides a static description of a model. The\nModel Metadata, along with a BMI implementation, allows a model to\nautomatically be incorporated as a component in the CSDMS PyMT.\n\n## Info section\n\nIdentifying information about the model.\n\n```yaml\ninfo:\n    summary:\n      Sedflux3D is a basin filling stratigraphic model. Sedflux3d simulates\n      long-term marine sediment transport and accumulation into a\n      three-dimensional basin over time scales of tens of thousands of years. It\n      simulates the dynamics of strata formation of continental margins based on\n      distribution of river plumes and tectonics.\n    url: http://csdms.colorado.edu/wiki/Model_help:Sedflux\n    author: Eric Hutton\n    email: eric.hutton@colorado.edu\n    version: \"2.1\"\n    license: MIT\n    doi: \"10.1594/IEDA/100161\"\n    cite_as: |\n      @article{hutton2008sedflux,\n      title={Sedflux 2.0: An advanced process-response model that generates three-dimensional stratigraphy},\n      author={Hutton, Eric WH and Syvitski, James PM},\n      journal={Computers \\\u0026 Geosciences},\n      volume={34},\n      number={10},\n      pages={1319--1337},\n      year={2008},\n      publisher={Pergamon}\n      }\n```\n\n## API Section\n\nA description of the model API.\n\n```yaml\napi:\n    name: Sedflux3D\n    language: c\n    register: register_bmi_sedflux3d\n    includes:\n      - \"#include \u003csedflux3d/bmi_sedflux3d.h\u003e\"\n    cflags:\n      pkgconfig: sedflux3d\n    libs:\n      pkgconfig: sedflux3d\n```\n\n## Parameters Section\n\nA description of the parameters in the input files.\n\n```yaml\nparameters:\n    slope_gradient:\n      description: Gradient of slope\n      value:\n        default: 0.01\n        range:\n          max: 0.1\n          min: 0.0\n        type: float\n        units: m\n\n    shelf_width:\n      description: Width of shelf\n      value:\n        default: 100000.0\n        range:\n          max: 1000000.0\n          min: 1000.0\n        type: float\n        units: m\n```\n\n## Run Section\n\nHow the model is to be run.\n\n```yaml\nrun:\n    config_file: sedflux_3d_init.kvf\n```\n\n# Model Metadata Tools\n\nThe CSDMS *model_metadata* Python package provides tools for working\nwith CSDMS Model Metadata. Contained within this package are tools for:\n\n- Reading and parsing model metadata that follow the CSDMS Model\n  Metadata Standards.\n- Setting up model simulations either programmatically or through a\n  commandline interface. Although model metadata may describe models\n  with different interfaces, the model metadata tools provides a common\n  interface for staging simulations.\n- Validing input parameter units, ranges, and type checking. If, for\n  instance, a user provides an input value that is out of range, an\n  error can be issued.\n- Running simulations, which have already been staged, through a common\n  interface.\n\nThese tools are currently used by:\n\n- The Web Modeling Tool server to validate input parameters and stage\n  model simulations.\n- The CSDMS Execution Server and PyMT for running BMI-enabled models.\n- Commandline utilities for quering model metadata, and staging model\n  simulations.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsdms%2Fmodel_metadata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcsdms%2Fmodel_metadata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsdms%2Fmodel_metadata/lists"}