Skip to main content Link Search Menu Expand Document (external link)

Dojo (https://github.com/dojo-modeling) is a suite of software tools that allows domain experts to register their models using an intuitive web based terminal emulator. Dojo models can be executed via a standardized, expressive API by wrapping heterogenous models into a consistent interface for parameterization and transforming model outputs into a consistent, easy to consume format. Dojo models facilitate reproducible research by enabling modelers to containerize and share their models with guarantees that the model will perform as they expect outside their own compute environment. Additionally, Dojo provides a mechanism for analysts and domain experts to register and transform datasets for use in downstream modeling workflows.

Landing Page

Contents

  1. Model Registration
  2. Data Registration
  3. Model Execution
  4. Dojo API

Model Registration

The model registration workflow is designed to provide domain modelers with a friendly and familiar environment from which to install, setup, and execute their model. Throughout this process, the modeler is queried for key information about model metadata and how to parameterize the model. The modeler also annotates model outputs so that they can be automatically transformed into a ready-to-use and well understood format each time the model is executed. The final step of the model registration workflow is the publication of a working “black box” model Docker container to Dockerhub. These containers can run the model with a set of explicit directives; however the Dojo modeling engine is naive to the inner workings of the model container.


Dojo Containerization Environment

Data Registration

Dojo offers a powerful user-driven data normalization capability through its data registration workflow. This workflow is designed to allow analysts, modelers and other users to curate their own datasets for modeling and analysis. Dojo supports the registration of CSV, Excel File, GeoTiff or NetCDF; once registered, datasets are transformed into indicators that are represented in a canonical parquet format with a well-defined structure. Typical examples of data that might be registered are indicators from the World Bank, FAO, or ACLED, however users can bring anything they think will be useful for modeling or other analyses.

Through this process, Dojo captures metadata about the dataset’s provenance as well as descriptors for each of its features in order to transform it into a ready-to-use and well understood format. You can learn more about the data registration process here.

Normalizing data and model outputs to a consistent Geotemporal format facilitates rapid inter-model comparison and visualization via platforms such as Uncharted Software’s Causemos tool.


Uncharted's Causemos Platform

Model Execution

This section provides information on how to use Dojo’s model execution CLI. This tool enables users to execute Dojo models locally via Docker.

Dojo API

This section provides an overview of how to interact with the Dojo API for model discovery, model execution, fetching model runs, and debugging models.