@@ -182,6 +182,7 @@ module generic_WOMBATmid
182
182
diamaxqf, &
183
183
dialmor, &
184
184
diaqmor, &
185
+ chlkWm2, &
185
186
trikf, &
186
187
trichlc, &
187
188
trin2c, &
@@ -1918,6 +1919,10 @@ subroutine user_add_params
1918
1919
!- ----------------------------------------------------------------------
1919
1920
call g_tracer_add_param(' diaqmor' , wombat% diaqmor, 0.05 / 86400.0 )
1920
1921
1922
+ ! Chlorophyll darkness growth reduction half-saturation coefficient [W/m2]
1923
+ !- ----------------------------------------------------------------------
1924
+ call g_tracer_add_param(' chlkWm2' , wombat% chlkWm2, 5.0 )
1925
+
1921
1926
! Trichodesmium half saturation constant for iron uptake [umolFe/m3]
1922
1927
!- ----------------------------------------------------------------------
1923
1928
call g_tracer_add_param(' trikf' , wombat% trikf, 0.5 )
@@ -2777,7 +2782,7 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
2777
2782
real :: pi = 3.14159265358979
2778
2783
integer :: ichl
2779
2784
real :: par_phy_mldsum, par_z_mldsum
2780
- real :: chl, zchl, zval, sqrt_zval, phy_chlc, dia_chlc
2785
+ real :: chl, zchl, zval, sqrt_zval, phy_chlc, dia_chlc, phi
2781
2786
real :: phy_limnh4, phy_limno3, phy_limdin
2782
2787
real :: dia_limnh4, dia_limno3, dia_limdin
2783
2788
real :: phy_pisl, phy_pisl2
@@ -3460,6 +3465,10 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
3460
3465
! 1. Light limitation of chlorophyll production
3461
3466
! 2. minimum and optimal rates of chlorophyll growth
3462
3467
! 3. Calculate mg Chl m-3 s-1
3468
+
3469
+ ! Reduced chlorophyll growth during extended periods of darkness
3470
+ phi = wombat% radmld(i,j,1 ) / (wombat% radmld(i,j,1 ) + wombat% chlkWm2)
3471
+
3463
3472
! !!~~~ Phytoplankton ~~~!!!
3464
3473
pchl_pisl = phy_pisl / ( wombat% phy_mumax(i,j,k) * 86400.0 * &
3465
3474
(1 . - min (wombat% phy_lnit(i,j,k), wombat% phy_lfer(i,j,k))) + epsi )
@@ -3469,8 +3478,8 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
3469
3478
wombat% pchl_mu(i,j,k) = (pchl_muopt - pchl_mumin) * wombat% pchl_lpar(i,j,k) * &
3470
3479
min (wombat% phy_lnit(i,j,k), wombat% phy_lfer(i,j,k))
3471
3480
if ( (phy_pisl * wombat% radmld(i,j,k)) .gt. 0.0 ) then
3472
- wombat% pchl_mu(i,j,k) = pchl_mumin + wombat% pchl_mu(i,j,k) / &
3473
- (phy_pisl * wombat% radmld(i,j,k))
3481
+ wombat% pchl_mu(i,j,k) = phi * ( pchl_mumin + wombat% pchl_mu(i,j,k) / &
3482
+ (phy_pisl * wombat% radmld(i,j,k)) )
3474
3483
endif
3475
3484
wombat% pchl_mu(i,j,k) = wombat% pchl_mu(i,j,k) / 12.0 * mmol_m3_to_mol_kg ! [mol/kg/s]
3476
3485
@@ -3483,8 +3492,8 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
3483
3492
wombat% dchl_mu(i,j,k) = (dchl_muopt - dchl_mumin) * wombat% dchl_lpar(i,j,k) * &
3484
3493
min (wombat% dia_lnit(i,j,k), wombat% dia_lfer(i,j,k))
3485
3494
if ( (dia_pisl * wombat% radmld(i,j,k)) .gt. 0.0 ) then
3486
- wombat% dchl_mu(i,j,k) = dchl_mumin + wombat% dchl_mu(i,j,k) / &
3487
- (dia_pisl * wombat% radmld(i,j,k))
3495
+ wombat% dchl_mu(i,j,k) = phi * ( dchl_mumin + wombat% dchl_mu(i,j,k) / &
3496
+ (dia_pisl * wombat% radmld(i,j,k)) )
3488
3497
endif
3489
3498
wombat% dchl_mu(i,j,k) = wombat% dchl_mu(i,j,k) / 12.0 * mmol_m3_to_mol_kg ! [mol/kg/s]
3490
3499
0 commit comments