Internal API documentation

Main framework modules

src.core

Common functions and classes used in multiple places in the MDTF code.

src.data_manager

Base classes implementing logic for querying, fetching and preprocessing model data requested by the PODs.

src.diagnostic

src.environment_manager

src.preprocessor

Functionality for transforming model data into the format expected by PODs once it’s been download to local storage.

src.output_manager

Supporting framework modules

src.cli

Classes related to customizing the framework’s command line interface and setting option values from user input.

src.cmip6

Code to parse CMIP6 controlled vocabularies and elements of the CMIP6 DRS.

src.conflict_resolution

src.data_model

Classes to describe “abstract” properties of model data: aspects that are independent of any model, experiment, or hosting protocol.

src.units

Functions wrapping unit conversion methods from the third-party cfunits library.

src.verify_links

Check output of the files returned by a run of the MDTF framework and determine if any PODs failed to generate files, as determined by non-functional html links in the output webpages.

src.xr_parser

Utility functions for working with xarray Datasets.

Utility modules

src.util.basic

Classes and functions that define and operate on basic data structures.

src.util.dataclass

Extensions to dataclasses, for streamlined class definition.

src.util.datelabel

Classes and utility methods for dealing with dates as expressed in filenames and paths.

src.util.exceptions

All framework-specific exceptions are placed in a single module to simplify imports.

src.util.filesystem

Utility functions for interacting with the local filesystem and configuration files.

src.util.logs

Utilities related to configuration and handling of framework logging.

src.util.processes

Utility functions for dealing with subprocesses.