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 #
We provide multiple services to add, modify, and browse model metadata:
- Create and edit your models
- Model Insertion Checker (MIC) - BETA [CLI]: Application to help users encapsulate model code and capture their model metadata using the MINT Model Catalog API
- Model Catalog Explorer: GUI designed to help users modify the contents of the MINT Model Catalog using the MINT Model Catalog API
- Browse available models:
- Model Catalog Explorer: GUI that helps users browse and explore the contents of the MINT Model Catalog using the MINT Model Catalog API
- Execute models:
- MINT-UI: Application designed to guide users when setting up and executing a MINT model. It uses the MINT Model Catalog API and can be run in any server.
- Desktop Application for Model Execution (DAME): Application designed to execute any model in the MINT model catalog in your local machine or server. DAME obtains the execution details of models using MINT Model Catalog API.
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
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]