Container Reference

This section provides basic directions for downloading, installing, and running the example_multicase POD in the Model Diagnostics Task Force (MDTF) container.

Getting the Container

The container assumes that the MDTF-diagnostics GitHub repo is located on your local machine. If you have not already, please clone the repo to your local machine with:

git clone https://github.com/NOAA-GFDL/MDTF-diagnostics.git

The container can then be pulled from the GitHub container registry with the command:

docker pull ghcr.io/noaa-gfdl/mdtf-diagnostics:container

or with the equivalent command in your container software. If you do not have a container software, Docker can be downloaded from here.

Launching the Container

The container itself can be launched with Docker using:

docker run -it -v {DIAG_DIR}:/proj/MDTF-diagnostics/diagnostics/ -v {WKDIR}:/proj/wkdir mdtf
wherein:
  • {DIAG_DIR} is the path to the diagnostics directory on your local machine. This volume is not required, but heavily recommended.

  • {WKDIR} is where you would like to store the output on your local machine. This allows the output HTML to be reachable without having to open a port to the container.

These happen to be the only required volumes. Further volumes may need to be mounted including volumes such as data storage.

Generating Synthetic Data

Now that we are in the container, we can create some data to run the POD with. The MDTF has a synthetic data generator for just this case. First,`cd` into the MDTF-diagnostics directory:

cd /proj/MDTF-diagnostics/

We generate our synthetic data by running:

micromamba activate _MDTF_synthetic_data
pip install mdtf-test-data
mkdir mdtf_test_data && cd mdtf_test_data
mdtf_synthetic.py -c CMIP --startyear 1980 --nyears 5 --freq day
mdtf_synthetic.py -c CMIP --startyear 1985 --nyears 5 --freq day

Now would be a good time to generate a catalog for the synthetic data, but, in the sake of testing, we provide a catalog for the files needed to run the example POD.

Running the POD

The POD can now be ran using:

micromamba activate _MDTF_base
mdtf_framework.py -f /proj/MDTF-diagnostics/diagnostics/example_multicase/container_config_demo.jsonc

The results can be found in /proj/wkdir/

Building the Container

If you would like, you can build the container using the Dockerfile found in the GitHub repo. If using podman (as required internally at the GFDL), please build with the command:

podman build . --format docker -t mdtf

--format docker is essential to have your copy commands work and have the expected permissions in your container.