From 25524675a63e59829655bbd9a09abc4dca246357 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 5 Mar 2020 13:31:02 +0000 Subject: [PATCH] Issue #8 - add switch for MET+ jobs --- parm/config/config.base.emc.dyn | 2 ++ ush/rocoto/setup_workflow.py | 12 ++++++++--- ush/rocoto/setup_workflow_fcstonly.py | 30 +++++++++++++++------------ 3 files changed, 28 insertions(+), 16 deletions(-) diff --git a/parm/config/config.base.emc.dyn b/parm/config/config.base.emc.dyn index 59ece8918b..6fd5c6a0f4 100755 --- a/parm/config/config.base.emc.dyn +++ b/parm/config/config.base.emc.dyn @@ -253,6 +253,8 @@ export nst_anl=.true. # Analysis increments to zero in CALCINCEXEC export INCREMENTS_TO_ZERO="'delz_inc','clwmr_inc','icmr_inc'" +# Verification options +export DO_METP="YES" # Run MET+ jobs # Archiving options export HPSSARCH="NO" # save data to HPSS archive diff --git a/ush/rocoto/setup_workflow.py b/ush/rocoto/setup_workflow.py index a8ac1cccb3..505af50b9f 100755 --- a/ush/rocoto/setup_workflow.py +++ b/ush/rocoto/setup_workflow.py @@ -42,10 +42,12 @@ def main(): print 'input arg: --expdir = %s' % repr(args.expdir) sys.exit(1) - gfs_steps = ['prep', 'anal', 'fcst', 'postsnd', 'post', 'awips', 'gempak', 'vrfy', 'metp', 'arch'] + gfs_steps = ['prep', 'anal', 'fcst', 'postsnd', 'post', 'awips', 'gempak', 'vrfy', 'arch'] hyb_steps = ['eobs', 'eomg', 'eupd', 'ecen', 'efcs', 'epos', 'earc'] + metp_steps = ['metp'] steps = gfs_steps + hyb_steps if _base.get('DOHYBVAR', 'NO') == 'YES' else gfs_steps + steps = steps + metp_steps if _base.get('DO_METP', 'NO') == 'YES' else steps dict_configs = wfu.source_configs(configs, steps) @@ -216,8 +218,9 @@ def get_gdasgfs_resources(dict_configs, cdump='gdas'): do_bufrsnd = base.get('DO_BUFRSND', 'NO').upper() do_gempak = base.get('DO_GEMPAK', 'NO').upper() do_awips = base.get('DO_AWIPS', 'NO').upper() + do_metp = base.get('DO_METP', 'NO').upper() - tasks = ['prep', 'anal', 'fcst', 'post', 'vrfy', 'metp', 'arch'] + tasks = ['prep', 'anal', 'fcst', 'post', 'vrfy', 'arch'] if cdump in ['gfs'] and do_bufrsnd in ['Y', 'YES']: tasks += ['postsnd'] @@ -225,6 +228,8 @@ def get_gdasgfs_resources(dict_configs, cdump='gdas'): tasks += ['gempak'] if cdump in ['gfs'] and do_awips in ['Y', 'YES']: tasks += ['awips'] + if cdump in ['gfs'] and do_metp in ['Y', 'YES']: + tasks += ['metp'] dict_resources = OrderedDict() @@ -345,6 +350,7 @@ def get_gdasgfs_tasks(dict_configs, cdump='gdas'): do_bufrsnd = base.get('DO_BUFRSND', 'NO').upper() do_gempak = base.get('DO_GEMPAK', 'NO').upper() do_awips = base.get('DO_AWIPS', 'NO').upper() + do_metp = base.get('DO_METP', 'NO').upper() dumpsuffix = base.get('DUMP_SUFFIX', '') dict_tasks = OrderedDict() @@ -432,7 +438,7 @@ def get_gdasgfs_tasks(dict_configs, cdump='gdas'): dict_tasks['%svrfy' % cdump] = task # metp - if cdump in ['gfs']: + if cdump in ['gfs'] and do_metp in ['Y', 'YES']: deps = [] dep_dict = {'type':'metatask', 'name':'%spost' % cdump} deps.append(rocoto.add_dependency(dep_dict)) diff --git a/ush/rocoto/setup_workflow_fcstonly.py b/ush/rocoto/setup_workflow_fcstonly.py index 67d6759cec..4ccee663ad 100755 --- a/ush/rocoto/setup_workflow_fcstonly.py +++ b/ush/rocoto/setup_workflow_fcstonly.py @@ -224,6 +224,9 @@ def get_workflow(dict_configs, cdump='gdas'): envars.append(rocoto.create_envar(name='PDY', value='@Y@m@d')) envars.append(rocoto.create_envar(name='cyc', value='@H')) + base = dict_configs['base'] + do_metp = base.get('DO_METP', 'NO').upper() + tasks = [] # getics @@ -322,20 +325,21 @@ def get_workflow(dict_configs, cdump='gdas'): tasks.append('\n') # metp - deps = [] - dep_dict = {'type':'metatask', 'name':'%spost' % cdump} - deps.append(rocoto.add_dependency(dep_dict)) - dep_dict = {'type':'task', 'name':'%sarch' % cdump, 'offset':'-&INTERVAL;'} - deps.append(rocoto.add_dependency(dep_dict)) - dependencies = rocoto.create_dependency(dep_condition='and', dep=deps) - metpcase = rocoto.create_envar(name='METPCASE', value='#metpcase#') - metpenvars = envars + [metpcase] - varname1 = 'metpcase' - varval1 = 'g2g1 g2o1 pcp1' - task = wfu.create_wf_task('metp', cdump=cdump, envar=metpenvars, dependency=dependencies, + if do_metp in ['Y', 'YES']: + deps = [] + dep_dict = {'type':'metatask', 'name':'%spost' % cdump} + deps.append(rocoto.add_dependency(dep_dict)) + dep_dict = {'type':'task', 'name':'%sarch' % cdump, 'offset':'-&INTERVAL;'} + deps.append(rocoto.add_dependency(dep_dict)) + dependencies = rocoto.create_dependency(dep_condition='and', dep=deps) + metpcase = rocoto.create_envar(name='METPCASE', value='#metpcase#') + metpenvars = envars + [metpcase] + varname1 = 'metpcase' + varval1 = 'g2g1 g2o1 pcp1' + task = wfu.create_wf_task('metp', cdump=cdump, envar=metpenvars, dependency=dependencies, metatask='metp', varname=varname1, varval=varval1) - tasks.append(task) - tasks.append('\n') + tasks.append(task) + tasks.append('\n') # arch deps = []