Skip to content

Commit

Permalink
Add GSI monitor scripts (#969)
Browse files Browse the repository at this point in the history
As part of the overarching goal of moving global workflow scripts out of component repositories and under global workflow, all of the scripts currently linked in GSI monitor are added to global workflow. Scripts have been updated to reflect standardization already made to other workflow scripts (preamble, no backticks, etc.). See 7aa637 for those modifications specifically.

Related GSI-Montitor issue: NOAA-EMC/GSI-Monitor/pull/23

Fixes #967
  • Loading branch information
WalterKolczynski-NOAA committed Aug 23, 2022
1 parent 22977c9 commit da164f8
Show file tree
Hide file tree
Showing 21 changed files with 3,655 additions and 40 deletions.
19 changes: 0 additions & 19 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -136,10 +136,6 @@ sorc/wafs_setmissing.fd
#------------------------------
# jobs symlinks
jobs/JGDAS_ATMOS_GLDAS
jobs/JGDAS_ATMOS_VERFOZN
jobs/JGDAS_ATMOS_VERFRAD
jobs/JGDAS_ATMOS_VMINMON
jobs/JGFS_ATMOS_VMINMON
jobs/JGFS_ATMOS_WAFS
jobs/JGFS_ATMOS_WAFS_BLENDING
jobs/JGFS_ATMOS_WAFS_BLENDING_0P25
Expand All @@ -149,10 +145,6 @@ jobs/JGFS_ATMOS_WAFS_GRIB2_0P25
# scripts symlinks
scripts/exemcsfc_global_sfc_prep.sh
scripts/exgdas_atmos_gldas.sh
scripts/exgdas_atmos_verfozn.sh
scripts/exgdas_atmos_verfrad.sh
scripts/exgdas_atmos_vminmon.sh
scripts/exgfs_atmos_vminmon.sh
scripts/exgfs_atmos_wafs_blending.sh
scripts/exgfs_atmos_wafs_blending_0p25.sh
scripts/exgfs_atmos_wafs_gcip.sh
Expand All @@ -178,19 +170,8 @@ ush/global_chgres.sh
ush/global_chgres_driver.sh
ush/global_cycle.sh
ush/global_cycle_driver.sh
ush/minmon_xtrct_costs.pl
ush/minmon_xtrct_gnorms.pl
ush/minmon_xtrct_reduct.pl
ush/mkwfsgbl.sh
ush/ozn_xtrct.sh
ush/radmon_ck_stdout.sh
ush/radmon_err_rpt.sh
ush/radmon_verf_angle.sh
ush/radmon_verf_bcoef.sh
ush/radmon_verf_bcor.sh
ush/radmon_verf_time.sh
ush/ufsda
ush/rstprod.sh
ush/wafs_blending.sh
ush/wafs_grib2.regrid.sh
ush/wafs_intdsk.sh
110 changes: 110 additions & 0 deletions jobs/JGDAS_ATMOS_VERFOZN
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
#! /usr/bin/env bash

#############################################################
# Set up environment for GDAS Ozone Monitor job
#############################################################
source "$HOMEgfs/ush/preamble.sh"

###############################
# Specify NET, RUN, and COMPONENT name
##############################
export NET=${NET:-gfs}
export RUN=${RUN:-gdas}
export COMPONENT=${COMPONENT:-atmos}

###########################################################
# obtain unique process id (pid) and make temp directories
###########################################################
export pid=$$
export outid=${outid:-"LL$job"}
export DATA=${DATA:-${DATAROOT}/${jobid:?}}

export OZNMON_SUFFIX=${OZNMON_SUFFIX:-${NET}}

mkdir -p ${DATA}
cd ${DATA}


####################################
# Determine Job Output Name on System
####################################
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
export cycle=t${cyc}z


#---------------------------------------------
# Specify Execution Areas
#
export HOMEgfs_ozn=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}}
export HOMEgdas_ozn=${HOMEgfs_ozn:-${NWROOT}/gfs.${gfs_ver}}
export PARMgdas_ozn=${PARMgfs_ozn:-$HOMEgfs_ozn/parm/mon}
export SCRgdas_ozn=${SCRgfs_ozn:-$HOMEgfs_ozn/scripts}
export FIXgdas_ozn=${FIXgfs_ozn:-$HOMEgfs_ozn/fix/gdas}

export HOMEoznmon=${HOMEoznmon:-${HOMEgfs_ozn}}
export EXECoznmon=${EXECoznmon:-$HOMEoznmon/exec}
export FIXoznmon=${FIXoznmon:-${HOMEoznmon}/fix}
export USHoznmon=${USHoznmon:-$HOMEoznmon/ush}


#-----------------------------------
# source the parm file
#
. ${PARMgdas_ozn}/gdas_oznmon.parm


#############################################
# determine PDY and cyc for previous cycle
#############################################

cdate=$(${NDATE} -6 ${PDY}${cyc})
echo 'pdate = ${pdate}'

export P_PDY=$(echo ${cdate} | cut -c1-8)
export p_cyc=$(echo ${cdate} | cut -c9-10)

#---------------------------------------------
# OZN_TANKDIR - WHERE OUTPUT DATA WILL RESIDE
#
export OZN_TANKDIR=${OZN_TANKDIR:-$(compath.py ${envir}/${NET}/${gfs_ver})}
export TANKverf_ozn=${TANKverf_ozn:-${OZN_TANKDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}/oznmon}
export TANKverf_oznM1=${TANKverf_oznM1:-${OZN_TANKDIR}/${RUN}.${P_PDY}/${p_cyc}/${COMPONENT}/oznmon}
export COM_IN=${COM_IN:-$(compath.py ${envir}/${NET}/${gfs_ver})}
export COMIN=${COMIN:-${COM_IN}/${RUN}.${PDY}/${cyc}/${COMPONENT}}

if [[ ! -d ${TANKverf_ozn} ]]; then
mkdir -p -m 775 ${TANKverf_ozn}
fi

#---------------------------------------
# set up validation file
#
if [[ ${VALIDATE_DATA} -eq 1 ]]; then
export ozn_val_file=${ozn_val_file:-${FIXgdas_ozn}/gdas_oznmon_base.tar}
fi

#---------------------------------------
# Set necessary environment variables
#
export OZN_AREA=${OZN_AREA:-glb}
export oznstat=${oznstat:-$COMIN/gdas.t${cyc}z.oznstat}


#-------------------------------------------------------
# Execute the script.
#
${OZNMONSH:-${SCRgdas_ozn}/exgdas_atmos_verfozn.sh} ${PDY} ${cyc}
err=$?
[[ $err -ne 0 ]] && exit $err


################################
# Remove the Working Directory
################################
KEEPDATA=${KEEPDATA:-YES}
cd $DATAROOT
if [ ${KEEPDATA} = NO ] ; then
rm -rf $DATA
fi

131 changes: 131 additions & 0 deletions jobs/JGDAS_ATMOS_VERFRAD
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
#! /usr/bin/env bash

#############################################################
# Set up environment for GDAS Radiance Monitor job
#############################################################
source "$HOMEgfs/ush/preamble.sh"

###############################
# Specify NET, RUN, and COMPONENT name
##############################
export NET=${NET:-gfs}
export RUN=${RUN:-gdas}
export COMPONENT=${COMPONENT:-atmos}

###########################################################
# obtain unique process id (pid) and make temp directories
###########################################################
export pid=$$
export outid=${outid:-"LL$job"}
export RAD_DATA_IN=${RAD_DATA_IN:-${DATAROOT}/${jobid:?}}

export RADMON_SUFFIX=${RADMON_SUFFIX:-${RUN}}
export CYCLE_INTERVAL=${CYCLE_INTERVAL:-6}

mkdir -p $RAD_DATA_IN
cd $RAD_DATA_IN

####################################
# Determine Job Output Name on System
####################################
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile
export cycle=t${cyc}z

##############################################
# Specify Execution Areas
##############################################
export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}}
export SCRgfs=${SCRgfs:-$HOMEgfs/scripts}

export FIXgdas=${FIXgdas:-$HOMEgfs/fix/gdas}
export PARMmon=${PARMmon:-$HOMEgfs/parm/mon}

export HOMEradmon=${HOMEradmon:-${HOMEgfs}}
export EXECradmon=${EXECradmon:-$HOMEradmon/exec}
export FIXradmon=${FIXradmon:-${FIXgfs}}
export USHradmon=${USHradmon:-$HOMEradmon/ush}


###################################
# source the parm file
###################################
parm_file=${parm_file:-${PARMmon}/da_mon.parm}
. ${parm_file}


#############################################
# Run setpdy and initialize PDY variables
#############################################
if [[ $MY_MACHINE != "HERA" && $MY_MACHINE != "hera" ]]; then
setpdy.sh
. ./PDY
fi

#############################################
# determine PDY and cyc for previous cycle
#############################################

cdate=$(${NDATE} -6 ${PDY}${cyc})
echo 'pdate = ${pdate}'

export P_PDY=$(echo ${cdate} | cut -c1-8)
export p_cyc=$(echo ${cdate} | cut -c9-10)

#############################################
# COMOUT - WHERE GSI OUTPUT RESIDES
# TANKverf - WHERE OUTPUT DATA WILL RESIDE
#############################################
export TANKverf=${TANKverf:-$(compath.py ${envir}/${NET}/${gfs_ver})}
export TANKverf_rad=${TANKverf_rad:-${TANKverf}/${RUN}.${PDY}/${cyc}/$COMPONENT/radmon}
export TANKverf_radM1=${TANKverf_radM1:-${TANKverf}/${RUN}.${P_PDY}/${p_cyc}/$COMPONENT/radmon}
export COM_IN=${COM_IN:-$(compath.py ${envir}/${NET}/${gfs_ver})}
export COMIN=${COMIN:-${COM_IN}/${RUN}.${PDY}/${cyc}/$COMPONENT}

################################
# backwards compatibility for
# gfs v15 which doesn't have
# a $COMPONENT in output path
################################
if [[ ! -d ${COMIN} ]]; then
export COMIN=${COM_IN}/${RUN}.${PDY}/${cyc}
fi


mkdir -p -m 775 $TANKverf_rad

########################################
# Set necessary environment variables
########################################
export RAD_AREA=${RAD_AREA:-glb}

export biascr=${biascr:-$COMIN/gdas.t${cyc}z.abias}
export radstat=${radstat:-$COMIN/gdas.t${cyc}z.radstat}

echo " "
echo "JOB HAS STARTED"
echo " "


########################################################
# Execute the script.
${RADMONSH:-${SCRgfs}/exgdas_atmos_verfrad.sh} ${PDY} ${cyc}
err=$?

if [[ $err -ne 0 ]] ; then
exit $err
else
echo " "
echo "JOB HAS COMPLETED NORMALLY"
echo " "
fi

################################
# Remove the Working Directory
################################
KEEPDATA=${KEEPDATA:-YES}
cd $DATAROOT
if [ ${KEEPDATA} = NO ] ; then
rm -rf $RAD_DATA_IN
fi

95 changes: 95 additions & 0 deletions jobs/JGDAS_ATMOS_VMINMON
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
#! /usr/bin/env bash

###########################################################
# GDAS Minimization Monitor (MinMon) job
###########################################################
source "$HOMEgfs/ush/preamble.sh"

###############################
# Specify NET, RUN, and COMPONENT name
##############################
export NET=${NET:-gfs}
export RUN=${RUN:-gdas}
export COMPONENT=${COMPONENT:-atmos}

###########################################################
# obtain unique process id (pid) and make temp directories
###########################################################
export pid=$$
export outid=${outid:-"LL$job"}

export DATA=${DATA:-${DATAROOT}/${jobid:?}}
mkdir -p $DATA
cd $DATA


###########################################################
# obtain unique process id (pid) and make temp directories
###########################################################
export MINMON_SUFFIX=${MINMON_SUFFIX:-${NET}}
export m_job=${m_job:-${MINMON_SUFFIX}_mmDE}


##############################################
# Specify Package Areas
##############################################
export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}}
export SCRgfs=${SCRgfs:-$HOMEgfs/scripts}

export M_FIXgdas=${M_FIXgdas:-$HOMEgfs/fix/gdas}

export HOMEminmon=${HOMEminmon:-${HOMEgfs}}
export EXECminmon=${EXECminmon:-$HOMEminmon/exec}
export USHminmon=${USHminmon:-$HOMEminmon/ush}


#############################################
# determine PDY and cyc for previous cycle
#############################################

cdate=$(${NDATE} -6 ${PDY}${cyc})
echo 'pdate = ${pdate}'

export P_PDY=$(echo ${cdate} | cut -c1-8)
export p_cyc=$(echo ${cdate} | cut -c9-10)


#############################################
# TANKverf - WHERE OUTPUT DATA WILL RESIDE
#############################################
export COM_IN=${COM_IN:-$(compath.py ${envir}/${NET}/${gfs_ver})}

export M_TANKverf=${M_TANKverf:-${COM_IN}/${RUN}.${PDY}/${cyc}/${COMPONENT}/minmon}
export M_TANKverfM1=${M_TANKverfM1:-${COM_IN}/${RUN}.${P_PDY}/${p_cyc}/${COMPONENT}/minmon}

export COMIN=${COMIN:-$COM_IN/${RUN}.${PDY}/${cyc}/$COMPONENT}

mkdir -p -m 775 $M_TANKverf



########################################
# Set necessary environment variables
########################################
export CYCLE_INTERVAL=6
export gsistat=${gsistat:-${COMIN}/gdas.t${cyc}z.gsistat}


########################################################
# Execute the script.
${GMONSH:-$SCRgfs/exgdas_atmos_vminmon.sh} ${PDY} ${cyc}
err=$?
[[ $err -ne 0 ]] && exit $err


################################
# Remove the Working Directory
################################
KEEPDATA=${KEEPDATA:-NO}
cd ${DATAROOT}

if [ ${KEEPDATA} = NO ] ; then
rm -rf ${DATA}
fi


Loading

0 comments on commit da164f8

Please sign in to comment.