@@ -53,12 +53,21 @@ export LIST_FILES="atmf002.nc \
53
53
RESTART/fv_BC_ne.res.nest02.nc \
54
54
RESTART/fv_BC_sw.res.nest02.nc"
55
55
56
+ # Get all default variables for FV3
57
+ export_fv3 # Must come before all other exports
56
58
57
- export_fv3
58
- export_tiled
59
+ # Request tiled inputs in &namsfc
60
+ export_tiled # Must come second, after export_fv3, before all export statements
61
+ export TILEDFIX=.true.
62
+
63
+ # Select input directories in control_run.IN
64
+ export ATMRES=C96-nested
59
65
66
+ # Master flag to enable nesting in control_run.IN. Also sent to &fv_core_nml
60
67
export NESTED=.true.
61
68
69
+ # ----------------------------------------
70
+ # model_configure
62
71
export SYEAR=2023
63
72
export SMONTH=02
64
73
export SDAY=24
@@ -83,6 +92,11 @@ export KCHUNK3D=1
83
92
export IMO=384
84
93
export JMO=192
85
94
export OUTPUT_FH='1 -1'
95
+
96
+ # NOTE: This script uses NTILES=6 despite having 7 tiles in total.
97
+ # This is to match the logic inside FV3, which is based on mosaics.
98
+ # The globe has one mosiac with 6 tiles, and each nest has one mosaic with 1 tile each.
99
+ # Our workflow scripts are not aware of that detail; they only know about the global mosaic.
86
100
export NTILES=6
87
101
88
102
export OUTPUT_GRID_2=regional_latlon
@@ -97,19 +111,38 @@ export LAT2_2=72.500000
97
111
export DLON_2=0.25
98
112
export DLAT_2=0.25
99
113
114
+ # ----------------------------------------
115
+ # &atmos_model_nml
100
116
export BLOCKSIZE=32
101
117
export CCPP_SUITE=FV3_global_nest_v1
118
+
119
+ # ----------------------------------------
120
+ # &diag_manager_nml
102
121
export MAX_OUTPUT_FIELDS=300
122
+
123
+ # ----------------------------------------
124
+ # &fms_nml
103
125
export DOMAINS_STACK_SIZE=16000000
104
126
127
+ # ----------------------------------------
128
+ # &fv_nest_nml
105
129
export TILE_COARSE="0,6"
106
130
export NUM_TILE_TOP=6
107
131
export NEST_REFINE="0,4"
108
132
export NEST_IOFFSETS="0,4"
109
133
export NEST_JOFFSETS="0,9"
110
134
135
+ # ----------------------------------------
136
+ # &fv_core_nml
137
+ export INPES=4
138
+ export JNPES=4
139
+ export INPES_NEST02=12
140
+ export JNPES_NEST02=10
141
+
111
142
export NPX=97
112
143
export NPY=97
144
+ export NPX_NEST02=361
145
+ export NPY_NEST02=241
113
146
export NPZ=127
114
147
export DNATS=0
115
148
export DO_SAT_ADJ=.false.
@@ -118,9 +151,6 @@ export FV_CORE_TAU=0.
118
151
export RF_CUTOFF=10.
119
152
export FAST_TAU_W_SEC=0.2
120
153
121
- export LDIAG3D=.true.
122
- export LDIAG_UGWP=.true.
123
-
124
154
export FV_CORE_TAU_NEST02=$FV_CORE_TAU
125
155
export RF_CUTOFF_NEST02=$RF_CUTOFF
126
156
export FAST_TAU_W_SEC_NEST02=$FAST_TAU_W_SEC
@@ -129,6 +159,13 @@ export TARGET_LON=-135.0
129
159
export TARGET_LAT=32.5
130
160
export TWOWAYNEST02=.true.
131
161
162
+ export TWOWAYNEST=.true.
163
+
164
+ # ----------------------------------------
165
+ # &gfs_physics_nml
166
+ export LDIAG3D=.true.
167
+ export LDIAG_UGWP=.true.
168
+
132
169
export H2O_PHYS=.true.
133
170
export IMP_PHYSICS=8
134
171
export IOVR=3
@@ -155,8 +192,6 @@ export LHEATSTRG=.false.
155
192
export LSEASPRAY=.false.
156
193
export IMFDEEPCNV=5
157
194
export IMFDEEPCNV_NEST02=5
158
- export PROGSIGMA=.false.
159
- export PROGSIGMA_NEST02=.false.
160
195
export IOPT_DIAG=1
161
196
export NSTF_NAME=2,0,0,0,0
162
197
export EFFR_IN=.true.
@@ -191,7 +226,6 @@ export D2_BG_K1_NEST02=0.20
191
226
export D2_BG_K2_NEST02=0.15
192
227
export D4_BG_NEST02=0.15
193
228
export DZ_MIN=2.0
194
- export FULL_ZS_FILTER=.false. # Must be false to avoid model instability
195
229
export FV_SG_ADJ=300
196
230
export HORD_DP=6
197
231
export HORD_MT=6
@@ -244,8 +278,24 @@ export KNOB_UGWP_VERSION=1
244
278
export KNOB_UGWP_PALAUNCH=275.0e2
245
279
export LIGHTNING_THREAT=.true.
246
280
247
- export ATMRES=C96-nested
281
+ # NOTE: The global_nest_v1 uses prognostic sigma, so this should be
282
+ # .true. HOWEVER, the code turns it off automatically for this
283
+ # resolution. Hence, we turn it off here so we're not advecting a grid
284
+ # of 0. The field_table must match this setting (see below).
285
+ export PROGSIGMA=.false.
286
+ export PROGSIGMA_NEST02=.false.
287
+
288
+ # ----------------------------------------
289
+ # &surf_map_nml
290
+ export N_DEL2_STRONG=0 # namelist default is -1
291
+ export N_DEL2_WEAK=15 # namelist default is 12
292
+ export N_DEL2_WEAK_NEST02=24 # namelist default is 12
293
+ export N_DEL4=2 # namelist default is -1
294
+ export PEAK_FAC=1. # namelist default is 1.05
295
+ export ZERO_OCEAN=.false. # namelist default is .true.
248
296
297
+ # ----------------------------------------
298
+ # &namsfc
249
299
export FNALBC="'${ATMRES}.snowfree_albedo.tileX.nc'"
250
300
export FNALBC2="'${ATMRES}.facsf.tileX.nc'"
251
301
export FNTG3C="'${ATMRES}.substrate_temperature.tileX.nc'"
@@ -265,22 +315,32 @@ export FNACNA="''"
265
315
export FNSNOA="''"
266
316
267
317
export LANDICE=.false.
268
- export NPX_NEST02=361
269
- export NPY_NEST02=241
270
- export INPES_NEST02=12
271
- export JNPES_NEST02=10
272
- export TWOWAYNEST=.true.
273
-
274
- export INPES=4
275
- export JNPES=4
276
318
277
- export GRID_PES="$(( INPES * JNPES * 6 )),$(( INPES_NEST02 * JNPES_NEST02 ))"
319
+ # ----------------------------------------
320
+ # Select input files and resources for the regression test system.
278
321
322
+ # Select model_configure template:
279
323
export MODEL_CONFIGURE=model_configure_gnv1.IN
324
+
325
+ # Select input.nml template:
280
326
export INPUT_NML=input_global_parent.nml.IN
327
+
328
+ # Select input_nest02.nml template:
281
329
export INPUT_NEST02_NML=input_global_nest.nml.IN
282
- export TILEDFIX=.true.
330
+
331
+ # Select the field_table.
332
+
333
+ # NOTE: The global_nest_v1 uses prognostic sigma, so this should be
334
+ # the progsigma field table. HOWEVER, the code turns it off
335
+ # automatically for this resolution. Hence, we turn it off here so
336
+ # we're not advecting a grid of 0
337
+
283
338
export FIELD_TABLE=field_table_thompson_aero_tke
339
+
340
+ # Request additional contents in diag_table for gravity wave diagnostics:
284
341
export DIAG_TABLE_ADDITIONAL=diag_additional_ldiag3d_ugwp
285
342
343
+ # Override atmosphere compute task count to include the nest (tile 7).
344
+ # Note that NTILES=6, which is the size of the global mosaic.
345
+ export GRID_PES="$(( INPES * JNPES * 6 )),$(( INPES_NEST02 * JNPES_NEST02 ))"
286
346
ATM_compute_tasks=$(( INPES*JNPES*NTILES + INPES_NEST02*JNPES_NEST02 ))
0 commit comments