Model Services

The MINT Model Catalog provides detailed information about software models and metadata available in MINT. A summary of all the concepts used in the model catalog is available here. The following figure presents a high level overview of MINT Model Services:

Overview image of the model catalog

Overview #

We provide multiple services to add, modify, and browse model metadata:

  1. Create and edit your models
  2. Browse available models:
  3. Execute models:

Services #

Model Catalog API #

Model Catalog API for adding/modifying/deleting model metadata. We provide several clients (available here) to improve the experience for developers when accessing the contents of our APIs.

[RESTAPI] [Documentation] [Code] [Releases]

Model Catalog Explorer #

GUI for browsing the contents of the model catalog

[Website] [Demo]

Registered users can add, edit, and remove metadata of their models, as well as creating new model setups, for example, adapting an existing model to a new region.

Model Insertion Checker (MIC) #

The Model Insertion Checker (MIC) is a command-line interface for encapsulating models in a Model Catalog Service using the Model Catalog API.

[Documentation] [Code] [Releases]

Desktop application for model execution (DAME) #

The Desktop Application for Model Execution (DAME) is a command line interface designed to execute model components in any local host or server.

Given a model identifier (e.g., TopoFlow for the Awash region: topoflow36_2.1.0_Awash), DAME downloads the model container, its execution environment, and fetches the datasets needed (e.g., soil data, elevation data, etc) so users can run the model with different input scenarios.

[Documentation] [Code] [Releases]

Tools #

Model Service API clients #

We provide two clients (Python and Javascript) to help developers access the model service APIs.

Both clients support the following operations:

  • Get a list of all exiting resources of a class. For example: get all the models in MINT, get a list with all variables, all regions, etc.
  • Get the details of a resource. For example: get the description of the model CYCLES
  • Create, update, and delete model resources and metadata in the Model Catalog.
Python #

[Documentation] [Code] [Releases]

JavaScript #

[Documentation] [Code][Releases]

Ontologies #

We have developed two main ontologies to help structure the metadata and contents of the model catalog:

Software Description Ontology (SD) #

Ontology used to capture the overall metadata of scientific software, including its versions, functionality, inputs, outputs, etc. SD builds on existing efforts, such as Schema.org and OntoSoft. [Documentation] [Download]

Software Description Ontology for Models (SDM) #

Extension of the Software Description Ontology to capture metadata specific to models (e.g., the region where they are valid, their spatial grid, their temporal restrictions, etc.). [Documentation] [Download]