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": {