Skip to content

PPUG_Running_IMB

Ben Andre edited this page Oct 9, 2017 · 4 revisions

Running post processing scripts to create the ILAMB or IOMB diagnostics plots

The International Land Model Benchmarking (ILAMB) project is a model-data inter-comparison and integration project designed to improve the performance of land models and, in parallel, improve the design of new measurement campaigns to reduce uncertainties associated with key land surface processes.

The ILAMB package is developed and maintained by Nate Collier at https://bitbucket.org/ncollier/ilamb/src with documentation including tutorials.

The ILAMB framework can be used for both land and ocean (IOMB) input data, including ocean biogeochemistry data. Consequently, for the integration into the CESM_postprocessing suite of tools, the python wrapper scripts and XML definitions for the ILAMB framework is called imb. Running create_postprocess installs both the land and ocean submission scripts and associated env_diags[ilamb,iomb].xml files in the postprocessing caseroot.

Synopsis

$PP_CASE_PATH/

Setup and run the Integrated Model Benchmarking package for either land or ocean data sets. Please

see the ILAMB documentation and tutorials for details regarding the package and the required format of the *.cfg file. Running the ILAMB or IOMB package requires 3 steps:

  1. Edit the env_diags[ilamb,iomb].xml and env_postprocess.xml files for your case settings
    1. env_postprocess.xml : DOUT_S_ROOT must be set.
  2. Generate the batch submission script with user configurable options:
  # NOTE: this can be run on a log-in node.
  ./[ilamb,iomb]_initialize

3. Submit and run the diagnostics:

  bsub < ./[ilamb,iomb]_diagnostics

Details

create_postprocess creates additional env_diags xml files and batch submission scripts. Unlike the other CESM diagnostic packages, IMB needs additional command line options that are user configurable and not known when create_postprocess is run. Complete setup of the IMB run is accomplished via a two step process.

  1. Running create_postprocess creates [ilamb,iomb]_initialize and [ilamb,iomb]_diagnostics.tmpl.
  2. Running [ilamb,iomb]_initialize sets up the run.

The [ilamb,iomb]_initialize bash wrapper script runs on one processor and does the following:

  • calls the corresponding imb_initialize.py python script which reads the env_diags[ilamb,iomb].xml file,
  • copies the requested .cfg file (see XML variable ILAMBDIAG_CONFIG_NAME and the ILAMB documentation for details regarding the required.cfg file format and inputs),
  • Expands the remaining unknown command line options in the [ilamb,iomb]_diagnostics.tmpl template file.
  • creates an [ilamb,iomb]_diagnostics bash wrapper script that calls the underlying ilamb-run command in parallel.

Users may customize the some of the behavior of the IMB package by modifying the XML input values in the env_diags[ilamb,iomb].xml. See Configuring the post processing case files for details.

Dependencies

The ILAMB and IOMB packages depend on a user defined .cfg configuration file that contains instructions for which observation and model output datasets, input variables, and html settings should be used in generating the plot sets. The.cfg file does not follow a common markup syntax but rather uses one specific to ILAMB. The package comes with a number of sample configuration files that can be modified on a case-by-case basis depending on the available datasets and model output.