Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modifies how 15 minute output is processed #592

Merged
merged 13 commits into from
Jan 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 1 addition & 85 deletions fix/upp/postxconfig-NT-rrfs_subh.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
1
41
39
MatthewPyle-NOAA marked this conversation as resolved.
Show resolved Hide resolved
PRSLEV
32769
ncep_nco
Expand Down Expand Up @@ -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
Expand Down
14 changes: 0 additions & 14 deletions fix/upp/rrfs_postcntrl_subh.xml
Original file line number Diff line number Diff line change
Expand Up @@ -231,20 +231,6 @@
<scale>4.0</scale>
</param>

<param>
<shortname>TCOLW_ON_ENTIRE_ATMOS</shortname>
<pname>TCOLW</pname>
<table_info>NCEP</table_info>
<scale>5.0</scale>
</param>

<param>
<shortname>TCOLI_ON_ENTIRE_ATMOS</shortname>
<pname>TCOLI</pname>
<table_info>NCEP</table_info>
<scale>5.0</scale>
</param>

<param>
<shortname>GSD_HGT_ON_CLOUD_CEILING</shortname>
<pname>HGT</pname>
Expand Down
40 changes: 40 additions & 0 deletions fix/upp/subh_fields.txt
Original file line number Diff line number Diff line change
@@ -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:
4 changes: 4 additions & 0 deletions parm/config/det/var_defns.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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=( \
Expand Down
49 changes: 48 additions & 1 deletion scripts/exrrfs_post.sh
MatthewPyle-NOAA marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -131,12 +131,18 @@ 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
post_min=00
if [ $post_fhr -ge 1 -a $post_fhr -le $POSTPROC_SUBH_LEN_HRS ]
then
SUBH_GEN=1
fi
fi
else
post_fhr=${fhr}
Expand Down Expand Up @@ -376,7 +382,48 @@ fi

if [ -f PRSLEV.GrbF${post_fhr} ]; then
wgrib2 PRSLEV.GrbF${post_fhr} -set center 7 -grib ${bgdawp} >>$pgmout 2>>errfile
fi
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}

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

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 [ -f NATLEV.GrbF${post_fhr} ]; then
wgrib2 NATLEV.GrbF${post_fhr} -set center 7 -grib ${bgrd3d} >>$pgmout 2>>errfile
fi
Expand Down
4 changes: 4 additions & 0 deletions scripts/exrrfs_prdgen.sh
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ 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
Expand Down Expand Up @@ -222,6 +223,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
Expand Down
4 changes: 4 additions & 0 deletions ush/config_defaults.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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=()
Expand Down
1 change: 1 addition & 0 deletions ush/generate_FV3LAM_wflow.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand Down
1 change: 1 addition & 0 deletions ush/sample_configs/RRFS_A/config.sh_rrfs_a_n3
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
Loading