@@ -72,9 +72,12 @@ case "${machine}" in
72
72
" WCOSS2" )
73
73
npe_node_max=128
74
74
;;
75
- " HERA" | " ORION" | " HERCULES " )
75
+ " HERA" | " ORION" )
76
76
npe_node_max=40
77
77
;;
78
+ " HERCULES" )
79
+ npe_node_max=80
80
+ ;;
78
81
" JET" )
79
82
case " ${PARTITION_BATCH} " in
80
83
" xjet" )
@@ -193,7 +196,7 @@ case "${fv3_res}" in
193
196
export WRITE_GROUP=2
194
197
export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE=10
195
198
export WRITE_GROUP_GFS=4
196
- export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_GFS=10
199
+ export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_GFS=20 # Note this should be 10 for WCOSS2
197
200
;;
198
201
" C1152" )
199
202
export DELTIM=120
@@ -209,7 +212,7 @@ case "${fv3_res}" in
209
212
export WRITE_GROUP=4
210
213
export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE=10 # TODO: refine these numbers when a case is available
211
214
export WRITE_GROUP_GFS=4
212
- export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_GFS=10 # TODO: refine these numbers when a case is available
215
+ export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_GFS=20 # TODO: refine these numbers when a case is available
213
216
;;
214
217
" C3072" )
215
218
export DELTIM=90
@@ -258,6 +261,10 @@ case ${fv3_res} in
258
261
OUTPUT_FILETYPE_ATM=" netcdf_parallel"
259
262
OUTPUT_FILETYPE_SFC=" netcdf_parallel"
260
263
;;
264
+ * )
265
+ echo " FATAL ERROR: Unrecognized FV3 resolution ${fv3_res} "
266
+ exit 15
267
+ ;;
261
268
esac
262
269
export OUTPUT_FILETYPE_ATM OUTPUT_FILETYPE_SFC
263
270
@@ -309,18 +316,20 @@ if [[ "${skip_mom6}" == "false" ]]; then
309
316
NY_GLB=320
310
317
DT_DYNAM_MOM6=' 1800'
311
318
DT_THERM_MOM6=' 3600'
312
- FRUNOFF=" "
319
+ FRUNOFF=" runoff.daitren.clim.1deg.nc "
313
320
CHLCLIM=" seawifs_1998-2006_smoothed_2X.nc"
314
- MOM6_RESTART_SETTING=' n '
321
+ MOM6_RESTART_SETTING=' r '
315
322
MOM6_RIVER_RUNOFF=' False'
316
323
eps_imesh=" 2.5e-1"
324
+ TOPOEDITS=" ufs.topo_edits_011818.nc"
317
325
if [[ " ${DO_JEDIOCNVAR:- NO} " = " YES" ]]; then
318
326
MOM6_DIAG_COORD_DEF_Z_FILE=" oceanda_zgrid_75L.nc"
319
327
MOM6_DIAG_MISVAL=" 0.0"
320
328
else
321
329
MOM6_DIAG_COORD_DEF_Z_FILE=" interpolate_zgrid_40L.nc"
322
330
MOM6_DIAG_MISVAL=" -1e34"
323
331
fi
332
+ MOM6_ALLOW_LANDMASK_CHANGES=' True'
324
333
;;
325
334
" 050" )
326
335
ntasks_mom6=60
@@ -334,15 +343,15 @@ if [[ "${skip_mom6}" == "false" ]]; then
334
343
MOM6_RESTART_SETTING=' n'
335
344
MOM6_RIVER_RUNOFF=' True'
336
345
eps_imesh=" 1.0e-1"
337
- TOPOEDITS=" ufs.topo_edits_011818.nc"
338
346
if [[ " ${DO_JEDIOCNVAR:- NO} " = " YES" ]]; then
339
347
MOM6_DIAG_COORD_DEF_Z_FILE=" oceanda_zgrid_75L.nc"
340
348
MOM6_DIAG_MISVAL=" 0.0"
341
349
else
342
350
MOM6_DIAG_COORD_DEF_Z_FILE=" interpolate_zgrid_40L.nc"
343
351
MOM6_DIAG_MISVAL=" -1e34"
344
352
fi
345
- MOM6_ALLOW_LANDMASK_CHANGES=' True'
353
+ MOM6_ALLOW_LANDMASK_CHANGES=' False'
354
+ TOPOEDITS=" "
346
355
;;
347
356
" 025" )
348
357
ntasks_mom6=220
@@ -356,15 +365,15 @@ if [[ "${skip_mom6}" == "false" ]]; then
356
365
MOM6_RIVER_RUNOFF=' True'
357
366
MOM6_RESTART_SETTING=" r"
358
367
eps_imesh=" 1.0e-1"
359
- TOPOEDITS=" "
360
368
if [[ " ${DO_JEDIOCNVAR:- NO} " = " YES" ]]; then
361
369
MOM6_DIAG_COORD_DEF_Z_FILE=" oceanda_zgrid_75L.nc"
362
370
MOM6_DIAG_MISVAL=" 0.0"
363
371
else
364
372
MOM6_DIAG_COORD_DEF_Z_FILE=" interpolate_zgrid_40L.nc"
365
373
MOM6_DIAG_MISVAL=" -1e34"
366
374
fi
367
- MOM6_ALLOW_LANDMASK_CHANGES=' True'
375
+ MOM6_ALLOW_LANDMASK_CHANGES=' False'
376
+ TOPOEDITS=" "
368
377
;;
369
378
* )
370
379
echo " FATAL ERROR: Unsupported MOM6 resolution = ${mom6_res} , ABORT!"
@@ -378,10 +387,10 @@ if [[ "${skip_mom6}" == "false" ]]; then
378
387
export DT_DYNAM_MOM6 DT_THERM_MOM6
379
388
export FRUNOFF
380
389
export CHLCLIM
390
+ export TOPOEDITS
381
391
export MOM6_RIVER_RUNOFF
382
392
export MOM6_RESTART_SETTING
383
393
export eps_imesh
384
- export TOPOEDITS
385
394
export MOM6_DIAG_COORD_DEF_Z_FILE
386
395
export MOM6_DIAG_MISVAL
387
396
export MOM6_ALLOW_LANDMASK_CHANGES
@@ -397,6 +406,7 @@ if [[ "${skip_cice6}" == "false" ]]; then
397
406
echo " FATAL ERROR: CICE6 cannot be configured without MOM6, ABORT!"
398
407
exit 1
399
408
fi
409
+
400
410
nthreads_cice6=${nthreads_mom6} # CICE6 needs to run on same threads as MOM6
401
411
case " ${cice6_res} " in
402
412
" 500" )
@@ -470,39 +480,42 @@ if [[ "${skip_gocart}" == "false" ]]; then
470
480
fi
471
481
472
482
# Set the name of the UFS (previously nems) configure template to use
483
+ # Default ufs.configure templates for supported model configurations
473
484
case " ${model_list} " in
474
485
atm)
475
- export ufs_configure_template =" ${HOMEgfs} /parm/ufs/ufs.configure.atm.IN"
486
+ default_template =" ${HOMEgfs} /parm/ufs/ufs.configure.atm.IN"
476
487
;;
477
488
atm.aero)
478
- export ufs_configure_template =" ${HOMEgfs} /parm/ufs/ufs.configure.atm_aero .IN"
489
+ default_template =" ${HOMEgfs} /parm/ufs/ufs.configure.atmaero .IN"
479
490
;;
480
491
atm.wave)
481
- export ufs_configure_template =" ${HOMEgfs} /parm/ufs/ufs.configure.leapfrog_atm_wav.IN"
492
+ default_template =" ${HOMEgfs} /parm/ufs/ufs.configure.leapfrog_atm_wav.IN"
482
493
;;
483
494
atm.ocean.ice)
484
- export ufs_configure_template =" ${HOMEgfs} /parm/ufs/ufs.configure.cpld .IN"
495
+ default_template =" ${HOMEgfs} /parm/ufs/ufs.configure.s2s_esmf .IN"
485
496
;;
486
497
atm.ocean.ice.aero)
487
- export ufs_configure_template =" ${HOMEgfs} /parm/ufs/ufs.configure.cpld_aero .IN"
498
+ default_template =" ${HOMEgfs} /parm/ufs/ufs.configure.s2sa_esmf .IN"
488
499
;;
489
500
atm.ocean.ice.wave)
490
- export ufs_configure_template =" ${HOMEgfs} /parm/ufs/ufs.configure.cpld_outerwave .IN"
501
+ default_template =" ${HOMEgfs} /parm/ufs/ufs.configure.s2sw_esmf .IN"
491
502
;;
492
503
atm.ocean.ice.wave.aero)
493
- export ufs_configure_template =" ${HOMEgfs} /parm/ufs/ufs.configure.cpld_aero_outerwave .IN"
504
+ default_template =" ${HOMEgfs} /parm/ufs/ufs.configure.s2swa_esmf .IN"
494
505
;;
495
506
* )
496
- echo " FATAL ERROR: Unable to determine appropriate UFS configure template for ${model_list} "
507
+ echo " FATAL ERROR: Unsupported UFSWM configuration for ${model_list} "
497
508
exit 16
498
509
;;
499
510
esac
500
511
512
+ # Allow user to override the default template
513
+ export ufs_configure_template=${ufs_configure_template:- ${default_template:- " /dev/null" } }
514
+ unset model_list default_template
515
+
501
516
if [[ ! -r " ${ufs_configure_template} " ]]; then
502
517
echo " FATAL ERROR: ${ufs_configure_template} either doesn't exist or is not readable."
503
518
exit 17
504
519
fi
505
520
506
- unset model_list
507
-
508
521
echo " END: config.ufs"
0 commit comments