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

Splitting post jobs for waves #124

Merged
Show file tree
Hide file tree
Changes from 31 commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
5867d4b
updates from gefs post workflow: updates for re-run case
JessicaMeixner-NOAA Jul 24, 2020
4888001
updates for wave scripts to split them, also added updates from
JessicaMeixner-NOAA Aug 14, 2020
0b2744e
Issue #94 - pull in two fixes for wave job setup in free-forecast mode
KateFriedman-NOAA Aug 14, 2020
da29221
update jobs for waves
JessicaMeixner-NOAA Aug 20, 2020
1626cb2
Merge remote-tracking branch 'EMC/feature/gfsv16b' into feature/gfsv1…
JessicaMeixner-NOAA Aug 20, 2020
57c4258
renaming wave job and scripts
JessicaMeixner-NOAA Aug 20, 2020
529cc36
update WAVE_PREP so that currents do not check for previous 24 hour
JessicaMeixner-NOAA Aug 20, 2020
f836a78
updating error message and exit if there is no current
JessicaMeixner-NOAA Aug 20, 2020
1f195f8
changing exit 0 to exit number for FATAL errors in ice prep for waves
JessicaMeixner-NOAA Aug 20, 2020
a914521
updates to JJOBs for wave post point for new structure
JessicaMeixner-NOAA Aug 20, 2020
bf97710
updating wave post scripts for restructured format
JessicaMeixner-NOAA Aug 21, 2020
92a2a43
Adding new wavepostbndpnt and wavepostpnt jobs
KateFriedman-NOAA Aug 24, 2020
c9598a3
Merge pull request #1 from KateFriedman-NOAA/feature/gfsv16b-wave
JessicaMeixner-NOAA Aug 24, 2020
e5c9f03
updates for new weights file and adding cdo module for wave prep
JessicaMeixner-NOAA Aug 24, 2020
a2d06bb
adding module use for cdo module on wcoss dell
JessicaMeixner-NOAA Aug 24, 2020
32bd57e
updating WCOSS work around for CDO, CDO_ROOT is missing from module file
JessicaMeixner-NOAA Aug 24, 2020
0eacf5e
fix typos
JessicaMeixner-NOAA Aug 24, 2020
98d6c16
Merge branch 'feature/gfsv16b-wave' of github.com:JessicaMeixner-NOAA…
JessicaMeixner-NOAA Aug 24, 2020
25e2cc4
Fix wavepostbndpnt dependency and increase wavepostbntpnt and wavepos…
KateFriedman-NOAA Aug 25, 2020
b74b21e
Remove extra space from line
KateFriedman-NOAA Aug 25, 2020
f0e3ae5
Merge pull request #2 from KateFriedman-NOAA/feature/gfsv16b-wave
JessicaMeixner-NOAA Aug 25, 2020
1fc5b36
updates to boundary point
JessicaMeixner-NOAA Aug 25, 2020
1f15be0
remove gridded so can rename
JessicaMeixner-NOAA Aug 25, 2020
9018184
rename wave post script
JessicaMeixner-NOAA Aug 25, 2020
2946baa
cleaning up wave point post scripts
JessicaMeixner-NOAA Aug 26, 2020
e191fd4
Fixing wavepostbndpnt dependency in setup_workflow_fcstonly.py
KateFriedman-NOAA Aug 26, 2020
485632e
Merge pull request #3 from KateFriedman-NOAA/feature/gfsv16b-wave
JessicaMeixner-NOAA Aug 26, 2020
a6e91b4
updates to resources for wave jobs
JessicaMeixner-NOAA Aug 27, 2020
ada0fb3
update module for cdo
JessicaMeixner-NOAA Sep 1, 2020
4e7975d
lowering the resource requirement for wave prep job
JessicaMeixner-NOAA Sep 1, 2020
68ed2d6
Merge remote-tracking branch 'EMC/feature/gfsv16b' into feature/gfsv1…
JessicaMeixner-NOAA Sep 2, 2020
c61cd59
moving definitions of wavempexec and wave_mpmd from jobs to env
JessicaMeixner-NOAA Sep 2, 2020
2006bbc
adding pnt jobs as seperate jobs for env
JessicaMeixner-NOAA Sep 2, 2020
0485442
Merge remote-tracking branch 'upstream/feature/gfsv16b-wave' into fea…
KateFriedman-NOAA Sep 3, 2020
64409b1
Adding missing space to if-block in env files to resolve runtime failure
KateFriedman-NOAA Sep 3, 2020
0844b00
fix from Bhavani for having first wave grib file be set
JessicaMeixner-NOAA Sep 4, 2020
986f8f0
fix from Bhavani for having first wave grib file be set
JessicaMeixner-NOAA Sep 4, 2020
e0dd109
Merge branch 'feature/gfsv16b' into feature/gfsv16b-wave
KateFriedman-NOAA Sep 11, 2020
fc60e89
Increase walltime for new wavepost jobs
KateFriedman-NOAA Sep 11, 2020
fd68772
Merge remote-tracking branch 'upstream/feature/gfsv16b-wave' into fea…
KateFriedman-NOAA Sep 11, 2020
ad1a9d9
Merge pull request #4 from KateFriedman-NOAA/feature/gfsv16b-splitwav…
JessicaMeixner-NOAA Sep 11, 2020
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
107 changes: 107 additions & 0 deletions jobs/JGLOBAL_WAVE_POST_BNDPNT
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
#!/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 wavepostsbs
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
sh ./PDY

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}

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

# Set mpi serial command
export wavempexec=${launcher:-"mpirun -n"}
JessicaMeixner-NOAA marked this conversation as resolved.
Show resolved Hide resolved
export wave_mpmd=${mpmd:-"cfp"}

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

# Execute the Script
$HOMEgfs/scripts/exgfs_wave_post_bndpnt.sh
err=$?
if [ $err -ne 0 ]; then
msg="FATAL ERROR: ex-script of GWES_POST 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
107 changes: 107 additions & 0 deletions jobs/JGLOBAL_WAVE_POST_PNT
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
#!/bin/bash

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

#############################
# Source relevant config files
#############################
configs="base wave wavepostsbs wavepostpnt"
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 wavepostsbs
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
sh ./PDY

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}

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

# Set mpi serial command
export wavempexec=${launcher:-"mpirun -n"}
export wave_mpmd=${mpmd:-"cfp"}
JessicaMeixner-NOAA marked this conversation as resolved.
Show resolved Hide resolved

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

# Execute the Script
$HOMEgfs/scripts/exgfs_wave_post_pnt.sh
err=$?
if [ $err -ne 0 ]; then
msg="FATAL ERROR: ex-script of GWES_POST 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
4 changes: 1 addition & 3 deletions jobs/JGLOBAL_WAVE_POST_SBS
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,6 @@ export COMINwnd=${COMINwnd:-${COMROOT}/gfs/prod}
export COMIN_WAV_CUR=${COMIN_WAV_CUR:-${COMROOTp2}/rtofs/prod}

mkdir -p $COMOUT/gridded
mkdir -p $COMOUT/station
mkdir -p $COMOUT/stats

# Set mpi serial command
export wavempexec=${launcher:-"mpirun -n"}
Expand All @@ -90,7 +88,7 @@ export WAV_MOD_TAG=${CDUMP}wave${waveMEMB}
export CFP_VERBOSE=1

# Execute the Script
$HOMEgfs/scripts/exgfs_wave_post_sbs.sh
$HOMEgfs/scripts/exgfs_wave_post_gridded_sbs.sh
err=$?
if [ $err -ne 0 ]; then
msg="FATAL ERROR: ex-script of GWES_POST failed!"
Expand Down
6 changes: 1 addition & 5 deletions jobs/JGLOBAL_WAVE_PREP
Original file line number Diff line number Diff line change
Expand Up @@ -71,23 +71,19 @@ export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT}

if [ $RUN_ENVIR = "nco" ]; then
export COMIN_WAV_ICE=${COMIN_WAV_ICE:-$(compath.py gfs/prod)}/${CDUMP}.${PDY}/${cyc}/atmos
export COMIN_WAV_WND=${COMIN_WAV_WND:-$(compath.py gfs/prod)}/${CDUMP}.${PDY}/${cyc}/atmos
export COMIN_WAV_CUR=${COMIN_WAV_CUR:-$(compath.py ${WAVECUR_DID}/prod)}/${WAVECUR_DID}.${RPDY}
if [ ! -d $COMIN_WAV_CUR ]; then
export RPDY=`$NDATE -24 ${PDY}00 | cut -c1-8`
export COMIN_WAV_CUR=$(compath.py ${WAVECUR_DID}/prod)/${WAVECUR_DID}.${RPDY}
fi
else
if [ ! -d $DMPDIR/${WAVECUR_DID}.${RPDY} ]; then export RPDY=`$NDATE -24 ${PDY}00 | cut -c1-8`; fi
if [ ! -L $ROTDIR/${WAVECUR_DID}.${RPDY} ]; then # Check if symlink already exists in ROTDIR
$NLN $DMPDIR/${WAVECUR_DID}.${RPDY} $ROTDIR/${WAVECUR_DID}.${RPDY}
fi
if [ ! -L $ROTDIR/${CDUMP}.${PDY}/${cyc}/atmos/${WAVICEFILE} ]; then # Check if symlink already exists in ROTDIR
$NLN $DMPDIR/$CDUMP.${PDY}/$cyc/${WAVICEFILE} $ROTDIR/$CDUMP.${PDY}/$cyc/atmos/${WAVICEFILE}
fi
export COMIN_OBS=${COMIN_OBS:-$ROTDIR/$RUN.$PDY/$cyc/atmos}
export COMIN_WAV_ICE=${COMIN_OBS}
export COMIN_WAV_WND=${COMIN_OBS}
export COMIN_WAV_ICE=${COMIN_WAV_ICE:-$ROTDIR/$RUN.$PDY/$cyc/atmos}
export COMIN_WAV_CUR=${ROTDIR}/${WAVECUR_DID}.${RPDY}
fi

Expand Down
21 changes: 21 additions & 0 deletions jobs/rocoto/wavepostbndpnt.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_BNDPNT
status=$?
exit $status

###############################################################
# Force Exit out cleanly
if [ ${KEEPDATA:-"NO"} = "NO" ] ; then rm -rf $DATAROOT ; fi
exit 0
21 changes: 21 additions & 0 deletions jobs/rocoto/wavepostpnt.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_PNT ==============="
# Execute the JJOB
$HOMEgfs/jobs/JGLOBAL_WAVE_POST_PNT
status=$?
exit $status

###############################################################
# Force Exit out cleanly
if [ ${KEEPDATA:-"NO"} = "NO" ] ; then rm -rf $DATAROOT ; fi
exit 0
3 changes: 3 additions & 0 deletions modulefiles/module_base.wcoss_dell_p3
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,6 @@ module load g2tmpl/1.6.0
# Load FSU Genesis module
module use -a /gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/tracker/ens_tracker.v1.1.15.3/ush/FSUgenesisPY/modulefiles
module load tclogg

# waveprep
module load cdo/1.9.8
22 changes: 19 additions & 3 deletions 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"
echo "waveinit waveprep wavepostsbs wavepostbndpnt wavepostpnt"
echo "wavegempak waveawipsbulls waveawipsgridded"
echo "postsnd awips gempak"
echo "wafs wafsgrib2 wafsblending wafsgrib20p25 wafsblending0p25 wafsgcip"
Expand Down Expand Up @@ -53,19 +53,35 @@ elif [ $step = "waveinit" ]; then
elif [ $step = "waveprep" ]; then

export wtime_waveprep="00:30:00"
export npe_waveprep=115
export npe_waveprep=65
export nth_waveprep=1
export npe_node_waveprep=$(echo "$npe_node_max / $nth_waveprep" | bc)
export NTASKS=${npe_waveprep}

elif [ $step = "wavepostsbs" ]; then

export wtime_wavepostsbs="06:00:00"
export npe_wavepostsbs=280
export npe_wavepostsbs=10
export nth_wavepostsbs=1
export npe_node_wavepostsbs=$(echo "$npe_node_max / $nth_wavepostsbs" | bc)
export NTASKS=${npe_wavepostsbs}

elif [ $step = "wavepostbndpnt" ]; then

export wtime_wavepostbndpnt="02:00:00"
export npe_wavepostbndpnt=56
export nth_wavepostbndpnt=1
export npe_node_wavepostbndpnt=$(echo "$npe_node_max / $nth_wavepostbndpnt" | bc)
export NTASKS=${npe_wavepostbndpnt}

elif [ $step = "wavepostpnt" ]; then

export wtime_wavepostpnt="02:00:00"
export npe_wavepostpnt=56
export nth_wavepostpnt=1
export npe_node_wavepostpnt=$(echo "$npe_node_max / $nth_wavepostpnt" | bc)
export NTASKS=${npe_wavepostpnt}

elif [ $step = "wavegempak" ]; then

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

########## config.wavepostbndpnt ##########
# Wave steps specific

echo "BEGIN: config.wavepostbndpnt"

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

echo "END: config.wavepostbndpnt"
11 changes: 11 additions & 0 deletions parm/config/config.wavepostpnt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/ksh -x

########## config.wavepostpnt ##########
# Wave steps specific

echo "BEGIN: config.wavepostpnt"

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

echo "END: config.wavepostpnt"
2 changes: 1 addition & 1 deletion parm/config/config.waveprep
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export WAV_CUR_HF_FH=${WAV_CUR_HF_FH:-0} # Constant DT for GFSv16 from getgo
export WAV_CUR_CDO_SMOOTH="NO"

# Location of CDO module
export CDO_ROOT=${CDO_ROOT:-/gpfs/dell1/nco/ops/nwprod/rtofs_shared/rtofs_cdo.v1.6.0}
export CDO_ROOT=${CDO_ROOT:-/usrx/local/dev/packages/cdo/1.9.8}

if [ "${WW3ICEINP}" = "YES" ]; then
export WAVICEFILE=${CDUMP}.t${cyc}z.seaice.5min.grib2
Expand Down
Loading