From 468da8ccd04c20190f1bfbbacf847b2f04f1251c Mon Sep 17 00:00:00 2001 From: Gustavo Marques Date: Wed, 8 Jan 2025 15:29:41 -0700 Subject: [PATCH 1/4] Update tx2_3v2 defaults for beta05 - Added new topographic edits and updated channel list. - Enabled COMPUTE_MONIN_OBUKHOV = True to improve the OBL seasonal cycle by limiting the OBL depth to no deeper than the Monin-Obukhov depth. - Updated background mixing parameters: - KV = 1.0E-6 - KD = 1.0E-7 - PRANDTL_BKGND = 10 - Configured MLE backup settings: - Set MLE_FRONT_LENGTH_FROM_FILE = True - Updated MLE_FL_FILE to "mle-lf-clim-tx2_3v2_20250108.nc" - Enabled Leithy parameterization with: - USE_LEITHY = True - LEITH_BI_CONST = 90.0 - LEITHY_CK = 1.0 (full backscatter) - LEITH_AH = False --- param_templates/MOM_input.yaml | 57 +++++++++++++++++++++++------ param_templates/json/MOM_input.json | 55 ++++++++++++++++++++-------- 2 files changed, 84 insertions(+), 28 deletions(-) diff --git a/param_templates/MOM_input.yaml b/param_templates/MOM_input.yaml index 4eb1503..ddf8652 100644 --- a/param_templates/MOM_input.yaml +++ b/param_templates/MOM_input.yaml @@ -558,6 +558,15 @@ Global: value: $OCN_GRID == "tx2_3v2": "ocean_topo_tx2_3v2_240501.nc" $OCN_GRID == "tx0.25v1": "ocean_topog.nc" + TOPO_EDITS_FILE: + description: | + "default = '' + The file from which to read a list of i,j,z topography overrides." + datatype: string + value: + $OCN_GRID == "tx2_3v2": "ocean_topo_tx2_3v2_240501.nc" + $OCN_GRID == "tx0.25v1": "ocean_topog.nc" + MAXIMUM_DEPTH: description: | "[m] @@ -1050,10 +1059,12 @@ Global: value: $OCN_GRID == "tx0.25v1": 0.01 $OCN_GRID == "MISOMIP": 0.001 - LEITH_AH: + USE_LEITHY: description: | "[Boolean] default = False - If true, use a biharmonic Leith nonlinear eddy viscosity." + If true, use a modified version of the biharmonic Leith nonlinear + eddy viscosity. This implementation can include harmonic backscatter + when LEITHY_CK > 0." datatype: logical units: Boolean value: @@ -1066,7 +1077,7 @@ Global: datatype: real units: nondim value: - $OCN_GRID == "tx2_3v2": 128.0 + $OCN_GRID == "tx2_3v2": 90.0 USE_LAND_MASK_FOR_HVISC: description: | "[Boolean] default = False @@ -1500,8 +1511,22 @@ Global: datatype: real units: m value: - $OCN_GRID == "tx2_3v2": 1000.0 $OCN_GRID == "tx0.25v1": 500.0 + MLE_FRONT_LENGTH_FROM_FILE: + description: | + "[Boolean] default = False + If true, the MLE front-length scale is read from a file." + datatype: logical + units: Boolean + value: + $OCN_GRID == "tx2_3v2": True + MLE_FL_FILE: + description: | + "The path to the file containing the MLE + front-length scale.." + datatype: string + value: + $OCN_GRID == "tx2_3v2": "mle-lf-clim-tx2_3v2_20250108.nc" MLE_MLD_DECAY_TIME: description: | "[s] default = 0.0 @@ -1585,7 +1610,7 @@ Global: datatype: real units: m2 s-1 value: - $OCN_GRID == "tx2_3v2": 0.0 + $OCN_GRID == "tx2_3v2": 1.0E-07 $OCN_GRID == "tx0.25v1": 1.5E-05 $OCN_GRID == "MISOMIP": 5.0E-05 else: 2.0E-05 @@ -1607,7 +1632,7 @@ Global: value: # KV/KD: $OCN_GRID == "tx0.25v1": = 1.0E-04 / 1.5E-05 $OCN_GRID == "MISOMIP": = 1.0E-04 / 5.0E-05 - else: = 1.0E-04 / 2.0E-05 + else: = 1.0E-06 / 1.0E-07 KD_MIN: description: | "[m2 s-1] default = 2.0E-07 @@ -1618,7 +1643,7 @@ Global: datatype: real units: m2 s-1 value: - $OCN_GRID == "tx2_3v2": 2.0E-07 + $OCN_GRID == "tx2_3v2": 1.0E-07 else: 2.0E-06 INT_TIDE_DECAY_SCALE: description: | @@ -2581,7 +2606,7 @@ Global: datatype: string value: $OCN_GRID == "tx0.25v1": "MOM_channels_global_025" - $OCN_GRID == "tx2_3v2": "MOM_channels_global_tx2_3v2_240501" + $OCN_GRID == "tx2_3v2": "channels_tx2_3v2_250107.txt" SMAG_BI_CONST: description: | "[nondim] default = 0.0 @@ -2720,7 +2745,8 @@ Global: The file from which to read a list of i,j,z topography overrides." datatype: string value: - $OCN_GRID == "tx0.25v1": "All_edits.nc" + $OCN_GRID == "tx2_3v2": 'topo_edits_tx2_3v2_250107.nc' + else: '' PARALLEL_RESTARTFILES: description: | "[Boolean] default = False @@ -3167,7 +3193,7 @@ Global: datatype: real units: m2 s-1 value: - $OCN_GRID == "tx2_3v2": 0.0 + $OCN_GRID == "tx2_3v2": 1.0E-06 else: 1.0E-04 KV_BBL_MIN: description: | @@ -3715,6 +3741,13 @@ KPP: If True, use Stokes Similarity package. datatype: logical value: - $COMP_WAV == "ww3" and $WAV_GRID in ["wtx2_3v2", "wgx3v7"]: True - + $COMP_WAV == "ww3" and $WAV_GRID in ["wtx2_3v2", "wgx3v7"]: True + COMPUTE_MONIN_OBUKHOV: + description: | + default = False + If True, limit the OBL depth to be no deeper than Monin-Obukhov depth. + datatype: logical + units: Boolean + value: + $OCN_GRID == "tx2_3v2": True ... diff --git a/param_templates/json/MOM_input.json b/param_templates/json/MOM_input.json index 37ca4fb..4328b5a 100644 --- a/param_templates/json/MOM_input.json +++ b/param_templates/json/MOM_input.json @@ -426,6 +426,14 @@ "$OCN_GRID == \"tx0.25v1\"": "ocean_topog.nc" } }, + "TOPO_EDITS_FILE": { + "description": "\"default =\nThe file from which to read a list of i,j,z topography overrides.\"\n", + "datatype": "string", + "value": { + "$OCN_GRID == \"tx2_3v2\"": "topo_edits_tx2_3v2_250107.nc", + "else": "" + } + }, "MAXIMUM_DEPTH": { "description": "\"[m]\nThe maximum depth of the ocean.\"\n", "datatype": "real", @@ -799,8 +807,8 @@ "$OCN_GRID == \"MISOMIP\"": 0.001 } }, - "LEITH_AH": { - "description": "\"[Boolean] default = False\nIf true, use a biharmonic Leith nonlinear eddy viscosity.\"\n", + "USE_LEITHY": { + "description": "\"[Boolean] default = False\nIf true, use a modified version of the biharmonic Leith nonlinear\neddy viscosity. This implementation can include harmonic backscatter\nwhen LEITHY_CK > 0.\"\n", "datatype": "logical", "units": "Boolean", "value": { @@ -812,7 +820,7 @@ "datatype": "real", "units": "nondim", "value": { - "$OCN_GRID == \"tx2_3v2\"": 128.0 + "$OCN_GRID == \"tx2_3v2\"": 90.0 } }, "USE_LAND_MASK_FOR_HVISC": { @@ -1125,10 +1133,24 @@ "datatype": "real", "units": "m", "value": { - "$OCN_GRID == \"tx2_3v2\"": 1000.0, "$OCN_GRID == \"tx0.25v1\"": 500.0 } }, + "MLE_FRONT_LENGTH_FROM_FILE": { + "description": "\"[Boolean] default = False\nIf true, the MLE front-length scale is read from a file.\"\n", + "datatype": "logical", + "units": "Boolean", + "value": { + "$OCN_GRID == \"tx2_3v2\"": true + } + }, + "MLE_FL_FILE": { + "description": "\"The path to the file containing the MLE\nfront-length scale..\"\n", + "datatype": "string", + "value": { + "$OCN_GRID == \"tx2_3v2\"": "mle-lf-clim-tx2_3v2_20250108.nc" + } + }, "MLE_MLD_DECAY_TIME": { "description": "\"[s] default = 0.0\nThe time-scale for a running-mean filter applied to the mixed-layer\ndepth used in the MLE restratification parameterization. When\nthe MLD deepens below the current running-mean the running-mean\nis instantaneously set to the current MLD.\"\n", "datatype": "real", @@ -1195,7 +1217,7 @@ "datatype": "real", "units": "m2 s-1", "value": { - "$OCN_GRID == \"tx2_3v2\"": 0.0, + "$OCN_GRID == \"tx2_3v2\"": 1e-07, "$OCN_GRID == \"tx0.25v1\"": 1.5e-05, "$OCN_GRID == \"MISOMIP\"": 5e-05, "else": 2e-05 @@ -1214,7 +1236,7 @@ "value": { "$OCN_GRID == \"tx0.25v1\"": "= 1.0E-04 / 1.5E-05", "$OCN_GRID == \"MISOMIP\"": "= 1.0E-04 / 5.0E-05", - "else": "= 1.0E-04 / 2.0E-05" + "else": "= 1.0E-06 / 1.0E-07" } }, "KD_MIN": { @@ -1222,7 +1244,7 @@ "datatype": "real", "units": "m2 s-1", "value": { - "$OCN_GRID == \"tx2_3v2\"": 2e-07, + "$OCN_GRID == \"tx2_3v2\"": 1e-07, "else": 2e-06 } }, @@ -2040,7 +2062,7 @@ "datatype": "string", "value": { "$OCN_GRID == \"tx0.25v1\"": "MOM_channels_global_025", - "$OCN_GRID == \"tx2_3v2\"": "MOM_channels_global_tx2_3v2_240501" + "$OCN_GRID == \"tx2_3v2\"": "channels_tx2_3v2_250107.txt" } }, "SMAG_BI_CONST": { @@ -2153,13 +2175,6 @@ "$OCN_GRID == \"tx0.25v1\"": true } }, - "TOPO_EDITS_FILE": { - "description": "\"default =\nThe file from which to read a list of i,j,z topography overrides.\"\n", - "datatype": "string", - "value": { - "$OCN_GRID == \"tx0.25v1\"": "All_edits.nc" - } - }, "PARALLEL_RESTARTFILES": { "description": "\"[Boolean] default = False\nIf true, each processor writes its own restart file,\notherwise a single restart file is generated\"\n", "datatype": "logical", @@ -2535,7 +2550,7 @@ "datatype": "real", "units": "m2 s-1", "value": { - "$OCN_GRID == \"tx2_3v2\"": 0.0, + "$OCN_GRID == \"tx2_3v2\"": 1e-06, "else": 0.0001 } }, @@ -3011,6 +3026,14 @@ "value": { "$COMP_WAV == \"ww3\" and $WAV_GRID in [\"wtx2_3v2\", \"wgx3v7\"]": true } + }, + "COMPUTE_MONIN_OBUKHOV": { + "description": "default = False\nIf True, limit the OBL depth to be no deeper than Monin-Obukhov depth.\n", + "datatype": "logical", + "units": "Boolean", + "value": { + "$OCN_GRID == \"tx2_3v2\"": true + } } } } \ No newline at end of file From 7211c30815a326d931b2d9333a83682fcc2596a8 Mon Sep 17 00:00:00 2001 From: Gustavo Marques Date: Thu, 9 Jan 2025 08:00:29 -0700 Subject: [PATCH 2/4] Add input files to the data list --- param_templates/input_data_list.yaml | 5 ++++- param_templates/json/input_data_list.json | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/param_templates/input_data_list.yaml b/param_templates/input_data_list.yaml index ea1c7e3..ed1fec4 100644 --- a/param_templates/input_data_list.yaml +++ b/param_templates/input_data_list.yaml @@ -18,6 +18,7 @@ mom.input_data_list: $OCN_GRID == "tx2_3v2": "${INPUTDIR}/ocean_topo_tx2_3v2_240501.nc" $OCN_GRID == "tx0.25v1": "${INPUTDIR}/ocean_topog.nc" TOPO_EDITS_FILE: + $OCN_GRID == "tx2_3v2": "${INPUTDIR}/ocean_topo_tx2_3v2_240501.nc" $OCN_GRID == "tx0.25v1": "${INPUTDIR}/All_edits.nc" TEMP_SALT_Z_INIT_FILE: $OCN_GRID in ["tx2_3v2", "tx0.25v1"]: @@ -34,7 +35,7 @@ mom.input_data_list: $OCN_GRID == "tx2_3v2": "${INPUTDIR}/energy_new_tx2_3_conserve_230415_cdf5.nc" $OCN_GRID == "tx0.25v1": "${INPUTDIR}/tidal_amplitude.v20140616.nc" CHANNEL_LIST_FILE: - $OCN_GRID == "tx2_3v2": "${INPUTDIR}/MOM_channels_global_tx2_3v2_240501" + $OCN_GRID == "tx2_3v2": "${INPUTDIR}/channels_tx2_3v2_250107.txt" $OCN_GRID == "tx0.25v1": "${INPUTDIR}/MOM_channels_global_025" GEOTHERMAL_FILE: $OCN_GRID == "tx2_3v2": "${INPUTDIR}/geothermal_davies2013_tx2_3_20240318_cdf5.nc" @@ -42,6 +43,8 @@ mom.input_data_list: CHL_FILE: $OCN_GRID == "tx0.25v1": "${INPUTDIR}/seawifs-clim-1997-2010.1440x1080.v20180328.nc" $OCN_GRID == "tx2_3v2": "${INPUTDIR}/seawifs-clim-1997-2010-tx2_3v2.230416.nc" + MLE_FL_FILE: + $OCN_GRID == "tx2_3v2": "${INPUTDIR}/mle-lf-clim-tx2_3v2_20250108.nc" CFC_BC_FILE: "${DIN_LOC_ROOT}/ocn/mom/grid_indpt/cfc_atm_20230310.nc" DIAG_COORD_DEF_RHO2: $OCN_GRID == "tx2_3v2": "${INPUTDIR}/ocean_rho2_190917.nc" diff --git a/param_templates/json/input_data_list.json b/param_templates/json/input_data_list.json index 5a116b2..f26ca0b 100644 --- a/param_templates/json/input_data_list.json +++ b/param_templates/json/input_data_list.json @@ -22,6 +22,7 @@ "$OCN_GRID == \"tx0.25v1\"": "${INPUTDIR}/ocean_topog.nc" }, "TOPO_EDITS_FILE": { + "$OCN_GRID == \"tx2_3v2\"": "${INPUTDIR}/ocean_topo_tx2_3v2_240501.nc", "$OCN_GRID == \"tx0.25v1\"": "${INPUTDIR}/All_edits.nc" }, "TEMP_SALT_Z_INIT_FILE": { @@ -43,7 +44,7 @@ "$OCN_GRID == \"tx0.25v1\"": "${INPUTDIR}/tidal_amplitude.v20140616.nc" }, "CHANNEL_LIST_FILE": { - "$OCN_GRID == \"tx2_3v2\"": "${INPUTDIR}/MOM_channels_global_tx2_3v2_240501", + "$OCN_GRID == \"tx2_3v2\"": "${INPUTDIR}/channels_tx2_3v2_250107.txt", "$OCN_GRID == \"tx0.25v1\"": "${INPUTDIR}/MOM_channels_global_025" }, "GEOTHERMAL_FILE": { @@ -54,6 +55,9 @@ "$OCN_GRID == \"tx0.25v1\"": "${INPUTDIR}/seawifs-clim-1997-2010.1440x1080.v20180328.nc", "$OCN_GRID == \"tx2_3v2\"": "${INPUTDIR}/seawifs-clim-1997-2010-tx2_3v2.230416.nc" }, + "MLE_FL_FILE": { + "$OCN_GRID == \"tx2_3v2\"": "${INPUTDIR}/mle-lf-clim-tx2_3v2_20250108.nc" + }, "CFC_BC_FILE": "${DIN_LOC_ROOT}/ocn/mom/grid_indpt/cfc_atm_20230310.nc", "DIAG_COORD_DEF_RHO2": { "$OCN_GRID == \"tx2_3v2\"": "${INPUTDIR}/ocean_rho2_190917.nc" From ef5a6b8e438f28f66e457c2dc3a16acf5df2b8b8 Mon Sep 17 00:00:00 2001 From: Gustavo Marques Date: Thu, 9 Jan 2025 08:04:19 -0700 Subject: [PATCH 3/4] Add missing input files to the data list --- param_templates/input_data_list.yaml | 2 +- param_templates/json/input_data_list.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/param_templates/input_data_list.yaml b/param_templates/input_data_list.yaml index ed1fec4..a97c2d8 100644 --- a/param_templates/input_data_list.yaml +++ b/param_templates/input_data_list.yaml @@ -18,7 +18,7 @@ mom.input_data_list: $OCN_GRID == "tx2_3v2": "${INPUTDIR}/ocean_topo_tx2_3v2_240501.nc" $OCN_GRID == "tx0.25v1": "${INPUTDIR}/ocean_topog.nc" TOPO_EDITS_FILE: - $OCN_GRID == "tx2_3v2": "${INPUTDIR}/ocean_topo_tx2_3v2_240501.nc" + $OCN_GRID == "tx2_3v2": "${INPUTDIR}/topo_edits_tx2_3v2_250107.nc" $OCN_GRID == "tx0.25v1": "${INPUTDIR}/All_edits.nc" TEMP_SALT_Z_INIT_FILE: $OCN_GRID in ["tx2_3v2", "tx0.25v1"]: diff --git a/param_templates/json/input_data_list.json b/param_templates/json/input_data_list.json index f26ca0b..30b4f1f 100644 --- a/param_templates/json/input_data_list.json +++ b/param_templates/json/input_data_list.json @@ -22,7 +22,7 @@ "$OCN_GRID == \"tx0.25v1\"": "${INPUTDIR}/ocean_topog.nc" }, "TOPO_EDITS_FILE": { - "$OCN_GRID == \"tx2_3v2\"": "${INPUTDIR}/ocean_topo_tx2_3v2_240501.nc", + "$OCN_GRID == \"tx2_3v2\"": "${INPUTDIR}/topo_edits_tx2_3v2_250107.nc", "$OCN_GRID == \"tx0.25v1\"": "${INPUTDIR}/All_edits.nc" }, "TEMP_SALT_Z_INIT_FILE": { From 2619750d05a3cb5e92bca523f5300867b21bb5cc Mon Sep 17 00:00:00 2001 From: Gustavo Marques Date: Thu, 9 Jan 2025 08:51:57 -0700 Subject: [PATCH 4/4] Remove duplication (TOPO_EDITS_FILE) --- param_templates/MOM_input.yaml | 13 ++----------- param_templates/json/MOM_input.json | 4 ++-- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/param_templates/MOM_input.yaml b/param_templates/MOM_input.yaml index 1fec7db..bbcd56b 100644 --- a/param_templates/MOM_input.yaml +++ b/param_templates/MOM_input.yaml @@ -566,9 +566,8 @@ Global: The file from which to read a list of i,j,z topography overrides." datatype: string value: - $OCN_GRID == "tx2_3v2": "ocean_topo_tx2_3v2_240501.nc" - $OCN_GRID == "tx0.25v1": "ocean_topog.nc" - + $OCN_GRID == "tx2_3v2": "topo_edits_tx2_3v2_250107.nc" + $OCN_GRID == "tx0.25v1": "All_edits.nc" MAXIMUM_DEPTH: description: | "[m] @@ -2722,14 +2721,6 @@ Global: value: $OCN_GRID == "tx2_3v2": True $OCN_GRID == "tx0.25v1": True - TOPO_EDITS_FILE: - description: | - "default = - The file from which to read a list of i,j,z topography overrides." - datatype: string - value: - $OCN_GRID == "tx2_3v2": 'topo_edits_tx2_3v2_250107.nc' - else: '' PARALLEL_RESTARTFILES: description: | "[Boolean] default = False diff --git a/param_templates/json/MOM_input.json b/param_templates/json/MOM_input.json index 90af4a5..83a101e 100644 --- a/param_templates/json/MOM_input.json +++ b/param_templates/json/MOM_input.json @@ -430,11 +430,11 @@ } }, "TOPO_EDITS_FILE": { - "description": "\"default =\nThe file from which to read a list of i,j,z topography overrides.\"\n", + "description": "\"default = ''\nThe file from which to read a list of i,j,z topography overrides.\"\n", "datatype": "string", "value": { "$OCN_GRID == \"tx2_3v2\"": "topo_edits_tx2_3v2_250107.nc", - "else": "" + "$OCN_GRID == \"tx0.25v1\"": "All_edits.nc" } }, "MAXIMUM_DEPTH": {