Skip to content

Commit 57ce1b0

Browse files
JessicaMeixner-NOAAaerorahulsbanihashDavidHuber-NOAAWalterKolczynski-NOAA
authored
Make assorted updates to waves (#3190)
This PR adds the following: * converting from inp -> nml (@sbanihash) * turning on PIO for waves for restarts (@sbanihash) * enabling cycling for WW3 which required some updates to wave prep jobs + changing what restarts are being saved/etc * changed the way CEMPS, MOM6, CICE and WW3 write restarts to be in sync with FV3 for IAU, which required moving the ufs-weather-model forward one hash to use the new flexible restart feature. (UFS PR ufs-community/ufs-weather-model#2419) * adds uglo_15km - the targeted new wave grid. * Update to use new esmf_threading ufs.configure files which changes the toggle between how you use esmf threading versus traditional threading (UFS PR ufs-community/ufs-weather-model#2538) Notes on ufs-weather-model updates: | Commit date | Commit hash/ PR | Notes for g-w changes | Baseline Changes | | :------------- | :------------- | :------------- | :------------- | | Dec 11, 2024 | ufs-community/ufs-weather-model@409bc85 ufs-community/ufs-weather-model#2419 | Enables flexible restart writes - changes included in g-w PR | none| | Dec 16, 2024 | ufs-community/ufs-weather-model@6ec6b45 ufs-community/ufs-weather-model#2528 ufs-community/ufs-weather-model#2469 | n/a | HAFs test changes, no global changes | | Dec 18, 2024 |ufs-community/ufs-weather-model@e119370 ufs-community/ufs-weather-model#2448 | Adds Gaea C6 support (changes in other g-w PRs, not here) | none | |Dec 23, 2024 | ufs-community/ufs-weather-model@2950089 ufs-community/ufs-weather-model#2533 ufs-community/ufs-weather-model#2538 | changes for ESMF vs traditional threading | none | |Dec 30, 2024 | ufs-community/ufs-weather-model@241dd8e ufs-community/ufs-weather-model#2485 | n/a | changes in conus13km, no global changes| |Jan 3, 2025 | ufs-community/ufs-weather-model@76471dc ufs-community/ufs-weather-model#2530 | n/a | changes in regional tests, no global changes | Note this PR requires the following: * update to fix files to add uglo_15km * staging ICs for high resolution test case for uglo_15km Co-author: @sbanihash Related Issues: - Fixes #1457 - Fixes #3154 - Fixes #1795 - related to #1776 --------- Co-authored-by: Rahul Mahajan <aerorahul@users.noreply.github.com> Co-authored-by: Saeideh Banihashemi <saeideh.banihashemi@noaa.gov> Co-authored-by: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com> Co-authored-by: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
1 parent 4c6c6a4 commit 57ce1b0

25 files changed

+207
-243
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ parm/ufs/MOM6_data_table.IN
8181
parm/ufs/ice_in.IN
8282
parm/ufs/ufs.configure.*.IN
8383
parm/ufs/post_itag_gfs
84+
parm/ufs/ww3_shel.nml.IN
8485
parm/wafs
8586

8687
# Ignore sorc and logs folders from externals

docs/source/wave.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ Here are several regional naming conventions:
2121
+===========+=======================+
2222
| glo | Global domain |
2323
+-----------+-----------------------+
24+
| uglo | Unstructured global |
25+
+-----------+-----------------------+
2426
| ak | Alaska |
2527
+-----------+-----------------------+
2628
| ao or aoc | Arctic Ocean |

parm/archive/gdaswave.yaml.j2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
gdaswave:
2-
{% set head = "gdas.wave.t" + cycle_HH + "z." %}
2+
{% set head = "gdaswave.t" + cycle_HH + "z." %}
33
name: "GDASWAVE"
44
target: "{{ ATARDIR }}/{{ cycle_YMDH }}/gdaswave.tar"
55
required:

parm/config/gefs/config.ufs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -512,9 +512,7 @@ fi
512512

513513
# Set the name of the UFS (previously nems) configure template to use
514514
# Default ufs.configure templates for supported model configurations
515-
if [[ "${USE_ESMF_THREADING:-}" == "YES" ]]; then
516-
tmpl_suffix="_esmf"
517-
fi
515+
# WW3 restart field variable is different for slow vs fast loop. Add WW3_RSTFLDS="ice" for slow loop variables based on coupling scheme.
518516
case "${model_list}" in
519517
atm)
520518
default_template="${PARMgfs}/ufs/ufs.configure.atm${tmpl_suffix:-}.IN"
@@ -533,9 +531,11 @@ case "${model_list}" in
533531
;;
534532
atm.ocean.ice.wave)
535533
default_template="${PARMgfs}/ufs/ufs.configure.s2sw${tmpl_suffix:-}.IN"
534+
WW3_RSTFLDS="ice"
536535
;;
537536
atm.ocean.ice.wave.aero)
538537
default_template="${PARMgfs}/ufs/ufs.configure.s2swa${tmpl_suffix:-}.IN"
538+
WW3_RSTFLDS="ice"
539539
;;
540540
*)
541541
echo "FATAL ERROR: Unsupported UFSWM configuration for ${model_list}"
@@ -547,6 +547,9 @@ esac
547547
export ufs_configure_template=${ufs_configure_template:-${default_template:-"/dev/null"}}
548548
unset model_list default_template
549549

550+
#export wave restart variable:
551+
export WW3_RSTFLDS=${WW3_RSTFLDS:-" "}
552+
550553
if [[ ! -r "${ufs_configure_template}" ]]; then
551554
echo "FATAL ERROR: ${ufs_configure_template} either doesn't exist or is not readable."
552555
exit 17

parm/config/gfs/config.base

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ case "${CASE}" in
219219
export waveGRD='uglo_100km'
220220
;;
221221
"C768" | "C1152")
222-
export waveGRD='uglo_m1g16'
222+
export waveGRD='uglo_15km'
223223
;;
224224
*)
225225
echo "FATAL ERROR: Unrecognized CASE ${CASE}, ABORT!"

parm/config/gfs/config.resources

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,8 @@ case ${step} in
198198
threads_per_task=1
199199
tasks_per_node=$(( max_tasks_per_node / threads_per_task ))
200200
NTASKS=${ntasks}
201-
memory_gdas="10GB"
202-
memory_gfs="10GB"
201+
memory_gdas="20GB"
202+
memory_gfs="20GB"
203203
;;
204204

205205
# The wavepost*pnt* jobs are I/O heavy and do not scale well to large nodes.

parm/config/gfs/config.ufs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ if (( $# <= 1 )); then
1515
echo "--fv3 C48|C96|C192|C384|C768|C1152|C3072"
1616
echo "--mom6 500|100|025"
1717
echo "--cice6 500|100|025"
18-
echo "--ww3 gnh_10m;aoc_9km;gsh_15m|gwes_30m|glo_025|glo_100|glo_200|glo_500|mx025|uglo_100km|uglo_m1g16"
18+
echo "--ww3 gnh_10m;aoc_9km;gsh_15m|gwes_30m|glo_025|glo_100|glo_200|glo_500|mx025|uglo_100km"
1919
echo "--gocart"
2020

2121
exit 1
@@ -605,12 +605,12 @@ if [[ "${skip_ww3}" == "false" ]]; then
605605
"mx025")
606606
ntasks_ww3=80
607607
;;
608-
"uglo_100km")
609-
ntasks_ww3=40
608+
"uglo_15km")
609+
ntasks_ww3=1000
610610
nthreads_ww3=1
611611
;;
612-
"uglo_m1g16")
613-
ntasks_ww3=1000
612+
"uglo_100km")
613+
ntasks_ww3=40
614614
nthreads_ww3=1
615615
;;
616616
*)
@@ -630,9 +630,7 @@ fi
630630

631631
# Set the name of the UFS (previously nems) configure template to use
632632
# Default ufs.configure templates for supported model configurations
633-
if [[ "${USE_ESMF_THREADING:-}" == "YES" ]]; then
634-
tmpl_suffix="_esmf"
635-
fi
633+
# WW3 restart field variable is different for slow vs fast loop. Add WW3_RSTFLDS="ice" for slow loop variables based on coupling scheme.
636634
case "${model_list}" in
637635
atm)
638636
default_template="${PARMgfs}/ufs/ufs.configure.atm${tmpl_suffix:-}.IN"
@@ -651,9 +649,11 @@ case "${model_list}" in
651649
;;
652650
atm.ocean.ice.wave)
653651
default_template="${PARMgfs}/ufs/ufs.configure.s2sw${tmpl_suffix:-}.IN"
652+
WW3_RSTFLDS="ice"
654653
;;
655654
atm.ocean.ice.wave.aero)
656655
default_template="${PARMgfs}/ufs/ufs.configure.s2swa${tmpl_suffix:-}.IN"
656+
WW3_RSTFLDS="ice"
657657
;;
658658
*)
659659
echo "FATAL ERROR: Unsupported UFSWM configuration for ${model_list}"
@@ -665,6 +665,9 @@ esac
665665
export ufs_configure_template=${ufs_configure_template:-${default_template:-"/dev/null"}}
666666
unset model_list default_template
667667

668+
# export wave restart variable:
669+
export WW3_RSTFLDS=${WW3_RSTFLDS:-" "}
670+
668671
if [[ ! -r "${ufs_configure_template}" ]]; then
669672
echo "FATAL ERROR: ${ufs_configure_template} either doesn't exist or is not readable."
670673
exit 17

parm/config/gfs/config.wave

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,18 +56,18 @@ case "${waveGRD}" in
5656
export wavepostGRD='glo_500'
5757
export waveuoutpGRD=${waveGRD}
5858
;;
59+
"uglo_15km")
60+
# unstructured 15km grid
61+
export waveinterpGRD='glo_15mxt at_10m ep_10m wc_10m glo_30m'
62+
export wavepostGRD=''
63+
export waveuoutpGRD=${waveGRD}
64+
;;
5965
"uglo_100km")
6066
#unstructured 100km grid
6167
export waveinterpGRD='glo_200'
6268
export wavepostGRD=''
6369
export waveuoutpGRD=${waveGRD}
6470
;;
65-
"uglo_m1g16")
66-
#unstructured m1v16 grid
67-
export waveinterpGRD='glo_15mxt'
68-
export wavepostGRD=''
69-
export waveuoutpGRD=${waveGRD}
70-
;;
7171
*)
7272
echo "FATAL ERROR: No grid specific wave config values exist for ${waveGRD}. Aborting."
7373
exit 1

parm/wave/ak_10m_interp.inp.tmpl

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@ $------------------------------------------------
33
$ Start Time DT NSteps
44
TIME DT NSTEPS
55
$ Total number of grids
6-
3
6+
2
77
$ Grid extensions
8-
'gnh_10m'
9-
'aoc_9km'
8+
'uglo_15km'
109
'ak_10m'
1110
$
1211
0

parm/wave/at_10m_interp.inp.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ $ Start Time DT NSteps
55
$ Total number of grids
66
2
77
$ Grid extensions
8-
'uglo_m1g16'
8+
'uglo_15km'
99
'at_10m'
1010
$
1111
0

0 commit comments

Comments
 (0)