From 5ad9aef45f2167294e17f37e61078b7f724b6834 Mon Sep 17 00:00:00 2001 From: matthew pyle Date: Thu, 7 Nov 2024 13:39:26 +0000 Subject: [PATCH 01/10] Trivial change to get things started --- scripts/exrrfs_post.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/exrrfs_post.sh b/scripts/exrrfs_post.sh index f0e9f6732..ecd3c136a 100755 --- a/scripts/exrrfs_post.sh +++ b/scripts/exrrfs_post.sh @@ -136,7 +136,10 @@ if [ ${len_fhr} -eq 9 ]; then post_fhr=${fhr:0:3} post_min=${fhr:4:2} if [ ${post_min} -lt ${nsout_min} ]; then + echo post_min was ${post_min} + echo nsout_min was ${nsout_min} post_min=00 + echo post_min now ${post_min} fi else post_fhr=${fhr} From efe3ccf2b0b2f1281713f5e0843c930e39f70f7c Mon Sep 17 00:00:00 2001 From: matthew pyle Date: Fri, 8 Nov 2024 16:21:00 +0000 Subject: [PATCH 02/10] Adds new subh_fields.txt file to pull needed records from full hour output for 15 minute products. Strips out TCOLW and TCOLI from the subh output (got removed from product list long ago). --- fix/upp/postxconfig-NT-rrfs_subh.txt | 86 +--------------------------- fix/upp/rrfs_postcntrl_subh.xml | 14 ----- fix/upp/subh_fields.txt | 40 +++++++++++++ 3 files changed, 41 insertions(+), 99 deletions(-) create mode 100644 fix/upp/subh_fields.txt diff --git a/fix/upp/postxconfig-NT-rrfs_subh.txt b/fix/upp/postxconfig-NT-rrfs_subh.txt index 9b7643ef4..7414d89fa 100644 --- a/fix/upp/postxconfig-NT-rrfs_subh.txt +++ b/fix/upp/postxconfig-NT-rrfs_subh.txt @@ -1,5 +1,5 @@ 1 -41 +39 PRSLEV 32769 ncep_nco @@ -1444,90 +1444,6 @@ spec_hgt_lvl_above_grnd ? ? ? -200 -TCOLW_ON_ENTIRE_ATMOS -? -1 -tmpl4_0 -TCOLW -NCEP -? -entire_atmos_single_lyr -0 -? -0 -? -? -0 -? -0 -? -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? -201 -TCOLI_ON_ENTIRE_ATMOS -? -1 -tmpl4_0 -TCOLI -NCEP -? -entire_atmos_single_lyr -0 -? -0 -? -? -0 -? -0 -? -? -? -? -0 -0.0 -0 -0.0 -? -0 -0.0 -0 -0.0 -0 -0.0 -0 -0.0 -1 -5.0 -0 -0 -0 -? -? -? 408 GSD_HGT_ON_CLOUD_CEILING GSD_geopotential height on cloud ceiling diff --git a/fix/upp/rrfs_postcntrl_subh.xml b/fix/upp/rrfs_postcntrl_subh.xml index e8cb82e36..b081e6960 100755 --- a/fix/upp/rrfs_postcntrl_subh.xml +++ b/fix/upp/rrfs_postcntrl_subh.xml @@ -231,20 +231,6 @@ 4.0 - - TCOLW_ON_ENTIRE_ATMOS - TCOLW - NCEP - 5.0 - - - - TCOLI_ON_ENTIRE_ATMOS - TCOLI - NCEP - 5.0 - - GSD_HGT_ON_CLOUD_CEILING HGT diff --git a/fix/upp/subh_fields.txt b/fix/upp/subh_fields.txt new file mode 100644 index 000000000..8c92ff73c --- /dev/null +++ b/fix/upp/subh_fields.txt @@ -0,0 +1,40 @@ +REFC:entire atmosphere (considered as a single layer) +VIL:entire atmosphere (considered as a single layer) +VIL:entire atmosphere: +VIS:surface: +GUST:surface: +RETOP:entire atmosphere (considered as a single layer) +REFD:4000 m above ground: +REFD:1000 m above ground: +PRES:surface: +HGT:surface: +ASNOW:surface:0- +TMP:2 m above ground: +SPFH:2 m above ground: +DPT:2 m above ground: +UGRD:10 m above ground: +VGRD:10 m above ground: +:CPOFP:surface: +:PRATE:surface: +:APCP:surface:0- +:FROZR:surface:0- +FRZR:surface:0- +TSNOWP:surface:0- +CSNOW:surface: +:CICEP:surface: +:CFRZR:surface: +:CRAIN:surface: +HGT:cloud base: +HGT:cloud ceiling: +HGT:cloud top: +ULWRF:top of atmosphere: +DSWRF:surface: +DLWRF:surface: +USWRF:surface: +ULWRF:surface: +VBDSF:surface: +VDDSF:surface: +USWRF:top of atmosphere: +UPHL:5000-2000 m above ground: +UGRD:80 m above ground: +VGRD:80 m above ground: From 83fdfb50793cecdd83cc9771ac07a714389fbdcb Mon Sep 17 00:00:00 2001 From: matthew pyle Date: Fri, 8 Nov 2024 17:54:54 +0000 Subject: [PATCH 03/10] Updates subsetting file for top of hour 15 minute products, and adds comment in post script of command needed to use it. --- fix/upp/subh_fields.txt | 2 +- scripts/exrrfs_post.sh | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/fix/upp/subh_fields.txt b/fix/upp/subh_fields.txt index 8c92ff73c..d2ac5cb1c 100644 --- a/fix/upp/subh_fields.txt +++ b/fix/upp/subh_fields.txt @@ -35,6 +35,6 @@ ULWRF:surface: VBDSF:surface: VDDSF:surface: USWRF:top of atmosphere: -UPHL:5000-2000 m above ground: +:UPHL:5000-2000 m above ground: UGRD:80 m above ground: VGRD:80 m above ground: diff --git a/scripts/exrrfs_post.sh b/scripts/exrrfs_post.sh index ecd3c136a..8eac3ac07 100755 --- a/scripts/exrrfs_post.sh +++ b/scripts/exrrfs_post.sh @@ -210,6 +210,11 @@ if [ ${USE_CUSTOM_POST_CONFIG_FILE} = "TRUE" ]; then CUSTOM_POST_CONFIG_FP="$(cd "$( dirname "${BASH_SOURCE[0]}" )/.." &>/dev/null&&pwd)/fix/upp/postxconfig-NT-rrfs_nosmokedust.txt" fi fi + + +# need something like this - possible to do in post script? +# wgrib2 $file -not_if 'ave fcst' | grep -F -f {FIX_UPP}/subh_fields.txt | wgrib2 -i -grib $file 15min_subset_file +# if [ ${post_min} -ge ${nsout_min} ]; then CUSTOM_POST_CONFIG_FP="${FIX_UPP}/postxconfig-NT-rrfs_subh.txt" fi From 0d6e9d9c3128a6af90d777e16cb92f90c2a6a438 Mon Sep 17 00:00:00 2001 From: matthew pyle Date: Thu, 14 Nov 2024 15:41:27 +0000 Subject: [PATCH 04/10] Adds changes that seem to have the post side working properly to subset from the full hourly file. Hasn't yet been tested for a full forecast (to see if there are issues beyond f018) or with prdgen script (which will need work). --- scripts/exrrfs_post.sh | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/scripts/exrrfs_post.sh b/scripts/exrrfs_post.sh index 8eac3ac07..bdc9481d5 100755 --- a/scripts/exrrfs_post.sh +++ b/scripts/exrrfs_post.sh @@ -131,15 +131,19 @@ fi dyn_file="${INPUT_DATA}/dynf${fhr}.nc" phy_file="${INPUT_DATA}/phyf${fhr}.nc" +SUBH_GEN=0 + len_fhr=${#fhr} if [ ${len_fhr} -eq 9 ]; then post_fhr=${fhr:0:3} post_min=${fhr:4:2} if [ ${post_min} -lt ${nsout_min} ]; then - echo post_min was ${post_min} - echo nsout_min was ${nsout_min} post_min=00 - echo post_min now ${post_min} + if [ $post_fhr -le 018 ] + then + echo setting SUBH_GEN flag to one + SUBH_GEN=1 + fi fi else post_fhr=${fhr} @@ -211,9 +215,6 @@ if [ ${USE_CUSTOM_POST_CONFIG_FILE} = "TRUE" ]; then fi fi - -# need something like this - possible to do in post script? -# wgrib2 $file -not_if 'ave fcst' | grep -F -f {FIX_UPP}/subh_fields.txt | wgrib2 -i -grib $file 15min_subset_file # if [ ${post_min} -ge ${nsout_min} ]; then CUSTOM_POST_CONFIG_FP="${FIX_UPP}/postxconfig-NT-rrfs_subh.txt" @@ -384,6 +385,12 @@ fi if [ -f PRSLEV.GrbF${post_fhr} ]; then wgrib2 PRSLEV.GrbF${post_fhr} -set center 7 -grib ${bgdawp} >>$pgmout 2>>errfile + if [ $SUBH_GEN = 1 ] + then +# do something here + bgdawp_subh=${DATA}/${net4}.t${cyc}z.prslev.${gridspacing}.f${fhr}-00-00.${gridname}.grib2 + wgrib2 ${bgdawp} -not_if 'ave fcst' | grep -F -f ${FIX_UPP}/subh_fields.txt | wgrib2 -i -grib ${bgdawp_subh} ${bgdawp} + fi fi if [ -f NATLEV.GrbF${post_fhr} ]; then wgrib2 NATLEV.GrbF${post_fhr} -set center 7 -grib ${bgrd3d} >>$pgmout 2>>errfile From 997b7cdd262adea25849995e4930a41a9198a02b Mon Sep 17 00:00:00 2001 From: Matthew Pyle Date: Tue, 19 Nov 2024 15:20:15 +0000 Subject: [PATCH 05/10] Adds item to combine the 15 minute files at the top of the hour. Details may need to change, but believe this removes a need for subhourly prdgen jobs. --- scripts/exrrfs_post.sh | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/scripts/exrrfs_post.sh b/scripts/exrrfs_post.sh index bdc9481d5..955e0aadb 100755 --- a/scripts/exrrfs_post.sh +++ b/scripts/exrrfs_post.sh @@ -388,8 +388,24 @@ if [ -f PRSLEV.GrbF${post_fhr} ]; then if [ $SUBH_GEN = 1 ] then # do something here - bgdawp_subh=${DATA}/${net4}.t${cyc}z.prslev.${gridspacing}.f${fhr}-00-00.${gridname}.grib2 + bgdawp_subh_combo=${DATA}/${net4}.t${cyc}z.prslev.${gridspacing}.subh.f${fhr}.${gridname}.grib2 + bgdawp_subh=${DATA}/PRSLEV.GrbF${fhr}.00 wgrib2 ${bgdawp} -not_if 'ave fcst' | grep -F -f ${FIX_UPP}/subh_fields.txt | wgrib2 -i -grib ${bgdawp_subh} ${bgdawp} + + fhrm1tmp="$((10#$fhr-1))" + fhrm1=`printf "%02d\n" $fhrm1tmp` + echo new fhrm1 is $fhrm1 + tm15=${DATA}/../rrfs_post_${envir}_${cyc}_f0${fhrm1}-45-00/PRSLEV.GrbF${fhrm1}.45 + tm30=${DATA}/../rrfs_post_${envir}_${cyc}_f0${fhrm1}-30-00/PRSLEV.GrbF${fhrm1}.30 + tm45=${DATA}/../rrfs_post_${envir}_${cyc}_f0${fhrm1}-15-00/PRSLEV.GrbF${fhrm1}.15 + + + if [ -e $tm15 -a -e $tm30 -a -e $tm45 ] + then + cat $tm45 $tm30 $tm15 $bgdawp_subh > PRSLEV.GrbF${fhr}_subh + wgrib2 PRSLEV.GrbF${fhr}_subh -set center 7 -grib $bgdawp_subh_combo >> $pgmout 2>> errfile + fi + fi fi if [ -f NATLEV.GrbF${post_fhr} ]; then From 570d63680dd7aff9c516c55e81e29530c599155f Mon Sep 17 00:00:00 2001 From: Matthew Pyle Date: Wed, 8 Jan 2025 20:40:49 +0000 Subject: [PATCH 06/10] Adds updated prdgen script --- scripts/exrrfs_prdgen.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/exrrfs_prdgen.sh b/scripts/exrrfs_prdgen.sh index 939d82095..bf1618eaa 100755 --- a/scripts/exrrfs_prdgen.sh +++ b/scripts/exrrfs_prdgen.sh @@ -111,6 +111,8 @@ cyc=$hh # #----------------------------------------------------------------------- # + + len_fhr=${#fhr} if [ ${len_fhr} -eq 9 ]; then post_min=${fhr:4:2} @@ -186,10 +188,12 @@ if [ ${DO_ENSFCST} = "TRUE" ]; then testbed=${net4}.t${cyc}z.${mem_num}.testbed.${gridspacing}.f${fhr}.${gridname}.grib2 else prslev=${net4}.t${cyc}z.prslev.${gridspacing}.f${fhr}.${gridname}.grib2 + prslevsubh=${net4}.t${cyc}z.prslev.${gridspacing}.subh.f${fhr}.${gridname}.grib2 natlev=${net4}.t${cyc}z.natlev.${gridspacing}.f${fhr}.${gridname}.grib2 ififip=${net4}.t${cyc}z.ififip.${gridspacing}.f${fhr}.${gridname}.grib2 aviati=${net4}.t${cyc}z.aviati.${gridspacing}.f${fhr}.${gridname}.grib2 testbed=${net4}.t${cyc}z.testbed.${gridspacing}.f${fhr}.${gridname}.grib2 + fi fi # extract the output fields for the testbed @@ -222,6 +226,9 @@ basetime=$( date +%y%j%H%M -d "${yyyymmdd} ${hh}" ) if [[ -f ${DATA}/${prslev} ]]; then cp ${DATA}/${prslev} ${COMOUT}/${prslev} fi +if [[ -f ${DATA}/${prslevsubh} ]]; then + cp ${DATA}/${prslevsubh} ${COMOUT}/${prslevsubh} +fi if [[ -f ${DATA}/${natlev} ]]; then cp ${DATA}/${natlev} ${COMOUT}/${natlev} fi From 47b8f0bb9b9759bdfb3692c809f880ff56d40e16 Mon Sep 17 00:00:00 2001 From: matthew pyle Date: Fri, 10 Jan 2025 19:27:38 +0000 Subject: [PATCH 07/10] Eliminates spurious "fi" statement that was creating an error. --- scripts/exrrfs_prdgen.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/exrrfs_prdgen.sh b/scripts/exrrfs_prdgen.sh index bf1618eaa..2da26d57f 100755 --- a/scripts/exrrfs_prdgen.sh +++ b/scripts/exrrfs_prdgen.sh @@ -193,7 +193,6 @@ else ififip=${net4}.t${cyc}z.ififip.${gridspacing}.f${fhr}.${gridname}.grib2 aviati=${net4}.t${cyc}z.aviati.${gridspacing}.f${fhr}.${gridname}.grib2 testbed=${net4}.t${cyc}z.testbed.${gridspacing}.f${fhr}.${gridname}.grib2 - fi fi # extract the output fields for the testbed From 3e0004e0051b0d80a878a8c17a2676ec7fad06af Mon Sep 17 00:00:00 2001 From: matthew pyle Date: Fri, 10 Jan 2025 20:33:40 +0000 Subject: [PATCH 08/10] Cleans up some added blank lines and comments. --- scripts/exrrfs_post.sh | 5 +---- scripts/exrrfs_prdgen.sh | 2 -- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/scripts/exrrfs_post.sh b/scripts/exrrfs_post.sh index 955e0aadb..aed470101 100755 --- a/scripts/exrrfs_post.sh +++ b/scripts/exrrfs_post.sh @@ -141,7 +141,6 @@ if [ ${len_fhr} -eq 9 ]; then post_min=00 if [ $post_fhr -le 018 ] then - echo setting SUBH_GEN flag to one SUBH_GEN=1 fi fi @@ -214,8 +213,6 @@ if [ ${USE_CUSTOM_POST_CONFIG_FILE} = "TRUE" ]; then CUSTOM_POST_CONFIG_FP="$(cd "$( dirname "${BASH_SOURCE[0]}" )/.." &>/dev/null&&pwd)/fix/upp/postxconfig-NT-rrfs_nosmokedust.txt" fi fi - -# if [ ${post_min} -ge ${nsout_min} ]; then CUSTOM_POST_CONFIG_FP="${FIX_UPP}/postxconfig-NT-rrfs_subh.txt" fi @@ -387,7 +384,6 @@ if [ -f PRSLEV.GrbF${post_fhr} ]; then wgrib2 PRSLEV.GrbF${post_fhr} -set center 7 -grib ${bgdawp} >>$pgmout 2>>errfile if [ $SUBH_GEN = 1 ] then -# do something here bgdawp_subh_combo=${DATA}/${net4}.t${cyc}z.prslev.${gridspacing}.subh.f${fhr}.${gridname}.grib2 bgdawp_subh=${DATA}/PRSLEV.GrbF${fhr}.00 wgrib2 ${bgdawp} -not_if 'ave fcst' | grep -F -f ${FIX_UPP}/subh_fields.txt | wgrib2 -i -grib ${bgdawp_subh} ${bgdawp} @@ -395,6 +391,7 @@ if [ -f PRSLEV.GrbF${post_fhr} ]; then fhrm1tmp="$((10#$fhr-1))" fhrm1=`printf "%02d\n" $fhrm1tmp` echo new fhrm1 is $fhrm1 +# expect this will need to be changed due to future umbrella directory changes tm15=${DATA}/../rrfs_post_${envir}_${cyc}_f0${fhrm1}-45-00/PRSLEV.GrbF${fhrm1}.45 tm30=${DATA}/../rrfs_post_${envir}_${cyc}_f0${fhrm1}-30-00/PRSLEV.GrbF${fhrm1}.30 tm45=${DATA}/../rrfs_post_${envir}_${cyc}_f0${fhrm1}-15-00/PRSLEV.GrbF${fhrm1}.15 diff --git a/scripts/exrrfs_prdgen.sh b/scripts/exrrfs_prdgen.sh index 2da26d57f..9518523d3 100755 --- a/scripts/exrrfs_prdgen.sh +++ b/scripts/exrrfs_prdgen.sh @@ -111,8 +111,6 @@ cyc=$hh # #----------------------------------------------------------------------- # - - len_fhr=${#fhr} if [ ${len_fhr} -eq 9 ]; then post_min=${fhr:4:2} From c1fb1a8307f425c52b3f38b0fd8f73d7289dd5b7 Mon Sep 17 00:00:00 2001 From: matthew pyle Date: Tue, 14 Jan 2025 13:15:17 +0000 Subject: [PATCH 09/10] Adds some error checking to ensure that the needed 15 minute output is available, and to exit if it isn't after ~10 minutes. Also cleaned up the formatting for the new material to make the nested if blocks clearer. --- scripts/exrrfs_post.sh | 55 ++++++++++++++++++++++++++++-------------- 1 file changed, 37 insertions(+), 18 deletions(-) diff --git a/scripts/exrrfs_post.sh b/scripts/exrrfs_post.sh index aed470101..a60802d10 100755 --- a/scripts/exrrfs_post.sh +++ b/scripts/exrrfs_post.sh @@ -139,7 +139,7 @@ if [ ${len_fhr} -eq 9 ]; then post_min=${fhr:4:2} if [ ${post_min} -lt ${nsout_min} ]; then post_min=00 - if [ $post_fhr -le 018 ] + if [ $post_fhr -gt 1 -a $post_fhr -le 018 ] then SUBH_GEN=1 fi @@ -384,27 +384,46 @@ if [ -f PRSLEV.GrbF${post_fhr} ]; then wgrib2 PRSLEV.GrbF${post_fhr} -set center 7 -grib ${bgdawp} >>$pgmout 2>>errfile if [ $SUBH_GEN = 1 ] then - bgdawp_subh_combo=${DATA}/${net4}.t${cyc}z.prslev.${gridspacing}.subh.f${fhr}.${gridname}.grib2 - bgdawp_subh=${DATA}/PRSLEV.GrbF${fhr}.00 - wgrib2 ${bgdawp} -not_if 'ave fcst' | grep -F -f ${FIX_UPP}/subh_fields.txt | wgrib2 -i -grib ${bgdawp_subh} ${bgdawp} + bgdawp_subh_combo=${DATA}/${net4}.t${cyc}z.prslev.${gridspacing}.subh.f${fhr}.${gridname}.grib2 + bgdawp_subh=${DATA}/PRSLEV.GrbF${fhr}.00 + wgrib2 ${bgdawp} -not_if 'ave fcst' | grep -F -f ${FIX_UPP}/subh_fields.txt | wgrib2 -i -grib ${bgdawp_subh} ${bgdawp} - fhrm1tmp="$((10#$fhr-1))" - fhrm1=`printf "%02d\n" $fhrm1tmp` - echo new fhrm1 is $fhrm1 + fhrm1tmp="$((10#$fhr-1))" + fhrm1=`printf "%02d\n" $fhrm1tmp` # expect this will need to be changed due to future umbrella directory changes - tm15=${DATA}/../rrfs_post_${envir}_${cyc}_f0${fhrm1}-45-00/PRSLEV.GrbF${fhrm1}.45 - tm30=${DATA}/../rrfs_post_${envir}_${cyc}_f0${fhrm1}-30-00/PRSLEV.GrbF${fhrm1}.30 - tm45=${DATA}/../rrfs_post_${envir}_${cyc}_f0${fhrm1}-15-00/PRSLEV.GrbF${fhrm1}.15 + tm15=${DATA}/../rrfs_post_${envir}_${cyc}_f0${fhrm1}-45-00/PRSLEV.GrbF${fhrm1}.45 + tm30=${DATA}/../rrfs_post_${envir}_${cyc}_f0${fhrm1}-30-00/PRSLEV.GrbF${fhrm1}.30 + tm45=${DATA}/../rrfs_post_${envir}_${cyc}_f0${fhrm1}-15-00/PRSLEV.GrbF${fhrm1}.15 + + looplim=30 + loop=1 + while [ $loop -le $looplim ] + do + if [ -e $tm15 -a -e $tm30 -a -e $tm45 ] + then + break + else + loop=$((loop+1)) + sleep 20 + fi + if [ $loop -ge $looplim ] + then + msg="FATAL ERROR: ABORTING after 10 minutes of waiting for old 15 minute UPP output $tm15 $tm30 $tm45" + err_exit $msg + fi + done + if [ -e $bgdawp_subh -a -e $tm15 -a -e $tm30 -a -e $tm45 ] + then + cat $tm45 $tm30 $tm15 $bgdawp_subh > PRSLEV.GrbF${fhr}_subh + wgrib2 PRSLEV.GrbF${fhr}_subh -set center 7 -grib $bgdawp_subh_combo >> $pgmout 2>> errfile + else + msg="FATAL ERROR: ABORTING due to missing 15 minute UPP output $bgdawp_subh $tm15 $tm30 $tm45" + err_exit $msg + fi + fi # SUB_GEN=1 test +fi # PRSLEV test - if [ -e $tm15 -a -e $tm30 -a -e $tm45 ] - then - cat $tm45 $tm30 $tm15 $bgdawp_subh > PRSLEV.GrbF${fhr}_subh - wgrib2 PRSLEV.GrbF${fhr}_subh -set center 7 -grib $bgdawp_subh_combo >> $pgmout 2>> errfile - fi - - fi -fi if [ -f NATLEV.GrbF${post_fhr} ]; then wgrib2 NATLEV.GrbF${post_fhr} -set center 7 -grib ${bgrd3d} >>$pgmout 2>>errfile fi From e5e71b7907a702e2b2b35c00af8fb9811e059f74 Mon Sep 17 00:00:00 2001 From: matthew pyle Date: Tue, 14 Jan 2025 16:21:22 +0000 Subject: [PATCH 10/10] Attempt at adding POSTPROC_SUBH_LEN_HRS variable to control how long to apply the 15 minute aggregating within exrrfs_post.sh --- parm/config/det/var_defns.sh | 4 ++++ scripts/exrrfs_post.sh | 2 +- ush/config_defaults.sh | 4 ++++ ush/generate_FV3LAM_wflow.sh | 1 + ush/sample_configs/RRFS_A/config.sh_rrfs_a_n3 | 1 + 5 files changed, 11 insertions(+), 1 deletion(-) diff --git a/parm/config/det/var_defns.sh b/parm/config/det/var_defns.sh index 235bea462..cc9aa3e4f 100644 --- a/parm/config/det/var_defns.sh +++ b/parm/config/det/var_defns.sh @@ -585,6 +585,9 @@ WFLOW_LAUNCH_LOG_FN="log.launch_FV3LAM_wflow" # POSTPROC_LONG_LEN_HRS: # The length of long post process, in integer hours. # +# POSTPROC_SUBH_LEN_HRS: +# The length of subhourly product generation, in integer hours. +# # CYCL_HRS_HYB_FV3LAM_ENS: # An array containing the hours of the day at which the GSI hybrid using # FV3LAM ensemeble. @@ -630,6 +633,7 @@ BOUNDARY_LONG_LEN_HRS="0" BOUNDARY_PROC_GROUP_NUM="72" POSTPROC_LEN_HRS="18" POSTPROC_LONG_LEN_HRS="60" +POSTPROC_SUBH_LEN_HRS="18" FCST_LEN_HRS="18" FCST_LEN_HRS_SPINUP="1" FCST_LEN_HRS_CYCLES=( \ diff --git a/scripts/exrrfs_post.sh b/scripts/exrrfs_post.sh index a60802d10..89560fb81 100755 --- a/scripts/exrrfs_post.sh +++ b/scripts/exrrfs_post.sh @@ -139,7 +139,7 @@ if [ ${len_fhr} -eq 9 ]; then post_min=${fhr:4:2} if [ ${post_min} -lt ${nsout_min} ]; then post_min=00 - if [ $post_fhr -gt 1 -a $post_fhr -le 018 ] + if [ $post_fhr -ge 1 -a $post_fhr -le $POSTPROC_SUBH_LEN_HRS ] then SUBH_GEN=1 fi diff --git a/ush/config_defaults.sh b/ush/config_defaults.sh index dd9c73866..9adb5b207 100644 --- a/ush/config_defaults.sh +++ b/ush/config_defaults.sh @@ -583,6 +583,9 @@ WFLOW_LAUNCH_LOG_FN="log.launch_FV3LAM_wflow" # POSTPROC_LONG_LEN_HRS: # The length of long post process, in integer hours. # +# POSTPROC_SUBH_LEN_HRS: +# The number of hours (integer) for which subhourly output is generated +# # CYCL_HRS_HYB_FV3LAM_ENS: # An array containing the hours of the day at which the GSI hybrid using # FV3LAM ensemeble. @@ -610,6 +613,7 @@ BOUNDARY_LONG_LEN_HRS="0" BOUNDARY_PROC_GROUP_NUM="1" POSTPROC_LEN_HRS="1" POSTPROC_LONG_LEN_HRS="1" +POSTPROC_SUBH_LEN_HRS="0" FCST_LEN_HRS="24" FCST_LEN_HRS_SPINUP="1" FCST_LEN_HRS_CYCLES=() diff --git a/ush/generate_FV3LAM_wflow.sh b/ush/generate_FV3LAM_wflow.sh index ee0ae3e6f..ead9155f5 100755 --- a/ush/generate_FV3LAM_wflow.sh +++ b/ush/generate_FV3LAM_wflow.sh @@ -443,6 +443,7 @@ settings="\ 'boundary_long_len_hrs': ${BOUNDARY_LONG_LEN_HRS} 'postproc_len_hrs': ${POSTPROC_LEN_HRS} 'postproc_long_len_hrs': ${POSTPROC_LONG_LEN_HRS} + 'postproc_subh_len_hrs': ${POSTPROC_SUBH_LEN_HRS} 'postproc_nsout_min': ${NSOUT_MIN} 'postproc_nfhmax_hrs': ${NFHMAX_HF} 'postproc_nfhout_hrs': ${NFHOUT} diff --git a/ush/sample_configs/RRFS_A/config.sh_rrfs_a_n3 b/ush/sample_configs/RRFS_A/config.sh_rrfs_a_n3 index b18712cca..a95bc1bf0 100644 --- a/ush/sample_configs/RRFS_A/config.sh_rrfs_a_n3 +++ b/ush/sample_configs/RRFS_A/config.sh_rrfs_a_n3 @@ -84,6 +84,7 @@ RESTART_INTERVAL_LONG="1 2 12 24 36 48" ## set up post POSTPROC_LEN_HRS="18" POSTPROC_LONG_LEN_HRS="60" +POSTPROC_SUBH_LEN_HRS="18" # default OUTPUT_FH="1 -1"