From 4865d9c8d0b6c8d8bdb93eaf329b523a27fc82e5 Mon Sep 17 00:00:00 2001 From: Ian Grooms Date: Fri, 4 Sep 2026 13:59:00 -0600 Subject: [PATCH 1/7] Update MOM diagnostics for CMIP7 --- param_templates/diag_table.yaml | 29 +++++---- param_templates/json/diag_table.json | 94 +++++++++++++++++++--------- 2 files changed, 82 insertions(+), 41 deletions(-) diff --git a/param_templates/diag_table.yaml b/param_templates/diag_table.yaml index e8b16a1..11d1cb0 100644 --- a/param_templates/diag_table.yaml +++ b/param_templates/diag_table.yaml @@ -7,7 +7,7 @@ FieldLists: - &prognostic ["uo", "vo", "h", "e", "thetao", "so", "KE", "MEKE", "rhopot0", "rhopot2", "difvho", "difvso", "Kv_u", "Kv_v", "taux_bot", "tauy_bot"] - - &prognostic_z ["uo", "vo", "h", "thetao", "so", "agessc", "rhopot0", "N2_int", "rhopot2", + - &prognostic_z ["uo", "vo", "h", "thetao", "so", "agessc", "rhopot0", "N2_int:obvfsq", "rhopot2", "difvho", "difvso", "Kv_u", "Kv_v"] - &prognostic_rho2 ["thetao", "so", "agessc", "e"] @@ -19,7 +19,7 @@ FieldLists: - &surface_flds_common ["tos", "tos:tos_min:min", "tos:tos_max:max", "sos", "sos:sos_min:min", "sos:sos_max:max", - "SSU", "SSV", "opottempmint", "somint", "Rd_dx", "speed", + "SSU:uos", "SSV:vos", "opottempmint", "somint", "Rd_dx", "speed", "mlotst", "mlotst:mlotst_min:min", "mlotst:mlotst_max:max"] - &surface_flds_daily ["zos", "zossq"] @@ -33,9 +33,9 @@ FieldLists: "hfsifrazil", "wfo", "ficeberg", "fsitherm", "hflso", "pso", "seaice_melt_heat", "Heat_PmE"] - - &enthalpy_flds ["heat_content_lrunoff", "heat_content_frunoff", "heat_content_lprec", - "heat_content_fprec", "heat_content_cond", - "heat_content_evap"] + - &enthalpy_flds ["heat_content_lrunoff:hfrunoffds", "heat_content_frunoff", + "heat_content_lprec:hfrainds", "heat_content_fprec", + "heat_content_cond", "heat_content_evap:hfevapds"] - &forcing_flds_dev ["net_heat_coupler", "LwLatSens", "heat_content_lrunoff", "heat_content_frunoff", "heat_content_lprec", @@ -54,7 +54,8 @@ FieldLists: "geolon_v", "geolat_v", "deptho", "wet", "wet_c", "wet_u", "wet_v", "Coriolis", "areacello", "areacello_cu", "areacello_cv", "areacello_bu", "sin_rot", "cos_rot", "cpocean", "rhozero", "skeb_taper_v", - "skeb_taper_u"] + "skeb_taper_u", "dxt:dxto", "dxCu:dxuo", "dxCv:dxvo", + "dyt:dyto", "dyCu:dyuo", "dyCv:dyvo"] - &transports ["volcello", "vmo", "vhGM", "vhml", "umo", "uhGM", "uhml"] @@ -66,20 +67,23 @@ FieldLists: - &cfc_2d ["cfc11_flux", "cfc12_flux", "ice_fraction", "u10_sqr"] - - &geothermal ["Geo_heat"] + - &geothermal ["hfgeou"] - - &glc_terms ["frunoff_glc", "lrunoff_glc"] + - &glc_terms ["frunoff_glc", "lrunoff_glc:flandice"] - &kpp_test ["KPP_QminusSW", "KPP_netSalt", "KPP_NLT_dTdt", "KPP_NLT_dSdt", "KPP_NLT_temp_budget", "KPP_NLT_saln_budget"] - - &cmip7_native ["dispkexyfo", "hfibthermds", "mlotstsq", "pbo", "S_adx_2d", "S_ady_2d", "sob", - "sossq", "tob", "tossq", "zos", "zossq", "BS_coeff_h"] + - &cmip7_native ["dispkexyfo", "hfibthermds", "masso", "mlotstsq", "pbo", + "S_adx_2d", "S_ady_2d", "sob", "sossq", "t17d", "t20d", + "tob", "tossq", "volo", "zos", "zossq", "BS_coeff_h"] - &cmip7_z ["opottempdiff", "T_advection_xy", "opottemptend", "osaltdiff", "S_advection_xy", "osalttend", "rsdoabsorb"] - - &cmip7_sfc ["tossq", "rsdo", "T_adx_2d", "T_ady_2d"] + - &cmip7_sfc ["tossq", "rsdo", "T_adx_2d", "T_ady_2d", "t20d"] + + - &cmip7_wave ["surface_stokes_x:sduo", "surface_stokes_y:sduv"] ############################################################################### # Section 2: Defaults for all files, unless overridden in the file entry. @@ -161,6 +165,9 @@ Files: [ *forcing_flds_b ] else: [ *forcing_flds_cg ] + lists7: + $OCN_DIAG_MODE not in ["spinup", "none"] and $COMP_WAV == "ww3" and $MOM6_WW3_CPL_METHOD != "none": + [ *cmip7_wave ] # essential variables mapped to z space h.z: diff --git a/param_templates/json/diag_table.json b/param_templates/json/diag_table.json index 2c19b51..376b3d7 100644 --- a/param_templates/json/diag_table.json +++ b/param_templates/json/diag_table.json @@ -26,7 +26,7 @@ "so", "agessc", "rhopot0", - "N2_int", + "N2_int:obvfsq", "rhopot2", "difvho", "difvso", @@ -64,8 +64,8 @@ "sos", "sos:sos_min:min", "sos:sos_max:max", - "SSU", - "SSV", + "SSU:uos", + "SSV:vos", "opottempmint", "somint", "Rd_dx", @@ -113,12 +113,12 @@ "Heat_PmE" ], [ - "heat_content_lrunoff", + "heat_content_lrunoff:hfrunoffds", "heat_content_frunoff", - "heat_content_lprec", + "heat_content_lprec:hfrainds", "heat_content_fprec", "heat_content_cond", - "heat_content_evap" + "heat_content_evap:hfevapds" ], [ "net_heat_coupler", @@ -174,7 +174,13 @@ "cpocean", "rhozero", "skeb_taper_v", - "skeb_taper_u" + "skeb_taper_u", + "dxt:dxto", + "dxCu:dxuo", + "dxCv:dxvo", + "dyt:dyto", + "dyCu:dyuo", + "dyCv:dyvo" ], [ "volcello", @@ -210,11 +216,11 @@ "u10_sqr" ], [ - "Geo_heat" + "hfgeou" ], [ "frunoff_glc", - "lrunoff_glc" + "lrunoff_glc:flandice" ], [ "KPP_QminusSW", @@ -227,14 +233,18 @@ [ "dispkexyfo", "hfibthermds", + "masso", "mlotstsq", "pbo", "S_adx_2d", "S_ady_2d", "sob", "sossq", + "t17d", + "t20d", "tob", "tossq", + "volo", "zos", "zossq", "BS_coeff_h" @@ -252,7 +262,12 @@ "tossq", "rsdo", "T_adx_2d", - "T_ady_2d" + "T_ady_2d", + "t20d" + ], + [ + "surface_stokes_x:sduo", + "surface_stokes_y:sduv" ] ], "FileDefaults": { @@ -388,12 +403,12 @@ "Heat_PmE" ], [ - "heat_content_lrunoff", + "heat_content_lrunoff:hfrunoffds", "heat_content_frunoff", - "heat_content_lprec", + "heat_content_lprec:hfrainds", "heat_content_fprec", "heat_content_cond", - "heat_content_evap" + "heat_content_evap:hfevapds" ], [ "tos", @@ -402,8 +417,8 @@ "sos", "sos:sos_min:min", "sos:sos_max:max", - "SSU", - "SSV", + "SSU:uos", + "SSV:vos", "opottempmint", "somint", "Rd_dx", @@ -421,14 +436,18 @@ [ "dispkexyfo", "hfibthermds", + "masso", "mlotstsq", "pbo", "S_adx_2d", "S_ady_2d", "sob", "sossq", + "t17d", + "t20d", "tob", "tossq", + "volo", "zos", "zossq", "BS_coeff_h" @@ -485,12 +504,12 @@ "Heat_PmE" ], [ - "heat_content_lrunoff", + "heat_content_lrunoff:hfrunoffds", "heat_content_frunoff", - "heat_content_lprec", + "heat_content_lprec:hfrainds", "heat_content_fprec", "heat_content_cond", - "heat_content_evap" + "heat_content_evap:hfevapds" ], [ "tos", @@ -499,8 +518,8 @@ "sos", "sos:sos_min:min", "sos:sos_max:max", - "SSU", - "SSV", + "SSU:uos", + "SSV:vos", "opottempmint", "somint", "Rd_dx", @@ -531,7 +550,7 @@ "$COMP_ATM == \"cam\"": [ [ "frunoff_glc", - "lrunoff_glc" + "lrunoff_glc:flandice" ] ] }, @@ -560,6 +579,14 @@ "salt_flux_added" ] ] + }, + "lists7": { + "$OCN_DIAG_MODE not in [\"spinup\", \"none\"] and $COMP_WAV == \"ww3\" and $MOM6_WW3_CPL_METHOD != \"none\"": [ + [ + "surface_stokes_x:sduo", + "surface_stokes_y:sduv" + ] + ] } } } @@ -578,7 +605,7 @@ "so", "agessc", "rhopot0", - "N2_int", + "N2_int:obvfsq", "rhopot2", "difvho", "difvso", @@ -604,7 +631,7 @@ "so", "agessc", "rhopot0", - "N2_int", + "N2_int:obvfsq", "rhopot2", "difvho", "difvso", @@ -671,8 +698,8 @@ "sos", "sos:sos_min:min", "sos:sos_max:max", - "SSU", - "SSV", + "SSU:uos", + "SSV:vos", "opottempmint", "somint", "Rd_dx", @@ -699,8 +726,8 @@ "sos", "sos:sos_min:min", "sos:sos_max:max", - "SSU", - "SSV", + "SSU:uos", + "SSV:vos", "opottempmint", "somint", "Rd_dx", @@ -722,7 +749,8 @@ "tossq", "rsdo", "T_adx_2d", - "T_ady_2d" + "T_ady_2d", + "t20d" ] ] } @@ -823,13 +851,19 @@ "cpocean", "rhozero", "skeb_taper_v", - "skeb_taper_u" + "skeb_taper_u", + "dxt:dxto", + "dxCu:dxuo", + "dxCv:dxvo", + "dyt:dyto", + "dyCu:dyuo", + "dyCv:dyvo" ] ], "lists2": { "$DO_GEOTHERMAL == \"True\"": [ [ - "Geo_heat" + "hfgeou" ] ] } From 479f136fb7c33c09590fe01d6f83be4ec2476d8a Mon Sep 17 00:00:00 2001 From: Ian Grooms Date: Tue, 8 Sep 2026 09:51:31 -0600 Subject: [PATCH 2/7] Update param_templates/diag_table.yaml Co-authored-by: Alper Altuntas --- param_templates/diag_table.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/param_templates/diag_table.yaml b/param_templates/diag_table.yaml index 11d1cb0..d3a5e8c 100644 --- a/param_templates/diag_table.yaml +++ b/param_templates/diag_table.yaml @@ -7,7 +7,7 @@ FieldLists: - &prognostic ["uo", "vo", "h", "e", "thetao", "so", "KE", "MEKE", "rhopot0", "rhopot2", "difvho", "difvso", "Kv_u", "Kv_v", "taux_bot", "tauy_bot"] - - &prognostic_z ["uo", "vo", "h", "thetao", "so", "agessc", "rhopot0", "N2_int:obvfsq", "rhopot2", + - &prognostic_z ["uo", "vo", "h", "thetao", "so", "agessc", "rhopot0", "obvfsq", "rhopot2", "difvho", "difvso", "Kv_u", "Kv_v"] - &prognostic_rho2 ["thetao", "so", "agessc", "e"] From 00f958ae3577c24ceba7d190e0b861fce42c7e32 Mon Sep 17 00:00:00 2001 From: Ian Grooms Date: Tue, 8 Sep 2026 09:52:00 -0600 Subject: [PATCH 3/7] Update param_templates/diag_table.yaml Co-authored-by: Alper Altuntas --- param_templates/diag_table.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/param_templates/diag_table.yaml b/param_templates/diag_table.yaml index d3a5e8c..e95652d 100644 --- a/param_templates/diag_table.yaml +++ b/param_templates/diag_table.yaml @@ -83,7 +83,7 @@ FieldLists: - &cmip7_sfc ["tossq", "rsdo", "T_adx_2d", "T_ady_2d", "t20d"] - - &cmip7_wave ["surface_stokes_x:sduo", "surface_stokes_y:sduv"] + - &cmip7_wave ["surface_stokes_x:sduo", "surface_stokes_y:sdvo"] ############################################################################### # Section 2: Defaults for all files, unless overridden in the file entry. From c6b45f3472ea685d0250ceb518584cc7c76edd51 Mon Sep 17 00:00:00 2001 From: Ian Grooms Date: Tue, 8 Sep 2026 09:54:18 -0600 Subject: [PATCH 4/7] Update param_templates/diag_table.yaml Co-authored-by: Alper Altuntas --- param_templates/diag_table.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/param_templates/diag_table.yaml b/param_templates/diag_table.yaml index e95652d..7cfab9e 100644 --- a/param_templates/diag_table.yaml +++ b/param_templates/diag_table.yaml @@ -76,7 +76,8 @@ FieldLists: - &cmip7_native ["dispkexyfo", "hfibthermds", "masso", "mlotstsq", "pbo", "S_adx_2d", "S_ady_2d", "sob", "sossq", "t17d", "t20d", - "tob", "tossq", "volo", "zos", "zossq", "BS_coeff_h"] + "tnkebto", "tob", "tossq", "volo", "zos", "zossq", + "BS_coeff_h"] - &cmip7_z ["opottempdiff", "T_advection_xy", "opottemptend", "osaltdiff", "S_advection_xy", "osalttend", "rsdoabsorb"] From ddcc61c9760efd737fd950a5476f634a71013f99 Mon Sep 17 00:00:00 2001 From: Ian Grooms Date: Tue, 8 Sep 2026 09:55:59 -0600 Subject: [PATCH 5/7] Update param_templates/diag_table.yaml Co-authored-by: Alper Altuntas --- param_templates/diag_table.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/param_templates/diag_table.yaml b/param_templates/diag_table.yaml index 7cfab9e..5ff5eaf 100644 --- a/param_templates/diag_table.yaml +++ b/param_templates/diag_table.yaml @@ -55,7 +55,7 @@ FieldLists: "wet_v", "Coriolis", "areacello", "areacello_cu", "areacello_cv", "areacello_bu", "sin_rot", "cos_rot", "cpocean", "rhozero", "skeb_taper_v", "skeb_taper_u", "dxt:dxto", "dxCu:dxuo", "dxCv:dxvo", - "dyt:dyto", "dyCu:dyuo", "dyCv:dyvo"] + "dyt:dyto", "dyCu:dyuo", "dyCv:dyvo", "sftof"] - &transports ["volcello", "vmo", "vhGM", "vhml", "umo", "uhGM", "uhml"] From 0c47835d6cc766800a4857e7c806d24aa046b0a5 Mon Sep 17 00:00:00 2001 From: Ian Grooms Date: Tue, 8 Sep 2026 09:57:41 -0600 Subject: [PATCH 6/7] Update param_templates/diag_table.yaml Co-authored-by: Alper Altuntas --- param_templates/diag_table.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/param_templates/diag_table.yaml b/param_templates/diag_table.yaml index 5ff5eaf..e80b905 100644 --- a/param_templates/diag_table.yaml +++ b/param_templates/diag_table.yaml @@ -168,7 +168,8 @@ Files: [ *forcing_flds_cg ] lists7: $OCN_DIAG_MODE not in ["spinup", "none"] and $COMP_WAV == "ww3" and $MOM6_WW3_CPL_METHOD != "none": - [ *cmip7_wave ] + $WAVE_METHOD == "SURFACE_BANDS": + [ *cmip7_wave ] # essential variables mapped to z space h.z: From 14afc896d0d96d911cebf07897f363010ced2bd2 Mon Sep 17 00:00:00 2001 From: Ian Grooms Date: Tue, 8 Sep 2026 09:59:09 -0600 Subject: [PATCH 7/7] json --- param_templates/json/diag_table.json | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/param_templates/json/diag_table.json b/param_templates/json/diag_table.json index 376b3d7..7452613 100644 --- a/param_templates/json/diag_table.json +++ b/param_templates/json/diag_table.json @@ -26,7 +26,7 @@ "so", "agessc", "rhopot0", - "N2_int:obvfsq", + "obvfsq", "rhopot2", "difvho", "difvso", @@ -180,7 +180,8 @@ "dxCv:dxvo", "dyt:dyto", "dyCu:dyuo", - "dyCv:dyvo" + "dyCv:dyvo", + "sftof" ], [ "volcello", @@ -242,6 +243,7 @@ "sossq", "t17d", "t20d", + "tnkebto", "tob", "tossq", "volo", @@ -267,7 +269,7 @@ ], [ "surface_stokes_x:sduo", - "surface_stokes_y:sduv" + "surface_stokes_y:sdvo" ] ], "FileDefaults": { @@ -445,6 +447,7 @@ "sossq", "t17d", "t20d", + "tnkebto", "tob", "tossq", "volo", @@ -581,12 +584,14 @@ ] }, "lists7": { - "$OCN_DIAG_MODE not in [\"spinup\", \"none\"] and $COMP_WAV == \"ww3\" and $MOM6_WW3_CPL_METHOD != \"none\"": [ - [ - "surface_stokes_x:sduo", - "surface_stokes_y:sduv" + "$OCN_DIAG_MODE not in [\"spinup\", \"none\"] and $COMP_WAV == \"ww3\" and $MOM6_WW3_CPL_METHOD != \"none\"": { + "$WAVE_METHOD == \"SURFACE_BANDS\"": [ + [ + "surface_stokes_x:sduo", + "surface_stokes_y:sdvo" + ] ] - ] + } } } } @@ -605,7 +610,7 @@ "so", "agessc", "rhopot0", - "N2_int:obvfsq", + "obvfsq", "rhopot2", "difvho", "difvso", @@ -631,7 +636,7 @@ "so", "agessc", "rhopot0", - "N2_int:obvfsq", + "obvfsq", "rhopot2", "difvho", "difvso", @@ -857,7 +862,8 @@ "dxCv:dxvo", "dyt:dyto", "dyCu:dyuo", - "dyCv:dyvo" + "dyCv:dyvo", + "sftof" ] ], "lists2": {