-
Notifications
You must be signed in to change notification settings - Fork 177
/
Copy pathJGFS_ATMOS_PGRB2_SPEC_NPOESS
executable file
·137 lines (114 loc) · 3.87 KB
/
JGFS_ATMOS_PGRB2_SPEC_NPOESS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#! /usr/bin/env bash
source "$HOMEgfs/ush/preamble.sh"
export OMP_NUM_THREADS=${OMP_NUM_THREADS:-1}
############################################
# GFS PGRB2_SPECIAL_POST PRODUCT GENERATION
############################################
##########################################################
# obtain unique process id (pid) and make temp directory
##########################################################
export DATA=${DATA:-${DATAROOT}/${jobid:?}}
mkdir -p $DATA
cd $DATA
######################################
# Set up the cycle variable
######################################
export cycle=${cycle:-t${cyc}z}
###########################################
# Run setpdy and initialize PDY variables
###########################################
setpdy.sh
. PDY
################################
# Set up the HOME directory
################################
export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}}
export USHgfs=${USHgfs:-$HOMEgfs/ush}
export EXECgfs=${EXECgfs:-$HOMEgfs/exec}
export PARMgfs=${PARMgfs:-$HOMEgfs/parm}
export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}
export PARMwmo=${PARMwmo:-$HOMEgfs/parm/wmo}
export PARMproduct=${PARMproduct:-$HOMEgfs/parm/product}
export FIXgfs=${FIXgfs:-$HOMEgfs/fix}
###################################
# Specify NET and RUN Name and model
####################################
export NET=${NET:-gfs}
export RUN=${RUN:-gfs}
export model=${model:-gfs}
export COMPONENT=${COMPONENT:-atmos}
##############################################
# Define COM directories
##############################################
export COMIN=${COMIN:-$(compath.py ${NET}/${envir}/${RUN}.${PDY})/${cyc}/$COMPONENT}
export COMOUT=${COMOUT:-${COMROOT}/${NET}/${envir}/${RUN}.${PDY}/${cyc}/$COMPONENT}
export COMOUTwmo=${COMOUTwmo:-${COMOUT}/wmo}
export SENDDBN=${SENDDBN:-NO}
export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn}
if [ $SENDCOM = YES ] ; then
mkdir -m 775 -p $COMOUT $COMOUTwmo
fi
export pgmout=OUTPUT.$$
####################################
# Specify Forecast Hour Range
####################################
export SHOUR=000
export FHOUR=180
export FHINC=003
#######################################
# Specify Restart File Name to Key Off
#######################################
restart_file=$COMIN/${RUN}.t${cyc}z.special.grb2if
####################################
# Specify Timeout Behavior of Post
#
# SLEEP_TIME - Amount of time to wait for
# a restart file before exiting
# SLEEP_INT - Amount of time to wait between
# checking for restart files
####################################
export SLEEP_TIME=900
export SLEEP_INT=5
####################################
# Check if this is a restart
####################################
if test -f $COMIN/$RUN.t${cyc}z.control.goessimpgrb2
then
modelrecvy=$(cat < $COMIN/$RUN.t${cyc}z.control.goessimpgrb)
recvy_pdy=$(echo $modelrecvy | cut -c1-8)
recvy_cyc=$(echo $modelrecvy | cut -c9-10)
recvy_shour=$(echo $modelrecvy | cut -c11-13)
if test $RERUN = "NO"
then
NEW_SHOUR=$(expr $recvy_shour + $FHINC)
if test $NEW_SHOUR -ge $SHOUR
then
export SHOUR=$NEW_SHOUR
fi
if test $recvy_shour -ge $FHOUR
then
msg="Forecast Pgrb Generation Already Completed to $FHOUR"
postmsg "$jlogfile" "$msg"
else
msg="Starting: PDY=$PDY cycle=t${recvy_cyc}z SHOUR=$SHOUR ."
postmsg "$jlogfile" "$msg"
fi
fi
fi
#############################################################
# Execute the script
$HOMEgfs/scripts/exgfs_atmos_grib2_special_npoess.sh
export err=$?;err_chk
#############################################################
############################################
# print exec I/O output
############################################
if [ -e "$pgmout" ] ; then
cat $pgmout
fi
###################################
# Remove temp directories
###################################
if [ "$KEEPDATA" != "YES" ] ; then
rm -rf $DATA
fi