Skip to content

Commit 04d97e9

Browse files
Consolidate VMINMON and cleanup monitor scripts (NOAA-EMC#2088)
This PR combines the GDAS and GFS versions of the VMINMON JJOB and ex-driver scripts into single GLOBAL/global versions. Additionally: * some further cleanup of the GSI-Monitor scripts is done; variable settings in ex-driver scripts are moved up to the JJOB level * the fix symlinks are consolidated into a new `fix/mon` subfolder (formerly `fix/gdas`) and copies of the gfs monitor fix files under `fix/products` are removed Resolves NOAA-EMC#1925
1 parent a286a11 commit 04d97e9

24 files changed

+490
-911
lines changed

.gitignore

+1-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ fix/chem
3030
fix/cice
3131
fix/cpl
3232
fix/datm
33-
fix/gdas
3433
fix/gldas
3534
fix/gsi
3635
fix/lut
@@ -47,7 +46,7 @@ fix/wafs
4746
#--------------------------
4847
parm/config/config.base
4948
parm/gldas
50-
parm/mon
49+
parm/monitor
5150
parm/post/AEROSOL_LUTS.dat
5251
parm/post/nam_micro_lookup.dat
5352
parm/post/optics_luts_DUST.dat

fix/product/gfs_minmon_cost.txt

-4
This file was deleted.

fix/product/gfs_minmon_gnorm.txt

-6
This file was deleted.

jobs/JGDAS_ATMOS_VERFOZN

+9-45
Original file line numberDiff line numberDiff line change
@@ -6,69 +6,33 @@
66
source "${HOMEgfs}/ush/preamble.sh"
77
source "${HOMEgfs}/ush/jjob_header.sh" -e "verfozn" -c "base verfozn"
88

9-
export OZNMON_SUFFIX=${OZNMON_SUFFIX:-${NET}}
10-
11-
#---------------------------------------------
12-
# Specify Execution Areas
13-
#
14-
export HOMEgfs_ozn=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}}
15-
export HOMEgdas_ozn=${HOMEgfs_ozn:-${NWROOT}/gfs.${gfs_ver}}
16-
export PARMgdas_ozn=${PARMgfs_ozn:-${HOMEgfs_ozn}/parm/mon}
17-
export SCRgdas_ozn=${SCRgfs_ozn:-${HOMEgfs_ozn}/scripts}
18-
export FIXgdas_ozn=${FIXgfs_ozn:-${HOMEgfs_ozn}/fix/gdas}
19-
20-
export HOMEoznmon=${HOMEoznmon:-${HOMEgfs_ozn}}
21-
export EXECoznmon=${EXECoznmon:-${HOMEoznmon}/exec}
22-
export FIXoznmon=${FIXoznmon:-${HOMEoznmon}/fix}
23-
export USHoznmon=${USHoznmon:-${HOMEoznmon}/ush}
24-
25-
26-
#-----------------------------------
27-
# source the parm file
28-
#
29-
. ${PARMgdas_ozn}/gdas_oznmon.parm
30-
31-
329
#############################################
3310
# determine PDY and cyc for previous cycle
3411
#############################################
35-
36-
pdate=$(${NDATE} -6 ${PDY}${cyc})
37-
echo "pdate = ${pdate}"
38-
39-
export P_PDY=${pdate:0:8}
40-
export p_cyc=${pdate:8:2}
12+
# shellcheck disable=SC2153
13+
GDATE=$(date --utc +%Y%m%d%H -d "${PDY} ${cyc} - ${assim_freq} hours")
14+
export gPDY=${GDATE:0:8}
15+
export gcyc=${GDATE:8:2}
4116

4217
#---------------------------------------------
4318
# OZN_TANKDIR - WHERE OUTPUT DATA WILL RESIDE
4419
#
4520
YMD=${PDY} HH=${cyc} generate_com -rx COM_ATMOS_ANALYSIS
4621
YMD=${PDY} HH=${cyc} generate_com -rx COM_ATMOS_OZNMON
4722

23+
export oznstat="${COM_ATMOS_ANALYSIS}/gdas.t${cyc}z.oznstat"
4824
export TANKverf_ozn=${TANKverf_ozn:-${COM_ATMOS_OZNMON}}
4925

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

52-
#---------------------------------------
53-
# set up validation file
54-
#
55-
if [[ ${VALIDATE_DATA} -eq 1 ]]; then
56-
export ozn_val_file=${ozn_val_file:-${FIXgdas_ozn}/gdas_oznmon_base.tar}
57-
fi
58-
59-
#---------------------------------------
60-
# Set necessary environment variables
61-
#
62-
export OZN_AREA=${OZN_AREA:-glb}
63-
export oznstat=${oznstat:-${COM_ATMOS_ANALYSIS}/gdas.t${cyc}z.oznstat}
64-
65-
6628
#-------------------------------------------------------
6729
# Execute the script.
6830
#
69-
${OZNMONSH:-${SCRgdas_ozn}/exgdas_atmos_verfozn.sh} ${PDY} ${cyc}
31+
"${SCRgfs}/exgdas_atmos_verfozn.sh"
7032
err=$?
71-
[[ ${err} -ne 0 ]] && exit ${err}
33+
if (( err != 0 )); then
34+
exit "${err}"
35+
fi
7236

7337

7438
################################

jobs/JGDAS_ATMOS_VERFRAD

+10-55
Original file line numberDiff line numberDiff line change
@@ -6,81 +6,36 @@
66
source "${HOMEgfs}/ush/preamble.sh"
77
source "${HOMEgfs}/ush/jjob_header.sh" -e "verfrad" -c "base verfrad"
88

9-
export COMPONENT="atmos"
10-
11-
export RADMON_SUFFIX=${RADMON_SUFFIX:-${RUN}}
12-
export CYCLE_INTERVAL=${CYCLE_INTERVAL:-6}
13-
14-
##############################################
15-
# Specify Execution Areas
16-
##############################################
17-
export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}}
18-
export SCRgfs=${SCRgfs:-${HOMEgfs}/scripts}
19-
20-
export FIXgdas=${FIXgdas:-${HOMEgfs}/fix/gdas}
21-
export PARMmon=${PARMmon:-${HOMEgfs}/parm/mon}
22-
23-
export HOMEradmon=${HOMEradmon:-${HOMEgfs}}
24-
export EXECradmon=${EXECradmon:-${HOMEradmon}/exec}
25-
export FIXradmon=${FIXradmon:-${FIXgfs}}
26-
export USHradmon=${USHradmon:-${HOMEradmon}/ush}
27-
28-
29-
###################################
30-
# source the parm file
31-
###################################
32-
parm_file=${parm_file:-${PARMmon}/da_mon.parm}
33-
. ${parm_file}
34-
35-
369
#############################################
3710
# determine PDY and cyc for previous cycle
3811
#############################################
39-
40-
pdate=$(${NDATE} -6 ${PDY}${cyc})
41-
echo "pdate = ${pdate}"
42-
43-
export P_PDY=${pdate:0:8}
44-
export p_cyc=${pdate:8:2}
12+
# shellcheck disable=SC2153
13+
GDATE=$(date --utc +%Y%m%d%H -d "${PDY} ${cyc} - ${assim_freq} hours")
14+
export gPDY=${GDATE:0:8}
15+
export gcyc=${GDATE:8:2}
4516

4617
#############################################
4718
# COMOUT - WHERE GSI OUTPUT RESIDES
4819
# TANKverf - WHERE OUTPUT DATA WILL RESIDE
4920
#############################################
5021
YMD=${PDY} HH=${cyc} generate_com -rx COM_ATMOS_ANALYSIS
5122
YMD=${PDY} HH=${cyc} generate_com -rx COM_ATMOS_RADMON
52-
YMD=${P_PDY} HH=${p_cyc} generate_com -rx COM_ATMOS_RADMON_PREV:COM_ATMOS_RADMON_TMPL
23+
YMD=${gPDY} HH=${gcyc} generate_com -rx COM_ATMOS_RADMON_PREV:COM_ATMOS_RADMON_TMPL
5324

25+
export biascr="${COM_ATMOS_ANALYSIS}/gdas.t${cyc}z.abias"
26+
export radstat="${COM_ATMOS_ANALYSIS}/gdas.t${cyc}z.radstat"
5427
export TANKverf_rad=${TANKverf_rad:-${COM_ATMOS_RADMON}}
5528
export TANKverf_radM1=${TANKverf_radM1:-${COM_ATMOS_RADMON_PREV}}
5629

5730
if [[ ! -d ${TANKverf_rad} ]]; then mkdir -p -m 775 ${TANKverf_rad} ; fi
5831
if [[ ! -d ${TANKverf_radM1} ]]; then mkdir -p -m 775 ${TANKverf_radM1} ; fi
5932

60-
########################################
61-
# Set necessary environment variables
62-
########################################
63-
export RAD_AREA=${RAD_AREA:-glb}
64-
65-
export biascr=${biascr:-${COM_ATMOS_ANALYSIS}/gdas.t${cyc}z.abias}
66-
export radstat=${radstat:-${COM_ATMOS_ANALYSIS}/gdas.t${cyc}z.radstat}
67-
68-
echo " "
69-
echo "JOB HAS STARTED"
70-
echo " "
71-
72-
7333
########################################################
7434
# Execute the script.
75-
${RADMONSH:-${SCRgfs}/exgdas_atmos_verfrad.sh} ${PDY} ${cyc}
35+
"${SCRgfs}/exgdas_atmos_verfrad.sh"
7636
err=$?
77-
78-
if [[ ${err} -ne 0 ]] ; then
79-
exit ${err}
80-
else
81-
echo " "
82-
echo "JOB HAS COMPLETED NORMALLY"
83-
echo " "
37+
if (( err != 0 )); then
38+
exit "${err}"
8439
fi
8540

8641
################################

jobs/JGDAS_ATMOS_VMINMON

-73
This file was deleted.

jobs/JGFS_ATMOS_VMINMON

-71
This file was deleted.

jobs/JGLOBAL_ATMOS_VMINMON

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#! /usr/bin/env bash
2+
3+
###########################################################
4+
# Global Minimization Monitor (MinMon) job
5+
###########################################################
6+
source "${HOMEgfs}/ush/preamble.sh"
7+
source "${HOMEgfs}/ush/jjob_header.sh" -e "vminmon" -c "base vminmon"
8+
9+
#############################################
10+
# Determine PDY and cyc for previous cycle
11+
#############################################
12+
# shellcheck disable=SC2153
13+
GDATE=$(date --utc +%Y%m%d%H -d "${PDY} ${cyc} - ${assim_freq} hours")
14+
export gPDY=${GDATE:0:8}
15+
export gcyc=${GDATE:8:2}
16+
17+
#############################################
18+
# TANKverf - WHERE OUTPUT DATA WILL RESIDE
19+
#############################################
20+
YMD=${PDY} HH=${cyc} generate_com -rx COM_ATMOS_ANALYSIS
21+
YMD=${PDY} HH=${cyc} generate_com -rx COM_ATMOS_MINMON
22+
YMD=${gPDY} HH=${gcyc} generate_com -rx COM_ATMOS_MINMON_PREV:COM_ATMOS_MINMON_TMPL
23+
24+
export gsistat="${COM_ATMOS_ANALYSIS}/${RUN}.t${cyc}z.gsistat"
25+
export M_TANKverf=${M_TANKverf:-${COM_ATMOS_MINMON}}
26+
export M_TANKverfM1=${M_TANKverfM1:-${COM_ATMOS_MINMON_PREV}}
27+
28+
if [[ ! -d ${M_TANKverf} ]]; then mkdir -p -m 775 "${M_TANKverf}" ; fi
29+
if [[ ! -d ${M_TANKverfM1} ]]; then mkdir -p -m 775 "${M_TANKverfM1}" ; fi
30+
31+
########################################################
32+
# Execute the script.
33+
"${SCRgfs}/exglobal_atmos_vminmon.sh"
34+
err=$?
35+
if (( err != 0 )); then
36+
exit "${err}"
37+
fi
38+
39+
################################
40+
# Remove the Working Directory
41+
################################
42+
[[ "${KEEPDATA}" = "NO" ]] && rm -rf "${DATA}"
43+
44+
exit 0

jobs/rocoto/vminmon.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export jobid="${job}.$$"
1616
echo
1717
echo "=============== START TO RUN MINMON ==============="
1818

19-
"${HOMEgfs}/jobs/J${RUN^^}_ATMOS_VMINMON"
19+
"${HOMEgfs}/jobs/JGLOBAL_ATMOS_VMINMON"
2020
status=$?
2121

2222
exit "${status}"

0 commit comments

Comments
 (0)