Skip to content

Commit

Permalink
Absorb GSI monitor scripts
Browse files Browse the repository at this point in the history
Copies scripts out of the GSI monitor repo into global workflow.

Refs: NOAA-EMC#967
  • Loading branch information
WalterKolczynski-NOAA committed Aug 11, 2022
1 parent c29236b commit 5c3e741
Show file tree
Hide file tree
Showing 20 changed files with 3,592 additions and 39 deletions.
18 changes: 0 additions & 18 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,9 @@ 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
113 changes: 113 additions & 0 deletions jobs/JGDAS_ATMOS_VERFOZN
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
#!/bin/sh
#############################################################
# Set up environment for GDAS Ozone Monitor job
#############################################################
set -xa
echo `date` $0 `date -u` begin


###############################
# 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

date

136 changes: 136 additions & 0 deletions jobs/JGDAS_ATMOS_VERFRAD
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
#!/bin/sh
#############################################################
# Set up environment for GDAS Radiance Monitor job
#############################################################
set -xa
echo `date` $0 `date -u` begin
export PS4='$SECONDS + '

###############################
# 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

env

########################################
# 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

date

96 changes: 96 additions & 0 deletions jobs/JGDAS_ATMOS_VMINMON
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
#!/bin/sh
###########################################################
# GDAS Minimization Monitor (MinMon) job
###########################################################
set -xa
echo `date` $0 `date -u` begin
export PS4='$SECONDS + '

###############################
# 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 5c3e741

Please sign in to comment.