diff --git a/.gitmodules b/.gitmodules
index 2a0a1f1..df2418f 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -2,7 +2,7 @@
path = MOM6
url = https://github.com/NCAR/MOM6.git
fxDONOTUSEurl = https://github.com/NCAR/MOM6.git
- fxtag = dev/ncar_260624
+ fxtag = dev/ncar_260713
fxrequired = AlwaysRequired
[submodule "stochastic_physics"]
@@ -16,6 +16,6 @@
path = externals/MARBL
url = https://github.com/marbl-ecosys/MARBL.git
fxDONOTUSEurl = https://github.com/marbl-ecosys/MARBL.git
- fxtag = marbl0.49.0
+ fxtag = marbl0.50.0
fxrequired = AlwaysRequired
diff --git a/MOM6 b/MOM6
index c37361e..fb10e56 160000
--- a/MOM6
+++ b/MOM6
@@ -1 +1 @@
-Subproject commit c37361ed68c2367c364db1e4d8238aca4e0c6349
+Subproject commit fb10e568e4980bc6a7e8a5c0362c7e51ee90ba27
diff --git a/cime_config/testdefs/testlist_mom.xml b/cime_config/testdefs/testlist_mom.xml
index 22a7f80..dfca75a 100644
--- a/cime_config/testdefs/testlist_mom.xml
+++ b/cime_config/testdefs/testlist_mom.xml
@@ -102,7 +102,7 @@
-
+
@@ -110,7 +110,7 @@
-
+
@@ -119,7 +119,7 @@
-
+
@@ -129,7 +129,7 @@
-
+
@@ -138,7 +138,7 @@
-
+
diff --git a/externals/MARBL b/externals/MARBL
index b5cf6bd..403f6c5 160000
--- a/externals/MARBL
+++ b/externals/MARBL
@@ -1 +1 @@
-Subproject commit b5cf6bd48640b7d0e7e488da02b81b29e3aaaafa
+Subproject commit 403f6c50bba305d59910031dae33ff0629fb8602
diff --git a/param_templates/MOM_input.yaml b/param_templates/MOM_input.yaml
index 04b15f8..83335d6 100644
--- a/param_templates/MOM_input.yaml
+++ b/param_templates/MOM_input.yaml
@@ -355,29 +355,35 @@ Global:
for the MARBL tracer package."
datatype: string
value:
- $MARBL_CONFIG == "latest": ecosys_jan_IC_omip_latlon_1x1_180W_c250613.nc
- $MARBL_CONFIG == "latest+4p2z": ecosys_jan_IC_omip_latlon_1x1_180W_c250613.nc
- MARBL_FESEDFLUX_FILE:
+ $RUN_TYPE == "hybrid":
+ = f'./{$RUN_REFCASE}.mom6{$INST_SUFFIX}.r.{$RUN_REFDATE}-{$RUN_REFTOD}.nc'
+ else:
+ $MARBL_CONFIG == "latest": ${DIN_LOC_ROOT}/ocn/mom/grid_indpt/ecosys_jan_IC_omip_latlon_1x1_180W_c250613.nc
+ $MARBL_CONFIG == "latest+4p2z": ${DIN_LOC_ROOT}/ocn/mom/grid_indpt/ecosys_jan_IC_omip_latlon_1x1_180W_c250613.nc
+ MARBL_TRACERS_IC_FILE_IS_Z:
description: |
- "Name of file containing iron sediment flux
- forcing field for the MARBL tracer package."
- datatype: string
+ "[Boolean] default = True
+ If true, MARBL_TRACERS_IC_FILE is in depth space, not layer space."
+ datatype: logical
+ units: Boolean
value:
- '"BASE_BIO_ON=TRUE" in $MARBL_TRACER_OPTS and $OCN_GRID == "tx2_3v2"': fesedflux_2024algo_tx2_3v2.c251229.nc
- MARBL_FESEDFLUXRED_FILE:
+ $RUN_TYPE == "hybrid": False
+ MARBL_IC_MIN_VAL:
description: |
- "Name of file containing iron reducing sediment flux
- forcing field for the MARBL tracer package."
- datatype: string
+ "Minimum value of tracer initial conditions
+ (when initializing from Z)"
+ datatype: real
+ units: conc units
value:
- '"BASE_BIO_ON=TRUE" in $MARBL_TRACER_OPTS and $OCN_GRID == "tx2_3v2"': fesedfluxRed_2024algo_tx2_3v2.c251229.nc
- MARBL_FEVENTFLUX_FILE:
+ '"BASE_BIO_ON=TRUE" in $MARBL_TRACER_OPTS and $TEST': 1e-50
+ MARBL_FE_INTERIOR_SOURCE_FILE:
description: |
- "Name of file containing iron sediment flux
- forcing field for the MARBL tracer package."
+ "Name of file containing iron sediment fluxes and vent
+ flux forcing fields for the MARBL tracer package."
datatype: string
value:
- '"BASE_BIO_ON=TRUE" in $MARBL_TRACER_OPTS and $OCN_GRID == "tx2_3v2"': feventflux_5gmol_tx2_3v2.c231205.nc
+ '"BASE_BIO_ON=TRUE" in $MARBL_TRACER_OPTS and $OCN_GRID == "tx2_3v2"': fe_sources_sed2024algo_tx2_3v2_20260711.nc
+ '"BASE_BIO_ON=TRUE" in $MARBL_TRACER_OPTS and $OCN_GRID == "tx2_3v3"': fe_sources_sed2024algo_vent2026algo_tx2_3v3.c260701.nc
READ_RIV_FLUXES:
description: |
"Use river fluxes provided by RIV_FLUX_FILE."
@@ -392,6 +398,8 @@ Global:
value:
'"BASE_BIO_ON=TRUE" in $MARBL_TRACER_OPTS and $OCN_GRID == "tx2_3v2" and $ROF_GRID == "JRA025"': riv_nut.gnews_gnm.rJRA025_to_tx2_3v2_nnsm_e333r100_230415.20240202.nc
'"BASE_BIO_ON=TRUE" in $MARBL_TRACER_OPTS and $OCN_GRID == "tx2_3v2" and $ROF_GRID == "r05"': riv_nut.gnews_gnm.r05_to_tx2_3v2_nnsm_e250r250_230914.20240202.nc
+ '"BASE_BIO_ON=TRUE" in $MARBL_TRACER_OPTS and $OCN_GRID == "tx2_3v3" and $ROF_GRID == "JRA025"': riv_nut.gnews_gnm.rJRA025_to_tx2_3v3_nnsm_e100r100_260306.20260424.nc
+ '"BASE_BIO_ON=TRUE" in $MARBL_TRACER_OPTS and $OCN_GRID == "tx2_3v3" and $ROF_GRID == "r05"': riv_nut.gnews_gnm.r05_to_tx2_3v3_nnsm_e100r100_260306.20260424.nc
MARBL_D14C_FILE_1:
description: |
"Name of file containing D14C forcing from 30 N to 90 N."
diff --git a/param_templates/input_data_list.yaml b/param_templates/input_data_list.yaml
index 2533dd1..7213e16 100644
--- a/param_templates/input_data_list.yaml
+++ b/param_templates/input_data_list.yaml
@@ -74,21 +74,18 @@ mom.input_data_list:
DIAG_COORD_DEF_RHO2:
$OCN_GRID in ["tx2_3v2", "tx2_3v3"]: "${INPUTDIR}/ocean_rho2_190917.nc"
MARBL_TRACERS_IC_FILE:
- $MARBL_CONFIG == "latest": "${INPUTDIR}/ecosys_jan_IC_omip_latlon_1x1_180W_c250613.nc"
- $MARBL_CONFIG == "latest+4p2z": "${INPUTDIR}/ecosys_jan_IC_omip_latlon_1x1_180W_c250613.nc"
- MARBL_FESEDFLUX_FILE:
+ $MARBL_CONFIG == "latest": "${DIN_LOC_ROOT}/ocn/mom/grid_indpt/ecosys_jan_IC_omip_latlon_1x1_180W_c250613.nc"
+ $MARBL_CONFIG == "latest+4p2z": "${DIN_LOC_ROOT}/ocn/mom/grid_indpt/ecosys_jan_IC_omip_latlon_1x1_180W_c250613.nc"
+ MARBL_FE_INTERIOR_SOURCE_FILE:
'"BASE_BIO_ON=TRUE" in $MARBL_TRACER_OPTS':
- $OCN_GRID == "tx2_3v2": "${INPUTDIR}/fesedflux_2024algo_tx2_3v2.c251229.nc"
- MARBL_FESEDFLUXRED_FILE:
- '"BASE_BIO_ON=TRUE" in $MARBL_TRACER_OPTS':
- $OCN_GRID == "tx2_3v2": "${INPUTDIR}/fesedfluxRed_2024algo_tx2_3v2.c251229.nc"
- MARBL_FEVENTFLUX_FILE:
- '"BASE_BIO_ON=TRUE" in $MARBL_TRACER_OPTS':
- $OCN_GRID == "tx2_3v2": "${INPUTDIR}/feventflux_5gmol_tx2_3v2.c231205.nc"
+ $OCN_GRID == "tx2_3v2": "${INPUTDIR}/fe_sources_sed2024algo_tx2_3v2_20260711.nc"
+ $OCN_GRID == "tx2_3v3": "${INPUTDIR}/fe_sources_sed2024algo_vent2026algo_tx2_3v3.c260701.nc"
RIV_FLUX_FILE:
'"BASE_BIO_ON=TRUE" in $MARBL_TRACER_OPTS':
- '$ROF_GRID == "JRA025" and $OCN_GRID == "tx2_3v2"': "${INPUTDIR}/riv_nut.gnews_gnm.rJRA025_to_tx2_3v2_nnsm_e333r100_230415.20240202.nc"
- '$ROF_GRID == "r05" and $OCN_GRID == "tx2_3v2"': "${INPUTDIR}/riv_nut.gnews_gnm.r05_to_tx2_3v2_nnsm_e250r250_230914.20240202.nc"
+ '$OCN_GRID == "tx2_3v2" and $ROF_GRID == "JRA025"': "${INPUTDIR}/riv_nut.gnews_gnm.rJRA025_to_tx2_3v2_nnsm_e333r100_230415.20240202.nc"
+ '$OCN_GRID == "tx2_3v2" and $ROF_GRID == "r05"': "${INPUTDIR}/riv_nut.gnews_gnm.r05_to_tx2_3v2_nnsm_e250r250_230914.20240202.nc"
+ '$OCN_GRID == "tx2_3v3" and $ROF_GRID == "JRA025"': "${INPUTDIR}/riv_nut.gnews_gnm.rJRA025_to_tx2_3v3_nnsm_e100r100_260306.20260424.nc"
+ '$OCN_GRID == "tx2_3v3" and $ROF_GRID == "r05"': "${INPUTDIR}/riv_nut.gnews_gnm.r05_to_tx2_3v3_nnsm_e100r100_260306.20260424.nc"
MARBL_D14C_FILE_1:
'"ABIO_DIC_ON=TRUE" in $MARBL_TRACER_OPTS': "${DIN_LOC_ROOT}/ocn/mom/grid_indpt/atm_delta_C14_CMIP6_sector1_global_1850-2015_yearly_v2.0_c240202.nc"
MARBL_D14C_FILE_2:
diff --git a/param_templates/json/MOM_input.json b/param_templates/json/MOM_input.json
index fb2e128..dba1d1b 100644
--- a/param_templates/json/MOM_input.json
+++ b/param_templates/json/MOM_input.json
@@ -258,29 +258,35 @@
"description": "\"Name of file containing initial conditions\nfor the MARBL tracer package.\"\n",
"datatype": "string",
"value": {
- "$MARBL_CONFIG == \"latest\"": "ecosys_jan_IC_omip_latlon_1x1_180W_c250613.nc",
- "$MARBL_CONFIG == \"latest+4p2z\"": "ecosys_jan_IC_omip_latlon_1x1_180W_c250613.nc"
+ "$RUN_TYPE == \"hybrid\"": "= f'./{$RUN_REFCASE}.mom6{$INST_SUFFIX}.r.{$RUN_REFDATE}-{$RUN_REFTOD}.nc'",
+ "else": {
+ "$MARBL_CONFIG == \"latest\"": "${DIN_LOC_ROOT}/ocn/mom/grid_indpt/ecosys_jan_IC_omip_latlon_1x1_180W_c250613.nc",
+ "$MARBL_CONFIG == \"latest+4p2z\"": "${DIN_LOC_ROOT}/ocn/mom/grid_indpt/ecosys_jan_IC_omip_latlon_1x1_180W_c250613.nc"
+ }
}
},
- "MARBL_FESEDFLUX_FILE": {
- "description": "\"Name of file containing iron sediment flux\n forcing field for the MARBL tracer package.\"\n",
- "datatype": "string",
+ "MARBL_TRACERS_IC_FILE_IS_Z": {
+ "description": "\"[Boolean] default = True\nIf true, MARBL_TRACERS_IC_FILE is in depth space, not layer space.\"\n",
+ "datatype": "logical",
+ "units": "Boolean",
"value": {
- "\"BASE_BIO_ON=TRUE\" in $MARBL_TRACER_OPTS and $OCN_GRID == \"tx2_3v2\"": "fesedflux_2024algo_tx2_3v2.c251229.nc"
+ "$RUN_TYPE == \"hybrid\"": false
}
},
- "MARBL_FESEDFLUXRED_FILE": {
- "description": "\"Name of file containing iron reducing sediment flux\n forcing field for the MARBL tracer package.\"\n",
- "datatype": "string",
+ "MARBL_IC_MIN_VAL": {
+ "description": "\"Minimum value of tracer initial conditions\n (when initializing from Z)\"\n",
+ "datatype": "real",
+ "units": "conc units",
"value": {
- "\"BASE_BIO_ON=TRUE\" in $MARBL_TRACER_OPTS and $OCN_GRID == \"tx2_3v2\"": "fesedfluxRed_2024algo_tx2_3v2.c251229.nc"
+ "\"BASE_BIO_ON=TRUE\" in $MARBL_TRACER_OPTS and $TEST": "1e-50"
}
},
- "MARBL_FEVENTFLUX_FILE": {
- "description": "\"Name of file containing iron sediment flux\n forcing field for the MARBL tracer package.\"\n",
+ "MARBL_FE_INTERIOR_SOURCE_FILE": {
+ "description": "\"Name of file containing iron sediment fluxes and vent\n flux forcing fields for the MARBL tracer package.\"\n",
"datatype": "string",
"value": {
- "\"BASE_BIO_ON=TRUE\" in $MARBL_TRACER_OPTS and $OCN_GRID == \"tx2_3v2\"": "feventflux_5gmol_tx2_3v2.c231205.nc"
+ "\"BASE_BIO_ON=TRUE\" in $MARBL_TRACER_OPTS and $OCN_GRID == \"tx2_3v2\"": "fe_sources_sed2024algo_tx2_3v2_20260711.nc",
+ "\"BASE_BIO_ON=TRUE\" in $MARBL_TRACER_OPTS and $OCN_GRID == \"tx2_3v3\"": "fe_sources_sed2024algo_vent2026algo_tx2_3v3.c260701.nc"
}
},
"READ_RIV_FLUXES": {
@@ -295,7 +301,9 @@
"datatype": "string",
"value": {
"\"BASE_BIO_ON=TRUE\" in $MARBL_TRACER_OPTS and $OCN_GRID == \"tx2_3v2\" and $ROF_GRID == \"JRA025\"": "riv_nut.gnews_gnm.rJRA025_to_tx2_3v2_nnsm_e333r100_230415.20240202.nc",
- "\"BASE_BIO_ON=TRUE\" in $MARBL_TRACER_OPTS and $OCN_GRID == \"tx2_3v2\" and $ROF_GRID == \"r05\"": "riv_nut.gnews_gnm.r05_to_tx2_3v2_nnsm_e250r250_230914.20240202.nc"
+ "\"BASE_BIO_ON=TRUE\" in $MARBL_TRACER_OPTS and $OCN_GRID == \"tx2_3v2\" and $ROF_GRID == \"r05\"": "riv_nut.gnews_gnm.r05_to_tx2_3v2_nnsm_e250r250_230914.20240202.nc",
+ "\"BASE_BIO_ON=TRUE\" in $MARBL_TRACER_OPTS and $OCN_GRID == \"tx2_3v3\" and $ROF_GRID == \"JRA025\"": "riv_nut.gnews_gnm.rJRA025_to_tx2_3v3_nnsm_e100r100_260306.20260424.nc",
+ "\"BASE_BIO_ON=TRUE\" in $MARBL_TRACER_OPTS and $OCN_GRID == \"tx2_3v3\" and $ROF_GRID == \"r05\"": "riv_nut.gnews_gnm.r05_to_tx2_3v3_nnsm_e100r100_260306.20260424.nc"
}
},
"MARBL_D14C_FILE_1": {
diff --git a/param_templates/json/input_data_list.json b/param_templates/json/input_data_list.json
index 2906bb5..c18a818 100644
--- a/param_templates/json/input_data_list.json
+++ b/param_templates/json/input_data_list.json
@@ -91,28 +91,21 @@
"$OCN_GRID in [\"tx2_3v2\", \"tx2_3v3\"]": "${INPUTDIR}/ocean_rho2_190917.nc"
},
"MARBL_TRACERS_IC_FILE": {
- "$MARBL_CONFIG == \"latest\"": "${INPUTDIR}/ecosys_jan_IC_omip_latlon_1x1_180W_c250613.nc",
- "$MARBL_CONFIG == \"latest+4p2z\"": "${INPUTDIR}/ecosys_jan_IC_omip_latlon_1x1_180W_c250613.nc"
+ "$MARBL_CONFIG == \"latest\"": "${DIN_LOC_ROOT}/ocn/mom/grid_indpt/ecosys_jan_IC_omip_latlon_1x1_180W_c250613.nc",
+ "$MARBL_CONFIG == \"latest+4p2z\"": "${DIN_LOC_ROOT}/ocn/mom/grid_indpt/ecosys_jan_IC_omip_latlon_1x1_180W_c250613.nc"
},
- "MARBL_FESEDFLUX_FILE": {
+ "MARBL_FE_INTERIOR_SOURCE_FILE": {
"\"BASE_BIO_ON=TRUE\" in $MARBL_TRACER_OPTS": {
- "$OCN_GRID == \"tx2_3v2\"": "${INPUTDIR}/fesedflux_2024algo_tx2_3v2.c251229.nc"
- }
- },
- "MARBL_FESEDFLUXRED_FILE": {
- "\"BASE_BIO_ON=TRUE\" in $MARBL_TRACER_OPTS": {
- "$OCN_GRID == \"tx2_3v2\"": "${INPUTDIR}/fesedfluxRed_2024algo_tx2_3v2.c251229.nc"
- }
- },
- "MARBL_FEVENTFLUX_FILE": {
- "\"BASE_BIO_ON=TRUE\" in $MARBL_TRACER_OPTS": {
- "$OCN_GRID == \"tx2_3v2\"": "${INPUTDIR}/feventflux_5gmol_tx2_3v2.c231205.nc"
+ "$OCN_GRID == \"tx2_3v2\"": "${INPUTDIR}/fe_sources_sed2024algo_tx2_3v2_20260711.nc",
+ "$OCN_GRID == \"tx2_3v3\"": "${INPUTDIR}/fe_sources_sed2024algo_vent2026algo_tx2_3v3.c260701.nc"
}
},
"RIV_FLUX_FILE": {
"\"BASE_BIO_ON=TRUE\" in $MARBL_TRACER_OPTS": {
- "$ROF_GRID == \"JRA025\" and $OCN_GRID == \"tx2_3v2\"": "${INPUTDIR}/riv_nut.gnews_gnm.rJRA025_to_tx2_3v2_nnsm_e333r100_230415.20240202.nc",
- "$ROF_GRID == \"r05\" and $OCN_GRID == \"tx2_3v2\"": "${INPUTDIR}/riv_nut.gnews_gnm.r05_to_tx2_3v2_nnsm_e250r250_230914.20240202.nc"
+ "$OCN_GRID == \"tx2_3v2\" and $ROF_GRID == \"JRA025\"": "${INPUTDIR}/riv_nut.gnews_gnm.rJRA025_to_tx2_3v2_nnsm_e333r100_230415.20240202.nc",
+ "$OCN_GRID == \"tx2_3v2\" and $ROF_GRID == \"r05\"": "${INPUTDIR}/riv_nut.gnews_gnm.r05_to_tx2_3v2_nnsm_e250r250_230914.20240202.nc",
+ "$OCN_GRID == \"tx2_3v3\" and $ROF_GRID == \"JRA025\"": "${INPUTDIR}/riv_nut.gnews_gnm.rJRA025_to_tx2_3v3_nnsm_e100r100_260306.20260424.nc",
+ "$OCN_GRID == \"tx2_3v3\" and $ROF_GRID == \"r05\"": "${INPUTDIR}/riv_nut.gnews_gnm.r05_to_tx2_3v3_nnsm_e100r100_260306.20260424.nc"
}
},
"MARBL_D14C_FILE_1": {