Skip to content

Commit 28e1f75

Browse files
committed
Merge branch 'main' into support_nvhpc
2 parents b4c5726 + 298d20a commit 28e1f75

7 files changed

Lines changed: 132 additions & 30 deletions

File tree

.gitmodules

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22
path = MOM6
33
url = https://github.com/NCAR/MOM6.git
44
fxDONOTUSEurl = https://github.com/NCAR/MOM6.git
5-
fxtag = dev/ncar_240903
5+
fxtag = dev/ncar_240923
66
fxrequired = AlwaysRequired
77

88
[submodule "stochastic_physics"]
99
path = externals/stochastic_physics
10-
url = https://github.com/iangrooms/stochastic_physics.git
11-
fxDONOTUSEurl = https://github.com/iangrooms/stochastic_physics.git
10+
url = https://github.com/ESCOMP/stochastic_physics.git
11+
fxDONOTUSEurl = https://github.com/ESCOMP/stochastic_physics.git
1212
fxtag = ocn_skeb_240807
1313
fxrequired = AlwaysRequired
1414

1515
[submodule "MARBL"]
1616
path = externals/MARBL
1717
url = https://github.com/marbl-ecosys/MARBL.git
1818
fxDONOTUSEurl = https://github.com/marbl-ecosys/MARBL.git
19-
fxtag = marbl0.47.0
19+
fxtag = marbl0.47.1
2020
fxrequired = AlwaysRequired
2121

cime_config/MARBL_scripts/MOM_MARBL_diagnostics.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,9 @@ def write_MARBL_diagnostics_file(
247247
full_diag_dict["O2"]["properties"]["has surface flux"] = True
248248
# DIC
249249
if "DIC" in full_diag_dict.keys():
250+
# STF_SALT_DIC is special case
251+
if valid_diag_modes.index(diag_mode) >= valid_diag_modes.index("minimal"):
252+
full_diag_dict["DIC"]["diags"]["STF_SALT_DIC"] = "medium_average"
250253
full_diag_dict["DIC"]["diags"]["DIC_RIV_FLUX"] = freq_op
251254
full_diag_dict["DIC"]["diags"]["J_DIC"] = freq_op
252255
full_diag_dict["DIC"]["diags"]["Jint_100m_DIC"] = Jint_100m_freq_op["DIC"]
@@ -265,6 +268,9 @@ def write_MARBL_diagnostics_file(
265268
full_diag_dict["DIC_ALT_CO2"]["properties"]["has surface flux"] = True
266269
# ALK
267270
if "ALK" in full_diag_dict.keys():
271+
# STF_SALT_ALK is special case
272+
if valid_diag_modes.index(diag_mode) >= valid_diag_modes.index("minimal"):
273+
full_diag_dict["ALK"]["diags"]["STF_SALT_ALK"] = "medium_average"
268274
full_diag_dict["ALK"]["diags"]["ALK_RIV_FLUX"] = freq_op
269275
full_diag_dict["ALK"]["diags"]["STF_ALK"] = freq_op
270276
full_diag_dict["ALK"]["diags"]["J_ALK"] = low_freq_op
@@ -353,6 +359,11 @@ def write_MARBL_diagnostics_file(
353359
full_diag_dict["DO14Ctot"]["properties"]["has surface flux"] = True
354360
# ABIO_DIC
355361
if "ABIO_DIC" in full_diag_dict.keys():
362+
# STF_SALT_ABIO_DIC is special case
363+
if valid_diag_modes.index(diag_mode) >= valid_diag_modes.index("minimal"):
364+
full_diag_dict["ABIO_DIC"]["diags"][
365+
"STF_SALT_ABIO_DIC"
366+
] = "medium_average"
356367
# full_diag_dict['ABIO_DIC']['diags']['J_ABIO_DIC'] = freq_op
357368
full_diag_dict["ABIO_DIC"]["diags"]["STF_ABIO_DIC"] = freq_op
358369
# full_diag_dict['ABIO_DIC']['diags']['FvPER_ABIO_DIC'] = freq_op

cime_config/config_component.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@
7373
<valid_values>zstar_75L,zstar_65L,hycom1,sigma_shelf_zstar</valid_values>
7474
<default_value>zstar_65L</default_value>
7575
<values>
76+
<value grid="oi%tx2_3v2">hycom1</value>
7677
<value grid="oi%tx0.25v1">hycom1</value>
7778
<value grid="oi%MISOMIP">sigma_shelf_zstar</value>
7879
</values>

param_templates/MOM_input.yaml

Lines changed: 63 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -115,16 +115,6 @@ Global:
115115
units: Boolean
116116
value:
117117
$OCN_GRID == "tx2_3v2": False
118-
DIABATIC_FIRST:
119-
description: |
120-
"[Boolean] default = False
121-
If true, apply diabatic and thermodynamic processes,
122-
including buoyancy forcing and mass gain or loss,
123-
before stepping the dynamics forward."
124-
datatype: logical
125-
units: Boolean
126-
value:
127-
$OCN_GRID == "tx2_3v2": True
128118
USE_REGRIDDING:
129119
description: |
130120
"[Boolean] default = False
@@ -615,6 +605,16 @@ Global:
615605
PQM_IH6IH5 (5th-order accurate)"
616606
datatype: string
617607
value: "PPM_CW"
608+
REMAP_VEL_CONSERVE_KE:
609+
description: |
610+
"[Boolean] default = False
611+
If true, a correction is applied to the baroclinic component of velocity after
612+
remapping so that total KE is conserved. KE may not be conserved when
613+
(CS%BBL_h_vel_mask > 0.0) .and. (CS%h_vel_mask > 0.0)"
614+
datatype: logical
615+
units: Boolean
616+
value:
617+
$OCN_GRID == "tx2_3v2": False
618618
INIT_LAYERS_FROM_Z_FILE:
619619
description: |
620620
"[Boolean] default = False
@@ -662,6 +662,15 @@ Global:
662662
datatype: logical
663663
units: Boolean
664664
value: False
665+
Z_INIT_REMAP_GENERAL:
666+
description: |
667+
"[Boolean] default = False
668+
If false, only initializes to z* coordinates. If true, allows initialization
669+
directly to general coordinates."
670+
datatype: logical
671+
units: Boolean
672+
value:
673+
$MOM6_VERTICAL_GRID == "hycom1" and $OCN_GRID in ["tx2_3v2"]: True
665674
USE_VARIABLE_MIXING:
666675
description: |
667676
"[Boolean] default = False
@@ -913,7 +922,7 @@ Global:
913922
datatype: real
914923
units: not defined
915924
value:
916-
$MOM6_VERTICAL_GRID == "hycom1": 0.01
925+
$MOM6_VERTICAL_GRID == "hycom1": 0.0
917926
MAXIMUM_INT_DEPTH_CONFIG:
918927
description: |
919928
"default = 'NONE'
@@ -943,7 +952,9 @@ Global:
943952
The list of maximum thickness for each layer."
944953
datatype: string
945954
value:
946-
$MOM6_VERTICAL_GRID == "hycom1": '"FNC1:400,31000.0,0.1,.01"'
955+
$MOM6_VERTICAL_GRID == "hycom1" and $OCN_GRID in ["tx2_3v2"]: |
956+
'"FILE:${DIN_LOC_ROOT}/ocn/mom/grid_indpt/dz_max_90th_quantile.nc,dz"'
957+
else: '"FNC1:400,31000.0,0.1,.01"'
947958
BOUND_CORIOLIS:
948959
description: |
949960
"[Boolean] default = False
@@ -1366,6 +1377,24 @@ Global:
13661377
value:
13671378
$OCN_GRID == "tx2_3v2": 0.0
13681379
$OCN_GRID == "MISOMIP": 0.0
1380+
KHTH_MIN:
1381+
description: |
1382+
"[m2 s-1] default = 0.0
1383+
The minimum horizontal thickness diffusivity"
1384+
datatype: real
1385+
units: m2 s-1
1386+
value:
1387+
$OCN_GRID == "tx2_3v2": 50.0
1388+
FULL_DEPTH_KHTH_MIN:
1389+
description: |
1390+
"[Boolean] default = False
1391+
KHTH_MIN is enforced throughout the whole water column. Otherwise,
1392+
KHTH_MIN is only enforced at the surface. This parameter is only available
1393+
when KHTH_USE_EBT_STRUCT=True and KHTH_MIN>0."
1394+
datatype: logical
1395+
units: Boolean
1396+
value:
1397+
$OCN_GRID == "tx2_3v2": True
13691398
KHTH_MAX_CFL:
13701399
description: |
13711400
"[nondimensional] default = 0.8
@@ -2001,7 +2030,18 @@ Global:
20012030
datatype: integer
20022031
value:
20032032
$OCN_GRID == "tx0.25v1": 3
2004-
$OCN_GRID == "tx2_3v2": 3
2033+
$OCN_GRID == "tx2_3v2": 2
2034+
OPACITY_SCHEME:
2035+
description: |
2036+
"default = 'MANIZZA_05'
2037+
This character string specifies how chlorophyll concentrations are translated
2038+
into opacities. Currently valid options include:
2039+
MANIZZA_05 - Use Manizza et al., GRL, 2005.
2040+
MOREL_88 - Use Morel, JGR, 1988.
2041+
OHLMANN_03 - Use Ohlmann, J Clim, 2003."
2042+
datatype: string
2043+
value:
2044+
$OCN_GRID == "tx2_3v2": "OHLMANN_03"
20052045
TRACER_ADVECTION_SCHEME:
20062046
description: |
20072047
"default = 'PLM'
@@ -2037,6 +2077,16 @@ Global:
20372077
units: m2 s-1
20382078
value:
20392079
$OCN_GRID == "tx2_3v2": 50.0
2080+
FULL_DEPTH_KHTR_MIN:
2081+
description: |
2082+
"[Boolean] default = False
2083+
KHTR_MIN is enforced throughout the whole water column. Otherwise,
2084+
KHTR_MIN is only enforced at the surface. This parameter is only available
2085+
when KHTR_USE_EBT_STRUCT=True and KHTR_MIN>0."
2086+
datatype: logical
2087+
units: Boolean
2088+
value:
2089+
$OCN_GRID == "tx2_3v2": True
20402090
DEBUG:
20412091
description: |
20422092
"If true, write out verbose debugging data."

param_templates/json/MOM_input.json

Lines changed: 51 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,6 @@
6868
"$OCN_GRID == \"tx2_3v2\"": false
6969
}
7070
},
71-
"DIABATIC_FIRST": {
72-
"description": "\"[Boolean] default = False\nIf true, apply diabatic and thermodynamic processes,\nincluding buoyancy forcing and mass gain or loss,\nbefore stepping the dynamics forward.\"\n",
73-
"datatype": "logical",
74-
"units": "Boolean",
75-
"value": {
76-
"$OCN_GRID == \"tx2_3v2\"": true
77-
}
78-
},
7971
"USE_REGRIDDING": {
8072
"description": "\"[Boolean] default = False\nIf True, use the ALE algorithm (regridding/remapping).\nIf False, use the layered isopycnal algorithm.\"\n",
8173
"datatype": "logical",
@@ -467,6 +459,14 @@
467459
"datatype": "string",
468460
"value": "PPM_CW"
469461
},
462+
"REMAP_VEL_CONSERVE_KE": {
463+
"description": "\"[Boolean] default = False\nIf true, a correction is applied to the baroclinic component of velocity after\nremapping so that total KE is conserved. KE may not be conserved when\n(CS%BBL_h_vel_mask > 0.0) .and. (CS%h_vel_mask > 0.0)\"\n",
464+
"datatype": "logical",
465+
"units": "Boolean",
466+
"value": {
467+
"$OCN_GRID == \"tx2_3v2\"": false
468+
}
469+
},
470470
"INIT_LAYERS_FROM_Z_FILE": {
471471
"description": "\"[Boolean] default = False\nIf true, intialize the layer thicknesses, temperatures,\nand salnities from a Z-space file on a latitude-\nlongitude grid.\"\n",
472472
"datatype": "logical",
@@ -505,6 +505,14 @@
505505
"units": "Boolean",
506506
"value": false
507507
},
508+
"Z_INIT_REMAP_GENERAL": {
509+
"description": "\"[Boolean] default = False\nIf false, only initializes to z* coordinates. If true, allows initialization\ndirectly to general coordinates.\"\n",
510+
"datatype": "logical",
511+
"units": "Boolean",
512+
"value": {
513+
"$MOM6_VERTICAL_GRID == \"hycom1\" and $OCN_GRID in [\"tx2_3v2\"]": true
514+
}
515+
},
508516
"USE_VARIABLE_MIXING": {
509517
"description": "\"[Boolean] default = False\nIf true, the variable mixing code will be called. This\nallows diagnostics to be created even if the scheme is\nnot used. If KHTR_SLOPE_CFF>0 or KhTh_Slope_Cff>0,\nthis is set to true regardless of what is in the\nparameter file.\"\n",
510518
"datatype": "logical",
@@ -694,7 +702,7 @@
694702
"datatype": "real",
695703
"units": "not defined",
696704
"value": {
697-
"$MOM6_VERTICAL_GRID == \"hycom1\"": 0.01
705+
"$MOM6_VERTICAL_GRID == \"hycom1\"": 0.0
698706
}
699707
},
700708
"MAXIMUM_INT_DEPTH_CONFIG": {
@@ -708,7 +716,8 @@
708716
"description": "\"default = 'NONE'\nDetermines how to specify the maximum layer thicknesses.\nValid options are:\nNONE - there are no maximum layer thicknesses\nPARAM - use the vector-parameter MAX_LAYER_THICKNESS\nFILE:string - read from a file. The string specifies\nthe filename and variable name, separated\nby a comma or space, e.g. FILE:lev.nc,Z\nFNC1:string - FNC1:dz_min,H_total,power,precision\nThe list of maximum thickness for each layer.\"\n",
709717
"datatype": "string",
710718
"value": {
711-
"$MOM6_VERTICAL_GRID == \"hycom1\"": "\"FNC1:400,31000.0,0.1,.01\""
719+
"$MOM6_VERTICAL_GRID == \"hycom1\" and $OCN_GRID in [\"tx2_3v2\"]": "'\"FILE:${DIN_LOC_ROOT}/ocn/mom/grid_indpt/dz_max_90th_quantile.nc,dz\"'\n",
720+
"else": "\"FNC1:400,31000.0,0.1,.01\""
712721
}
713722
},
714723
"BOUND_CORIOLIS": {
@@ -1021,6 +1030,22 @@
10211030
"$OCN_GRID == \"MISOMIP\"": 0.0
10221031
}
10231032
},
1033+
"KHTH_MIN": {
1034+
"description": "\"[m2 s-1] default = 0.0\nThe minimum horizontal thickness diffusivity\"\n",
1035+
"datatype": "real",
1036+
"units": "m2 s-1",
1037+
"value": {
1038+
"$OCN_GRID == \"tx2_3v2\"": 50.0
1039+
}
1040+
},
1041+
"FULL_DEPTH_KHTH_MIN": {
1042+
"description": "\"[Boolean] default = False\nKHTH_MIN is enforced throughout the whole water column. Otherwise,\nKHTH_MIN is only enforced at the surface. This parameter is only available\nwhen KHTH_USE_EBT_STRUCT=True and KHTH_MIN>0.\"\n",
1043+
"datatype": "logical",
1044+
"units": "Boolean",
1045+
"value": {
1046+
"$OCN_GRID == \"tx2_3v2\"": true
1047+
}
1048+
},
10241049
"KHTH_MAX_CFL": {
10251050
"description": "\"[nondimensional] default = 0.8\nThe maximum value of the local diffusive CFL ratio that\nis permitted for the thickness diffusivity. 1.0 is the\nmarginally unstable value in a pure layered model, but\nmuch smaller numbers (e.g. 0.1) seem to work better for\nALE-based models.\"\n",
10261051
"datatype": "real",
@@ -1557,7 +1582,14 @@
15571582
"datatype": "integer",
15581583
"value": {
15591584
"$OCN_GRID == \"tx0.25v1\"": 3,
1560-
"$OCN_GRID == \"tx2_3v2\"": 3
1585+
"$OCN_GRID == \"tx2_3v2\"": 2
1586+
}
1587+
},
1588+
"OPACITY_SCHEME": {
1589+
"description": "\"default = 'MANIZZA_05'\nThis character string specifies how chlorophyll concentrations are translated\ninto opacities. Currently valid options include:\n MANIZZA_05 - Use Manizza et al., GRL, 2005.\n MOREL_88 - Use Morel, JGR, 1988.\n OHLMANN_03 - Use Ohlmann, J Clim, 2003.\"\n",
1590+
"datatype": "string",
1591+
"value": {
1592+
"$OCN_GRID == \"tx2_3v2\"": "OHLMANN_03"
15611593
}
15621594
},
15631595
"TRACER_ADVECTION_SCHEME": {
@@ -1592,6 +1624,14 @@
15921624
"$OCN_GRID == \"tx2_3v2\"": 50.0
15931625
}
15941626
},
1627+
"FULL_DEPTH_KHTR_MIN": {
1628+
"description": "\"[Boolean] default = False\nKHTR_MIN is enforced throughout the whole water column. Otherwise,\nKHTR_MIN is only enforced at the surface. This parameter is only available\nwhen KHTR_USE_EBT_STRUCT=True and KHTR_MIN>0.\"\n",
1629+
"datatype": "logical",
1630+
"units": "Boolean",
1631+
"value": {
1632+
"$OCN_GRID == \"tx2_3v2\"": true
1633+
}
1634+
},
15951635
"DEBUG": {
15961636
"description": "\"If true, write out verbose debugging data.\"\n",
15971637
"datatype": "logical",

0 commit comments

Comments
 (0)