From 084c89e3d562f8c9977eaa17624646be388f7854 Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Wed, 2 Sep 2020 19:58:37 +0000 Subject: [PATCH 01/10] Issue #1: set n_sponge=42 in gfs section of config.fcst --- parm/config/config.fcst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/parm/config/config.fcst b/parm/config/config.fcst index 68f5c754cd..2809f422f0 100755 --- a/parm/config/config.fcst +++ b/parm/config/config.fcst @@ -241,6 +241,10 @@ elif [[ "$CDUMP" == "gfs" ]] ; then # GFS cycle specific parameters # Write each restart file in 16 small files to save time export io_layout="4,4" + # Set number of layers from the top over + # which two delta-Z filter is applied + export n_sponge=42 + # Debug load balancing #export KEEPDATA="YES" #export ESMF_RUNTIME_PROFILE=ON From b0bebad6258bd81c0b0c89b559a04d9b059c838e Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Wed, 2 Sep 2020 20:08:01 +0000 Subject: [PATCH 02/10] Issue #1 - change wavegempak and waveawipsgridded dependency to match waveawipsbulls and start when wavepostsbs is complete --- ush/rocoto/setup_workflow.py | 46 ++++-------------------------------- 1 file changed, 4 insertions(+), 42 deletions(-) diff --git a/ush/rocoto/setup_workflow.py b/ush/rocoto/setup_workflow.py index 3382931592..28148a79c7 100755 --- a/ush/rocoto/setup_workflow.py +++ b/ush/rocoto/setup_workflow.py @@ -581,56 +581,18 @@ def get_gdasgfs_tasks(dict_configs, cdump='gdas'): # wavegempak if do_wave in ['Y', 'YES'] and do_gempak in ['Y', 'YES'] and cdump in ['gfs']: deps = [] - data = '&ROTDIR;/%s.@Y@m@d/@H/wave/gridded/%swave.t@Hz.arctic.9km.f000.grib2' % (cdump,cdump) - dep_dict = {'type': 'data', 'data': data} - deps.append(rocoto.add_dependency(dep_dict)) - data = '&ROTDIR;/%s.@Y@m@d/@H/wave/gridded/%swave.t@Hz.atlocn.0p16.f000.grib2' % (cdump,cdump) - dep_dict = {'type': 'data', 'data': data} - deps.append(rocoto.add_dependency(dep_dict)) - data = '&ROTDIR;/%s.@Y@m@d/@H/wave/gridded/%swave.t@Hz.epacif.0p16.f000.grib2' % (cdump,cdump) - dep_dict = {'type': 'data', 'data': data} - deps.append(rocoto.add_dependency(dep_dict)) - data = '&ROTDIR;/%s.@Y@m@d/@H/wave/gridded/%swave.t@Hz.global.0p16.f000.grib2' % (cdump,cdump) - dep_dict = {'type': 'data', 'data': data} - deps.append(rocoto.add_dependency(dep_dict)) - data = '&ROTDIR;/%s.@Y@m@d/@H/wave/gridded/%swave.t@Hz.global.0p25.f000.grib2' % (cdump,cdump) - dep_dict = {'type': 'data', 'data': data} - deps.append(rocoto.add_dependency(dep_dict)) - data = '&ROTDIR;/%s.@Y@m@d/@H/wave/gridded/%swave.t@Hz.gsouth.0p25.f000.grib2' % (cdump,cdump) - dep_dict = {'type': 'data', 'data': data} - deps.append(rocoto.add_dependency(dep_dict)) - data = '&ROTDIR;/%s.@Y@m@d/@H/wave/gridded/%swave.t@Hz.wcoast.0p16.f000.grib2' % (cdump,cdump) - dep_dict = {'type': 'data', 'data': data} + dep_dict = {'type':'task', 'name':'%swavepostsbs' % cdump} deps.append(rocoto.add_dependency(dep_dict)) - dependencies = rocoto.create_dependency(dep_condition='and', dep=deps) + dependencies = rocoto.create_dependency(dep=deps) task = wfu.create_wf_task('wavegempak', cdump=cdump, envar=envars, dependency=dependencies) dict_tasks['%swavegempak' % cdump] = task # waveawipsgridded if do_wave in ['Y', 'YES'] and do_awips in ['Y', 'YES'] and cdump in ['gfs']: deps = [] - data = '&ROTDIR;/%s.@Y@m@d/@H/wave/gridded/%swave.t@Hz.arctic.9km.f000.grib2' % (cdump,cdump) - dep_dict = {'type': 'data', 'data': data} - deps.append(rocoto.add_dependency(dep_dict)) - data = '&ROTDIR;/%s.@Y@m@d/@H/wave/gridded/%swave.t@Hz.atlocn.0p16.f000.grib2' % (cdump,cdump) - dep_dict = {'type': 'data', 'data': data} - deps.append(rocoto.add_dependency(dep_dict)) - data = '&ROTDIR;/%s.@Y@m@d/@H/wave/gridded/%swave.t@Hz.epacif.0p16.f000.grib2' % (cdump,cdump) - dep_dict = {'type': 'data', 'data': data} - deps.append(rocoto.add_dependency(dep_dict)) - data = '&ROTDIR;/%s.@Y@m@d/@H/wave/gridded/%swave.t@Hz.global.0p16.f000.grib2' % (cdump,cdump) - dep_dict = {'type': 'data', 'data': data} - deps.append(rocoto.add_dependency(dep_dict)) - data = '&ROTDIR;/%s.@Y@m@d/@H/wave/gridded/%swave.t@Hz.global.0p25.f000.grib2' % (cdump,cdump) - dep_dict = {'type': 'data', 'data': data} - deps.append(rocoto.add_dependency(dep_dict)) - data = '&ROTDIR;/%s.@Y@m@d/@H/wave/gridded/%swave.t@Hz.gsouth.0p25.f000.grib2' % (cdump,cdump) - dep_dict = {'type': 'data', 'data': data} - deps.append(rocoto.add_dependency(dep_dict)) - data = '&ROTDIR;/%s.@Y@m@d/@H/wave/gridded/%swave.t@Hz.wcoast.0p16.f000.grib2' % (cdump,cdump) - dep_dict = {'type': 'data', 'data': data} + dep_dict = {'type':'task', 'name':'%swavepostsbs' % cdump} deps.append(rocoto.add_dependency(dep_dict)) - dependencies = rocoto.create_dependency(dep_condition='and', dep=deps) + dependencies = rocoto.create_dependency(dep=deps) task = wfu.create_wf_task('waveawipsgridded', cdump=cdump, envar=envars, dependency=dependencies) dict_tasks['%swaveawipsgridded' % cdump] = task From 609e157c2477b662b55bbf3d53999cdd30856bc8 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Wed, 2 Sep 2020 20:35:28 +0000 Subject: [PATCH 03/10] Issue #1 - update WAFS tag to gfs_wafs.v6.0.4 and remove HOURLY variable from WAFS configs --- Externals.cfg | 2 +- parm/config/config.wafsblending0p25 | 2 -- parm/config/config.wafsgrib20p25 | 2 -- sorc/checkout.sh | 2 +- 4 files changed, 2 insertions(+), 6 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index 3a28ec0955..39ca50872a 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -43,7 +43,7 @@ protocol = git required = True [EMC_gfs_wafs] -tag = gfs_wafs.v6.0.3 +tag = gfs_wafs.v6.0.4 local_path = sorc/gfs_wafs.fd repo_url = https://github.com/NOAA-EMC/EMC_gfs_wafs.git protocol = git diff --git a/parm/config/config.wafsblending0p25 b/parm/config/config.wafsblending0p25 index 2572ecdbd4..28a2de90ff 100755 --- a/parm/config/config.wafsblending0p25 +++ b/parm/config/config.wafsblending0p25 @@ -11,6 +11,4 @@ export COMIN=$COMINatmos export COMOUT=$COMOUTatmos export SENDCOM="YES" -export HOURLY="NO" - echo "END: config.wafsblending0p25" diff --git a/parm/config/config.wafsgrib20p25 b/parm/config/config.wafsgrib20p25 index a55d6908d1..8b55333c00 100755 --- a/parm/config/config.wafsgrib20p25 +++ b/parm/config/config.wafsgrib20p25 @@ -11,6 +11,4 @@ export COMIN=$COMINatmos export COMOUT=$COMOUTatmos export SENDCOM="YES" -export HOURLY="NO" - echo "END: config.wafsgrib20p25" diff --git a/sorc/checkout.sh b/sorc/checkout.sh index b5082fcfe2..bd419a5f64 100755 --- a/sorc/checkout.sh +++ b/sorc/checkout.sh @@ -95,7 +95,7 @@ if [[ ! -d gfs_wafs.fd ]] ; then rm -f ${topdir}/checkout-gfs_wafs.log git clone --recursive https://github.com/NOAA-EMC/EMC_gfs_wafs.git gfs_wafs.fd >> ${topdir}/checkout-gfs_wafs.log 2>&1 cd gfs_wafs.fd - git checkout gfs_wafs.v6.0.3 + git checkout gfs_wafs.v6.0.4 cd ${topdir} else echo 'Skip. Directory gfs_wafs.fd already exists.' From 26c84b3ca81dec965ab31d00409b537f61174dc1 Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Thu, 3 Sep 2020 14:06:29 +0000 Subject: [PATCH 04/10] Issue #1: remove pgrb2b.0p25 dependency from gfsawips in setup_workflow.py --- ush/rocoto/setup_workflow.py | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/ush/rocoto/setup_workflow.py b/ush/rocoto/setup_workflow.py index 28148a79c7..7d3b184be7 100755 --- a/ush/rocoto/setup_workflow.py +++ b/ush/rocoto/setup_workflow.py @@ -652,21 +652,10 @@ def get_gdasgfs_tasks(dict_configs, cdump='gdas'): # awips if cdump in ['gfs'] and do_awips in ['Y', 'YES']: deps = [] - data = '&ROTDIR;/%s.@Y@m@d/@H/atmos/%s.t@Hz.pgrb2b.0p25.#dep#.idx' % (cdump, cdump) - dep_dict = {'type': 'data', 'data': data} - deps.append(rocoto.add_dependency(dep_dict)) dep_dict = {'type': 'metatask', 'name': '%spost' % cdump} deps.append(rocoto.add_dependency(dep_dict)) - dependencies = rocoto.create_dependency(dep_condition='or', dep=deps) - fhrgrp = rocoto.create_envar(name='FHRGRP', value='#grp#') - fhrlst = rocoto.create_envar(name='FHRLST', value='#lst#') - ROTDIR = rocoto.create_envar(name='ROTDIR', value='&ROTDIR;') - awipsenvars = envars + [fhrgrp] + [fhrlst] + [ROTDIR] - varname1, varname2, varname3 = 'grp', 'dep', 'lst' - varval1, varval2, varval3 = get_awipsgroups(dict_configs['awips'], cdump=cdump) - vardict = {varname2: varval2, varname3: varval3} - task = wfu.create_wf_task('awips', cdump=cdump, envar=awipsenvars, dependency=dependencies, - metatask='awips', varname=varname1, varval=varval1, vardict=vardict) + dependencies = rocoto.create_dependency(dep=deps) + task = wfu.create_wf_task('awips', cdump=cdump, envar=envars, dependency=dependencies) dict_tasks['%sawips' % cdump] = task From 64409b1e9e976b75afd8a3548e7023dce534c4ae Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 3 Sep 2020 15:42:23 +0000 Subject: [PATCH 05/10] Adding missing space to if-block in env files to resolve runtime failure --- env/HERA.env | 2 +- env/JET.env | 2 +- env/WCOSS_C.env | 2 +- env/WCOSS_DELL_P3.env | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/env/HERA.env b/env/HERA.env index e0502e9fd8..c015dea45a 100755 --- a/env/HERA.env +++ b/env/HERA.env @@ -38,7 +38,7 @@ if [ $step = "prep" -o $step = "prepbufr" ]; then export BACK="NO" export sys_tp="HERA" -elif [ $step = "waveinit" -o $step = "waveprep" -o $step = "wavepostsbs" -o $step = "wavepostbndpnt" -o $step = "wavepostpnt"]; then +elif [ $step = "waveinit" -o $step = "waveprep" -o $step = "wavepostsbs" -o $step = "wavepostbndpnt" -o $step = "wavepostpnt" ]; then export mpmd="--multi-prog" export CFP_MP="YES" if [ $step = "waveprep" ]; then export MP_PULSE=0 ; fi diff --git a/env/JET.env b/env/JET.env index 3a24c71b7e..ef37e468df 100755 --- a/env/JET.env +++ b/env/JET.env @@ -37,7 +37,7 @@ if [ $step = "prep" -o $step = "prepbufr" ]; then export BACK=${BACK:-"YES"} export sys_tp="Cray-CS400" -elif [ $step = "waveinit" -o $step = "waveprep" -o $step = "wavepostsbs" -o $step = "wavepostbndpnt" -o $step = "wavepostpnt"]; then +elif [ $step = "waveinit" -o $step = "waveprep" -o $step = "wavepostsbs" -o $step = "wavepostbndpnt" -o $step = "wavepostpnt" ]; then if [ $step = "waveprep" ]; then export MP_PULSE=0 ; fi export wavempexec=${launcher} diff --git a/env/WCOSS_C.env b/env/WCOSS_C.env index b0343ffda9..4885a966a0 100755 --- a/env/WCOSS_C.env +++ b/env/WCOSS_C.env @@ -37,7 +37,7 @@ if [ $step = "prep" -o $step = "prepbufr" ]; then export POE=${POE:-"YES"} export sys_tp="Cray-XC40" -elif [ $step = "waveinit" -o $step = "waveprep" -o $step = "wavepostsbs" -o $step = "wavepostbndpnt" -o $step = "wavepostpnt"]; then +elif [ $step = "waveinit" -o $step = "waveprep" -o $step = "wavepostsbs" -o $step = "wavepostbndpnt" -o $step = "wavepostpnt" ]; then if [ $step = "waveprep" ]; then export MP_PULSE=0 ; fi export wavempexec=${launcher} export wave_mpmd=${mpmd} diff --git a/env/WCOSS_DELL_P3.env b/env/WCOSS_DELL_P3.env index 80622a2e56..74e5c28991 100755 --- a/env/WCOSS_DELL_P3.env +++ b/env/WCOSS_DELL_P3.env @@ -45,7 +45,7 @@ if [ $step = "prep" -o $step = "prepbufr" ]; then export BACK=${BACK:-"YES"} export sys_tp="Dell-p3" -elif [ $step = "waveinit" -o $step = "waveprep" -o $step = "wavepostsbs" -o $step = "wavepostbndpnt" -o $step = "wavepostpnt"]; then +elif [ $step = "waveinit" -o $step = "waveprep" -o $step = "wavepostsbs" -o $step = "wavepostbndpnt" -o $step = "wavepostpnt" ]; then if [ $step = "waveprep" ]; then export MP_PULSE=0 ; fi export wavempexec=${launcher} From 0844b0043c937925c5ad76b4fad03308483d49b3 Mon Sep 17 00:00:00 2001 From: "jessica.meixner" Date: Fri, 4 Sep 2020 15:42:25 +0000 Subject: [PATCH 06/10] fix from Bhavani for having first wave grib file be set as a forecast instead of analysis --- ush/wave_grib2_sbs.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ush/wave_grib2_sbs.sh b/ush/wave_grib2_sbs.sh index a95556fe68..e83efccd6a 100755 --- a/ush/wave_grib2_sbs.sh +++ b/ush/wave_grib2_sbs.sh @@ -159,8 +159,13 @@ exit 3 fi - $WGRIB2 gribfile -set_date $CDATE -set_ftime "$fhr hour fcst" -grib ${COMOUT}/gridded/${outfile} - err=$? + if [ $fht -gt 0 ]; then + $WGRIB2 gribfile -set_date $CDATE -set_ftime "$fhr hour fcst" -grib ${COMOUT}/gridded/${outfile} + err=$? + else + $WGRIB2 gribfile -set_date $CDATE -set_ftime "$fhr hour fcst" -set table_1.4 1 -set table_1.2 1 -grib ${COMOUT}/gridded/${outfile} + err=$? + fi if [ $err != 0 ] then From d3946f9006f433e0a6b2f459aeaa7fd8bf800aff Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Tue, 8 Sep 2020 14:46:39 +0000 Subject: [PATCH 07/10] Issue #1: clean up DA sections of link_fv3gfs.sh --- sorc/link_fv3gfs.sh | 50 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 41 insertions(+), 9 deletions(-) diff --git a/sorc/link_fv3gfs.sh b/sorc/link_fv3gfs.sh index d79c323266..54d606bfac 100755 --- a/sorc/link_fv3gfs.sh +++ b/sorc/link_fv3gfs.sh @@ -116,7 +116,6 @@ cd ${pwd}/../jobs ||exit 8 $LINK ../sorc/gsi.fd/jobs/JGLOBAL_ANALDIAG . $LINK ../sorc/gsi.fd/jobs/JGLOBAL_ENKF_SELECT_OBS . $LINK ../sorc/gsi.fd/jobs/JGLOBAL_ENKF_ANALDIAG . - $LINK ../sorc/gsi.fd/jobs/JGLOBAL_ENKF_INNOVATE_OBS . $LINK ../sorc/gsi.fd/jobs/JGLOBAL_ENKF_UPDATE . $LINK ../sorc/gsi.fd/jobs/JGDAS_ENKF_RECENTER . $LINK ../sorc/gsi.fd/jobs/JGDAS_ENKF_SURFACE . @@ -128,7 +127,6 @@ cd ${pwd}/../scripts ||exit 8 $LINK ../sorc/gsi.fd/scripts/exglobal_analcalc_fv3gfs.sh . $LINK ../sorc/gsi.fd/scripts/exglobal_analdiag_fv3gfs.sh . $LINK ../sorc/gsi.fd/scripts/exglobal_innovate_obs_fv3gfs.sh . - $LINK ../sorc/gsi.fd/scripts/exglobal_enkf_innovate_obs_fv3gfs.sh . $LINK ../sorc/gsi.fd/scripts/exglobal_enkf_update_fv3gfs.sh . $LINK ../sorc/gsi.fd/scripts/exglobal_enkf_recenter_fv3gfs.sh . $LINK ../sorc/gsi.fd/scripts/exglobal_enkf_surface_fv3gfs.sh . @@ -227,10 +225,10 @@ for ufs_utilsexe in \ $LINK ../sorc/ufs_utils.fd/exec/$ufs_utilsexe . done -for gsiexe in global_gsi.x global_enkf.x calc_increment_ens.x getsfcensmeanp.x getsigensmeanp_smooth.x \ - calc_increment_ens_ncio.x calc_analysis.x interp_inc.x \ - getsigensstatp.x nc_diag_cat_serial.x nc_diag_cat.x recentersigp.x oznmon_horiz.x oznmon_time.x \ - radmon_angle.x radmon_bcoef.x radmon_bcor.x radmon_time.x interp_inc.x;do +for gsiexe in calc_analysis.x calc_increment_ens_ncio.x calc_increment_ens.x \ + getsfcensmeanp.x getsigensmeanp_smooth.x getsigensstatp.x global_enkf.x global_gsi.x \ + interp_inc.x nc_diag_cat_serial.x oznmon_horiz.x oznmon_time.x radmon_angle.x \ + radmon_bcoef.x radmon_bcor.x radmon_time.x recentersigp.x;do [[ -s $gsiexe ]] && rm -f $gsiexe $LINK ../sorc/gsi.fd/exec/$gsiexe . done @@ -245,21 +243,55 @@ done #------------------------------ cd ${pwd}/../sorc || exit 8 + [[ -d calc_analysis.fd ]] && rm -rf calc_analysis.fd $SLINK gsi.fd/util/netcdf_io/calc_analysis.fd calc_analysis.fd - $SLINK gsi.fd/util/netcdf_io/interp_inc.fd interp_inc.fd + + [[ -d calc_increment_ens.fd ]] && rm -rf calc_increment_ens.fd $SLINK gsi.fd/util/EnKF/gfs/src/calc_increment_ens.fd calc_increment_ens.fd + + [[ -d calc_increment_ens_ncio.fd ]] && rm -rf calc_increment_ens_ncio.fd $SLINK gsi.fd/util/EnKF/gfs/src/calc_increment_ens_ncio.fd calc_increment_ens_ncio.fd + + [[ -d getsfcensmeanp.fd ]] && rm -rf getsfcensmeanp.fd $SLINK gsi.fd/util/EnKF/gfs/src/getsfcensmeanp.fd getsfcensmeanp.fd + + [[ -d getsigensmeanp_smooth.fd ]] && rm -rf getsigensmeanp_smooth.fd $SLINK gsi.fd/util/EnKF/gfs/src/getsigensmeanp_smooth.fd getsigensmeanp_smooth.fd + + [[ -d getsigensstatp.fd ]] && rm -rf getsigensstatp.fd $SLINK gsi.fd/util/EnKF/gfs/src/getsigensstatp.fd getsigensstatp.fd - $SLINK gsi.fd/src global_enkf.fd - $SLINK gsi.fd/src global_gsi.fd + + [[ -d global_enkf.fd ]] && rm -rf global_enkf.fd + $SLINK gsi.fd/src/enkf global_enkf.fd + + [[ -d global_gsi.fd ]] && rm -rf global_gsi.fd + $SLINK gsi.fd/src/gsi global_gsi.fd + + [[ -d interp_inc.fd ]] && rm -rf interp_inc.fd + $SLINK gsi.fd/util/netcdf_io/interp_inc.fd interp_inc.fd + + [[ -d ncdiag.fd ]] && rm -rf ncdiag.fd + $SLINK gsi.fd/src/ncdiag ncdiag.fd + + [[ -d oznmon_horiz.fd ]] && rm -rf oznmon_horiz.fd $SLINK gsi.fd/util/Ozone_Monitor/nwprod/oznmon_shared.v2.0.0/sorc/oznmon_horiz.fd oznmon_horiz.fd + + [[ -d oznmon_time.fd ]] && rm -rf oznmon_time.fd $SLINK gsi.fd/util/Ozone_Monitor/nwprod/oznmon_shared.v2.0.0/sorc/oznmon_time.fd oznmon_time.fd + + [[ -d radmon_angle.fd ]] && rm -rf radmon_angle.fd $SLINK gsi.fd/util/Radiance_Monitor/nwprod/radmon_shared.v3.0.0/sorc/verf_radang.fd radmon_angle.fd + + [[ -d radmon_bcoef.fd ]] && rm -rf radmon_bcoef.fd $SLINK gsi.fd/util/Radiance_Monitor/nwprod/radmon_shared.v3.0.0/sorc/verf_radbcoef.fd radmon_bcoef.fd + + [[ -d radmon_bcor.fd ]] && rm -rf radmon_bcor.fd $SLINK gsi.fd/util/Radiance_Monitor/nwprod/radmon_shared.v3.0.0/sorc/verf_radbcor.fd radmon_bcor.fd + + [[ -d radmon_time.fd ]] && rm -rf radmon_time.fd $SLINK gsi.fd/util/Radiance_Monitor/nwprod/radmon_shared.v3.0.0/sorc/verf_radtime.fd radmon_time.fd + + [[ -d recentersigp.fd ]] && rm -rf recentersigp.fd $SLINK gsi.fd/util/EnKF/gfs/src/recentersigp.fd recentersigp.fd $SLINK gfs_post.fd/sorc/ncep_post.fd gfs_ncep_post.fd From cb78f7b839a7b5fd5082f39592e3b450ce059e82 Mon Sep 17 00:00:00 2001 From: wx21rph Date: Fri, 11 Sep 2020 13:21:41 +0000 Subject: [PATCH 08/10] Issue #94 add waves-prdgen, ICE->ICEC, Sleep in gempak script --- gempak/fix/g2varswmo2.tbl | 2 +- scripts/exgfs_wave_nawips.sh.ecf | 58 +++++++++++++++----------------- 2 files changed, 28 insertions(+), 32 deletions(-) diff --git a/gempak/fix/g2varswmo2.tbl b/gempak/fix/g2varswmo2.tbl index 820d6faa48..61151b12b5 100755 --- a/gempak/fix/g2varswmo2.tbl +++ b/gempak/fix/g2varswmo2.tbl @@ -428,7 +428,7 @@ 010 001 002 000 u-component of current m s-1 URELC 0 -9999.00 010 001 003 000 v-component of current m s-1 VRELC 0 -9999.00 ! -010 002 000 000 Ice cover Proportion ICE 0 -9999.00 +010 002 000 000 Ice cover Proportion ICEC 0 -9999.00 010 002 001 000 Ice thickness m ICET 0 -9999.00 010 002 002 000 Direction of ice drift Degree true DRCTI 0 -9999.00 010 002 003 000 Speed of ice drift m s-1 SPEDI 0 -9999.00 diff --git a/scripts/exgfs_wave_nawips.sh.ecf b/scripts/exgfs_wave_nawips.sh.ecf index 0a95116f41..1187b3d41b 100755 --- a/scripts/exgfs_wave_nawips.sh.ecf +++ b/scripts/exgfs_wave_nawips.sh.ecf @@ -30,6 +30,7 @@ if [ ! -d $DATA ];then fi cd $DATA +cp $GEMwave/fix/g2varswmo2.tbl . cpyfil=gds garea=dset @@ -59,20 +60,36 @@ while [ $fhcnt -le $FHMAX_WAV ]; do grdIDout='gfswavewc10m' ;; glo_30m) grdIDin='global.0p25' grdIDout='gfswavegl30m' ;; -# ao_9km) grdIDin='arctic.9km' -# grdIDout='gfswavea9k' ;; - glo_10m) grdIDin='global.0p25' - grdIDout='gfswaveg16k' ;; - gso_15m) grdIDin='gsouth.0p25' - grdIDout='gfswaves25k' ;; *) gridIDin= grdIDout= ;; esac GRIBIN=$COMIN/$RUNwave.$cycle.$grdIDin.f${fhr}.grib2 GRIBIN_chk=$GRIBIN.idx - if [ "$grdIDin" = "global.0p25" && "$grid" = "glo_30m" ]; then - #cp $GRIBIN tempgf.$grdID.f${fhr} - #cp $GRIBIN tempgf.$grdIDin.f${fhr} + icnt=1 + while [ $icnt -lt 1000 ]; do + if [ -r $GRIBIN_chk ] ; then + break + else + let "icnt=icnt+1" + sleep 20 + fi + if [ $icnt -ge $maxtries ]; then + msg="ABORTING after 5 minutes of waiting for $GRIBIN." + postmsg "$jlogfile" "$msg" + echo ' ' + echo '**************************** ' + echo '*** ERROR : NO GRIB FILE *** ' + echo '**************************** ' + echo ' ' + echo $msg + [[ "$LOUD" = YES ]] && set -x + echo "$RUNwave $grdID ${fhr} prdgen $date $cycle : GRIB file missing." >> $wavelog + err=1;export err;${errchk} || exit ${err} + fi + done + + #if [ "$grdIDin" = "global.0p25" && "$grid" = "glo_30m" ]; then + if [ "$grdIDin" = "global.0p25" ]; then $WGRIB2 -lola 0:720:0.5 -90:361:0.5 gribfile.$grdIDout.f${fhr} grib \ $GRIBIN 1> out 2>&1 OK=$? @@ -97,28 +114,7 @@ while [ $fhcnt -le $FHMAX_WAV ]; do echo $GRIBIN GEMGRD=${grdIDout}_${PDY}${cyc}f${fhr} - icnt=1 - while [ $icnt -lt 1000 ]; do - if [ -r $GRIBIN_chk ] ; then - break - else - let "icnt=icnt+1" - sleep 20 - fi - if [ $icnt -ge $maxtries ]; then - msg="ABORTING after 5 minutes of waiting for $GRIBIN." - postmsg "$jlogfile" "$msg" - echo ' ' - echo '**************************** ' - echo '*** ERROR : NO GRIB FILE *** ' - echo '**************************** ' - echo ' ' - echo $msg - [[ "$LOUD" = YES ]] && set -x - echo "$RUNwave $grdID ${fhr} prdgen $date $cycle : GRIB file missing." >> $wavelog - err=1;export err;${errchk} || exit ${err} - fi - done + cp $GRIBIN grib_$grid startmsg From c554657023d82ac934b481593e55406c45157932 Mon Sep 17 00:00:00 2001 From: "russ.treadon" Date: Fri, 11 Sep 2020 13:59:51 +0000 Subject: [PATCH 09/10] Issue #1: update name of DA jobs and scripts in accordance with WCOSS Implementation Standards --- jobs/rocoto/anal.sh | 2 +- jobs/rocoto/analcalc.sh | 2 +- jobs/rocoto/analdiag.sh | 2 +- jobs/rocoto/ecen.sh | 2 +- jobs/rocoto/echgres.sh | 2 +- jobs/rocoto/ediag.sh | 2 +- jobs/rocoto/eobs.sh | 2 +- jobs/rocoto/eomg.sh | 2 +- jobs/rocoto/esfc.sh | 2 +- jobs/rocoto/eupd.sh | 2 +- parm/config/config.vrfy | 8 +++--- sorc/link_fv3gfs.sh | 58 ++++++++++++++++++++--------------------- 12 files changed, 43 insertions(+), 43 deletions(-) diff --git a/jobs/rocoto/anal.sh b/jobs/rocoto/anal.sh index 4a9e2a8f3e..6520d967f0 100755 --- a/jobs/rocoto/anal.sh +++ b/jobs/rocoto/anal.sh @@ -8,6 +8,6 @@ status=$? ############################################################### # Execute the JJOB -$HOMEgfs/jobs/JGLOBAL_ANALYSIS +$HOMEgfs/jobs/JGLOBAL_ATMOS_ANALYSIS status=$? exit $status diff --git a/jobs/rocoto/analcalc.sh b/jobs/rocoto/analcalc.sh index fd7d8f8916..5003d6c776 100755 --- a/jobs/rocoto/analcalc.sh +++ b/jobs/rocoto/analcalc.sh @@ -8,6 +8,6 @@ status=$? ############################################################### # Execute the JJOB -$HOMEgfs/jobs/JGLOBAL_ANALCALC +$HOMEgfs/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC status=$? exit $status diff --git a/jobs/rocoto/analdiag.sh b/jobs/rocoto/analdiag.sh index 9d5101c67e..413f97e9fa 100755 --- a/jobs/rocoto/analdiag.sh +++ b/jobs/rocoto/analdiag.sh @@ -8,6 +8,6 @@ status=$? ############################################################### # Execute the JJOB -$HOMEgfs/jobs/JGLOBAL_ANALDIAG +$HOMEgfs/jobs/JGDAS_ATMOS_ANALYSIS_DIAG status=$? exit $status diff --git a/jobs/rocoto/ecen.sh b/jobs/rocoto/ecen.sh index de14b0a274..353621de64 100755 --- a/jobs/rocoto/ecen.sh +++ b/jobs/rocoto/ecen.sh @@ -16,7 +16,7 @@ for fhr in $fhrlst; do export FHOUT_ECEN=$fhr export job=ecen${fhr} - $HOMEgfs/jobs/JGDAS_ENKF_RECENTER + $HOMEgfs/jobs/JGDAS_ENKF_ECEN status=$? [[ $status -ne 0 ]] && exit $status diff --git a/jobs/rocoto/echgres.sh b/jobs/rocoto/echgres.sh index 9776dd424e..f921a09d6b 100755 --- a/jobs/rocoto/echgres.sh +++ b/jobs/rocoto/echgres.sh @@ -8,6 +8,6 @@ status=$? ############################################################### # Execute the JJOB -$HOMEgfs/jobs/JGDAS_CHGRES_FORENKF +$HOMEgfs/jobs/JGDAS_ATMOS_CHGRES_FORENKF status=$? exit $status diff --git a/jobs/rocoto/ediag.sh b/jobs/rocoto/ediag.sh index f53aa6a34a..71df7e3754 100755 --- a/jobs/rocoto/ediag.sh +++ b/jobs/rocoto/ediag.sh @@ -8,6 +8,6 @@ status=$? ############################################################### # Execute the JJOB -$HOMEgfs/jobs/JGLOBAL_ENKF_ANALDIAG +$HOMEgfs/jobs/JGDAS_ENKF_DIAG status=$? exit $status diff --git a/jobs/rocoto/eobs.sh b/jobs/rocoto/eobs.sh index 664e332953..cf63fabaae 100755 --- a/jobs/rocoto/eobs.sh +++ b/jobs/rocoto/eobs.sh @@ -8,6 +8,6 @@ status=$? ############################################################### # Execute the JJOB -$HOMEgfs/jobs/JGLOBAL_ENKF_SELECT_OBS +$HOMEgfs/jobs/JGDAS_ENKF_SELECT_OBS status=$? exit $status diff --git a/jobs/rocoto/eomg.sh b/jobs/rocoto/eomg.sh index 11dbaeeb1e..683269c2a8 100755 --- a/jobs/rocoto/eomg.sh +++ b/jobs/rocoto/eomg.sh @@ -8,6 +8,6 @@ status=$? ############################################################### # Execute the JJOB -$HOMEgfs/jobs/JGLOBAL_ENKF_INNOVATE_OBS +$HOMEgfs/jobs/JGDAS_ENKF_INNOVATE_OBS status=$? exit $status diff --git a/jobs/rocoto/esfc.sh b/jobs/rocoto/esfc.sh index cdc762beab..2c2a65cb8e 100755 --- a/jobs/rocoto/esfc.sh +++ b/jobs/rocoto/esfc.sh @@ -8,6 +8,6 @@ status=$? ############################################################### # Execute the JJOB -$HOMEgfs/jobs/JGDAS_ENKF_SURFACE +$HOMEgfs/jobs/JGDAS_ENKF_SFC status=$? exit $status diff --git a/jobs/rocoto/eupd.sh b/jobs/rocoto/eupd.sh index 7954c1db5e..d367b7ecd3 100755 --- a/jobs/rocoto/eupd.sh +++ b/jobs/rocoto/eupd.sh @@ -8,6 +8,6 @@ status=$? ############################################################### # Execute the JJOB -$HOMEgfs/jobs/JGLOBAL_ENKF_UPDATE +$HOMEgfs/jobs/JGDAS_ENKF_UPDATE status=$? exit $status diff --git a/parm/config/config.vrfy b/parm/config/config.vrfy index 44f75a86fb..796e293008 100755 --- a/parm/config/config.vrfy +++ b/parm/config/config.vrfy @@ -103,7 +103,7 @@ if [ $VRFYRAD = "YES" -o $VRFYMINMON = "YES" -o $VRFYOZN = "YES" ]; then export RADMON_SUFFIX=$PSLOT export TANKverf="$NOSCRUB/monitor/radmon" - export VRFYRADSH="$HOMEgfs/jobs/JGDAS_VERFRAD" + export VRFYRADSH="$HOMEgfs/jobs/JGDAS_ATMOS_VERFRAD" fi @@ -113,9 +113,9 @@ if [ $VRFYRAD = "YES" -o $VRFYMINMON = "YES" -o $VRFYOZN = "YES" ]; then export MINMON_SUFFIX=$PSLOT export M_TANKverf="$NOSCRUB/monitor/minmon" if [[ "$CDUMP" = "gdas" ]] ; then - export VRFYMINSH="$HOMEgfs/jobs/JGDAS_VMINMON" + export VRFYMINSH="$HOMEgfs/jobs/JGDAS_ATMOS_VMINMON" elif [[ "$CDUMP" = "gfs" ]] ; then - export VRFYMINSH="$HOMEgfs/jobs/JGFS_VMINMON" + export VRFYMINSH="$HOMEgfs/jobs/JGFS_ATMOS_VMINMON" fi fi @@ -126,7 +126,7 @@ if [ $VRFYRAD = "YES" -o $VRFYMINMON = "YES" -o $VRFYOZN = "YES" ]; then export HOMEgfs_ozn="$HOMEgfs" export OZNMON_SUFFIX=$PSLOT export TANKverf_ozn="$NOSCRUB/monitor/oznmon" - export VRFYOZNSH="$HOMEgfs/jobs/JGDAS_VERFOZN" + export VRFYOZNSH="$HOMEgfs/jobs/JGDAS_ATMOS_VERFOZN" fi diff --git a/sorc/link_fv3gfs.sh b/sorc/link_fv3gfs.sh index 54d606bfac..971960e2a4 100755 --- a/sorc/link_fv3gfs.sh +++ b/sorc/link_fv3gfs.sh @@ -111,28 +111,28 @@ fi #--add GSI/EnKF file #------------------------------ cd ${pwd}/../jobs ||exit 8 - $LINK ../sorc/gsi.fd/jobs/JGLOBAL_ANALYSIS . - $LINK ../sorc/gsi.fd/jobs/JGLOBAL_ANALCALC . - $LINK ../sorc/gsi.fd/jobs/JGLOBAL_ANALDIAG . - $LINK ../sorc/gsi.fd/jobs/JGLOBAL_ENKF_SELECT_OBS . - $LINK ../sorc/gsi.fd/jobs/JGLOBAL_ENKF_ANALDIAG . - $LINK ../sorc/gsi.fd/jobs/JGLOBAL_ENKF_UPDATE . - $LINK ../sorc/gsi.fd/jobs/JGDAS_ENKF_RECENTER . - $LINK ../sorc/gsi.fd/jobs/JGDAS_ENKF_SURFACE . - $LINK ../sorc/gsi.fd/jobs/JGDAS_ENKF_FCST . - $LINK ../sorc/gsi.fd/jobs/JGDAS_ENKF_POST . - $LINK ../sorc/gsi.fd/jobs/JGDAS_CHGRES_FORENKF . + $LINK ../sorc/gsi.fd/jobs/JGLOBAL_ATMOS_ANALYSIS . + $LINK ../sorc/gsi.fd/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC . + $LINK ../sorc/gsi.fd/jobs/JGLOBAL_ATMOS_ANALYSIS_DIAG . + $LINK ../sorc/gsi.fd/jobs/JGDAS_ENKF_SELECT_OBS . + $LINK ../sorc/gsi.fd/jobs/JGDAS_ENKF_DIAG . + $LINK ../sorc/gsi.fd/jobs/JGDAS_ENKF_UPDATE . + $LINK ../sorc/gsi.fd/jobs/JGDAS_ENKF_ECEN . + $LINK ../sorc/gsi.fd/jobs/JGDAS_ENKF_SFC . + $LINK ../sorc/gsi.fd/jobs/JGDAS_ENKF_FCST . + $LINK ../sorc/gsi.fd/jobs/JGDAS_ENKF_POST . + $LINK ../sorc/gsi.fd/jobs/JGDAS_ATMOS_CHGRES_FORENKF . cd ${pwd}/../scripts ||exit 8 - $LINK ../sorc/gsi.fd/scripts/exglobal_analysis_fv3gfs.sh . - $LINK ../sorc/gsi.fd/scripts/exglobal_analcalc_fv3gfs.sh . - $LINK ../sorc/gsi.fd/scripts/exglobal_analdiag_fv3gfs.sh . - $LINK ../sorc/gsi.fd/scripts/exglobal_innovate_obs_fv3gfs.sh . - $LINK ../sorc/gsi.fd/scripts/exglobal_enkf_update_fv3gfs.sh . - $LINK ../sorc/gsi.fd/scripts/exglobal_enkf_recenter_fv3gfs.sh . - $LINK ../sorc/gsi.fd/scripts/exglobal_enkf_surface_fv3gfs.sh . - $LINK ../sorc/gsi.fd/scripts/exglobal_enkf_fcst_fv3gfs.sh . - $LINK ../sorc/gsi.fd/scripts/exglobal_enkf_post_fv3gfs.sh . - $LINK ../sorc/gsi.fd/scripts/exglobal_chgres_forenkf_fv3gfs.sh . + $LINK ../sorc/gsi.fd/scripts/exglobal_atmos_analysis.sh . + $LINK ../sorc/gsi.fd/scripts/exglobal_atmos_analysis_calc.sh . + $LINK ../sorc/gsi.fd/scripts/exglobal_diag.sh . + $LINK ../sorc/gsi.fd/scripts/exgdas_enkf_innovate_obs.sh . + $LINK ../sorc/gsi.fd/scripts/exgdas_enkf_update.sh . + $LINK ../sorc/gsi.fd/scripts/exgdas_enkf_ecen.sh . + $LINK ../sorc/gsi.fd/scripts/exgdas_enkf_sfc.sh . + $LINK ../sorc/gsi.fd/scripts/exgdas_enkf_fcst.sh . + $LINK ../sorc/gsi.fd/scripts/exgdas_enkf_post.sh . + $LINK ../sorc/gsi.fd/scripts/exgdas_atmos_chgres_forenkf.sh . cd ${pwd}/../fix ||exit 8 [[ -d fix_gsi ]] && rm -rf fix_gsi $LINK ../sorc/gsi.fd/fix fix_gsi @@ -158,10 +158,10 @@ cd ${pwd}/../fix ||exit 8 $LINK ../../sorc/gsi.fd/util/Radiance_Monitor/nwprod/gdas_radmon.v3.0.0/fix/gdas_radmon_satype.txt . $LINK ../../sorc/gsi.fd/util/Radiance_Monitor/nwprod/gdas_radmon.v3.0.0/fix/gdas_radmon_scaninfo.txt . cd ${pwd}/../jobs ||exit 8 - $LINK ../sorc/gsi.fd/util/Minimization_Monitor/nwprod/gdas.v1.0.0/jobs/JGDAS_VMINMON . - $LINK ../sorc/gsi.fd/util/Minimization_Monitor/nwprod/gfs.v1.0.0/jobs/JGFS_VMINMON . - $LINK ../sorc/gsi.fd/util/Ozone_Monitor/nwprod/gdas_oznmon.v2.0.0/jobs/JGDAS_VERFOZN . - $LINK ../sorc/gsi.fd/util/Radiance_Monitor/nwprod/gdas_radmon.v3.0.0/jobs/JGDAS_VERFRAD . + $LINK ../sorc/gsi.fd/util/Minimization_Monitor/nwprod/gdas.v1.0.0/jobs/JGDAS_ATMOS_VMINMON . + $LINK ../sorc/gsi.fd/util/Minimization_Monitor/nwprod/gfs.v1.0.0/jobs/JGFS_ATMOS_VMINMON . + $LINK ../sorc/gsi.fd/util/Ozone_Monitor/nwprod/gdas_oznmon.v2.0.0/jobs/JGDAS_ATMOS_VERFOZN . + $LINK ../sorc/gsi.fd/util/Radiance_Monitor/nwprod/gdas_radmon.v3.0.0/jobs/JGDAS_ATMOS_VERFRAD . cd ${pwd}/../parm ||exit 8 [[ -d mon ]] && rm -rf mon mkdir -p mon @@ -172,10 +172,10 @@ cd ${pwd}/../parm ||exit 8 $LINK ../../sorc/gsi.fd/util/Ozone_Monitor/nwprod/gdas_oznmon.v2.0.0/parm/gdas_oznmon.parm . # $LINK ../../sorc/gsi.fd/util/Radiance_Monitor/nwprod/gdas_radmon.v3.0.0/parm/gdas_radmon.parm . cd ${pwd}/../scripts ||exit 8 - $LINK ../sorc/gsi.fd/util/Minimization_Monitor/nwprod/gdas.v1.0.0/scripts/exgdas_vrfminmon.sh . - $LINK ../sorc/gsi.fd/util/Minimization_Monitor/nwprod/gfs.v1.0.0/scripts/exgfs_vrfminmon.sh . - $LINK ../sorc/gsi.fd/util/Ozone_Monitor/nwprod/gdas_oznmon.v2.0.0/scripts/exgdas_vrfyozn.sh . - $LINK ../sorc/gsi.fd/util/Radiance_Monitor/nwprod/gdas_radmon.v3.0.0/scripts/exgdas_vrfyrad.sh . + $LINK ../sorc/gsi.fd/util/Minimization_Monitor/nwprod/gdas.v1.0.0/scripts/exgdas_atmos_vminmon.sh . + $LINK ../sorc/gsi.fd/util/Minimization_Monitor/nwprod/gfs.v1.0.0/scripts/exgfs_atmos_vminmon.sh . + $LINK ../sorc/gsi.fd/util/Ozone_Monitor/nwprod/gdas_oznmon.v2.0.0/scripts/exgdas_atmos_verfozn.sh . + $LINK ../sorc/gsi.fd/util/Radiance_Monitor/nwprod/gdas_radmon.v3.0.0/scripts/exgdas_atmos_verfrad.sh . cd ${pwd}/../ush ||exit 8 $LINK ../sorc/gsi.fd/util/Minimization_Monitor/nwprod/minmon_shared.v1.0.1/ush/minmon_xtrct_costs.pl . $LINK ../sorc/gsi.fd/util/Minimization_Monitor/nwprod/minmon_shared.v1.0.1/ush/minmon_xtrct_gnorms.pl . From fc60e895dea1c123a4b8e02b50df0d0cfa43f77f Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Fri, 11 Sep 2020 17:45:03 +0000 Subject: [PATCH 10/10] Increase walltime for new wavepost jobs --- parm/config/config.resources | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/parm/config/config.resources b/parm/config/config.resources index c3101e4721..0ca8ca03a1 100755 --- a/parm/config/config.resources +++ b/parm/config/config.resources @@ -68,7 +68,7 @@ elif [ $step = "wavepostsbs" ]; then elif [ $step = "wavepostbndpnt" ]; then - export wtime_wavepostbndpnt="02:00:00" + export wtime_wavepostbndpnt="03:00:00" export npe_wavepostbndpnt=56 export nth_wavepostbndpnt=1 export npe_node_wavepostbndpnt=$(echo "$npe_node_max / $nth_wavepostbndpnt" | bc) @@ -76,7 +76,7 @@ elif [ $step = "wavepostbndpnt" ]; then elif [ $step = "wavepostpnt" ]; then - export wtime_wavepostpnt="02:00:00" + export wtime_wavepostpnt="03:00:00" export npe_wavepostpnt=56 export nth_wavepostpnt=1 export npe_node_wavepostpnt=$(echo "$npe_node_max / $nth_wavepostpnt" | bc)