This repository contains a copy of the ENES Coupling Benchmark v1.0.0 code produced as part of IS-ENES2 Coupling Technology Benchmarks project. The codebase has been modded to build and run on the Titan supercomputing cluster. The Coupling Benchmarks Report summarizes the initial results of the benchmark runs.
This repository contains a variety of helper codes:
It is of course possible to use your own ESMF build. If obliged, the build-esmf.sh script will build ESMF on Titan loading the appropriate modules, etc. Only two variables must be modified:
build-esmf-env.sh, set $PREFIX to the installation directory for ESMF. This must exist somewhere beneath $MEMBERWORK.build-esmf-env.sh, set $ESMF_DIR to to the ESMF source directory.Known Issues:
It is recommended that the script build-ecb.sh is used for building the Coupling Benchmarks. The following environment variables should be modified.
build-ecb.sh, set $ESMF_INSTALL_PREFIX to the ESMF installation directory below $MEMBERWORK.build-ecb.sh, set $ECB_DIR to the source code directory for the Coupling Benchmarks.build-ecb.sh, set $ECB_INSTALL_PREFIX to the installation directory for the Coupling Benchmarks somewehere below $MEMBERWORK.With these environment variables modified, this script can be executed on a longin node to build the Coupling Benchmarks.
The ecb-timing.sh script can execute a single "scenario" using the Coupling Benchmark code. This job is configured to run the Very High Resolution (VHR) grid combination that causes the greatest slowdown with ESMF field exchanges (see page 16 in the Coupling Benchmarks Report).
The following environment variables should be modified:
ecb-timing.sh, set $ECB_OUTDIR to the target output data directory to copy benchmark data files to following a benchmark run. This must be under $MEMBERWORK.ecb-timing.sh, set $ECB_CONFIG_USER to the source directory containing the ESMF namelist files describing the grids and decompositions for the scenario.ecb-timing.sh, set $ECB_INSTALL_PREFIX to the installation directory for the Coupling Benchmarks.The following variables may be optionally modified:
ecb-timing.sh, set $ID_SCENARIO to a unique identifier for the scenario (no convention - just for internal record keeping).ecb-timing.sh, set $SAMPLE_COUNT_NUMBER to the desired sample identifier. Sample directories are nested in the data output directory allowing multiple runs to be cataloged.ecb-timing.sh, set $ECB_NPROCS to the total number of processors.ecb-timing.sh, set nodes=* in #PBS -l walltime=00:30:00,nodes=216 to the total number of nodes (nprocs/16).The scenarios themselves (i.e. decompositions and grid sizes) can be modified by changing namelist parameter values in the directory specified by $ECB_ESMF_INSTALL_PREFIX. A README is also in that directory and should be read before modifying these files. The files to modify are:
lonlat_config1.nmllonlat_config2.nmlparallel_config.nml