Author: original by Tommi Bergman KNMI, revamped by Philippe Le Sager
This CRESCENDO post-processing package is built around three processing scripts, and two jobfile templates. Workflow consists in creating job files for one year and one experiment id, with some sed magic:
sed "..." < pp_ifs_monthly_auto.job.tmpl > pp_ifs_monthly.${runid}.${year}.job sed "..." < pp_ifs+tm5_merge_copy_auto.job.tmpl > pp_ifs+tm5_merge_copy.${runid}.${year}.job
and then submitting the cascading jobs:
qsub pp_ifs_monthly.RUNID.YEAR.job | |- crescendo_ifs.sh RUNID MM YYYY # for months 1..12 in parallel | `- qsub pp_ifs+tm5_merge_copy.RUNID.YEAR.job | `- crescendo_ifs_year.sh RUNID YYYY | `- output-copy.sh RUNID YYYY
The submit-cresc-pp.sh script does the magic and creates the job files, then submits the first job. That script and the templates are specifics to the PBS/ecmwf-cca platform. Just call:
./submit-cresc-pp.sh -h
for details on how to start a job chain.
- An EC-Earth rundir in ${SCRATCH}/ECEARTH-RUNS/${runid}, where raw output (with usual tree subdirs) and ece.info are expected
- Crescendo output requested from TM5
- IFS extra output: CDNC and Liquid CLoud Time, i.e. Aerosol CLoud Interaction diagnostic has to be switched on. (PEXTRA)
Job template to run crescendo_ifs.sh for months 1-12 and, when done, submit pp_ifs+tm5_merge_copy.RUNID.YEAR.job (created from the next template). Replace or remove the idid, yyyy, <TEMP>, <ACCOUNT>, and <DEPENDENCY> placeholders before submitting the script. This is all done by the submit-cresc-pp.sh script.
Usage:
qsub pp_ifs_monthly.RUNID.YEAR.job
Job template to run crescendo_ifs_year.sh, which subsequently executes output-copy.sh. The submit-cresc-pp.sh script parses the template to create the pp_ifs+tm5_merge_copy.RUNID.YEAR.job.
Usage (call from pp_ifs_monthly.RUNID.YEAR.job):
qsub pp_ifs+tm5_merge_copy.RUNID.YEAR.job
Template to recast output from a monthly legged run into the structure of a yearly run. This utility is experimental, since it only works with two-year runs only, and can be applied only once for a given experiment! The template is parsed by the submit-cresc-pp.sh script, when called with the -m option.
The script will process monthly IFS data to produce daily and monthly means for requested variables. Script will takes as an argument runid, year and month. Usage:
crescendo_ifs.sh RUNID MM YYYY
The script will merge the IFS data averaged in crescendo_ifs.sh to produce yearly files for requested variables. Script takes as an argument runid and year, and in the end runs output-copy-transfer.sh. Usage:
crescendo_ifs.sh RUNID YYYY
This script copies data from IFS and TM5 into ${SCRATCH}/CRESCENDO/amip-${runid}-${yyyy}. (A tarball (amip-${runid}-${yyyy}.tar.gz) of this folder used to be created in ${SCRATCH}/CRESCENDO/, but this has been commented and it is done in the project management level). Usage:
output-copy.sh RUNID YYYY
The crescendo_ifs_year.sh scripts was crashing with the default cdo (1.9.6, September 6, 2019). Error was:
#[15:55:23] output-copy.sh[143]> cdo merge /scratch/ms/nl/nm6/ECEARTH-RUNS/d10x/output/tm5/002//emioa_crescendo_AER6hr_EC-Earth3-AerChem_d10x_r1i1p1f1_gn_201401010000-201412311800.nc /scratch/ms/nl/nm6/ECEARTH-RUNS/d10x/output/tm5/002//chepsoa2d_crescendo_AER6hr_EC-Earth3-AerChem_d10x_r1i1p1f1_gn_201401010000-201412311800.nc /scratch/ms/nl/nm6/CRESCENDO/d10x.emioa.temp.2014.nc Error (cdf_get_vara_double): NetCDF: Not a valid ID cdf_get_vara_double: ncid = 0 varid = 3
Switch to 1.8.2