Skip to content

plesager/crescendo-pp

 
 

Repository files navigation

CRESCENDO output postprocessing

Author: original by Tommi Bergman KNMI, revamped by Philippe Le Sager

Overview

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.

Requirements

  • 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 templates

pp_ifs_monthly_auto.job.tmpl

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

pp_ifs+tm5_merge_copy_auto.job.tmpl

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

mm2yyyy_leg.sh.tmpl

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.

Processing scripts

crescendo_ifs.sh

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

crescendo_ifs_year.sh

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

output-copy.sh

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

Issues

cdo version

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

About

crescendo postprocessing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%