diff --git a/genie-biogem/src/fortran/biogem.f90 b/genie-biogem/src/fortran/biogem.f90
index cc377506c..55d774600 100644
--- a/genie-biogem/src/fortran/biogem.f90
+++ b/genie-biogem/src/fortran/biogem.f90
@@ -487,23 +487,60 @@ subroutine biogem( &
loc_vocn(l) = ocn(l2io(l),i,j,loc_k1)
end DO
call sub_box_remin_redfield(loc_vocn,loc_conv_ls_lo(:,:))
+ ! set sed tracer -> POP
ls = is2l(is_POP)
loc_tot_i = conv_ls_lo_i(0,ls)
do loc_i=1,loc_tot_i
lo = conv_ls_lo_i(loc_i,ls)
if (lo == io2l(io_PO4)) then
loc_remin = loc_conv_ls_lo(lo,ls)*bio_settle(l2is(ls),i,j,loc_k1)
- dum_sfxsumrok1(io_PO4,i,j) = dum_sfxsumrok1(io_PO4,i,j) + &
- & (loc_remin - locij_fsedocn(io_PO4,i,j))
+ dum_sfxsumrok1(l2io(lo),i,j) = dum_sfxsumrok1(l2io(lo),i,j) + &
+ & (loc_remin - locij_fsedocn(l2io(lo),i,j))
if (ctrl_bio_red_ALKwithPOC) then
! do nothing -- ALK with POC
else
dum_sfxsumrok1(io_ALK,i,j) = dum_sfxsumrok1(io_ALK,i,j) + &
- & conv_sed_ocn(io_ALK,is_POP)*(loc_remin - locij_fsedocn(io_PO4,i,j))
+ & conv_sed_ocn(io_ALK,is_POP)*(loc_remin - locij_fsedocn(io_PO4,i,j))
end if
end if
end do
end if
+ if (ctrl_force_sed_closed_C) then
+ ! special case of partial closure -- calculate theoretical DIC remin flux required for closure
+ ! set weathering equal to imbalance in DIC return
+ DO l=1,n_l_ocn
+ loc_vocn(l) = ocn(l2io(l),i,j,loc_k1)
+ end DO
+ call sub_box_remin_redfield(loc_vocn,loc_conv_ls_lo(:,:))
+ ! set sed tracer -> POC
+ ls = is2l(is_POC)
+ loc_tot_i = conv_ls_lo_i(0,ls)
+ do loc_i=1,loc_tot_i
+ lo = conv_ls_lo_i(loc_i,ls)
+ if (lo == io2l(io_DIC)) then
+ loc_remin = loc_conv_ls_lo(lo,ls)*bio_settle(l2is(ls),i,j,loc_k1)
+ dum_sfxsumrok1(l2io(lo),i,j) = dum_sfxsumrok1(l2io(lo),i,j) + &
+ & (loc_remin - locij_fsedocn(l2io(lo),i,j))
+ if (ctrl_bio_red_ALKwithPOC) then
+ dum_sfxsumrok1(io_ALK,i,j) = dum_sfxsumrok1(io_ALK,i,j) + &
+ & conv_sed_ocn(io_ALK,is_POC)*(loc_remin - locij_fsedocn(l2io(lo),i,j))
+ else
+ ! do nothing -- ALK with POP
+ end if
+ end if
+ end do
+ ! set sed tracer -> 13POC
+ ls = is2l(is_POC_13C)
+ loc_tot_i = conv_ls_lo_i(0,ls)
+ do loc_i=1,loc_tot_i
+ lo = conv_ls_lo_i(loc_i,ls)
+ if (lo == io2l(io_DIC_13C)) then
+ loc_remin = loc_conv_ls_lo(lo,ls)*bio_settle(l2is(ls),i,j,loc_k1)
+ dum_sfxsumrok1(l2io(lo),i,j) = dum_sfxsumrok1(l2io(lo),i,j) + &
+ & (loc_remin - locij_fsedocn(l2io(lo),i,j))
+ end if
+ end do
+ end if
end if ! [(ctrl_force_sed_closedsystem)]
! convert fluxes to remin
DO l=3,n_l_ocn
diff --git a/genie-biogem/src/fortran/biogem_data.f90 b/genie-biogem/src/fortran/biogem_data.f90
index 7b23bc13f..2c9f47600 100755
--- a/genie-biogem/src/fortran/biogem_data.f90
+++ b/genie-biogem/src/fortran/biogem_data.f90
@@ -100,6 +100,7 @@ SUBROUTINE sub_load_goin_biogem(dum_dtyr)
print*,'--- BOUNDARY CONDITIONS ----------------------------'
print*,'Set dissolution flux = rain flux to close system? : ',ctrl_force_sed_closedsystem
print*,'Balance the P cycle (with weathering)? : ',ctrl_force_sed_closed_P
+ print*,'Balance the C cycle (with weathering)? : ',ctrl_force_sed_closed_C
print*,'set reflective boundary condition for POM? : ',ctrl_force_sed_reflective_POM
print*,'Allow temperature / salinity forcing of climate? : ',ctrl_force_GOLDSTEInTS
print*,'Allow ONLY temperature / salinity forcing? : ',ctrl_force_GOLDSTEInTSonly
diff --git a/genie-biogem/src/fortran/biogem_lib.f90 b/genie-biogem/src/fortran/biogem_lib.f90
index 214618465..076c871d5 100755
--- a/genie-biogem/src/fortran/biogem_lib.f90
+++ b/genie-biogem/src/fortran/biogem_lib.f90
@@ -64,7 +64,8 @@ MODULE biogem_lib
logical::ctrl_force_sed_closedsystem ! Set dissolution flux = rain flux to close system?
NAMELIST /ini_biogem_nml/ctrl_force_sed_closedsystem
logical::ctrl_force_sed_closed_P ! Balance the P cycle (with weathering)?
- NAMELIST /ini_biogem_nml/ctrl_force_sed_closed_P
+ logical::ctrl_force_sed_closed_C ! Balance the C cycle (with weathering)?
+ NAMELIST /ini_biogem_nml/ctrl_force_sed_closed_P,ctrl_force_sed_closed_C
logical::ctrl_force_sed_reflective_POM ! Set reflective boundary condition for POM?
NAMELIST /ini_biogem_nml/ctrl_force_sed_reflective_POM
logical::ctrl_force_GOLDSTEInTS ! Allow temperature / salinity forcing of climate?
diff --git a/genie-main/src/xml-config/xml/definition.xml b/genie-main/src/xml-config/xml/definition.xml
index 86b587c5f..a0f189500 100644
--- a/genie-main/src/xml-config/xml/definition.xml
+++ b/genie-main/src/xml-config/xml/definition.xml
@@ -4020,6 +4020,10 @@
.false.
Balance the P cycle (with weathering)?
+
+ .false.
+ Balance the C cycle (with weathering)?
+
.false.
Set reflective boundary condition for POM?