Skip to content

Commit 87eb1ad

Browse files
Merge branch 'NOAA-EMC:develop' into feature/jedi_atm_ci
2 parents 693b65a + 3f99f70 commit 87eb1ad

14 files changed

+286
-35
lines changed

Jenkinsfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,8 @@ pipeline {
107107
axes {
108108
axis {
109109
name 'Case'
110-
values 'C48_ATM', 'C48_S2SWA_gefs', 'C48_S2SW', 'C96_atm3DVar' // TODO add dynamic list of cases from env vars (needs addtional plugins)
110+
// TODO add dynamic list of cases from env vars (needs addtional plugins)
111+
values 'C48_ATM', 'C48_S2SWA_gefs', 'C48_S2SW', 'C96_atm3DVar', 'C48mx500_3DVarAOWCDA', 'C96C48_hybatmDA', 'C96_atmsnowDA'
111112
}
112113
}
113114
stages {

parm/config/gefs/config.base.emc.dyn

+1-1
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ export DO_OCN="NO"
144144
export DO_ICE="NO"
145145
export DO_AERO="NO"
146146
export WAVE_CDUMP="" # When to include wave suite: gdas, gfs, or both
147-
export DOBNDPNT_WAVE="NO"
147+
export DOBNDPNT_WAVE="NO" # The GEFS buoys file does not currently have any boundary points
148148
export FRAC_GRID=".true."
149149

150150
# Set operational resolution

parm/config/gefs/config.resources

+44-22
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,15 @@ esac
6868
export npe_node_max
6969

7070
case ${step} in
71+
72+
"stage_ic")
73+
export wtime_stage_ic="00:15:00"
74+
export npe_stage_ic=1
75+
export npe_node_stage_ic=1
76+
export nth_stage_ic=1
77+
export is_exclusive=True
78+
;;
79+
7180
"waveinit")
7281
export wtime_waveinit="00:10:00"
7382
export npe_waveinit=12
@@ -77,25 +86,10 @@ case ${step} in
7786
export memory_waveinit="2GB"
7887
;;
7988

80-
"wavepostsbs")
81-
export wtime_wavepostsbs="00:20:00"
82-
export wtime_wavepostsbs_gfs="03:00:00"
83-
export npe_wavepostsbs=8
84-
export nth_wavepostsbs=1
85-
export npe_node_wavepostsbs=$(( npe_node_max / nth_wavepostsbs ))
86-
export NTASKS=${npe_wavepostsbs}
87-
export memory_wavepostsbs="10GB"
88-
export memory_wavepostsbs_gfs="10GB"
89-
;;
90-
9189
"fcst" | "efcs")
9290
export is_exclusive=True
9391

94-
if [[ "${step}" == "fcst" ]]; then
95-
_CDUMP_LIST=${CDUMP:-"gdas gfs"}
96-
elif [[ "${step}" == "efcs" ]]; then
97-
_CDUMP_LIST=${CDUMP:-"enkfgdas enkfgfs"}
98-
fi
92+
_CDUMP_LIST=${CDUMP:-"gdas gfs"}
9993

10094
# During workflow creation, we need resources for all CDUMPs and CDUMP is undefined
10195
for _CDUMP in ${_CDUMP_LIST}; do
@@ -224,11 +218,39 @@ case ${step} in
224218
export is_exclusive=True
225219
;;
226220

227-
"stage_ic")
228-
export wtime_stage_ic="00:15:00"
229-
export npe_stage_ic=1
230-
export npe_node_stage_ic=1
231-
export nth_stage_ic=1
221+
"wavepostsbs")
222+
export wtime_wavepostsbs="03:00:00"
223+
export npe_wavepostsbs=1
224+
export nth_wavepostsbs=1
225+
export npe_node_wavepostsbs=$(( npe_node_max / nth_wavepostsbs ))
226+
export NTASKS=${npe_wavepostsbs}
227+
export memory_wavepostsbs="10GB"
228+
;;
229+
230+
"wavepostbndpnt")
231+
export wtime_wavepostbndpnt="01:00:00"
232+
export npe_wavepostbndpnt=240
233+
export nth_wavepostbndpnt=1
234+
export npe_node_wavepostbndpnt=$(( npe_node_max / nth_wavepostbndpnt ))
235+
export NTASKS=${npe_wavepostbndpnt}
236+
export is_exclusive=True
237+
;;
238+
239+
"wavepostbndpntbll")
240+
export wtime_wavepostbndpntbll="01:00:00"
241+
export npe_wavepostbndpntbll=448
242+
export nth_wavepostbndpntbll=1
243+
export npe_node_wavepostbndpntbll=$(( npe_node_max / nth_wavepostbndpntbll ))
244+
export NTASKS=${npe_wavepostbndpntbll}
245+
export is_exclusive=True
246+
;;
247+
248+
"wavepostpnt")
249+
export wtime_wavepostpnt="04:00:00"
250+
export npe_wavepostpnt=200
251+
export nth_wavepostpnt=1
252+
export npe_node_wavepostpnt=$(( npe_node_max / nth_wavepostpnt ))
253+
export NTASKS=${npe_wavepostpnt}
232254
export is_exclusive=True
233255
;;
234256

@@ -239,4 +261,4 @@ case ${step} in
239261

240262
esac
241263

242-
echo "END: config.resources"
264+
echo "END: config.resources"
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#! /usr/bin/env bash
2+
3+
########## config.wavepostbndpnt ##########
4+
# Wave steps specific
5+
6+
echo "BEGIN: config.wavepostbndpnt"
7+
8+
# Get task specific resources
9+
source "${EXPDIR}/config.resources" wavepostbndpnt
10+
11+
echo "END: config.wavepostbndpnt"
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#! /usr/bin/env bash
2+
3+
########## config.wavepostbndpntbll ##########
4+
# Wave steps specific
5+
6+
echo "BEGIN: config.wavepostbndpntbll"
7+
8+
# Get task specific resources
9+
source "${EXPDIR}/config.resources" wavepostbndpntbll
10+
11+
echo "END: config.wavepostbndpntbll"

parm/config/gefs/config.wavepostpnt

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#! /usr/bin/env bash
2+
3+
########## config.wavepostpnt ##########
4+
# Wave steps specific
5+
6+
echo "BEGIN: config.wavepostpnt"
7+
8+
# Get task specific resources
9+
source "${EXPDIR}/config.resources" wavepostpnt
10+
11+
echo "END: config.wavepostpnt"

parm/config/gefs/config.wavepostsbs

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#! /usr/bin/env bash
2+
3+
########## config.wavepostsbs ##########
4+
# Wave steps specific
5+
6+
echo "BEGIN: config.wavepostsbs"
7+
8+
# Get task specific resources
9+
source "${EXPDIR}/config.resources" wavepostsbs
10+
11+
# Subgrid info for grib2 encoding
12+
export WAV_SUBGRBSRC=""
13+
export WAV_SUBGRB=""
14+
15+
# Options for point output (switch on/off boundary point output)
16+
export DOIBP_WAV='NO' # Input boundary points
17+
export DOFLD_WAV='YES' # Field data
18+
export DOPNT_WAV='YES' # Station data
19+
export DOGRB_WAV='YES' # Create grib2 files
20+
if [[ -n "${waveinterpGRD}" ]]; then
21+
export DOGRI_WAV='YES' # Create interpolated grids
22+
else
23+
export DOGRI_WAV='NO' # Do not create interpolated grids
24+
fi
25+
export DOSPC_WAV='YES' # Spectral post
26+
export DOBLL_WAV='YES' # Bulletin post
27+
28+
echo "END: config.wavepostsbs"

parm/config/gfs/config.wavepostbndpnt

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
echo "BEGIN: config.wavepostbndpnt"
77

88
# Get task specific resources
9-
. $EXPDIR/config.resources wavepostbndpnt
9+
source "${EXPDIR}/config.resources" wavepostbndpnt
1010

1111
echo "END: config.wavepostbndpnt"

parm/config/gfs/config.wavepostbndpntbll

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
echo "BEGIN: config.wavepostbndpntbll"
77

88
# Get task specific resources
9-
. $EXPDIR/config.resources wavepostbndpntbll
9+
source "${EXPDIR}/config.resources" wavepostbndpntbll
1010

1111
echo "END: config.wavepostbndpntbll"

parm/config/gfs/config.wavepostpnt

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
echo "BEGIN: config.wavepostpnt"
77

88
# Get task specific resources
9-
. $EXPDIR/config.resources wavepostpnt
9+
source "${EXPDIR}/config.resources" wavepostpnt
1010

1111
echo "END: config.wavepostpnt"

parm/config/gfs/config.wavepostsbs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
echo "BEGIN: config.wavepostsbs"
77

88
# Get task specific resources
9-
. $EXPDIR/config.resources wavepostsbs
9+
source "${EXPDIR}/config.resources" wavepostsbs
1010

1111
# Subgrid info for grib2 encoding
1212
export WAV_SUBGRBSRC=""

scripts/exgfs_wave_post_pnt.sh

+5-1
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,11 @@ source "$HOMEgfs/ush/preamble.sh"
156156
cp -f $PARMwave/wave_${NET}.buoys buoy.loc.temp
157157
if [ "$DOBNDPNT_WAV" = YES ]; then
158158
#only do boundary points
159-
sed -n '/^\$.*/!p' buoy.loc.temp | grep IBP > buoy.loc
159+
sed -n '/^\$.*/!p' buoy.loc.temp | grep IBP > buoy.loc || {
160+
echo "WARNING: No boundary points found in buoy file ${PARMwave}/wave_${NET}.buoys"
161+
echo " Ending job without doing anything."
162+
exit 0
163+
}
160164
else
161165
#exclude boundary points
162166
sed -n '/^\$.*/!p' buoy.loc.temp | grep -v IBP > buoy.loc

workflow/applications/gefs.py

+9-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ def _get_app_configs(self):
2020
configs += ['efcs']
2121

2222
if self.do_wave:
23-
configs += ['waveinit']
23+
configs += ['waveinit', 'wavepostsbs', 'wavepostpnt']
24+
if self.do_wave_bnd:
25+
configs += ['wavepostbndpnt', 'wavepostbndpntbll']
2426

2527
return configs
2628

@@ -47,4 +49,10 @@ def get_task_names(self):
4749

4850
tasks += ['atmprod']
4951

52+
if self.do_wave:
53+
tasks += ['wavepostsbs']
54+
if self.do_wave_bnd:
55+
tasks += ['wavepostbndpnt', 'wavepostbndpntbll']
56+
tasks += ['wavepostpnt']
57+
5058
return {f"{self._base['CDUMP']}": tasks}

0 commit comments

Comments
 (0)