From a7f7916643185aeae2a4e4ad2fb5b7a14f8802d5 Mon Sep 17 00:00:00 2001 From: njeffery Date: Fri, 14 Mar 2025 07:41:06 -0700 Subject: [PATCH] Corrects negative silicate values Fixes a bug introduced in V1.5.0. Silicate limitation should not be wrapped in an if statement for iron tracers. nonBFB with active BGC. BFB for all else. --- columnphysics/icepack_algae.F90 | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/columnphysics/icepack_algae.F90 b/columnphysics/icepack_algae.F90 index 7a958ee8..7239edd1 100644 --- a/columnphysics/icepack_algae.F90 +++ b/columnphysics/icepack_algae.F90 @@ -1860,13 +1860,10 @@ subroutine algal_dyn (dt, & U_Nit(k) = U_Nit_f(k)*U_Nit_tot U_Sil(k) = U_Sil_f(k)*U_Sil_tot U_Fe(k) = U_Fe_f(k)*U_Fe_tot - - if (n_fed == 0) then - if (R_Si2N(k) > c0) then - grow_N(k) = min(U_Sil(k)/R_Si2N(k),U_Nit(k) + U_Am(k), U_Fe(k)/R_Fe2N(k)) - else - grow_N(k) = min(U_Nit(k) + U_Am(k),U_Fe(k)/R_Fe2N(k)) - endif + if (R_Si2N(k) > c0) then + grow_N(k) = min(U_Sil(k)/R_Si2N(k),U_Nit(k) + U_Am(k), U_Fe(k)/R_Fe2N(k)) + else + grow_N(k) = min(U_Nit(k) + U_Am(k),U_Fe(k)/R_Fe2N(k)) endif fr_Am(k) = c0