diff --git a/.gitmodules b/.gitmodules
index 8455bd9ab..3f859393f 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -22,10 +22,6 @@
path = src/Icepack
url = https://github.com/CICE-Consortium/Icepack.git
branch = Icepack1.3.3
-[submodule "src/ocean_BGC"]
- path = src/ocean_BGC
- url = https://github.com/NOAA-CEFI-Regional-Ocean-Modeling/ocean_BGC.git
- branch = dev/cefi
[submodule "src/ice_param"]
path = src/ice_param
url = https://github.com/NOAA-GFDL/ice_param.git
@@ -46,3 +42,7 @@
path = src/coupler
url = https://github.com/NOAA-GFDL/FMScoupler.git
branch = 2024.01.01
+[submodule "src/ocean_BGC"]
+ path = src/ocean_BGC
+ url = https://github.com/NOAA-CEFI-Regional-Ocean-Modeling/ocean_BGC.git
+ branch = dev/cefi
diff --git a/exps/NEP10.COBALT/INPUT/COBALT_input b/exps/NEP10.COBALT/INPUT/COBALT_input
new file mode 100644
index 000000000..e86610e2a
--- /dev/null
+++ b/exps/NEP10.COBALT/INPUT/COBALT_input
@@ -0,0 +1 @@
+do_case2_mod = True
diff --git a/exps/NEP10.COBALT/INPUT/COBALT_override b/exps/NEP10.COBALT/INPUT/COBALT_override
new file mode 100644
index 000000000..e69de29bb
diff --git a/exps/NEP10.COBALT/input.nml_24hr b/exps/NEP10.COBALT/input.nml_24hr
index a76c96c44..93ac44a23 100644
--- a/exps/NEP10.COBALT/input.nml_24hr
+++ b/exps/NEP10.COBALT/input.nml_24hr
@@ -14,6 +14,11 @@
parameter_filename = 'INPUT/SIS_input','INPUT/SIS_layout','INPUT/SIS_override'
/
+ &cobalt_input_nml
+ parameter_filename = 'INPUT/COBALT_input',
+ 'INPUT/COBALT_override'
+/
+
&atmos_model_nml
layout= 1,1
/
diff --git a/exps/NEP10.COBALT/input.nml_24hr_rst b/exps/NEP10.COBALT/input.nml_24hr_rst
index 63bbb0890..520be27ee 100644
--- a/exps/NEP10.COBALT/input.nml_24hr_rst
+++ b/exps/NEP10.COBALT/input.nml_24hr_rst
@@ -14,6 +14,11 @@
parameter_filename = 'INPUT/SIS_input','INPUT/SIS_layout','INPUT/SIS_override'
/
+ &cobalt_input_nml
+ parameter_filename = 'INPUT/COBALT_input',
+ 'INPUT/COBALT_override'
+/
+
&atmos_model_nml
layout= 1,1
/
diff --git a/exps/NEP10.COBALT/input.nml_48hr b/exps/NEP10.COBALT/input.nml_48hr
index 1df8e1b32..8fac62092 100644
--- a/exps/NEP10.COBALT/input.nml_48hr
+++ b/exps/NEP10.COBALT/input.nml_48hr
@@ -14,6 +14,11 @@
parameter_filename = 'INPUT/SIS_input','INPUT/SIS_layout','INPUT/SIS_override'
/
+ &cobalt_input_nml
+ parameter_filename = 'INPUT/COBALT_input',
+ 'INPUT/COBALT_override'
+/
+
&atmos_model_nml
layout= 1,1
/
diff --git a/exps/NWA12.COBALT/INPUT/COBALT_input b/exps/NWA12.COBALT/INPUT/COBALT_input
new file mode 100644
index 000000000..e86610e2a
--- /dev/null
+++ b/exps/NWA12.COBALT/INPUT/COBALT_input
@@ -0,0 +1 @@
+do_case2_mod = True
diff --git a/exps/NWA12.COBALT/INPUT/COBALT_override b/exps/NWA12.COBALT/INPUT/COBALT_override
new file mode 100644
index 000000000..e69de29bb
diff --git a/exps/NWA12.COBALT/driver.sh b/exps/NWA12.COBALT/driver.sh
index d382f4ab7..3e3290e2a 100644
--- a/exps/NWA12.COBALT/driver.sh
+++ b/exps/NWA12.COBALT/driver.sh
@@ -59,7 +59,7 @@ mv ocean.stats RESTART_24hrs_rst
# Define the directories containing the files
DIR1="./RESTART_24hrs_rst"
-DIR2="/gpfs/f5/cefi/proj-shared/github/ci_data/reference/main/NWA12.COBALT/20240531"
+DIR2="/gpfs/f5/cefi/proj-shared/github/ci_data/reference/main/NWA12.COBALT/20240606"
# Define the files to compare
FILES=("$DIR2"/*.nc)
diff --git a/exps/NWA12.COBALT/input.nml_24hr b/exps/NWA12.COBALT/input.nml_24hr
index 56ffc7f1d..0e8fb0a76 100644
--- a/exps/NWA12.COBALT/input.nml_24hr
+++ b/exps/NWA12.COBALT/input.nml_24hr
@@ -14,6 +14,11 @@
parameter_filename = 'INPUT/SIS_input','INPUT/SIS_layout','INPUT/SIS_override'
/
+ &cobalt_input_nml
+ parameter_filename = 'INPUT/COBALT_input',
+ 'INPUT/COBALT_override'
+/
+
&atmos_model_nml
layout= 1,1
/
diff --git a/exps/NWA12.COBALT/input.nml_24hr_rst b/exps/NWA12.COBALT/input.nml_24hr_rst
index a226432b6..9d0d994ef 100644
--- a/exps/NWA12.COBALT/input.nml_24hr_rst
+++ b/exps/NWA12.COBALT/input.nml_24hr_rst
@@ -14,6 +14,11 @@
parameter_filename = 'INPUT/SIS_input','INPUT/SIS_layout','INPUT/SIS_override'
/
+ &cobalt_input_nml
+ parameter_filename = 'INPUT/COBALT_input',
+ 'INPUT/COBALT_override'
+/
+
&atmos_model_nml
layout= 1,1
/
diff --git a/exps/NWA12.COBALT/input.nml_48hr b/exps/NWA12.COBALT/input.nml_48hr
index 3554fca15..b237f9542 100644
--- a/exps/NWA12.COBALT/input.nml_48hr
+++ b/exps/NWA12.COBALT/input.nml_48hr
@@ -14,6 +14,11 @@
parameter_filename = 'INPUT/SIS_input','INPUT/SIS_layout','INPUT/SIS_override'
/
+ &cobalt_input_nml
+ parameter_filename = 'INPUT/COBALT_input',
+ 'INPUT/COBALT_override'
+/
+
&atmos_model_nml
layout= 1,1
/
diff --git a/exps/OM4.single_column.COBALT/COBALT_input b/exps/OM4.single_column.COBALT/COBALT_input
new file mode 100644
index 000000000..e69de29bb
diff --git a/exps/OM4.single_column.COBALT/COBALT_override b/exps/OM4.single_column.COBALT/COBALT_override
new file mode 100644
index 000000000..e69de29bb
diff --git a/exps/OM4.single_column.COBALT/diag_table b/exps/OM4.single_column.COBALT/diag_table
index 2ed236157..9a0a3f48f 100644
--- a/exps/OM4.single_column.COBALT/diag_table
+++ b/exps/OM4.single_column.COBALT/diag_table
@@ -287,10 +287,11 @@ OM4_single_column
#"generic_cobalt ","wc_vert_int_jfe_iceberg","wc_vert_int_jfe_iceberg", "ocean_cobalt_fluxes_int","all","mean","none",2
#"generic_cobalt ","wc_vert_int_jno3_iceberg","wc_vert_int_jno3_iceberg","ocean_cobalt_fluxes_int","all","mean","none",2
#"generic_cobalt ","wc_vert_int_jpo4_iceberg","wc_vert_int_jpo4_iceberg","ocean_cobalt_fluxes_int","all","mean","none",2
- "generic_cobalt ","wc_vert_int_jprod_n2amx", "wc_vert_int_jprod_n2amx", "ocean_cobalt_fluxes_int","all","mean","none",2
+ #"generic_cobalt ","wc_vert_int_jprod_n2amx", "wc_vert_int_jprod_n2amx", "ocean_cobalt_fluxes_int","all","mean","none",2
+ "generic_cobalt ","wc_vert_int_jnamx", "wc_vert_int_namx", "ocean_cobalt_fluxes_int","all","mean","none",2
"generic_cobalt ","wc_vert_int_net_phyto_resp", "wc_vert_int_net_phyto_resp", "ocean_cobalt_fluxes_int","all","mean","none",2
"generic_cobalt ","wc_vert_int_npp", "wc_vert_int_npp", "ocean_cobalt_fluxes_int","all","mean","none",2
- "generic_cobalt ","wc_vert_int_chemoautopp", "wc_vert_int_chemoautopp", "ocean_cobalt_fluxes_int","all","mean","none",2
+ #"generic_cobalt ","wc_vert_int_chemoautopp", "wc_vert_int_chemoautopp", "ocean_cobalt_fluxes_int","all","mean","none",2
#=======================================
# ocean_cobalt_tracers_month_z
#=======================================
diff --git a/exps/OM4.single_column.COBALT/driver.sh b/exps/OM4.single_column.COBALT/driver.sh
index d7212681b..501a8e850 100755
--- a/exps/OM4.single_column.COBALT/driver.sh
+++ b/exps/OM4.single_column.COBALT/driver.sh
@@ -10,6 +10,7 @@ echo "Test started: " `date`
echo "run 48hrs test ..."
ln -fs input.nml_48hr input.nml
mpirun --allow-run-as-root -np 1 ../../builds/build/docker-linux-gnu/ocean_ice/debug/MOM6SIS2 > out1 2>err1
+tail out1
mv RESTART RESTART_48hrs
mv ocean.stats* RESTART_48hrs
@@ -17,6 +18,7 @@ mv ocean.stats* RESTART_48hrs
echo "run 24hrs test ..."
ln -fs input.nml_24hr input.nml
mpirun --allow-run-as-root -np 1 ../../builds/build/docker-linux-gnu/ocean_ice/debug/MOM6SIS2 > out2 2>err2
+tail out2
mv RESTART RESTART_24hrs
mv ocean.stats* RESTART_24hrs
@@ -30,6 +32,7 @@ popd
echo "run 24hrs rst test ..."
ln -fs input.nml_24hr_rst input.nml
mpirun --allow-run-as-root -np 1 ../../builds/build/docker-linux-gnu/ocean_ice/debug/MOM6SIS2 > out3 2>err3
+tail out3
mv RESTART RESTART_24hrs_rst
mv ocean.stats* RESTART_24hrs_rst
diff --git a/exps/OM4.single_column.COBALT/input.nml_24hr b/exps/OM4.single_column.COBALT/input.nml_24hr
index 9b2d30dbe..cef185e6a 100644
--- a/exps/OM4.single_column.COBALT/input.nml_24hr
+++ b/exps/OM4.single_column.COBALT/input.nml_24hr
@@ -17,6 +17,12 @@
'SIS_layout',
'SIS_override' /
+ &cobalt_input_nml
+ parameter_filename = 'COBALT_input',
+ 'COBALT_override'
+/
+
+
&atmos_model_nml
layout = 1, 1
/
diff --git a/exps/OM4.single_column.COBALT/input.nml_24hr_rst b/exps/OM4.single_column.COBALT/input.nml_24hr_rst
index 5ff0b008e..c3b9f0a4c 100644
--- a/exps/OM4.single_column.COBALT/input.nml_24hr_rst
+++ b/exps/OM4.single_column.COBALT/input.nml_24hr_rst
@@ -17,6 +17,12 @@
'SIS_layout',
'SIS_override' /
+&cobalt_input_nml
+ parameter_filename = 'COBALT_input',
+ 'COBALT_override'
+/
+
+
&atmos_model_nml
layout = 1, 1
/
diff --git a/exps/OM4.single_column.COBALT/input.nml_48hr b/exps/OM4.single_column.COBALT/input.nml_48hr
index 40f175a59..3a9d6e390 100644
--- a/exps/OM4.single_column.COBALT/input.nml_48hr
+++ b/exps/OM4.single_column.COBALT/input.nml_48hr
@@ -17,6 +17,11 @@
'SIS_layout',
'SIS_override' /
+ &cobalt_input_nml
+ parameter_filename = 'COBALT_input',
+ 'COBALT_override'
+/
+
&atmos_model_nml
layout = 1, 1
/
diff --git a/src/ocean_BGC b/src/ocean_BGC
index 76576059e..3db191a7e 160000
--- a/src/ocean_BGC
+++ b/src/ocean_BGC
@@ -1 +1 @@
-Subproject commit 76576059ee6126b8751f475da62fa44543aad937
+Subproject commit 3db191a7ea7f542dfd445ef5e31e180e7219044e
diff --git a/xmls/NWA12/CEFI_NWA12_cobalt.xml b/xmls/NWA12/CEFI_NWA12_cobalt.xml
index edc1508eb..af440f322 100644
--- a/xmls/NWA12/CEFI_NWA12_cobalt.xml
+++ b/xmls/NWA12/CEFI_NWA12_cobalt.xml
@@ -208,6 +208,9 @@ frecheck -r layout -p ncrc5.intel22 -x CEFI_NWA12_cobalt.xml CEFI_NWA12_COBALT_V
do_chksum = .false.
do_endpoint_chksum = .false.
+
+ parameter_filename = 'INPUT/COBALT_input','INPUT/COBALT_override'
+
do_generic_tracer=.true.
do_generic_abiotic=.false.
@@ -591,6 +594,21 @@ cat > $work/INPUT/MOM_override << MOM_OVERRIDE_EOF
#override DT_THERM = 1200.0
#override DT = 400
MOM_OVERRIDE_EOF
+
+truncate -s 0 $work/INPUT/COBALT_override
+cat > $work/INPUT/COBALT_override << COBALT_OVERRIDE_EOF
+! Put the contents of your COBALT_override file here.
+! For parameters which are not specified in the COBALT_input file, just set the new value, ex:
+! do_case2_mod = True
+! For parameters which are specified in the COBALT_input file, specify an override, ex:
+!#override do_case2_mod = True
+COBALT_OVERRIDE_EOF
+
+truncate -s 0 $work/INPUT/COBALT_input
+cat > $work/INPUT/COBALT_input << COBALT_INPUT_EOF
+! Put the contents of your COBALT_input file here
+do_case2_mod = True
+COBALT_INPUT_EOF
]]>
@@ -661,7 +679,7 @@ MOM_OVERRIDE_EOF
cd $work
#Make a directory to trick FRE to pick up and archive in ascii
mkdir extra.results
- mv MOM_parameter_doc* SIS_parameter_doc* seaice.stats* ocean.stats* extra.results/
+ mv MOM_parameter_doc* SIS_parameter_doc* COBALT_parameter_doc* seaice.stats* ocean.stats* extra.results/
cp diag_table extra.results/.
#When the ocean uses a mask_table the ocean_static.nc file produced by the model run has holes in coordinates (geolon,geolat)
#This causes problems for ferret and python tools for analysis.