Skip to content

Commit

Permalink
Merge pull request #310 from JessicaMeixner-NOAA/v16/wavemissingpoints
Browse files Browse the repository at this point in the history
Wave fixes for missing bull and cbull points and Arctic grid grib update
  • Loading branch information
KateFriedman-NOAA authored Apr 1, 2021
2 parents b0b01c6 + c145448 commit c9087cf
Show file tree
Hide file tree
Showing 23 changed files with 333 additions and 670 deletions.
2 changes: 1 addition & 1 deletion Externals.cfg
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# External sub-modules of global-workflow

[FV3GFS]
tag = GFS.v16.0.15
tag = GFS.v16.0.16
local_path = sorc/fv3gfs.fd
repo_url = https://github.com/ufs-community/ufs-weather-model.git
protocol = git
Expand Down
2 changes: 2 additions & 0 deletions ecflow/ecf/defs/prod00.def
Original file line number Diff line number Diff line change
Expand Up @@ -2234,6 +2234,8 @@ suite prod00
trigger ../../jgfs_forecast == complete
task jgfs_wave_post_bndpnt
trigger ../../atmos/post/jgfs_atmos_post_manager:release_post180
task jgfs_wave_post_bndpntbll
trigger ./jgfs_wave_post_bndpnt == complete
task jgfs_wave_prdgen_gridded
trigger ./jgfs_wave_postsbs == active or ./jgfs_wave_postsbs == complete
task jgfs_wave_prdgen_bulls
Expand Down
2 changes: 2 additions & 0 deletions ecflow/ecf/defs/prod06.def
Original file line number Diff line number Diff line change
Expand Up @@ -2234,6 +2234,8 @@ suite prod06
trigger ../../jgfs_forecast == complete
task jgfs_wave_post_bndpnt
trigger ../../atmos/post/jgfs_atmos_post_manager:release_post180
task jgfs_wave_post_bndpntbll
trigger ./jgfs_wave_post_bndpnt == complete
task jgfs_wave_prdgen_gridded
trigger ./jgfs_wave_postsbs == active or ./jgfs_wave_postsbs == complete
task jgfs_wave_prdgen_bulls
Expand Down
2 changes: 2 additions & 0 deletions ecflow/ecf/defs/prod12.def
Original file line number Diff line number Diff line change
Expand Up @@ -2234,6 +2234,8 @@ suite prod12
trigger ../../jgfs_forecast == complete
task jgfs_wave_post_bndpnt
trigger ../../atmos/post/jgfs_atmos_post_manager:release_post180
task jgfs_wave_post_bndpntbll
trigger ./jgfs_wave_post_bndpnt == complete
task jgfs_wave_prdgen_gridded
trigger ./jgfs_wave_postsbs == active or ./jgfs_wave_postsbs == complete
task jgfs_wave_prdgen_bulls
Expand Down
2 changes: 2 additions & 0 deletions ecflow/ecf/defs/prod18.def
Original file line number Diff line number Diff line change
Expand Up @@ -2234,6 +2234,8 @@ suite prod18
trigger ../../jgfs_forecast == complete
task jgfs_wave_post_bndpnt
trigger ../../atmos/post/jgfs_atmos_post_manager:release_post180
task jgfs_wave_post_bndpntbll
trigger ./jgfs_wave_post_bndpnt == complete
task jgfs_wave_prdgen_gridded
trigger ./jgfs_wave_postsbs == active or ./jgfs_wave_postsbs == complete
task jgfs_wave_prdgen_bulls
Expand Down
69 changes: 69 additions & 0 deletions ecflow/ecf/scripts/gfs/wave/post/jgfs_wave_post_bndpntbll.ecf
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
#BSUB -L /bin/sh
#BSUB -J %E%%RUN%_wave_post_bndpntbll_%CYC%
#BSUB -o %COM%/output/%ENVIR%/today/%RUN%_wave_post_bndpntbll_%CYC%.o%J
#BSUB -q %QUEUE%
#BSUB -P %PROJ%
#BSUB -cwd /tmp
#BSUB -W 01:00
#BSUB -R span[ptile=28]; -R affinity[core(1)]
#BSUB -n 280

%include <head.h>
%include <envir-p3.h>

set -x

export NODES=10
export ntasks=280
export ptile=28
export threads=1

export NET=%NET:gfs%
export RUN=%RUN%
export CDUMP=%RUN%

model=gfs
%include <model_ver.h>

############################################################
## Load modules
############################################################
module load lsf/${lsf_ver}
module load impi/${impi_ver}
module load CFP/${CFP_ver}

module list

############################################################
## WCOSS_C environment settings
############################################################
export cyc=%CYC%
export cycle=t%CYC%z

############################################################
# CALL executable job script here
############################################################
${HOMEgfs}/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL

if [ $? -ne 0 ]; then
ecflow_client --msg="***JOB ${ECF_NAME} ERROR RUNNING J-SCRIPT ***"
ecflow_client --abort
exit
fi

%include <tail.h>
%manual
######################################################################
# Purpose:
#
#
######################################################################

######################################################################
# Job specific troubleshooting instructions:
# see generic troubleshoot manual page
#
######################################################################

# include manual page below
%end
2 changes: 1 addition & 1 deletion env/HERA.env
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ if [ $step = "prep" -o $step = "prepbufr" ]; then
module unload netcdfp/4.7.4
module load netcdf/4.7.0

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 = "wavepostbndpntbll" -o $step = "wavepostpnt" ]; then
export mpmd="--multi-prog"
export CFP_MP="YES"
if [ $step = "waveprep" ]; then export MP_PULSE=0 ; fi
Expand Down
2 changes: 1 addition & 1 deletion env/JET.env
Original file line number Diff line number Diff line change
Expand Up @@ -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 = "wavepostbndpntbll" -o $step = "wavepostpnt" ]; then

if [ $step = "waveprep" ]; then export MP_PULSE=0 ; fi
export wavempexec=${launcher}
Expand Down
2 changes: 1 addition & 1 deletion env/WCOSS_C.env
Original file line number Diff line number Diff line change
Expand Up @@ -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 = "wavepostbndpntbll" -o $step = "wavepostpnt" ]; then
if [ $step = "waveprep" ]; then export MP_PULSE=0 ; fi
export wavempexec=${launcher}
export wave_mpmd=${mpmd}
Expand Down
2 changes: 1 addition & 1 deletion env/WCOSS_DELL_P3.env
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ if [ $step = "prep" -o $step = "prepbufr" ]; then
export BACK=${BACK:-"off"}
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 = "wavepostbndpntbll" -o $step = "wavepostpnt" ]; then

if [ $step = "waveprep" ]; then export MP_PULSE=0 ; fi
export wavempexec=${launcher}
Expand Down
12 changes: 7 additions & 5 deletions jobs/JGLOBAL_WAVE_POST_BNDPNT
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,6 @@ fi
export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}
export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}

export COMINice=${COMINice:-${COMROOTp2}/omb/prod}
export COMINwnd=${COMINwnd:-${COMROOT}/gfs/prod}
export COMIN_WAV_CUR=${COMIN_WAV_CUR:-${COMROOTp2}/rtofs/prod}

mkdir -p $COMOUT/station

env | sort
Expand All @@ -85,8 +81,14 @@ export WAV_MOD_TAG=${CDUMP}wave${waveMEMB}

export CFP_VERBOSE=1

export FHMAX_WAV_PNT=180
if [ $FHMAX_WAV -lt $FHMAX_WAV_PNT ] ; then export FHMAX_WAV_IBP=$FHMAX_WAV ; fi
export DOSPC_WAV='YES' # Spectral post
export DOBLL_WAV='NO' # Bulletin post
export DOBNDPNT_WAV='YES' #not boundary points

# Execute the Script
$HOMEgfs/scripts/exgfs_wave_post_bndpnt.sh
$HOMEgfs/scripts/exgfs_wave_post_pnt.sh
err=$?
if [ $err -ne 0 ]; then
msg="FATAL ERROR: ex-script of GWES_POST failed!"
Expand Down
108 changes: 108 additions & 0 deletions jobs/JGLOBAL_WAVE_POST_BNDPNTBLL
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
#!/bin/bash

date
export RUN_ENVIR=${RUN_ENVIR:-"nco"}
export PS4=' $SECONDS + '
set -x -e

#############################
# Source relevant config files
#############################
configs="base wave wavepostsbs wavepostbndpnt"
export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config}
for config in $configs; do
. $config_path/config.$config
status=$?
[[ $status -ne 0 ]] && exit $status
done

##########################################
# Source machine runtime environment
##########################################
. $HOMEgfs/env/${machine}.env wavepostbndpntbll
status=$?
[[ $status -ne 0 ]] && exit $status

# PATH for working directory
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
export COMPONENT=${COMPONENT:-wave}

export HOMEgefs=${HOMEgefs:-$NWROOT/$NET.${gefs_ver}}
export HOMEgfs=${HOMEgfs:-$NWROOT/$NET.${gfs_ver}}

# Add default errchk = err_chk
export errchk=${errchk:-err_chk}

# Create and go to DATA directory
export DATA=${DATA:-${DATAROOT:?}/${jobid}}
mkdir -p $DATA
cd $DATA

export cyc=${cyc:-00}
export cycle=${cycle:-t${cyc}z}

# Set PDY
setpdy.sh
. PDY

export CDATE=$PDY$cyc

export pgmout=OUTPUT.$$

export MP_PULSE=0

# Path to HOME Directory
export FIXwave=${FIXwave:-$HOMEgfs/fix/fix_wave_${NET}}
export PARMwave=${PARMwave:-$HOMEgfs/parm/wave}
export USHwave=${USHwave:-$HOMEgfs/ush}
export EXECwave=${EXECwave:-$HOMEgfs/exec}

# Set COM Paths and GETGES environment
if [ $RUN_ENVIR = "nco" ]; then
export ROTDIR=${COMROOT:?}/$NET/$envir
fi
export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}
export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}


mkdir -p $COMOUT/station

env | sort

# Set wave model ID tag to include member number
# if ensemble; waveMEMB var empty in deterministic
# Set wave model ID tag to include member number
# if ensemble; waveMEMB var empty in deterministic
membTAG='p'
if [ "${waveMEMB}" == "00" ]; then membTAG='c'; fi
export membTAG
export WAV_MOD_TAG=${CDUMP}wave${waveMEMB}

export CFP_VERBOSE=1

export FHMAX_WAV_PNT=180
if [ $FHMAX_WAV -lt $FHMAX_WAV_PNT ] ; then export FHMAX_WAV_IBP=$FHMAX_WAV ; fi
export DOSPC_WAV='NO' # Spectral post
export DOBLL_WAV='YES' # Bulletin post
export DOBNDPNT_WAV='YES' #boundary points

# Execute the Script
$HOMEgfs/scripts/exgfs_wave_post_pnt.sh
err=$?
if [ $err -ne 0 ]; then
msg="FATAL ERROR: ex-script of GFS_WAVE_POST_PNT failed!"
else
msg="$job completed normally!"
fi
postmsg "$jlogfile" "$msg"

##########################################
# Remove the Temporary working directory
##########################################
cd $DATAROOT
[[ $KEEPDATA = "NO" ]] && rm -rf $DATA

date
exit 0
10 changes: 6 additions & 4 deletions jobs/JGLOBAL_WAVE_POST_PNT
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,6 @@ fi
export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}
export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}

export COMINice=${COMINice:-${COMROOTp2}/omb/prod}
export COMINwnd=${COMINwnd:-${COMROOT}/gfs/prod}
export COMIN_WAV_CUR=${COMIN_WAV_CUR:-${COMROOTp2}/rtofs/prod}

mkdir -p $COMOUT/station

env | sort
Expand All @@ -85,6 +81,12 @@ export WAV_MOD_TAG=${CDUMP}wave${waveMEMB}

export CFP_VERBOSE=1

export FHMAX_WAV_PNT=${FHMAX_WAV}
export DOSPC_WAV='YES' # Spectral post
export DOBLL_WAV='YES' # Bulletin post
export DOBNDPNT_WAV='NO' #not boundary points


# Execute the Script
$HOMEgfs/scripts/exgfs_wave_post_pnt.sh
err=$?
Expand Down
21 changes: 21 additions & 0 deletions jobs/rocoto/wavepostbndpntbll.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/ksh -x

###############################################################
echo
echo "=============== START TO SOURCE FV3GFS WORKFLOW MODULES ==============="
. $HOMEgfs/ush/load_fv3gfs_modules.sh
status=$?
[[ $status -ne 0 ]] && exit $status

###############################################################
echo
echo "=============== START TO RUN WAVE_POST_BNDPNT ==============="
# Execute the JJOB
$HOMEgfs/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL
status=$?
[[ $status -ne 0 ]] && exit $status

###############################################################
# Force Exit out cleanly
if [ ${KEEPDATA:-"NO"} = "NO" ] ; then rm -rf $DATAROOT ; fi
exit 0
10 changes: 9 additions & 1 deletion parm/config/config.resources
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ if [ $# -ne 1 ]; then
echo "argument can be any one of the following:"
echo "anal analcalc analdiag gldas fcst post vrfy metp arch echgres"
echo "eobs ediag eomg eupd ecen esfc efcs epos earc"
echo "waveinit waveprep wavepostsbs wavepostbndpnt wavepostpnt"
echo "waveinit waveprep wavepostsbs wavepostbndpnt wavepostbndpntbll wavepostpnt"
echo "wavegempak waveawipsbulls waveawipsgridded"
echo "postsnd awips gempak"
echo "wafs wafsgrib2 wafsblending wafsgrib20p25 wafsblending0p25 wafsgcip"
Expand Down Expand Up @@ -74,6 +74,14 @@ elif [ $step = "wavepostbndpnt" ]; then
export npe_node_wavepostbndpnt=$(echo "$npe_node_max / $nth_wavepostbndpnt" | bc)
export NTASKS=${npe_wavepostbndpnt}

elif [ $step = "wavepostbndpntbll" ]; then

export wtime_wavepostbndpntbll="01:00:00"
export npe_wavepostbndpntbll=280
export nth_wavepostbndpntbll=1
export npe_node_wavepostbndpntbll=$(echo "$npe_node_max / $nth_wavepostbndpntbll" | bc)
export NTASKS=${npe_wavepostbndpntbll}

elif [ $step = "wavepostpnt" ]; then

export wtime_wavepostpnt="01:30:00"
Expand Down
11 changes: 11 additions & 0 deletions parm/config/config.wavepostbndpntbll
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/ksh -x

########## config.wavepostbndpntbll ##########
# Wave steps specific

echo "BEGIN: config.wavepostbndpntbll"

# Get task specific resources
. $EXPDIR/config.resources wavepostbndpntbll

echo "END: config.wavepostbndpntbll"
Loading

0 comments on commit c9087cf

Please sign in to comment.