TSMP-PDAF Build Examples

A collection of build examples for TSMP-PDAF.

All builds involving more than one coupled component model use the coupling software Oasis3-MCT. Builds in the TSMP-PDAF branch follows the syntax shown here. Building PDAF in the master branch has a syntax without the internal version number:

		./build_tsmp.ksh -m JUWELS -c clm3-cos5-pfl-pdaf -O Intel

Compile fully coupled TSMP-PDAF (on JURECA)

The first example runs the build script of TSMP-PDAF, specifies the machine JURECA, specifies the component models CLM, COSMO and ParFlow and specifies version 1.1.0MCTPDAF.

  ./build_tsmp.ksh -m JURECA -c clm-cos-pfl -v 1.1.0MCTPDAF

The -c and -v flag are optional in this case because the inputs for these flags on -m JURECA are equivalent to the corresponding default inputs.

The -v flag is optional in this case because -c clm-cos-pfl is the default input for this flag on -m JURECA and for version -v 1.1.0MCTPDAF.

By default the build_tsmp.ksh script will make a copy of the original model source folder (named as in the catalog, f.e. clm3_5, cosmo4_21, and parflow) and back it up to MODEL_ARCH_VERSION_COMBINATION.

With the flags -wxyz (see man-page) you can specify your own directory where it is backed up to. If you like to use your own folder structure for the models you can again select your own model-path with -wxyz and avoid making a backup with -WXYZ option set to “build”.

Compile Parflow and CLM with PDAF

Build commands

Build commands for different machines.

Remarks:

  • For building TSMP-PDAF with DA, use branch master

  • Parflow-3.9 is supported using version tag 3.1.0MCTPDAF. For older versions, use 3.0.0MCTPDAF (>=3.2, <3.7), 1.1.0MCTPDAF (<3.2).

JURECA

  ./build_tsmp.ksh -m JURECA -c clm-pfl -v 3.1.0MCTPDAF -O Intel

JUWELS

  ./build_tsmp.ksh -m JUWELS -c clm-pfl -v 3.1.0MCTPDAF -O Intel

Component Models

The build commands were last tested for these component models

Not used:

Compile ParFlow standalone with PDAF (on JUWELS without compiler optimization)

  ./build_tsmp.ksh -m JUWELS -c pfl -v 1.1.0MCTPDAF -o -O0

The -c and -v flag are optional in this case because the inputs for these flags on -m JUWELS are equivalent to the corresponding default inputs.

  ./build_tsmp.ksh -m JUWELS -c pfl -v 1.1.0MCTPDAF -o -g

The -g flag, is build to produce debugging information.

Compile CLM5 with PDAF

CLM5-PDAF compilation.

./build_tsmp.ksh -c clm5-pdaf -m JURECA -O Intel

Prerequisite1: CLM5 preparation

Obtain clm5_0 from the HPSCTerrsys-fork

git clone --recurse-submodules https://github.com/HPSCTerrSys/clm5_0

Externals are loaded as git submodules.

Alternative (explicitly loading the externals): For obtaining the component model clm5_0 from the official main repository, you have to run the following commands

	git clone -b release-clm5.0 git@github.com:ESCOMP/CTSM.git clm5_0
	cd clm5_0
	./manage_externals/checkout_externals

Prerequisite2: Path to cesm

The path CESMDATAROOT can be changed in TSMP/bldsva/intf_oas3/clm5_0/arch/JURECA/config/softwarepaths.ksh. (analogous for JUWELS).

Default: export CESMDATAROOT=$rootdir/cesm, where $rootdir is the root directory of TSMP itself.