From 7822b1eb743f1b23cd35b7adf6352c343de41bf7 Mon Sep 17 00:00:00 2001 From: ogurses Date: Tue, 9 Dec 2025 11:42:56 +0100 Subject: [PATCH 01/18] feat(recom): Update REcoM routines for FESOM 2.7 This commit includes bugfixes, new diagnostics variables for grazing and code pieces to track BGC tracer budget. --- src/MOD_TRACER.F90 | 12 +- src/gen_model_setup.F90 | 4 + src/gen_surface_forcing.F90 | 45 +- src/int_recom/recom/gasx.F90 | 10 +- src/int_recom/recom/vars.F90 | 2 +- src/int_recom/recom_atbox.F90 | 92 + src/int_recom/recom_extra.F90 | 193 +- src/int_recom/recom_forcing.F90 | 125 +- src/int_recom/recom_init.F90 | 430 +- src/int_recom/recom_main.F90 | 469 +- src/int_recom/recom_modules.F90 | 1475 ++++- src/int_recom/recom_sinking.F90 | 346 +- src/int_recom/recom_sms.F90 | 9075 ++++++++++++++++++++++++------- src/oce_adv_tra_driver.F90 | 53 +- src/oce_ale_tracer.F90 | 219 +- src/oce_setup_step.F90 | 19 +- 16 files changed, 10111 insertions(+), 2458 deletions(-) create mode 100644 src/int_recom/recom_atbox.F90 diff --git a/src/MOD_TRACER.F90 b/src/MOD_TRACER.F90 index efeeed623..d1b872a18 100644 --- a/src/MOD_TRACER.F90 +++ b/src/MOD_TRACER.F90 @@ -20,6 +20,9 @@ MODULE MOD_TRACER real(kind=WP) :: tra_adv_pv = 1. ! a parameter to be used in horizontal advection (for QR4C it is the fraction of fourth-order contribution in the solution) integer :: AB_order=2 integer :: ID +!___________________________________________________________________________ +! TODO: Make it as a part of namelist.tra +logical :: ltra_diag = .true. ! OG - tra_diag contains procedure WRITE_T_TRACER_DATA @@ -41,7 +44,14 @@ MODULE MOD_TRACER ! compute Tstar = 0.5*( T^(n+1) + T^n) real(kind=WP), allocatable, dimension(:,:,:) :: dvd_trflx_hor, dvd_trflx_ver -!_______________________________________________________________________________ +! in case ltra_diag=.true. --> calculate tracer diags ! OG - tra_diag +real(kind=WP), allocatable :: tra_advhoriz(:,:,:), tra_advvert(:,:,:) +real(kind=WP), allocatable :: tra_diff_part_hor_redi(:,:,:) +real(kind=WP), allocatable :: tra_diff_part_ver_expl(:,:,:) +real(kind=WP), allocatable :: tra_diff_part_ver_redi_expl(:,:,:) +real(kind=WP), allocatable :: tra_diff_part_ver_impl(:,:,:) +real(kind=WP), allocatable :: tra_recom_sms(:,:,:) + ! The fct part real(kind=WP),allocatable,dimension(:,:) :: fct_LO ! Low-order solution real(kind=WP),allocatable,dimension(:,:) :: adv_flux_hor ! Antidif. horiz. contrib. from edges / backup for iterafive fct scheme diff --git a/src/gen_model_setup.F90 b/src/gen_model_setup.F90 index 869b00a52..11d861893 100755 --- a/src/gen_model_setup.F90 +++ b/src/gen_model_setup.F90 @@ -175,6 +175,10 @@ subroutine setup_model(partit) endif call par_ex(partit%MPI_COMM_FESOM, partit%mype, 1) endif + + read (fileunit, NML=parecomsetup, iostat=istat) + if (istat /= 0) call check_namelist_read(fileunit, 'parecomsetup', nmlfile, partit) + read (fileunit, NML=pavariables, iostat=istat) if (istat /= 0) call check_namelist_read(fileunit, 'pavariables', nmlfile, partit) diff --git a/src/gen_surface_forcing.F90 b/src/gen_surface_forcing.F90 index b95a99af7..e85b857d8 100644 --- a/src/gen_surface_forcing.F90 +++ b/src/gen_surface_forcing.F90 @@ -1457,6 +1457,7 @@ SUBROUTINE sbc_do(partit, mesh) #if defined (__recom) use recom_config use recom_glovar + use REcoM_ciso #endif IMPLICIT NONE @@ -1659,10 +1660,40 @@ SUBROUTINE sbc_do(partit, mesh) ! ******** Atmospheric CO2 ********* if (mstep == 1) then ! The year has changed + if (use_atbox) then +! Atmospheric box model CO2 values + AtmCO2(:) = x_co2atm(1) + if (ciso) then + AtmCO2_13(:) = x_co2atm_13(1) + if (ciso_14) AtmCO2_14(:,1) = x_co2atm_14(1) + end if + else +! Prescribed atmospheric CO2 values + if (constant_CO2) then AtmCO2(:) = CO2_for_spinup if (mype==0) write(*,*) 'Constant_CO2 = ', CO2_for_spinup - if (mype==0) write(*,*),'Atm CO2=', AtmCO2 + if (mype==0) write(*,*),'Atm CO2=', AtmCO2 + if (ciso) then + AtmCO2_13 = CO2_for_spinup * (1. + 0.001 * delta_co2_13) + if (ciso_14) then +! Atmospheric 14C varies with latitude + do i=1, myDim_nod2D +! Latitude of atmospheric input data + lat_val = geo_coord_nod2D(2,i) / rad +! Binning to latitude zones + if (ciso_organic_14) then +! Convert Delta_14C to delta_14C + delta_co2_14 = (big_delta_co2_14(lat_zone(lat_val)) + 2. * delta_co2_13 + 50.) / & + (0.95 - 0.002 * delta_co2_13) + else +! "Inorganic" 14C approximation: delta_14C := Delta_14C + delta_co2_14 = big_delta_co2_14(lat_zone(lat_val)) + end if + AtmCO2_14(lat_zone(lat_val),:) = CO2_for_spinup * (1. + 0.001 * delta_co2_14) + end do + end if + end if else filename=trim(make_full_path(nm_co2_data_file)) if (mype==0) write(*,*) 'Updating CO2 climatology for month ', i,' from ', trim(filename) @@ -1696,8 +1727,18 @@ SUBROUTINE sbc_do(partit, mesh) if (mype==0) write(*,*),'Atm CO2=', AtmCO2 status=nf90_close(ncid) end if + end if ! atmospheric box model or prescribed CO2 values + +! Control output of atmospheric CO2 values + if (mype==0) then !OG + print *, "In atm_input: AtmCO2 = ", AtmCO2(1) + if (ciso) then + print *, " AtmCO2_13 = ", AtmCO2_13(1) + if (ciso_14) print *, " AtmCO2_14 = ", AtmCO2_14(:,1) + end if + if (use_atbox) print *, " use_atbox = .true." + end if end if - ! ******** Fe deposition ********* if (fe_data_source=='Albani') then if (update_monthly_flag) then diff --git a/src/int_recom/recom/gasx.F90 b/src/int_recom/recom/gasx.F90 index bd5473527..c4d2d8b01 100755 --- a/src/int_recom/recom/gasx.F90 +++ b/src/int_recom/recom/gasx.F90 @@ -6,7 +6,7 @@ MODULE gasx !> Computes air-sea CO2 flux & surface-ocean carbonate system vars (pH, CO2*, HCO3- and CO32-, OmegaA, OmegaC, R) !! from T, S, P, ALK, DIC, total inorganic silicon, total inorganic phosphorus, all as 1-D arrays SUBROUTINE flxco2(co2flux, co2ex, dpco2, & - ph, pco2, fco2, co2, hco3, co3, OmegaA, OmegaC, BetaD, rhoSW, p, tempis, & + ph, pco2, fco2, co2, hco3, co3, OmegaA, OmegaC, BetaD, rhoSW, p, tempis, K0, & temp, sal, alk, dic, sil, phos, kw660, xco2, Patm, dz1, N, lon, lat, & optCON, optT, optP, optB, optK1K2, optKf, optGAS, optS ) ! Purpose: @@ -127,6 +127,8 @@ SUBROUTINE flxco2(co2flux, co2ex, dpco2, ! rhoSW = in-situ density of seawater; rhoSW = f(s, t, p) ! p = pressure [decibars]; p = f(depth, latitude) if computed from depth [m] OR p = depth if [db] ! tempis = in-situ temperature [degrees C] + ! K0 = CO2 solubility [(mol/kg) / atm] + #if USE_PRECISION == 2 # define SGLE(x) (x) @@ -237,10 +239,12 @@ SUBROUTINE flxco2(co2flux, co2ex, dpco2, REAL(kind=rx), INTENT(out), DIMENSION(N) :: p !> in-situ temperature \b [degrees C] REAL(kind=rx), INTENT(out), DIMENSION(N) :: tempis + !> K0, solubility of CO2 \b [(mol/kg) / atm] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: K0 ! Local variables REAL(kind=r8) :: tk, invtk, dtemp - REAL(kind=r8) :: tmp, K0, co2star, co2starair, kwco2 + REAL(kind=r8) :: tmp, co2star, co2starair, kwco2 ! K0 REAL(kind=rx), DIMENSION(N) :: pCO2atm, fCO2atm REAL(kind=rx), DIMENSION(N) :: depth0, lat0 @@ -361,7 +365,7 @@ SUBROUTINE flxco2(co2flux, co2ex, dpco2, K0 = EXP( tmp + DBLE(salprac(i))*(0.023517d0 - 0.00023656d0*tk + 0.0047036e-4_r8*tk*tk) ) ! "Atmospheric" [CO2*], air-sea CO2 flux, sfc DIC rate of change, & Delta pCO2 - co2starair = K0 * DBLE(fco2atm(i)) * 1.0e-6_r8 * DBLE(rhoSW(i)) !Equil. [CO2*] for atm CO2 at Patm & sfc-water T,S [mol/m3] + co2starair = K0(i) * DBLE(fco2atm(i)) * 1.0e-6_r8 * DBLE(rhoSW(i)) !Equil. [CO2*] for atm CO2 at Patm & sfc-water T,S [mol/m3] co2star = DBLE(co2(i)) !Oceanic [CO2*] in [mol/m3] from vars.f90 co2flux(i) = SGLE(kwco2 * (co2starair - co2star)) !Air-sea CO2 flux [mol/(m2 * s)] ! the conversion from co2flux to impact on dic is done in recom_forcing/recom_sms diff --git a/src/int_recom/recom/vars.F90 b/src/int_recom/recom/vars.F90 index 2ef70defa..d20069a10 100755 --- a/src/int_recom/recom/vars.F90 +++ b/src/int_recom/recom/vars.F90 @@ -570,7 +570,7 @@ SUBROUTINE vars_sprac (ph, pco2, fco2, co2, hco3, co3, OmegaA, OmegaC, kspc_out, ! If Absolute salinity is given IF (trim(opS) == 'Sabs') THEN ! If in-situ or potential temperature is given - IF (trim(optT) /= 'Scsv') THEN + IF (trim(optT) /= 'Scsv') THEN !!!!!!!!! Is it a bug? OG 20.03.2025 Scsv -> Tcsv .OR. tcsv ! First compute conservative temperature tempcsv = gsw_ct_from_t (DBLE(ssal), tempis90, DBLE(p(i))) ELSE diff --git a/src/int_recom/recom_atbox.F90 b/src/int_recom/recom_atbox.F90 new file mode 100644 index 000000000..4e579c51e --- /dev/null +++ b/src/int_recom/recom_atbox.F90 @@ -0,0 +1,92 @@ + subroutine recom_atbox(partit, mesh) +! Simple 0-d box model to calculate the temporal evolution of atmospheric CO2. +! Initially the box model was part of module recom_ciso. Now it can be run also +! without carbon isotopes (ciso==.false.) +! mbutzin, 2021-07-08 + +! Settings are copied from subroutine bio_fluxes, +! some of the following modules may be unnecessary here +! use REcoM_declarations +! use REcoM_LocVar + use REcoM_GloVar + use recom_config + use recom_ciso + + use mod_mesh + USE MOD_PARTIT + USE MOD_PARSUP + + use g_config + use o_arrays + use g_comm_auto + use g_forcing_arrays + use g_support + + + implicit none + integer :: n, elem, elnodes(3),n1 + real(kind=WP) :: total_co2flux, & ! (mol / s) + total_co2flux_13, & ! (mol / s) carbon-13 + total_co2flux_14 ! (mol / s) radiocarbon + real(kind=WP), parameter :: mol_allatm = 1.7726e20 ! atmospheric inventory of all compounds (mol) + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh + +#include "../associate_part_def.h" +#include "../associate_mesh_def.h" +#include "../associate_part_ass.h" +#include "../associate_mesh_ass.h" + +! Globally integrated air-sea CO2 flux (mol / s) + total_co2flux = 0. + call integrate_nod(0.001 * GloCO2flux_seaicemask , total_CO2flux, partit, mesh) + +! Atmospheric carbon budget (mol) +! mass of the dry atmosphere = 5.1352e18 kg (Trenberth & Smith 2005, doi:10.1175/JCLI-3299.1) +! mean density of air = 0.02897 kg / mol (https://nssdc.gsfc.nasa.gov/planetary/factsheet/earthfact.html) +! => total molecular inventory of the dry atmosphere: moles_atm = 1.7726e20 mol == constant. +! mol_co2atm = mol_co2atm - total_co2flux * dt +! Atmospheric mixing ratios in ppm +! x_co2atm(1) = mol_co2atm / mol_allatm * 1.e6 ! ppm + x_co2atm(1) = x_co2atm(1) - total_co2flux / mol_allatm * dt * 1.e6 + x_co2atm = x_co2atm(1) + + if (ciso) then +! Consider 13CO2 (and maybe also 14CO2) + +! Globally integrated air-sea 13CO2 flux (mol / s) + total_co2flux_13 = 0. + call integrate_nod(0.001 * GloCO2flux_seaicemask_13, total_co2flux_13, partit, mesh) + +! Atmospheric carbon-13 budget (mol) +! mol_co2atm_13 = mol_co2atm_13 - total_co2flux_13 * dt +! Budget in terms of the 13C / 12C volume mixing ratio +! x_co2atm_13(1) = mol_co2atm_13 / mol_allatm * 1.e6 + x_co2atm_13(1) = x_co2atm_13(1) - total_co2flux_13 / mol_allatm * dt * 1.e6 + x_co2atm_13 = x_co2atm_13(1) + + if (ciso_14) then + total_co2flux_14 = 0. ! globally integrated air-sea 14CO2 flux (mol / s) + call integrate_nod(0.001 * GloCO2flux_seaicemask_14, total_co2flux_14, partit, mesh) +! Atmospheric radiocarbon budget in mol: +! mol_co2atm_14 = mol_co2atm_14 + dt * (cosmic_14(1) - mol_co2atm_14 * lambda_14 - total_co2flux_14) +! = (mol_co2atm_14 + dt * (cosmic_14(1) - total_co2flux_14)) / (1 + lambda_14 * dt) +! Budget in terms of the 14C / 12C volume mixing ratio + x_co2atm_14(1) = (x_co2atm_14(1) + dt * (cosmic_14(1) - total_co2flux_14) / mol_allatm * 1.e6) / & + (1 + lambda_14 * dt) + x_co2atm_14 = x_co2atm_14(1) + +! Adjust cosmogenic 14C production (mol / s) in spinup runs, + r_atm_14 = x_co2atm_14(1) / x_co2atm(1) +! r_atm_spinup_14 is calculated once-only in subroutine recom_init + if (atbox_spinup .and. abs(r_atm_14 - r_atm_spinup_14) > 0.001) then + cosmic_14(1) = cosmic_14(1) * (r_atm_spinup_14 / r_atm_14) +! cosmic_14(1) = cosmic_14(1) * (1 + 0.01 * (r_atm_14_spinup / r_atm_14)) + end if + cosmic_14 = cosmic_14(1) + endif + end if + + return + end subroutine recom_atbox + diff --git a/src/int_recom/recom_extra.F90 b/src/int_recom/recom_extra.F90 index 5495e0c8f..44973c167 100644 --- a/src/int_recom/recom_extra.F90 +++ b/src/int_recom/recom_extra.F90 @@ -1,34 +1,35 @@ !=============================================================================== ! Subroutine for calculating flux-depth and thickness of control volumes !=============================================================================== -subroutine Depth_calculations(n,Nn,wF,zF,thick,recipthick, partit, mesh) - use recom_config +subroutine Depth_calculations(n, nn, wf, zf, thick, recipthick, partit, mesh) + use recom_config use mod_mesh - USE MOD_PARTIT - USE MOD_PARSUP - USE o_PARAM - USE o_ARRAYS - USE g_CONFIG - use g_forcing_arrays - use g_comm_auto - - use g_clock - use g_rotate_grid - - implicit none -! Input - type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(inout), target :: mesh - - Integer, intent(in) :: Nn ! Total number of nodes -! Output - real(kind=8),dimension(mesh%nl), intent(out) :: zF ! [m] Depth of vertical fluxes + use MOD_PARTIT + use MOD_PARSUP + use o_PARAM + use o_ARRAYS + use g_CONFIG + use g_forcing_arrays + use g_comm_auto + use g_clock + use g_rotate_grid + + implicit none + + ! Input parameters + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh + integer , intent(in) :: n ! Current node + integer , intent(in) :: nn ! Total number of vertical nodes - real(kind=8),dimension(mesh%nl-1), intent(out) :: thick ! [m] Distance between two nodes = thickness - real(kind=8),dimension(mesh%nl-1), intent(out) :: recipthick ! [1/m] reciprocal of thickness + ! Output arrays + real(kind=8), dimension(mesh%nl,6), intent(out) :: wf ! [m/day] Flux velocities at the border of the control volumes + real(kind=8), dimension(mesh%nl), intent(out) :: zf ! [m] Depth of vertical fluxes + real(kind=8), dimension(mesh%nl-1), intent(out) :: thick ! [m] Distance between two nodes = layer thickness + real(kind=8), dimension(mesh%nl-1), intent(out) :: recipthick ! [1/m] Reciprocal thickness - real(kind=8),dimension(mesh%nl,5), intent(out) :: wF ! [m/day] Velocities of fluxes at the border of the control volumes - Integer :: k, n ! Index for depth + ! Local variables + integer :: k ! Layer index #include "../associate_part_def.h" #include "../associate_mesh_def.h" @@ -48,16 +49,17 @@ subroutine Depth_calculations(n,Nn,wF,zF,thick,recipthick, partit, mesh) ! allocate(Z_3d_n(nl-1,myDim_nod2D+eDim_nod2D)) ! ============================================================================== modular -!! Background sinking speed + !! Background sinking speed + wF(2:Nn, ivphy) = VPhy ! Phytoplankton sinking velocity + wF(2:Nn, ivdia) = VDia ! Diatoms sinking velocity + wF(2:Nn, ivdet) = VDet ! Detritus sinking velocity + wF(2:Nn, ivdetsc) = VDet_zoo2 ! Second detritus sinking velocity + wF(2:Nn, ivcoc) = VCocco ! Coccolithophores sinking velocity + wF(2:Nn, ivpha) = VPhaeo ! Phaeocystis sinking velocity - wF(2:Nn,ivphy) = VPhy - wF(2:Nn,ivdia) = VDia - wF(2:Nn,ivdet) = VDet - wF(2:Nn,ivdetsc) = VDet_zoo2 - wF(2:Nn,ivcoc) = VCocco - - wF(1,:) = 0.d0 - wF(Nn+1,:) = 0.d0 + !! Boundary conditions (surface and bottom) + wF(1,:) = 0.d0 + wF(Nn+1,:) = 0.d0 !if (allow_var_sinking) then !! wF(2:Nn+1,ivdet) = Vdet_a * abs(zbar_n(2:Nn+1)) + VDet @@ -65,31 +67,25 @@ subroutine Depth_calculations(n,Nn,wF,zF,thick,recipthick, partit, mesh) ! wF(2:Nn+1,ivdet) = Vcalc * abs(zbar_3d_n(2:Nn+1, n)) + VDet !end if -!---------------------------------------------------- -! Vertical layers thickness - - thick =0.0_WP - recipthick=0.0_WP - zF=0.0_WP - -!do n=1,myDim_nod2D+eDim_nod2D - do k=1, Nn !nlevels_nod2D(n)-1 - thick(k)=hnode(k,n) - if (hnode(k,n) > 0._WP) then - recipthick(k)=1./hnode(k,n) - else - recipthick(k)=0._WP - end if - end do -!end do - -! layer depth (negative) - -!do n=1,myDim_nod2D+eDim_nod2D - do k=1, Nn+1 !nlevels_nod2D(n) - zF(k)=zbar_3d_n(k,n) - end do -!end do + !! Calculate layer thickness and reciprocal of it + thick = 0.0_WP + recipthick = 0.0_WP + zf = 0.0_WP + + do k=1, nn + thick(k) = hnode(k,n) + if (hnode(k,n) > 0.0_WP) then +! if thick(k) > 0.0_WP) then ! alternative + recipthick(k) = 1.0/hnode(k,n) + else + recipthick(k) = 0.0_WP + end if + end do + + !! set layer depth (negative) + do k=1, nn+1 + zf(k)=zbar_3d_n(k,n) + end do end subroutine Depth_calculations @@ -100,24 +96,26 @@ subroutine Cobeta(partit, mesh) use REcoM_GloVar use g_clock use mod_mesh - USE MOD_PARTIT - USE MOD_PARSUP + use MOD_PARTIT + use MOD_PARSUP use o_PARAM use g_comm_auto - Implicit none + + implicit none -! Declarations - real(kind=8) :: yearfrac ! The fraction of the year that has passed [0 1] - real(kind=8) :: yDay ! yearfrac in radians [0 2*pi] - real(kind=8) :: declination = 0.d0 ! Declination of the sun at present lat and time - real(kind=8) :: CosAngleNoon = 0.d0 ! Cos(Angle of Incidence) at Noon ? - integer :: n + ! Input parameters + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh -! Constants - real(kind=8) :: nWater = 1.33 + ! Local variables + real(kind=8) :: yearfrac ! Fraction of year [0 1] + real(kind=8) :: yDay ! Year fraction in radians [0 2*pi] + real(kind=8) :: declination = 0.d0 ! Declination of the sun at present lat and time + real(kind=8) :: CosAngleNoon = 0.d0 ! Cosine of Angle of Incidence at noon + integer :: n - type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(inout), target :: mesh + ! Constants + real(kind=8), parameter :: nWater = 1.33 ! Refractive indices of water #include "../associate_part_def.h" #include "../associate_mesh_def.h" @@ -131,9 +129,11 @@ subroutine Cobeta(partit, mesh) !! Publishing Company, Amsterdam, Oxford, !! New York, 1976, ISBN 0-444-41444-4. - yearfrac = mod(real(daynew),real(ndpyr))/real(ndpyr) - yDay = 2 * pi * yearfrac - declination = 0.006918 & + !! Calculate solar declination using Paltridge & Platt (1976) formula + yearfrac = mod(real(daynew), real(ndpyr)) / real(ndpyr) + yDay = 2.0d0 * pi * yearfrac + + declination = 0.006918 & - 0.399912 * cos( yDay) & + 0.070257 * sin( yDay) & - 0.006758 * cos(2 * yDay) & @@ -141,33 +141,35 @@ subroutine Cobeta(partit, mesh) - 0.002697 * cos(3 * yDay) & + 0.001480 * sin(3 * yDay) - do n=1, myDim_nod2D!+eDim_nod2D - - cosAngleNoon = sin(geo_coord_nod2D(2,n)) * sin(declination) & - + cos(geo_coord_nod2D(2,n)) * cos(declination) - cosAI(n) = sqrt(1-(1-cosAngleNoon**2)/nWater**2) + !! Calculate cosine of angle of incidence for each node + do n = 1, myDim_nod2D + cosAngleNoon = sin(geo_coord_nod2D(2, n)) * sin(declination) & + + cos(geo_coord_nod2D(2, n)) * cos(declination) - end do + cosAI(n) = sqrt(1.0d0 - (1.0d0 - cosAngleNoon**2) / nWater**2) + end do end subroutine Cobeta !================================================================================ ! Calculating second zooplankton respiration rates !================================================================================ subroutine krill_resp(n, partit, mesh) - use REcoM_declarations - use REcoM_LocVar - use REcoM_GloVar - use g_clock - use o_PARAM -! use g_PARSUP + use REcoM_declarations + use REcoM_LocVar + use REcoM_GloVar + use g_clock + use o_PARAM use mod_mesh - USE MOD_PARTIT - USE MOD_PARSUP - use g_comm_auto - implicit none - integer :: n - - type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(inout), target :: mesh + use MOD_PARTIT + use MOD_PARSUP + use g_comm_auto + + implicit none + + ! Input parameters + integer :: n + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh + #include "../associate_part_def.h" #include "../associate_mesh_def.h" #include "../associate_part_ass.h" @@ -201,4 +203,3 @@ subroutine krill_resp(n, partit, mesh) end if endif end subroutine krill_resp - diff --git a/src/int_recom/recom_forcing.F90 b/src/int_recom/recom_forcing.F90 index 81650779d..5164abdf7 100644 --- a/src/int_recom/recom_forcing.F90 +++ b/src/int_recom/recom_forcing.F90 @@ -1,7 +1,7 @@ !=============================================================================== ! REcoM_Forcing !=============================================================================== -subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sali_depth & +subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp, Temp, Sali, Sali_depth & , CO2_watercolumn & , pH_watercolumn & , pCO2_watercolumn & @@ -66,7 +66,7 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal !!---- Subroutine Depth real(kind=8),dimension(mesh%nl) :: zF ! [m] Depth of fluxes - real(kind=8),dimension(mesh%nl,5) :: SinkVel ! [m/day] + real(kind=8),dimension(mesh%nl,6) :: SinkVel ! [m/day] real(kind=8),dimension(mesh%nl-1) :: thick ! [m] Vertical distance between two nodes = Thickness real(kind=8),dimension(mesh%nl-1) :: recipthick ! [1/m] reciprocal of thick @@ -110,10 +110,13 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal tiny_Si = tiny_C_d/SiCmax ! SiCmax = 0.8d0 -#if defined (__coccos) - tiny_N_c = tiny_chl/chl2N_max_c ! 0.00001/ 3.5d0 +if (enable_coccos) then + tiny_N_c = tiny_chl/chl2N_max_c ! 0.00001/ 3.5d0 tiny_C_c = tiny_N_c/NCmax_c ! NCmax_c = 0.15d0 -#endif + + tiny_N_p = tiny_chl/chl2N_max_p ! 0.00001/ 3.5d0 + tiny_C_p = tiny_N_p/NCmax_p ! NCmax_c = 0.15d0 +endif call Cobeta(partit, mesh) call Depth_calculations(n, Nn,SinkVel,zF,thick,recipthick, partit, mesh) @@ -134,7 +137,7 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal REcoM_T = min(REcoM_T, 40.d0) !!---- minimum set to 21: K1/K2 Lueker valid between 2degC-35degC and 19-43psu, else causes trouble in regions with S between 19 and 21 and ice conc above 97% - REcoM_S = max(21.d0, Sali(1)) + REcoM_S = max(21.d0, Sali(1)) !!---- maximum set to 43: K1/K2 Lueker valid between 2degC-35degC and 19-43psu, else causes trouble REcoM_S = min(REcoM_S, 43.d0) !!!!!!!! !!---- convert from Pa to atm. @@ -183,7 +186,7 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal endif call flxco2(co2flux, co2ex, dpco2surf, & - ph, pco2surf, fco2, co2, hco3, co3, OmegaA, OmegaC, BetaD, rhoSW, p, tempis, & + ph, pco2surf, fco2, co2, hco3, co3, OmegaA, OmegaC, BetaD, rhoSW, p, tempis, K0, & REcoM_T, REcoM_S, REcoM_Alk, REcoM_DIC, REcoM_Si, REcoM_Phos, kw660, LocAtmCO2, Patm, thick(One), Nmocsy, Lond,Latd, & optCON='mol/m3',optT='Tpot ',optP='m ',optB='u74',optK1K2='l ',optKf='dg',optGAS='Pinsitu',optS='Sprc') @@ -259,19 +262,71 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal state(1:nn,idiac) = max(tiny_C_d,state(1:nn,idiac)) state(1:nn,idiasi) = max(tiny_Si, state(1:nn,idiasi)) -#if defined (__coccos) +if (enable_coccos) then state(1:nn,icchl) = max(tiny_chl,state(1:nn,icchl)) state(1:nn,icocn) = max(tiny_N_c,state(1:nn,icocn)) state(1:nn,icocc) = max(tiny_C_c,state(1:nn,icocc)) -#endif -#if defined (__3Zoo2Det) + state(1:nn,iphachl) = max(tiny_chl,state(1:nn,iphachl)) + state(1:nn,iphan) = max(tiny_N_p,state(1:nn,iphan)) + state(1:nn,iphac) = max(tiny_C_p,state(1:nn,iphac)) +endif + +if (enable_3zoo2det) then state(1:nn,imiczoon) = max(tiny,state(1:nn,imiczoon)) state(1:nn,imiczooc) = max(tiny,state(1:nn,imiczooc)) -#endif +endif if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> ciso after REcoM_Forcing'//achar(27)//'[0m' + if (ciso) then +! Calculate carbon-isotopic fractionation, radioactive decay is calculated in oce_ale_tracer.F90 + +! Fractionation due to air-sea exchange and chemical speciation of CO2 + call recom_ciso_airsea(recom_t(1), co3(1), recom_dic(1)) ! -> alpha_aq, alpha_dic. CO3 is taken from mocsy + +! Isotopic ratios of dissolved CO2, also needed to calculate biogenic fractionation + r_dic_13 = max(tiny*1e-3,state(1,idic_13)*1e-3) / recom_dic(1) + r_co2s_13 = alpha_aq_13 / alpha_dic_13 * r_dic_13 +! Calculate air-sea fluxes of 13|14CO2 in mmol / m**2 / s + kwco2 = kw660(1) * (660/scco2(REcoM_T(1)))**0.5 ! Piston velocity (via mocsy) + co2sat = co2flux(1) / (kwco2 + tiny) + co2(1) ! Saturation concentration of CO2 (via mocsy) +! co2flux_13 = kwco2 * alpha_k_13 * (alpha_aq_13 * r_atm_13 * co2sat - r_co2s_13 * co2(1)) +! co2flux_13 = alpha_k_13 * alpha_aq_13 * kwco2 * (r_atm_13 * co2sat - r_dic_13 * co2(1) / alpha_dic_13) +! Fractionation factors were determined for freshwater, include a correction for enhanced fractionation in seawater + co2flux_13 = (alpha_k_13 * alpha_aq_13 - 0.0002) * kwco2 * (r_atm_13 * co2sat - r_dic_13 * co2(1) / alpha_dic_13) + co2flux_seaicemask_13 = co2flux_13 * 1.e3 + +! Biogenic fractionation due to photosynthesis of plankton +! phyc_13|14 and diac_13|14 are only used in REcoM_sms to calculate DIC_13|14, DOC_13|14 and DetC_13|14 + + call recom_ciso_photo(co2(1)) ! -> alpha_p + r_phyc_13 = r_co2s_13 / alpha_p_13 + r_diac_13 = r_co2s_13 / alpha_p_dia_13 + state(1:nn,iphyc_13) = max((tiny_C * r_phyc_13), (state(1:nn,iphyc) * r_phyc_13)) + state(1:nn,idiac_13) = max((tiny_C_d * r_diac_13), (state(1:nn,idiac) * r_diac_13)) + +! The same for radiocarbon, fractionation factors have been already derived above + if (ciso_14) then +! Air-sea exchange + r_dic_14 = max(tiny*1e-3,state(1,idic_14)*1e-3) / recom_dic(1) + r_co2s_14 = alpha_aq_14 / alpha_dic_14 * r_dic_14 +! co2flux_14 = kwco2 * alpha_k_14 * (alpha_aq_14 * r_atm_14 * co2sat - r_co2s_14 * co2(1)) +! Fractionation factors were determined for freshwater, include a correction for enhanced fractionation seawater + co2flux_14 = (alpha_k_14 * alpha_aq_14 - 0.0004) * kwco2 * (r_atm_14 * co2sat - r_dic_14 * co2(1) / alpha_dic_14) + co2flux_seaicemask_14 = co2flux_14 * 1.e3 +! Biogenic fractionation + if (ciso_organic_14) then + r_phyc_14 = r_co2s_14 / alpha_p_14 + r_diac_14 = r_co2s_14 / alpha_p_dia_14 + state(1:nn,iphyc_14) = max((tiny_C * r_phyc_14), (state(1:nn,iphyc) * r_phyc_14)) + state(1:nn,idiac_14) = max((tiny_C_d * r_diac_14), (state(1:nn,idiac) * r_diac_14)) + end if + end if +! Radiocarbon + end if +! ciso + !------------------------------------------------------------------------------- ! Diagnostics if (Diags) then @@ -291,10 +346,58 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal locNNAd = sum(vertNNAd(1:nn) * thick(1:nn)) locChldegd = sum(vertChldegd(1:nn) * thick(1:nn)) +if (enable_coccos) then locNPPc = sum(vertNPPc(1:nn) * thick(1:nn)) locGPPc = sum(vertGPPc(1:nn) * thick(1:nn)) locNNAc = sum(vertNNAc(1:nn) * thick(1:nn)) locChldegc = sum(vertChldegc(1:nn) * thick(1:nn)) + locNPPp = sum(vertNPPp(1:nn) * thick(1:nn)) + locGPPp = sum(vertGPPp(1:nn) * thick(1:nn)) + locNNAp = sum(vertNNAp(1:nn) * thick(1:nn)) + locChldegp = sum(vertChldegp(1:nn) * thick(1:nn)) +endif + + if (Grazing_detritus) then ! only for the case if grazing detritus is used, as probably only needed for tuning which uses detritus grazing + ! Mesozooplankton + locgrazmeso_tot = sum(vertgrazmeso_tot(1:nn) * thick(1:nn)) + locgrazmeso_n = sum(vertgrazmeso_n(1:nn) * thick(1:nn)) + locgrazmeso_d = sum(vertgrazmeso_d(1:nn) * thick(1:nn)) + if (enable_coccos) then + locgrazmeso_c = sum(vertgrazmeso_c(1:nn) * thick(1:nn)) + locgrazmeso_p = sum(vertgrazmeso_p(1:nn) * thick(1:nn)) + endif + locgrazmeso_det = sum(vertgrazmeso_det(1:nn) * thick(1:nn)) + if (enable_3zoo2det) then + locgrazmeso_mic = sum(vertgrazmeso_mic(1:nn) * thick(1:nn)) + locgrazmeso_det2= sum(vertgrazmeso_det2(1:nn) * thick(1:nn)) + endif + + if (enable_3zoo2det) then + ! Macrozooplankton + locgrazmacro_tot = sum(vertgrazmacro_tot(1:nn) * thick(1:nn)) + locgrazmacro_n = sum(vertgrazmacro_n(1:nn) * thick(1:nn)) + locgrazmacro_d = sum(vertgrazmacro_d(1:nn) * thick(1:nn)) + if (enable_coccos) then + locgrazmacro_c = sum(vertgrazmacro_c(1:nn) * thick(1:nn)) + locgrazmacro_p = sum(vertgrazmacro_p(1:nn) * thick(1:nn)) + endif + locgrazmacro_mes = sum(vertgrazmacro_mes(1:nn) * thick(1:nn)) + locgrazmacro_det = sum(vertgrazmacro_det(1:nn) * thick(1:nn)) + locgrazmacro_mic = sum(vertgrazmacro_mic(1:nn) * thick(1:nn)) + locgrazmacro_det2= sum(vertgrazmacro_det2(1:nn) * thick(1:nn)) + + ! Microzooplankton + locgrazmicro_tot = sum(vertgrazmicro_tot(1:nn) * thick(1:nn)) + locgrazmicro_n = sum(vertgrazmicro_n(1:nn) * thick(1:nn)) + locgrazmicro_d = sum(vertgrazmicro_d(1:nn) * thick(1:nn)) + if (enable_coccos) then + locgrazmicro_c = sum(vertgrazmicro_c(1:nn) * thick(1:nn)) + locgrazmicro_p = sum(vertgrazmicro_p(1:nn) * thick(1:nn)) + endif + + endif + endif + end if end subroutine REcoM_Forcing diff --git a/src/int_recom/recom_init.F90 b/src/int_recom/recom_init.F90 index e9b5aebbf..e1d345692 100644 --- a/src/int_recom/recom_init.F90 +++ b/src/int_recom/recom_init.F90 @@ -45,6 +45,9 @@ subroutine recom_init(tracers, partit, mesh) type(t_partit), intent(inout), target :: partit type(t_mesh), intent(in) , target :: mesh + ! After reading tracer namelist - validate actual IDs + integer, dimension(tracers%num_tracers) :: tracer_id_array + #include "../associate_part_def.h" #include "../associate_mesh_def.h" #include "../associate_part_ass.h" @@ -70,6 +73,7 @@ subroutine recom_init(tracers, partit, mesh) allocate(RiverDSi2D ( node_size )) allocate(RiverDIC2D ( node_size )) allocate(RiverAlk2D ( node_size )) + allocate(RiverFe ( node_size )) !! * Erosion nutrients as surface boundary condition * allocate(ErosionTON2D ( node_size )) @@ -92,11 +96,15 @@ subroutine recom_init(tracers, partit, mesh) allocate(Benthos_tr ( node_size, benthos_num, num_tracers )) ! kh 25.03.22 buffer per tracer index allocate(GloHplus ( node_size )) allocate(DenitBen ( node_size )) + allocate(PistonVelocity ( node_size )) + allocate(alphaCO2 ( node_size )) + allocate(LocBenthos ( benthos_num )) allocate(decayBenthos ( benthos_num )) ! [1/day] Decay rate of detritus in the benthic layer allocate(PAR3D ( nl-1, node_size )) + GloFeDust = 0.d0 AtmFeInput = 0.d0 GloNDust = 0.d0 @@ -108,6 +116,7 @@ subroutine recom_init(tracers, partit, mesh) RiverDSi2D = 0.d0 RiverDIC2D = 0.d0 RiverAlk2D = 0.d0 + RiverFe = 0.d0 ErosionTON2D = 0.d0 ErosionTON2D = 0.d0 @@ -127,11 +136,11 @@ subroutine recom_init(tracers, partit, mesh) Benthos_tr(:,:,:) = 0.0d0 ! kh 25.03.22 GloHplus = exp(-8.d0 * log(10.d0)) ! = 10**(-8) DenitBen = 0.d0 + PistonVelocity = 0.d0 + alphaCO2 = 0.d0 LocBenthos = 0.d0 decayBenthos = 0.d0 - wFluxPhy = 0.d0 - wFluxDia = 0.d0 PAR3D = 0.d0 ! pco2surf = 0.d0 @@ -148,28 +157,86 @@ subroutine recom_init(tracers, partit, mesh) allocate(NPPn ( node_size )) allocate(NPPd ( node_size )) allocate(NPPc ( node_size )) + allocate(NPPp ( node_size )) allocate(GPPn ( node_size )) allocate(GPPd ( node_size )) allocate(GPPc ( node_size )) + allocate(GPPp ( node_size )) allocate(NNAn ( node_size )) allocate(NNAd ( node_size )) allocate(NNAc ( node_size )) + allocate(NNAp ( node_size )) allocate(Chldegn ( node_size )) allocate(Chldegd ( node_size )) allocate(Chldegc ( node_size )) + allocate(Chldegp ( node_size )) NPPn = 0.d0 NPPd = 0.d0 NPPc = 0.d0 + NPPp = 0.d0 GPPn = 0.d0 GPPd = 0.d0 GPPc = 0.d0 + GPPp = 0.d0 NNAn = 0.d0 NNAd = 0.d0 NNAc = 0.d0 + NNAp = 0.d0 Chldegn = 0.d0 Chldegd = 0.d0 Chldegc = 0.d0 + Chldegp = 0.d0 + + allocate(grazmeso_tot(node_size)) + allocate(grazmeso_n(node_size)) + allocate(grazmeso_d(node_size)) + allocate(grazmeso_c(node_size)) + allocate(grazmeso_p(node_size)) + allocate(grazmeso_det(node_size)) + allocate(grazmeso_mic(node_size)) + allocate(grazmeso_det2(node_size)) + + grazmeso_tot = 0.d0 + grazmeso_n = 0.d0 + grazmeso_d = 0.d0 + grazmeso_c = 0.d0 + grazmeso_p = 0.d0 + grazmeso_det = 0.d0 + grazmeso_mic = 0.d0 + grazmeso_det2= 0.d0 + + allocate(grazmacro_tot(node_size)) + allocate(grazmacro_n(node_size)) + allocate(grazmacro_d(node_size)) + allocate(grazmacro_c(node_size)) + allocate(grazmacro_p(node_size)) + allocate(grazmacro_mes(node_size)) + allocate(grazmacro_det(node_size)) + allocate(grazmacro_mic(node_size)) + allocate(grazmacro_det2(node_size)) + + grazmacro_tot = 0.d0 + grazmacro_n = 0.d0 + grazmacro_d = 0.d0 + grazmacro_c = 0.d0 + grazmacro_p = 0.d0 + grazmacro_mes = 0.d0 + grazmacro_det = 0.d0 + grazmacro_mic = 0.d0 + grazmacro_det2= 0.d0 + + allocate(grazmicro_tot(node_size)) + allocate(grazmicro_n(node_size)) + allocate(grazmicro_d(node_size)) + allocate(grazmicro_c(node_size)) + allocate(grazmicro_p(node_size)) + + grazmicro_tot = 0.d0 + grazmicro_n = 0.d0 + grazmicro_d = 0.d0 + grazmicro_c = 0.d0 + grazmicro_p = 0.d0 !! *** Allocate 3D diagnostics *** allocate(respmeso ( nl-1, node_size )) @@ -180,15 +247,19 @@ subroutine recom_init(tracers, partit, mesh) allocate(aggn ( nl-1, node_size )) allocate(aggd ( nl-1, node_size )) allocate(aggc ( nl-1, node_size )) + allocate(aggp ( nl-1, node_size )) allocate(docexn ( nl-1, node_size )) allocate(docexd ( nl-1, node_size )) allocate(docexc ( nl-1, node_size )) + allocate(docexp ( nl-1, node_size )) allocate(respn ( nl-1, node_size )) allocate(respd ( nl-1, node_size )) allocate(respc ( nl-1, node_size )) + allocate(respp ( nl-1, node_size )) allocate(NPPn3D ( nl-1, node_size )) allocate(NPPd3D ( nl-1, node_size )) allocate(NPPc3D ( nl-1, node_size )) + allocate(NPPp3D ( nl-1, node_size )) respmeso = 0.d0 respmacro = 0.d0 @@ -198,15 +269,78 @@ subroutine recom_init(tracers, partit, mesh) aggn = 0.d0 aggd = 0.d0 aggc = 0.d0 + aggp = 0.d0 docexn = 0.d0 docexd = 0.d0 docexc = 0.d0 + docexp = 0.d0 respn = 0.d0 respd = 0.d0 respc = 0.d0 + respp = 0.d0 NPPn3D = 0.d0 NPPd3D = 0.d0 NPPc3D = 0.d0 + NPPp3D = 0.d0 + +!! From Hannahs new temperature function (not sure if needed as diagnostic): + + allocate(TTemp_diatoms (nl-1,node_size)) + allocate(TTemp_phyto (nl-1,node_size)) + allocate(TTemp_cocco (nl-1,node_size)) + allocate(TTemp_phaeo (nl-1,node_size)) + + TTemp_diatoms (:,:) = 0.d0 + TTemp_phyto (:,:) = 0.d0 + TTemp_cocco (:,:) = 0.d0 + TTemp_phaeo (:,:) = 0.d0 + + allocate(TPhyCO2 (nl-1,node_size)) + allocate(TDiaCO2 (nl-1,node_size)) + allocate(TCoccoCO2 (nl-1,node_size)) + allocate(TPhaeoCO2 (nl-1,node_size)) + + TPhyCO2 (:,:) = 0.d0 + TDiaCO2 (:,:) = 0.d0 + TCoccoCO2 (:,:) = 0.d0 + TPhaeoCO2 (:,:) = 0.d0 + + allocate(TqlimitFac_phyto (nl-1,node_size)) + allocate(TqlimitFac_diatoms (nl-1,node_size)) + allocate(TqlimitFac_cocco (nl-1,node_size)) + allocate(TqlimitFac_phaeo (nl-1,node_size)) + + TqlimitFac_phyto (:,:) = 0.d0 + TqlimitFac_diatoms (:,:) = 0.d0 + TqlimitFac_cocco (:,:) = 0.d0 + TqlimitFac_phaeo (:,:) = 0.d0 + + + allocate(TCphotLigLim_diatoms (nl-1,node_size)) + allocate(TCphotLigLim_phyto (nl-1,node_size)) + allocate(TCphotLigLim_cocco (nl-1,node_size)) + allocate(TCphotLigLim_phaeo (nl-1,node_size)) + + + TCphotLigLim_diatoms (:,:) = 0.d0 + TCphotLigLim_phyto (:,:) = 0.d0 + TCphotLigLim_cocco (:,:) = 0.d0 + TCphotLigLim_phaeo (:,:) = 0.d0 + + allocate(TCphot_diatoms (nl-1,node_size)) + allocate(TCphot_phyto (nl-1,node_size)) + allocate(TCphot_cocco (nl-1,node_size)) + allocate(TCphot_phaeo (nl-1,node_size)) + + TCphot_diatoms (:,:) = 0.d0 + TCphot_phyto (:,:) = 0.d0 + TCphot_cocco (:,:) = 0.d0 + TCphot_phaeo (:,:) = 0.d0 + + allocate(TSi_assimDia (nl-1,node_size)) + + TSi_assimDia (:,:) = 0.d0 + end if !! *** Allocate 3D mocsy *** @@ -246,125 +380,240 @@ subroutine recom_init(tracers, partit, mesh) Sinkingvel1(:,:) = 0.d0 Sinkingvel2(:,:) = 0.d0 + allocate(Sinkvel1_tr(nl,node_size,num_tracers), Sinkvel2_tr(nl,node_size,num_tracers)) ! OG 16.03.23 + Sinkvel1_tr(:,:,:) = 0.0d0 + Sinkvel2_tr(:,:,:) = 0.0d0 + + if (use_MEDUSA) then + allocate(GloSed(node_size,sedflx_num)) + allocate(SinkFlx(node_size,bottflx_num)) + allocate(SinkFlx_tr(node_size,bottflx_num,num_tracers)) ! kh 25.03.22 buffer sums per tracer index + + SinkFlx(:,:) = 0.d0 + SinkFlx_tr(:,:,:) = 0.0d0 ! kh 25.03.22 + GloSed(:,:) = 0.d0 + allocate(lb_flux(node_size,9)) + lb_flux(:,:) = 0.d0 + end if + + ! After reading parecomsetup namelist + call initialize_tracer_indices + + ! Validation check here + call validate_recom_tracers(num_tracers, mype) + + ! ... populate tracer_id_array from namelist ... + tracer_id_array = tracers%data(1:tracers%num_tracers)%ID + call validate_tracer_id_sequence(tracer_id_array, num_tracers, mype) + + !=============================================================================== + ! Model Configuration Summary + !=============================================================================== + ! Configuration 1: Base model (enable_3zoo2det=F, enable_coccos=F) + ! - 2 Phytoplankton: General Phy, Diatoms + ! - 1 Zooplankton: Heterotrophs + ! - 1 Detritus pool + ! + ! Configuration 2: 3Zoo2Det (enable_3zoo2det=T, enable_coccos=F) + ! - 2 Phytoplankton: General Phy, Diatoms + ! - 3 Zooplankton: Het, Zoo2, Zoo3 + ! - 2 Detritus pools + ! + ! Configuration 3: Coccos (enable_3zoo2det=F, enable_coccos=T) + ! - 4 Phytoplankton: General Phy, Diatoms, Coccos, Phaeo + ! - 1 Zooplankton: Heterotrophs + ! - 1 Detritus pool + ! + ! Configuration 4: Full model (enable_3zoo2det=T, enable_coccos=T) + ! - 4 Phytoplankton: General Phy, Diatoms, Coccos, Phaeo + ! - 3 Zooplankton: Het, Zoo2, Zoo3 + ! - 2 Detritus pools + !=============================================================================== + DO i=num_tracers-bgc_num+1, num_tracers id=tracers%data(i)%ID SELECT CASE (id) -! ******************* -! CASE 2phy 1zoo 1det -! ******************* -! Skip: DIN, DIC, Alk, DSi and O2 are read from files -! Fe [mol/L] => [umol/m3] Check the units again! + !--------------------------------------------------------------------------- + ! Base Model: 2 Phytoplankton + 1 Zooplankton + 1 Detritus + !--------------------------------------------------------------------------- + ! Skip: DIN, DIC, Alk, DSi and O2 are read from files + ! Fe [mol/L] => [umol/m3] Check the units again! - CASE (1004) - tracers%data(i)%values(:,:) = tiny_chl/chl2N_max ! PhyN + ! --- Small Phytoplankton + CASE (1004) ! PhyN - Phytoplankton Nitrogen + tracers%data(i)%values(:,:) = tiny_chl/chl2N_max - CASE (1005) - tracers%data(i)%values(:,:) = tiny_chl/chl2N_max/NCmax ! PhyC + CASE (1005) ! PhyC - Phytoplankton Carbon + tracers%data(i)%values(:,:) = tiny_chl/chl2N_max/NCmax - CASE (1006) - tracers%data(i)%values(:,:) = tiny_chl ! PhyChl + CASE (1006) ! PhyChl - Phytoplankton Chlorophyll + tracers%data(i)%values(:,:) = tiny_chl - CASE (1007) - tracers%data(i)%values(:,:) = tiny ! DetN + ! --- Detritus (Non-living organic matter) --- + CASE (1007) ! DetN - Detrital Nitrogen + tracers%data(i)%values(:,:) = tiny - CASE (1008) - tracers%data(i)%values(:,:) = tiny ! DetC + CASE (1008) ! DetC - Detrital Carbon + tracers%data(i)%values(:,:) = tiny - CASE (1009) - tracers%data(i)%values(:,:) = tiny ! HetN + ! --- Mesozooplankton (Heterotrophs) --- + CASE (1009) ! HetN - Heterotroph Nitrogen + tracers%data(i)%values(:,:) = tiny - CASE (1010) - tracers%data(i)%values(:,:) = tiny * Redfield ! HetC + CASE (1010) ! HetC - Heterotroph Carbon (using Redfield ratio) + tracers%data(i)%values(:,:) = tiny * Redfield - CASE (1011) - tracers%data(i)%values(:,:) = tiny ! DON + ! --- Dissolved Organic Matter --- + CASE (1011) ! DON - Dissolved Organic Nitrogen + tracers%data(i)%values(:,:) = tiny - CASE (1012) - tracers%data(i)%values(:,:) = tiny ! DOC + CASE (1012) ! DOC - Dissolved Organic Carbon + tracers%data(i)%values(:,:) = tiny - CASE (1013) - tracers%data(i)%values(:,:) = tiny_chl/chl2N_max ! DiaN + ! --- Diatoms --- + CASE (1013) ! DiaN - Diatom Nitrogen + tracers%data(i)%values(:,:) = tiny_chl/chl2N_max - CASE (1014) - tracers%data(i)%values(:,:) = tiny_chl/chl2N_max/NCmax ! DiaC + CASE (1014) ! DiaC - Diatom Carbon + tracers%data(i)%values(:,:) = tiny_chl/chl2N_max/NCmax - CASE (1015) - tracers%data(i)%values(:,:) = tiny_chl ! DiaChl + CASE (1015) ! DiaChl - Diatom Chlorophyll + tracers%data(i)%values(:,:) = tiny_chl - CASE (1016) - tracers%data(i)%values(:,:) = tiny_chl/chl2N_max_d/NCmax_d/SiCmax ! DiaSi + CASE (1016) ! DiaSi - Diatom Silica + tracers%data(i)%values(:,:) = tiny_chl/chl2N_max_d/NCmax_d/SiCmax - CASE (1017) - tracers%data(i)%values(:,:) = tiny ! DetSi + CASE (1017) ! DetSi - Detrital Silica + tracers%data(i)%values(:,:) = tiny - CASE (1019) - tracers%data(i)%values(:,:) = tracers%data(i)%values(:,:)* 1.e9 ! Fe [mol/L] => [umol/m3] Check the units again! + ! --- Iron (micronutrient) --- + CASE (1019) ! Fe - Iron (unit conversion: mol/L => umol/m3) + tracers%data(i)%values(:,:) = tracers%data(i)%values(:,:)* 1.e9 - CASE (1020) - tracers%data(i)%values(:,:) = tiny * Redfield ! PhyCalc + ! --- Calcium Carbonate (Calcite) --- + CASE (1020) ! PhyCalc - Phytoplankton Calcite + tracers%data(i)%values(:,:) = tiny * Redfield - CASE (1021) - tracers%data(i)%values(:,:) = tiny ! DetCalc + CASE (1021) ! DetCalc - Detrital Calcite + tracers%data(i)%values(:,:) = tiny + + !--------------------------------------------------------------------------- + ! Extended Model: Additional Zooplankton and Detritus (enable_3zoo2det) + !--------------------------------------------------------------------------- -! ******************* -! CASE 2phy 2zoo 2det -! ******************* -#if defined (__3Zoo2Det) CASE (1023) - tracers%data(i)%values(:,:) = tiny ! Zoo2N + IF (enable_3zoo2det .AND. .NOT. enable_coccos) THEN + ! Zoo2N - Macrozooplankton Nitrogen + tracers%data(i)%values(:,:) = tiny + ELSE IF (enable_coccos .AND. .NOT. enable_3zoo2det) THEN + ! CoccoN - Coccolithophore Nitrogen + tracers%data(i)%values(:,:) = tiny_chl / chl2N_max + END IF + CASE (1024) - tracers%data(i)%values(:,:) = tiny * Redfield ! Zoo2C + IF (enable_3zoo2det .AND. .NOT. enable_coccos) THEN + ! Zoo2C - Macrozooplankton Carbon + tracers%data(i)%values(:,:) = tiny * Redfield + ELSE IF (enable_coccos .AND. .NOT. enable_3zoo2det) THEN + ! CoccoC - Coccolithophore Carbon + tracers%data(i)%values(:,:) = tiny_chl / chl2N_max / NCmax + END IF + CASE (1025) - tracers%data(i)%values(:,:) = tiny ! DetZ2N + IF (enable_3zoo2det .AND. .NOT. enable_coccos) THEN + ! DetZ2N - Macrozooplankton Detrital Nitrogen + tracers%data(i)%values(:,:) = tiny + ELSE IF (enable_coccos .AND. .NOT. enable_3zoo2det) THEN + ! CoccoChl - Coccolithophore Chlorophyll + tracers%data(i)%values(:,:) = tiny_chl + END IF + CASE (1026) - tracers%data(i)%values(:,:) = tiny ! DetZ2C + IF (enable_3zoo2det .AND. .NOT. enable_coccos) THEN + ! DetZ2C - Macrozooplankton Detrital Carbon + tracers%data(i)%values(:,:) = tiny + ELSE IF (enable_coccos .AND. .NOT. enable_3zoo2det) THEN + ! PhaeoN - Phaeocystis Nitrogen + tracers%data(i)%values(:,:) = tiny_chl / chl2N_max + END IF + CASE (1027) - tracers%data(i)%values(:,:) = tiny ! DetZ2Si + IF (enable_3zoo2det .AND. .NOT. enable_coccos) THEN + ! DetZ2Si - Zooplankton 2 Detrital Silica + tracers%data(i)%values(:,:) = tiny + ELSE IF (enable_coccos .AND. .NOT. enable_3zoo2det) THEN + ! PhaeoC - Phaeocystis Carbon + tracers%data(i)%values(:,:) = tiny_chl / chl2N_max / NCmax + END IF + CASE (1028) - tracers%data(i)%values(:,:) = tiny ! DetZ2Calc -#endif + IF (enable_3zoo2det .AND. .NOT. enable_coccos) THEN + ! DetZ2Calc - Macrozooplankton Detrital Calcite + tracers%data(i)%values(:,:) = tiny + ELSE IF (enable_coccos .AND. .NOT. enable_3zoo2det) THEN + ! PhaeoChl - Phaeocystis Chlorophyll + tracers%data(i)%values(:,:) = tiny_chl + END IF + + !--------------------------------------------------------------------------- + ! Extended Model: Coccolithophores with 3Zoo2Det + !--------------------------------------------------------------------------- -! ******************* -! CASE 3phy 2zoo 2det -! ******************* -#if defined (__coccos) & defined (__3Zoo2Det) CASE (1029) - tracers%data(i)%values(:,:) = tiny_chl/chl2N_max ! CoccoN + IF (enable_coccos .AND. enable_3zoo2det) THEN + ! CoccoN - Coccolithophore Nitrogen + tracers%data(i)%values(:,:) = tiny_chl / chl2N_max + ELSE IF (enable_3zoo2det .AND. .NOT. enable_coccos) THEN + ! Zoo3N - Microzooplankton Nitrogen + tracers%data(i)%values(:,:) = tiny + END IF + CASE (1030) - tracers%data(i)%values(:,:) = tiny_chl/chl2N_max/NCmax ! CoccoC + IF (enable_coccos .AND. enable_3zoo2det) THEN + ! CoccoC - Coccolithophore Carbon + tracers%data(i)%values(:,:) = tiny_chl / chl2N_max / NCmax + ELSE IF (enable_3zoo2det .AND. .NOT. enable_coccos) THEN + ! Zoo3C - Microzooplankton Carbon + tracers%data(i)%values(:,:) = tiny * Redfield + END IF + CASE (1031) - tracers%data(i)%values(:,:) = tiny_chl ! CoccoChl -! ******************* -! CASE 3phy 1zoo 1det -! ******************* -#elif defined (__coccos) & !defined (__3Zoo2Det) - CASE (1023) - tracers%data(i)%values(:,:) = tiny_chl/chl2N_max ! CoccoN - CASE (1024) - tracers%data(i)%values(:,:) = tiny_chl/chl2N_max/NCmax ! CoccoC - CASE (1025) - tracers%data(i)%values(:,:) = tiny_chl ! CoccoChl -#endif + IF (enable_coccos .AND. enable_3zoo2det) THEN + ! CoccoChl - Coccolithophore Chlorophyll + tracers%data(i)%values(:,:) = tiny_chl + END IF -! ******************* -! CASE 3phy 3zoo 2det -! ******************* -#if defined (__coccos) & defined (__3Zoo2Det) CASE (1032) - tracers%data(i)%values(:,:) = tiny ! Zoo3N + IF (enable_coccos .AND. enable_3zoo2det) THEN + ! PhaeoN - Phaeocystis Nitrogen + tracers%data(i)%values(:,:) = tiny_chl / chl2N_max + END IF + CASE (1033) - tracers%data(i)%values(:,:) = tiny * Redfield ! Zoo3C -#elif !defined (__coccos) & defined (__3Zoo2Det) -! ******************* -! CASE 2phy 3zoo 2det -! ******************* - CASE (1029) - tracers%data(i)%values(:,:) = tiny ! Zoo3N - CASE (1030) - tracers%data(i)%values(:,:) = tiny * Redfield ! Zoo3C -#endif + IF (enable_coccos .AND. enable_3zoo2det) THEN + ! PhaeoC - Phaeocystis Carbon + tracers%data(i)%values(:,:) = tiny_chl / chl2N_max / NCmax + END IF + + CASE (1034) + IF (enable_coccos .AND. enable_3zoo2det) THEN + ! PhaeoChl - Phaeocystis Chlorophyll + tracers%data(i)%values(:,:) = tiny_chl + END IF + + CASE (1035) + IF (enable_coccos .AND. enable_3zoo2det) THEN + ! Zoo3N - Zooplankton 3 Nitrogen + tracers%data(i)%values(:,:) = tiny + END IF + + CASE (1036) + IF (enable_coccos .AND. enable_3zoo2det) THEN + ! Zoo3C - Zooplankton 3 Carbon + tracers%data(i)%values(:,:) = tiny * Redfield + END IF END SELECT END DO @@ -445,5 +694,16 @@ subroutine recom_init(tracers, partit, mesh) call MPI_AllREDUCE(locO2min , glo , 1, MPI_DOUBLE_PRECISION, MPI_MIN, MPI_COMM_FESOM, MPIerr) if (mype==0) write(*,*) ' `-> gobal min init. O2. =', glo + if (enable_3zoo2det) then + is_3zoo2det=1.0_WP + else + is_3zoo2det=0.0_WP + endif + + if (enable_coccos) then + is_coccos=1.0_WP + else + is_coccos=0.0_WP + endif end subroutine recom_init diff --git a/src/int_recom/recom_main.F90 b/src/int_recom/recom_main.F90 index c9c5575e5..a04039765 100755 --- a/src/int_recom/recom_main.F90 +++ b/src/int_recom/recom_main.F90 @@ -6,8 +6,8 @@ module recom_interface interface subroutine recom(ice, dynamics, tracers, partit, mesh) use mod_mesh - USE MOD_PARTIT - USE MOD_PARSUP + use MOD_PARTIT + use MOD_PARSUP use mod_tracer use MOD_DYN use MOD_ICE @@ -29,8 +29,8 @@ subroutine bio_fluxes(tracers, partit, mesh) use recom_config use mod_mesh - USE MOD_PARTIT - USE MOD_PARSUP + use MOD_PARTIT + use MOD_PARSUP use mod_tracer use g_config @@ -52,11 +52,11 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) use MOD_MESH use MOD_TRACER use MOD_DYN - USE MOD_ICE + use MOD_ICE use o_ARRAYS use o_PARAM - USE MOD_PARTIT - USE MOD_PARSUP + use MOD_PARTIT + use MOD_PARSUP use recom_declarations use bio_fluxes_interface @@ -64,10 +64,12 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) use recom_glovar use recom_config use recom_ciso + use recom_diags_management use g_clock use g_forcing_arrays, only: press_air, u_wind, v_wind, shortwave use g_comm_auto - IMPLICIT NONE + + implicit none type(t_dyn) , intent(inout), target :: dynamics type(t_tracer), intent(inout), target :: tracers @@ -98,6 +100,7 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) integer :: idiags real(kind=8) :: Sali + logical :: do_update = .false. real(kind=8), allocatable :: Temp(:), Sali_depth(:), zr(:), PAR(:) real(kind=8), allocatable :: C(:,:) @@ -113,6 +116,7 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) real(kind=8), allocatable :: OmegaC_watercolumn(:) real(kind=8), allocatable :: kspc_watercolumn(:) real(kind=8), allocatable :: rhoSW_watercolumn(:) + real(kind=WP) :: ttf_rhs_bak (mesh%nl-1, tracers%num_tracers) ! local variable #include "../associate_part_def.h" #include "../associate_mesh_def.h" @@ -135,6 +139,17 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) if (restore_alkalinity) call bio_fluxes(tracers, partit, mesh) if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> bio_fluxes'//achar(27)//'[0m' + if (use_atbox) then ! MERGE +! Prognostic atmospheric isoCO2 + call recom_atbox(partit,mesh) +! optional I/O of isoCO2 and inferred cosmogenic 14C production; this may cost some CPU time + if (ciso .and. ciso_14) then + call annual_event(do_update) + if (do_update .and. mype==0) write (*, fmt = '(a50,2x,i6,4(2x,f6.2))') & + 'Year, xCO2 (ppm), cosmic 14C flux (at / cm² / s):', & + yearold, x_co2atm(1), x_co2atm_13(1), x_co2atm_14(1), cosmic_14(1) * production_rate_to_flux_14 + end if + end if ! ====================================================================================== !********************************* LOOP STARTS ***************************************** @@ -176,6 +191,31 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) !!---- Atmospheric CO2 in LocVar LocAtmCO2 = AtmCO2(month) +! Update of prognostic atmospheric CO2 values + if (use_atbox) then + LocAtmCO2 = x_co2atm(1) + if (ciso) then + LocAtmCO2_13 = x_co2atm_13(1) + if (ciso_14) LocAtmCO2_14 = x_co2atm_14(1) + end if + else +! Consider prescribed atmospheric CO2 values + if (ciso) then + LocAtmCO2_13 = AtmCO2_13(month) + if (ciso_14) then +! Latitude of nodal point n + lat_val = geo_coord_nod2D(2,n) / rad +! Zonally binned NH / SH / TZ 14CO2 input values + LocAtmCO2_14 = AtmCO2_14(lat_zone(lat_val), month) + end if + end if + end if ! use_atbox + + if (ciso) then + r_atm_13 = LocAtmCO2_13(1) / LocAtmCO2(1) + if (ciso_14) r_atm_14 = LocAtmCO2_14(1) / LocAtmCO2(1) + end if + !!---- Shortwave penetration SW = parFrac * shortwave(n) SW = SW * (1.d0 - a_ice(n)) @@ -206,6 +246,15 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) C(1:nzmax, tr_num-2) = tracers%data(tr_num)%values(1:nzmax, n) end do + ttf_rhs_bak = 0.0 + + + do tr_num=1, num_tracers + if (tracers%data(tr_num)%ltra_diag) then + ttf_rhs_bak(1:nzmax,tr_num) = tracers%data(tr_num)%values(1:nzmax, n) + end if + end do + !!---- Depth of the nodes in the water column zr(1:nzmax) = Z_3d_n(1:nzmax, n) @@ -217,57 +266,124 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) NDust = GloNDust(n) * (1.d0 - a_ice(n)) if (Diags) then - - !! * Allocate 3D diagnostics * - allocate(vertrespmeso(nl-1), vertrespmacro(nl-1), vertrespmicro(nl-1)) - vertrespmeso = 0.d0 - vertrespmacro = 0.d0 - vertrespmicro = 0.d0 - - allocate(vertcalcdiss(nl-1), vertcalcif(nl-1)) - vertcalcdiss = 0.d0 - vertcalcif = 0.d0 - - allocate(vertaggn(nl-1), vertaggd(nl-1), vertaggc(nl-1)) - vertaggn = 0.d0 - vertaggd = 0.d0 - vertaggc = 0.d0 - - allocate(vertdocexn(nl-1), vertdocexd(nl-1), vertdocexc(nl-1)) - vertdocexn = 0.d0 - vertdocexd = 0.d0 - vertdocexc = 0.d0 - - allocate(vertrespn(nl-1), vertrespd(nl-1), vertrespc(nl-1)) - vertrespn = 0.d0 - vertrespd = 0.d0 - vertrespc = 0.d0 - - !! * Allocate 2D diagnostics * - allocate(vertNPPn(nl-1), vertGPPn(nl-1), vertNNAn(nl-1), vertChldegn(nl-1)) - vertNPPn = 0.d0 - vertGPPn = 0.d0 - vertNNAn = 0.d0 - vertChldegn = 0.d0 - - allocate(vertNPPd(nl-1), vertGPPd(nl-1), vertNNAd(nl-1), vertChldegd(nl-1)) - vertNPPd = 0.d0 - vertGPPd = 0.d0 - vertNNAd = 0.d0 - vertChldegd = 0.d0 - - allocate(vertNPPc(nl-1), vertGPPc(nl-1), vertNNAc(nl-1), vertChldegc(nl-1)) - vertNPPc = 0.d0 - vertGPPc = 0.d0 - vertNNAc = 0.d0 - vertChldegc = 0.d0 + ! Allocate and initialize all diagnostic arrays for a water column + call allocate_and_init_diags(nl) end if +! +! !! * Allocate 3D diagnostics * +! allocate(vertrespmeso(nl-1)) +! vertrespmeso = 0.d0 +! +!if (enable_3zoo2det) then +! allocate(vertrespmacro(nl-1), vertrespmicro(nl-1)) +! vertrespmacro = 0.d0 +! vertrespmicro = 0.d0 +!endif +! allocate(vertcalcdiss(nl-1), vertcalcif(nl-1)) +! vertcalcdiss = 0.d0 +! vertcalcif = 0.d0 +! +! allocate(vertaggn(nl-1), vertaggd(nl-1)) +! vertaggn = 0.d0 +! vertaggd = 0.d0 +! +! allocate(vertdocexn(nl-1), vertdocexd(nl-1)) +! vertdocexn = 0.d0 +! vertdocexd = 0.d0 +! +! allocate(vertrespn(nl-1), vertrespd(nl-1)) +! vertrespn = 0.d0 +! vertrespd = 0.d0 +! +! allocate(VTPhyCO2(nl-1), VTDiaCO2(nl-1)) +! VTPhyCO2 = 0.d0 +! VTDiaCO2 = 0.d0 +! +! allocate(VTCphotLigLim_phyto(nl-1), VTCphotLigLim_diatoms(nl-1)) +! VTCphotLigLim_phyto = 0.d0 +! VTCphotLigLim_diatoms = 0.d0 +! +! allocate(VTCphot_phyto(nl-1), VTCphot_diatoms(nl-1)) +! VTCphot_phyto = 0.d0 +! VTCphot_diatoms = 0.d0 +! +!if (enable_coccos) then +! allocate(VTTemp_diatoms(nl-1), VTTemp_phyto(nl-1)) +! VTTemp_diatoms = 0.d0 +! VTTemp_phyto = 0.d0 +! +! allocate(VTqlimitFac_phyto(nl-1), VTqlimitFac_diatoms(nl-1)) +! VTqlimitFac_phyto = 0.d0 +! VTqlimitFac_diatoms = 0.d0 +! +! allocate(VTSi_assimDia(nl-1)) +! VTSi_assimDia = 0.d0 +! +! allocate(vertaggc(nl-1), vertdocexc(nl-1), vertrespc(nl-1)) +! vertaggc = 0.d0 +! vertdocexc = 0.d0 +! vertrespc = 0.d0 +! +! allocate(vertaggp(nl-1), vertdocexp(nl-1), vertrespp(nl-1)) ! Phaeocystis +! vertaggp = 0.d0 +! vertdocexp = 0.d0 +! vertrespp = 0.d0 +! +! allocate(VTTemp_cocco(nl-1), VTTemp_phaeo(nl-1)) +! VTTemp_cocco = 0.d0 +! VTTemp_phaeo = 0.d0 +! +! allocate(VTCoccoCO2(nl-1), VTPhaeoCO2(nl-1)) +! VTCoccoCO2 = 0.d0 +! VTPhaeoCO2 = 0.d0 +! +! allocate(VTqlimitFac_cocco(nl-1), VTqlimitFac_phaeo(nl-1)) +! VTqlimitFac_cocco = 0.d0 +! VTqlimitFac_phaeo = 0.d0 +! +! allocate(VTCphotLigLim_cocco(nl-1), VTCphotLigLim_phaeo(nl-1)) +! VTCphotLigLim_cocco = 0.d0 +! VTCphotLigLim_phaeo = 0.d0 +! +! allocate(VTCphot_cocco(nl-1), VTCphot_phaeo(nl-1)) +! VTCphot_cocco = 0.d0 +! VTCphot_phaeo = 0.d0 +! +! +!endif +! +! !! * Allocate 2D diagnostics * +! allocate(vertNPPn(nl-1), vertGPPn(nl-1), vertNNAn(nl-1), vertChldegn(nl-1)) +! vertNPPn = 0.d0 +! vertGPPn = 0.d0 +! vertNNAn = 0.d0 +! vertChldegn = 0.d0 +! +! allocate(vertNPPd(nl-1), vertGPPd(nl-1), vertNNAd(nl-1), vertChldegd(nl-1)) +! vertNPPd = 0.d0 +! vertGPPd = 0.d0 +! vertNNAd = 0.d0 +! vertChldegd = 0.d0 +! +!if (enable_coccos) then +! allocate(vertNPPc(nl-1), vertGPPc(nl-1), vertNNAc(nl-1), vertChldegc(nl-1)) +! vertNPPc = 0.d0 +! vertGPPc = 0.d0 +! vertNNAc = 0.d0 +! vertChldegc = 0.d0 +! +! allocate(vertNPPp(nl-1), vertGPPp(nl-1), vertNNAp(nl-1), vertChldegp(nl-1)) +! vertNPPp = 0.d0 +! vertGPPp = 0.d0 +! vertNNAp = 0.d0 +! vertChldegp = 0.d0 +!endif if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> REcoM_Forcing'//achar(27)//'[0m' ! ====================================================================================== !******************************** RECOM FORCING **************************************** - call REcoM_Forcing(zr, n, nzmax, C, SW, Loc_slp , Temp, Sali, Sali_depth & + call REcoM_Forcing(zr, n, nzmax, C, SW, Loc_slp, Temp, Sali, Sali_depth & , CO2_watercolumn & ! NEW MOCSY CO2 for the whole watercolumn , pH_watercolumn & ! NEW MOCSY pH for the whole watercolumn , pCO2_watercolumn & ! NEW MOCSY pCO2 for the whole watercolumn @@ -282,69 +398,159 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) tracers%data(tr_num)%values(1:nzmax, n) = C(1:nzmax, tr_num-2) end do + ! recom_sms + + do tr_num=1, num_tracers + if (tracers%data(tr_num)%ltra_diag) then + tracers%work%tra_recom_sms(1:nzmax,n,tr_num) = tracers%data(tr_num)%values(1:nzmax, n) - ttf_rhs_bak(1:nzmax,tr_num) + !if (mype==0) print *, tra_recom_sms(:,:,tr_num) + end if + + end do + !!---- Local variables that have been changed during the time-step are stored so they can be saved Benthos(n,1:benthos_num) = LocBenthos(1:benthos_num) GlodecayBenthos(n, 1:benthos_num) = decayBenthos(1:benthos_num)/SecondsPerDay ! convert from [mmol/m2/d] to [mmol/m2/s] - if (Diags) then + if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> ciso after REcoM_Forcing'//achar(27)//'[0m' - !! * Update 2D diagnostics * - NPPn(n) = locNPPn - NPPd(n) = locNPPd - NPPc(n) = locNPPc - GPPn(n) = locGPPn - GPPd(n) = locGPPd - GPPc(n) = locGPPc - NNAn(n) = locNNAn - NNAd(n) = locNNAd - NNAc(n) = locNNAc - Chldegn(n) = locChldegn - Chldegd(n) = locChldegd - Chldegc(n) = locChldegc - - !! * Update 3D diagnostics * - respmeso (1:nzmax,n) = vertrespmeso (1:nzmax) - respmacro (1:nzmax,n) = vertrespmacro (1:nzmax) - respmicro (1:nzmax,n) = vertrespmicro (1:nzmax) - calcdiss (1:nzmax,n) = vertcalcdiss (1:nzmax) - calcif (1:nzmax,n) = vertcalcif (1:nzmax) - aggn (1:nzmax,n) = vertaggn (1:nzmax) - aggd (1:nzmax,n) = vertaggd (1:nzmax) - aggc (1:nzmax,n) = vertaggc (1:nzmax) - docexn (1:nzmax,n) = vertdocexn (1:nzmax) - docexd (1:nzmax,n) = vertdocexd (1:nzmax) - docexc (1:nzmax,n) = vertdocexc (1:nzmax) - respn (1:nzmax,n) = vertrespn (1:nzmax) - respd (1:nzmax,n) = vertrespd (1:nzmax) - respc (1:nzmax,n) = vertrespc (1:nzmax) - NPPn3D (1:nzmax,n) = vertNPPn (1:nzmax) - NPPd3D (1:nzmax,n) = vertNPPd (1:nzmax) - NPPc3D (1:nzmax,n) = vertNPPc (1:nzmax) -if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> ciso after REcoM_Forcing'//achar(27)//'[0m' - - !! * Deallocating 2D diagnostics * - deallocate(vertNPPn, vertGPPn, vertNNAn, vertChldegn) - deallocate(vertNPPd, vertGPPd, vertNNAd, vertChldegd) - deallocate(vertNPPc, vertGPPc, vertNNAc, vertChldegc) - - !! * Deallocating 3D Diagnostics * - deallocate(vertrespmeso, vertrespmacro, vertrespmicro ) - deallocate(vertcalcdiss, vertcalcif ) - deallocate(vertaggn, vertaggd, vertaggc ) - deallocate(vertdocexn, vertdocexd, vertdocexc ) - deallocate(vertrespn, vertrespd, vertrespc ) - - end if + if (Diags) then + call update_2d_diags(n) + call update_3d_diags(n, nzmax) + ! Deallocate vertical tracer array + call deallocate_diags() + endif +! !! * Update 2D diagnostics * +! NPPn(n) = locNPPn +! NPPd(n) = locNPPd +! GPPn(n) = locGPPn +! GPPd(n) = locGPPd +! NNAn(n) = locNNAn +! NNAd(n) = locNNAd +! Chldegn(n) = locChldegn +! Chldegd(n) = locChldegd +! +!if (enable_coccos) then +! NPPc(n) = locNPPc +! GPPc(n) = locGPPc +! NNAc(n) = locNNAc +! Chldegc(n) = locChldegc +! NPPp(n) = locNPPp +! GPPp(n) = locGPPp +! NNAp(n) = locNNAp +! Chldegp(n) = locChldegp +!endif +! +! !! * Update 3D diagnostics * +! respmeso (1:nzmax,n) = vertrespmeso (1:nzmax) +!if (enable_3zoo2det) then +! respmacro (1:nzmax,n) = vertrespmacro (1:nzmax) +! respmicro (1:nzmax,n) = vertrespmicro (1:nzmax) +!endif +! calcdiss (1:nzmax,n) = vertcalcdiss (1:nzmax) +! calcif (1:nzmax,n) = vertcalcif (1:nzmax) +! +! aggn (1:nzmax,n) = vertaggn (1:nzmax) +! docexn (1:nzmax,n) = vertdocexn (1:nzmax) +! respn (1:nzmax,n) = vertrespn (1:nzmax) +! NPPn3D (1:nzmax,n) = vertNPPn (1:nzmax) +! +! aggd (1:nzmax,n) = vertaggd (1:nzmax) +! docexd (1:nzmax,n) = vertdocexd (1:nzmax) +! respd (1:nzmax,n) = vertrespd (1:nzmax) +! NPPd3D (1:nzmax,n) = vertNPPd (1:nzmax) +! +! TPhyCO2 (1:nzmax,n) = VTPhyCO2 (1:nzmax) +! TDiaCO2 (1:nzmax,n) = VTDiaCO2 (1:nzmax) +! TCphotLigLim_phyto (1:nzmax,n) = VTCphotLigLim_phyto (1:nzmax) +! TCphotLigLim_diatoms(1:nzmax,n) = VTCphotLigLim_diatoms (1:nzmax) +! TCphot_phyto (1:nzmax,n) = VTCphot_phyto (1:nzmax) +! TCphot_diatoms (1:nzmax,n) = VTCphot_diatoms (1:nzmax) +! +!if (enable_coccos) then +! +! TTemp_phyto (1:nzmax,n) = VTTemp_phyto (1:nzmax) +! TqlimitFac_phyto (1:nzmax,n) = VTqlimitFac_phyto (1:nzmax) +! TTemp_diatoms (1:nzmax,n) = VTTemp_diatoms (1:nzmax) !! NEW from here tracking vars +! TqlimitFac_diatoms (1:nzmax,n) = VTqlimitFac_diatoms (1:nzmax) +! TSi_assimDia (1:nzmax,n) = VTSi_assimDia (1:nzmax) +! +! aggc (1:nzmax,n) = vertaggc (1:nzmax) +! docexc (1:nzmax,n) = vertdocexc (1:nzmax) +! respc (1:nzmax,n) = vertrespc (1:nzmax) +! NPPc3D (1:nzmax,n) = vertNPPc (1:nzmax) +! +! aggp (1:nzmax,n) = vertaggp (1:nzmax) +! docexp (1:nzmax,n) = vertdocexp (1:nzmax) +! respp (1:nzmax,n) = vertrespp (1:nzmax) +! NPPp3D (1:nzmax,n) = vertNPPp (1:nzmax) +! +! TTemp_cocco (1:nzmax,n) = VTTemp_cocco (1:nzmax) +! TCoccoCO2 (1:nzmax,n) = VTCoccoCO2 (1:nzmax) +! TqlimitFac_cocco (1:nzmax,n) = VTqlimitFac_cocco (1:nzmax) +! TCphotLigLim_cocco (1:nzmax,n) = VTCphotLigLim_cocco (1:nzmax) +! TCphot_cocco (1:nzmax,n) = VTCphot_cocco (1:nzmax) +! +! TTemp_phaeo (1:nzmax,n) = VTTemp_phaeo (1:nzmax) +! TPhaeoCO2 (1:nzmax,n) = VTPhaeoCO2 (1:nzmax) +! TqlimitFac_phaeo (1:nzmax,n) = VTqlimitFac_phaeo (1:nzmax) +! TCphotLigLim_phaeo (1:nzmax,n) = VTCphotLigLim_phaeo (1:nzmax) +! TCphot_phaeo (1:nzmax,n) = VTCphot_phaeo (1:nzmax) +! +! endif +! +!if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> ciso after REcoM_Forcing'//achar(27)//'[0m' +! +! !! * Deallocating 2D diagnostics * +! deallocate(vertNPPn, vertGPPn, vertNNAn, vertChldegn) +! deallocate(vertNPPd, vertGPPd, vertNNAd, vertChldegd) +!if (enable_coccos) then +! deallocate(vertNPPc, vertGPPc, vertNNAc, vertChldegc) +! deallocate(vertNPPp, vertGPPp, vertNNAp, vertChldegp) +!endif +! +! !! * Deallocating 3D Diagnostics * +! deallocate(vertrespmeso) +!if (enable_3zoo2det) then +! deallocate(vertrespmacro, vertrespmicro) +!endif +! deallocate(vertcalcdiss, vertcalcif) +! deallocate(vertaggn, vertdocexn, vertrespn) +! deallocate(vertaggd, vertdocexd, vertrespd) +! deallocate(VTPhyCO2, VTCphotLigLim_phyto, VTCphot_phyto) +! deallocate(VTDiaCO2, VTCphotLigLim_diatoms, VTCphot_diatoms) +! +!if (enable_coccos) then +! deallocate(vertgrazmeso_c) +! deallocate(VTTemp_phyto, VTqlimitFac_phyto) +! deallocate(VTTemp_diatoms, VTqlimitFac_diatoms) +! +! deallocate(VTSi_assimDia) +! deallocate(vertaggc, vertdocexc, vertrespc) +! deallocate(vertaggp, vertdocexp, vertrespp) +! +! deallocate(VTTemp_cocco, VTCoccoCO2, VTqlimitFac_cocco, VTCphotLigLim_cocco, VTCphot_cocco) +! deallocate(VTTemp_phaeo, VTPhaeoCO2, VTqlimitFac_phaeo, VTCphotLigLim_phaeo, VTCphot_phaeo) +! +!endif AtmFeInput(n) = FeDust AtmNInput(n) = NDust GloHplus(n) = ph(1) + PistonVelocity(n) = kw660(1) + alphaCO2(n) = K0(1) GloPCO2surf(n) = pco2surf(1) GlodPCO2surf(n) = dpco2surf(1) GloCO2flux(n) = dflux(1) ! [mmol/m2/d] GloCO2flux_seaicemask(n) = co2flux_seaicemask(1) ! [mmol/m2/s] GloO2flux_seaicemask(n) = o2flux_seaicemask(1) ! [mmol/m2/s] + if (ciso) then + GloCO2flux_seaicemask_13(n) = co2flux_seaicemask_13(1) ! [mmol/m2/s] + if (ciso_14) then + GloCO2flux_seaicemask_14(n) = co2flux_seaicemask_14(1) ! [mmol/m2/s] + end if + end if GloO2flux(n) = oflux(1) ! [mmol/m2/d] PAR3D(1:nzmax,n) = PAR(1:nzmax) @@ -375,6 +581,16 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) call exchange_nod(GloCO2flux_seaicemask, partit) call exchange_nod(GloO2flux_seaicemask, partit) + if (ciso) then + call exchange_nod(GloPCO2surf_13, partit) + call exchange_nod(GloCO2flux_13, partit) + call exchange_nod(GloCO2flux_seaicemask_13, partit) + if (ciso_14) then + call exchange_nod(GloPCO2surf_14, partit) + call exchange_nod(GloCO2flux_14, partit) + call exchange_nod(GloCO2flux_seaicemask_14, partit) + end if + end if do n=1, benthos_num call exchange_nod(Benthos(:,n), partit) end do @@ -388,10 +604,46 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) call exchange_nod(NNAd, partit) call exchange_nod(Chldegn, partit) call exchange_nod(Chldegd, partit) - call exchange_nod(NPPc, partit) - call exchange_nod(GPPc, partit) - call exchange_nod(NNAc, partit) - call exchange_nod(Chldegc, partit) + if (enable_coccos) then + call exchange_nod(NPPc, partit) + call exchange_nod(GPPc, partit) + call exchange_nod(NNAc, partit) + call exchange_nod(Chldegc, partit) + call exchange_nod(NPPp, partit) + call exchange_nod(GPPp, partit) + call exchange_nod(NNAp, partit) + call exchange_nod(Chldegp, partit) + endif + call exchange_nod(grazmeso_tot, partit) + call exchange_nod(grazmeso_n, partit) + call exchange_nod(grazmeso_d, partit) + if (enable_coccos) then + call exchange_nod(grazmeso_c, partit) + call exchange_nod(grazmeso_p, partit) + endif + call exchange_nod(grazmeso_det, partit) + if (enable_3zoo2det) then + call exchange_nod(grazmeso_mic, partit) + call exchange_nod(grazmeso_det2, partit) + call exchange_nod(grazmacro_tot, partit) + call exchange_nod(grazmacro_n, partit) + call exchange_nod(grazmacro_d, partit) + if (enable_coccos) then + call exchange_nod(grazmacro_c, partit) + call exchange_nod(grazmacro_p, partit) + endif + call exchange_nod(grazmacro_mes, partit) + call exchange_nod(grazmacro_det, partit) + call exchange_nod(grazmacro_mic, partit) + call exchange_nod(grazmacro_det2, partit) + call exchange_nod(grazmicro_tot, partit) + call exchange_nod(grazmicro_n, partit) + call exchange_nod(grazmicro_d, partit) + if (enable_coccos) then + call exchange_nod(grazmicro_c, partit) + call exchange_nod(grazmicro_p, partit) + endif + endif endif do n=1, benthos_num @@ -412,6 +664,7 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) call exchange_nod(OmegaC3D, partit) call exchange_nod(kspc3D, partit) call exchange_nod(rhoSW3D, partit) + end subroutine recom ! ====================================================================================== @@ -425,8 +678,8 @@ subroutine bio_fluxes(tracers, partit, mesh) use recom_config use mod_mesh - USE MOD_PARTIT - USE MOD_PARSUP + use MOD_PARTIT + use MOD_PARSUP use mod_tracer use g_config @@ -496,4 +749,4 @@ subroutine bio_fluxes(tracers, partit, mesh) relax_alk=relax_alk-net/ocean_area ! at ocean surface layer -end subroutine bio_fluxes \ No newline at end of file +end subroutine bio_fluxes diff --git a/src/int_recom/recom_modules.F90 b/src/int_recom/recom_modules.F90 index c4113377c..8697084fd 100644 --- a/src/int_recom/recom_modules.F90 +++ b/src/int_recom/recom_modules.F90 @@ -30,69 +30,50 @@ module recom_config isi = 18, ife = 19, iphycal = 20, idetcal = 21, & ioxy = 22 -#if defined (__3Zoo2Det) -! ******************* -! CASE 2phy 2zoo 2det -! ******************* Integer :: izoo2n = 23, izoo2c = 24, idetz2n = 25, & idetz2c = 26, idetz2si = 27, idetz2calc = 28 -#endif -#if defined (__coccos) & defined (__3Zoo2Det) -! ******************* -! CASE 3phy 2zoo 2det -! ******************* - Integer :: icocn = 29, icocc = 30, icchl = 31 + ! Microzooplankton (third zooplankton group) + integer :: imiczoon = 0 ! Microzooplankton Nitrogen (set below) + integer :: imiczooc = 0 ! Microzooplankton Carbon (set below) -#elif defined (__coccos) & !defined (__3Zoo2Det) -! ******************* -! CASE 3phy 1zoo 1det -! ******************* - Integer :: icocn = 23, icocc = 24, icchl = 25 -#endif + ! --------------------------------------------------------------------------- + ! PHYTOPLANKTON GROUPS (coccos configuration) + ! --------------------------------------------------------------------------- + ! Coccolithophores and Phaeocystis when enable_coccos = .true. -#if defined (__coccos) & defined (__3Zoo2Det) -! ******************* -! CASE 3phy 3zoo 2det -! ******************* - Integer :: imiczoon = 32, imiczooc = 33 + integer :: icocn = 0 ! Coccolithophore Nitrogen (set below) + integer :: icocc = 0 ! Coccolithophore Carbon (set below) + integer :: icchl = 0 ! Coccolithophore Chlorophyll (set below) -#elif !defined (__coccos) & defined (__3Zoo2Det) -! ******************* -! CASE 2phy 3zoo 2det -! ******************* - Integer :: imiczoon = 29, imiczooc = 30 -#endif + integer :: iphan = 0 ! Phaeocystis Nitrogen (set below) + integer :: iphac = 0 ! Phaeocystis Carbon (set below) + integer :: iphachl = 0 ! Phaeocystis Chlorophyll (set below) !============================================================================= - Integer :: ivphy = 1, ivdia = 2, ivdet = 3, ivdetsc = 4, ivcoc = 5 - + Integer :: ivphy = 1, ivdia = 2, ivdet = 3, ivdetsc = 4, ivcoc = 5, ivpha = 6 + !============================================================================= integer, dimension(8) :: recom_remin_tracer_id = (/1001, 1002, 1003, 1018, 1019, 1022, 1302, 1402/) ! OG ! Todo: Make recom_sinking_tracer_id case sensitive - integer, dimension(29) :: recom_sinking_tracer_id = (/1007, 1008, 1017, 1021, 1004, 1005, 1020, 1006, & + integer, dimension(32) :: recom_sinking_tracer_id = (/1007, 1008, 1017, 1021, 1004, 1005, 1020, 1006, & 1013, 1014, 1016, 1015, 1025, 1026, 1027, 1028, & 1029, 1030, 1031, & + 1032, 1033, 1034, & 1308, 1321, 1305, 1320, & 1314, 1408, 1421, 1405, 1420, 1414/) integer, dimension(8) :: recom_det_tracer_id = (/1007, 1008, 1017, 1021, 1308, 1321, 1408, 1421/) integer, dimension(8) :: recom_phy_tracer_id = (/1004, 1005, 1020, 1305, 1320, 1405, 1420, 1006/) integer, dimension(6) :: recom_dia_tracer_id = (/1013, 1014, 1314, 1414, 1016, 1015/) -#if defined (__coccos) & defined (__3Zoo2Det) - integer, dimension(3) :: recom_cocco_tracer_id = (/1029, 1030, 1031/) - -#elif defined (__coccos) & !defined (__3Zoo2Det) - integer, dimension(3) :: recom_cocco_tracer_id = (/1023, 1024, 1025/) -#endif - -#if defined (__3Zoo2Det) - integer, dimension(4) :: recom_det2_tracer_id = (/1025, 1026, 1027, 1028/) -#endif + ! Configuration-dependent tracer arrays (allocated during initialization) + integer, dimension(3) :: recom_cocco_tracer_id + integer, dimension(3) :: recom_phaeo_tracer_id + integer, dimension(4) :: recom_det2_tracer_id !============================================================================= @@ -104,19 +85,25 @@ module recom_config Real(kind=8) :: Pa2atm = 101325.d0 ! [Pa/atm] Real(kind=8) :: redO2C = 1.453 ! O2:C ratio Anderson and Sarmiento, 1994 +!! *** REcoM setup *** + Logical :: enable_3zoo2det = .false. ! Control extended zooplankton variables + Logical :: enable_coccos = .false. ! Control coccolithophore variables + namelist /parecomsetup/ enable_3zoo2det, enable_coccos + !! *** General configuration *** Logical :: use_REcoM = .true. Logical :: REcoM_restart = .false. - Integer :: bgc_num = 33 ! NEW increased the number from 28 to 34 (added coccos and respiration) ! NEW 3Zoo changed from 31 to 33 + Integer :: bgc_num = 36 ! NEW increased the number from 28 to 34 (added coccos and respiration) ! NEW 3Zoo changed from 31 to 33 ! added phaeocystis: changed from 33 to 36 integer :: bgc_base_num = 22 ! standard tracers - Integer :: diags3d_num = 28 ! Number of diagnostic 3d tracers to be saved + Integer :: diags3d_num = 31 ! Number of diagnostic 3d tracers to be saved Real(kind=8) :: VDet = 20.d0 ! Sinking velocity, constant through the water column and positive downwards Real(kind=8) :: VDet_zoo2 = 200.d0 ! Sinking velocity, constant through the water column Real(kind=8) :: VPhy = 0.d0 !!! If the number of sinking velocities are different from 3, code needs to be changed !!! Real(kind=8) :: VDia = 0.d0 Real(kind=8) :: VCocco = 0.d0 ! NEW + Real(kind=8) :: VPhaeo = 0.d0 ! Phaeocystis Logical :: allow_var_sinking = .true. Integer :: biostep = 1 ! Number of times biology should be stepped forward for each time step Logical :: REcoM_Geider_limiter = .false. ! Decides what routine should be used to calculate limiters in sms @@ -168,6 +155,7 @@ module recom_config bgc_num, diags3d_num, bgc_base_num, & VDet, VDet_zoo2, & VPhy, VDia, VCocco, & + VPhaeo, & allow_var_sinking, biostep, REcoM_Geider_limiter, & REcoM_Grazing_Variable_Preference, & Grazing_detritus, & @@ -201,13 +189,31 @@ module recom_config namelist /painitialization_N/ cPhyN, cHetN, cZoo2N !!------------------------------------------------------------------------------ -!! *** Arrhenius function *** +!! *** Temperature and Arrhenius functions *** Real(kind=8) :: recom_Tref = 288.15d0 ! [K] Real(kind=8) :: C2K = 273.15d0 ! Conversion from degrees C to K Real(kind=8) :: Ae = 4500.d0 ! [K] Slope of the linear part of the Arrhenius function + +!! *** Temperature variables for Blanchard function *** + Real(kind=8) :: Tmax_phaeo = 16d0 ! [degC] For Blanchard temp fxn: maximum temperature + Real(kind=8) :: Topt_phaeo = 7.5272d0 ! [degC] For Blanchard temp fxn: optimum temperature + Real(kind=8) :: uopt_phaeo = 0.7328d0 ! [1/day] For Blanchard function: optimum growth date + Real(kind=8) :: beta_phaeo = 0.7829d0 ! [unitless] For Blanchard function + +! NEW MODIFIED parameters + Real(kind=8) :: ord_d = -0.2216d0 ! parameters for diatom temperature function + Real(kind=8) :: expon_d = 0.0406d0 ! diatom exponent + Real(kind=8) :: ord_phy = -1.2154d0 ! small phyto ordonnee + Real(kind=8) :: expon_phy = 0.0599d0 ! small phyto exponent + Real(kind=8) :: ord_cocco = -0.2310d0 ! coccolith ordonnee + Real(kind=8) :: expon_cocco = 0.0327d0 ! small phyto ordonnee + Real(kind=8) :: ord_phaeo = -0.2310d0 ! phaeocystis ordonnee + Real(kind=8) :: expon_phaeo = 0.0327d0 ! phaeocystis ordonnee + Real(kind=8) :: reminSi = 0.02d0 Real(kind=8) :: k_o2_remin = 15.d0 ! NEW O2remin mmol m-3; Table 1 in Cram 2018 cites DeVries & Weber 2017 for a range of 0-30 mmol m-3 - namelist /paArrhenius/ recom_Tref, C2K, Ae, reminSi, k_o2_remin + namelist /paArrhenius/ recom_Tref, C2K, Ae, Tmax_phaeo, Topt_phaeo, uopt_phaeo, beta_phaeo, ord_d, expon_d, ord_phy, expon_phy, ord_cocco, expon_cocco, ord_phaeo, expon_phaeo, reminSi, k_o2_remin + !!------------------------------------------------------------------------------ !! *** For limiter function *** Real(kind=8) :: NMinSlope = 50.d0 @@ -215,15 +221,19 @@ module recom_config Real(kind=8) :: NCmin = 0.04d0 Real(kind=8) :: NCmin_d = 0.04d0 Real(kind=8) :: NCmin_c = 0.04d0 ! NEW + Real(kind=8) :: NCmin_p = 0.04d0 ! Phaeocystis Real(kind=8) :: SiCmin = 0.04d0 Real(kind=8) :: k_Fe = 0.04d0 Real(kind=8) :: k_Fe_d = 0.12d0 Real(kind=8) :: k_Fe_c = 0.04 ! NEW + Real(kind=8) :: k_Fe_p = 0.09 ! Phaeocystis (to be tuned) Real(kind=8) :: k_si = 4.d0 Real(kind=8) :: P_cm = 3.0d0 ! [1/day] the rate of C-specific photosynthesis Real(kind=8) :: P_cm_d = 3.5d0 Real(kind=8) :: P_cm_c = 3.3d0 ! NEW - namelist /palimiter_function/ NMinSlope, SiMinSlope, NCmin, NCmin_d, NCmin_c, SiCmin, k_Fe, k_Fe_d, k_Fe_c, k_si, P_cm, P_cm_d, P_cm_c + Real(kind=8) :: P_cm_p = 3.4d0 ! NEW for Phaeocystis ( to be tuned) + namelist /palimiter_function/ NMinSlope, SiMinSlope, NCmin, NCmin_d, NCmin_c, NCmin_p, SiCmin, k_Fe, k_Fe_d, k_Fe_c, k_Fe_p, k_si, P_cm, P_cm_d, P_cm_c, P_cm_p + !!------------------------------------------------------------------------------ !! *** For light calculations *** Real(kind=8) :: k_w = 0.04d0 ! [1/m] Light attenuation coefficient @@ -231,40 +241,47 @@ module recom_config namelist /palight_calculations/ k_w, a_chl !!------------------------------------------------------------------------------ !! *** Photosynthesis *** - Real(kind=8) :: alfa = 0.14d0 ! [(mmol C*m2)/(mg Chl*W*day)] + Real(kind=8) :: alfa = 0.14d0 ! [(mmol C*m2)/(mg Chl*W*day)] Real(kind=8) :: alfa_d = 0.19d0 ! An initial slope of the P-I curve Real(kind=8) :: alfa_c = 0.10d0 ! NEW + Real(kind=8) :: alfa_p = 0.10d0 ! Phaeocystis (to be tuned) Real(kind=8) :: parFrac = 0.43d0 - namelist /paphotosynthesis/ alfa, alfa_d, alfa_c, parFrac + namelist /paphotosynthesis/ alfa, alfa_d, alfa_c, alfa_p, parFrac !!------------------------------------------------------------------------------ !! *** Assimilation *** Real(kind=8) :: V_cm_fact = 0.7d0 ! scaling factor for temperature dependent maximum of C-specific N-uptake Real(kind=8) :: V_cm_fact_d = 0.7d0 - Real(kind=8) :: V_cm_fact_c = 0.7d0 ! NEW + Real(kind=8) :: V_cm_fact_c = 0.7d0 ! NEW + Real(kind=8) :: V_cm_fact_p = 0.7d0 ! Phaeocystis Real(kind=8) :: NMaxSlope = 1000.d0 ! Max slope for limiting function Real(kind=8) :: SiMaxSlope = 1000.d0 Real(kind=8) :: NCmax = 0.2d0 ! [mmol N/mmol C] Maximum cell quota of nitrogen (N:C) Real(kind=8) :: NCmax_d = 0.2d0 Real(kind=8) :: NCmax_c = 0.15d0 ! NEW + Real(kind=8) :: NCmax_p = 0.1d0 ! Phaeocystis (to be tuned) Real(kind=8) :: SiCmax = 0.8d0 Real(kind=8) :: NCuptakeRatio = 0.2d0 ! [mmol N/mmol C] Maximum uptake ratio of N:C Real(kind=8) :: NCUptakeRatio_d = 0.2d0 Real(kind=8) :: NCUptakeRatio_c = 0.2d0 ! NEW + Real(kind=8) :: NCUptakeRatio_p = 0.2d0 ! Phaeocystis Real(kind=8) :: SiCUptakeRatio = 0.2d0 Real(kind=8) :: k_din = 0.55d0 ! [mmol N/m3] Half-saturation constant for nitrate uptake Real(kind=8) :: k_din_d = 1.0d0 Real(kind=8) :: k_din_c = 0.55d0 ! NEW + Real(kind=8) :: k_din_p = 0.55d0 ! Phaeocystis (to be tuned) Real(kind=8) :: Chl2N_max = 3.15d0 ! [mg CHL/mmol N] Maximum CHL a : N ratio = 0.3 gCHL gN^-1 Real(kind=8) :: Chl2N_max_d = 4.2d0 Real(kind=8) :: Chl2N_max_c = 3.5d0 ! NEW + Real(kind=8) :: Chl2N_max_p = 3.5d0 ! Phaeocystis (to be tuned (?)) Real(kind=8) :: res_phy = 0.01d0 ! [1/day] Maintenance respiration rate constant Real(kind=8) :: res_phy_d = 0.01d0 Real(kind=8) :: res_phy_c = 0.0075d0 ! NEW + Real(kind=8) :: res_phy_p = 0.008d0 ! Phaeocystis (to be tuned (?)) Real(kind=8) :: biosynth = 2.33d0 ! [mmol C/mmol N] Cost of biosynthesis Real(kind=8) :: biosynthSi = 0.d0 - namelist /paassimilation/ V_cm_fact, V_cm_fact_d, V_cm_fact_c, NMaxSlope, SiMaxSlope, NCmax, NCmax_d, NCmax_c, SiCmax, & - NCuptakeRatio, NCUptakeRatio_d, NCUptakeRatio_c, SiCUptakeRatio, k_din, k_din_d, k_din_c, & - Chl2N_max, Chl2N_max_d, Chl2N_max_c, res_phy, res_phy_d, res_phy_c, biosynth, biosynthSi + namelist /paassimilation/ V_cm_fact, V_cm_fact_d, V_cm_fact_c, V_cm_fact_p, NMaxSlope, SiMaxSlope, NCmax, NCmax_d, NCmax_c, NCmax_p, SiCmax, & + NCuptakeRatio, NCUptakeRatio_d, NCUptakeRatio_c, NCUptakeRatio_p, SiCUptakeRatio, k_din, k_din_d, k_din_c, k_din_p, & + Chl2N_max, Chl2N_max_d, Chl2N_max_c, Chl2N_max_p, res_phy, res_phy_d, res_phy_c, res_phy_p, biosynth, biosynthSi !!------------------------------------------------------------------------------ !! *** Iron chemistry *** Real(kind=8) :: totalligand = 1.d0 ! [mumol/m3] order 1. Total free ligand @@ -283,26 +300,30 @@ module recom_config Real(kind=8) :: sPhyNsq = 0.d0 Real(kind=8) :: pzCocco = 0.5d0 ! NEW (value is just a guess) Real(kind=8) :: sCoccoNsq = 0.d0 ! NEW + Real(kind=8) :: pzPhaeo = 1.0d0 ! Phaeocystis (to be tuned) + Real(kind=8) :: sPhaeoNsq = 0.d0 ! Phaeocystis Real(kind=8) :: pzMicZoo = 1.0d0 ! NEW 3Zoo Maximum nano-phytoplankton preference Real(kind=8) :: sMicZooNsq = 0.d0 ! NEW 3Zoo real(kind=8) :: tiny_het = 1.d-5 ! for more stable computation of HetRespFlux (_plus). Value can be > tiny because HetRespFlux ~ hetC**2. - namelist /pazooplankton/ graz_max, epsilonr, res_het, Redfield, loss_het, pzDia, sDiaNsq, pzPhy, sPhyNsq, pzCocco, sCoccoNsq, pzMicZoo, sMicZooNsq, tiny_het + namelist /pazooplankton/ graz_max, epsilonr, res_het, Redfield, loss_het, pzDia, sDiaNsq, pzPhy, sPhyNsq, pzCocco, sCoccoNsq, pzPhaeo, sPhaeoNsq, pzMicZoo, sMicZooNsq, tiny_het !!------------------------------------------------------------------------------- -!! *** SecondZooplankton *** +!! *** SecondZooplankton (Macrozooplankton) *** Real(kind=8) :: graz_max2 = 0.1d0 ! [mmol N/(m3 * day)] Maximum grazing loss parameter Real(kind=8) :: epsilon2 = 0.0144d0 ! [(mmol N)2 /m6] Half saturation constant for grazing loss Real(kind=8) :: res_zoo2 = 0.0107d0 ! [1/day] Respiration by heterotrophs and mortality (loss to detritus) Real(kind=8) :: loss_zoo2 = 0.003d0 ! [1/day] Temperature dependent N degradation of extracellular organic N - Real(kind=8) :: fecal_rate_n = 0.13d0 + Real(kind=8) :: fecal_rate_n = 0.13d0 Real(kind=8) :: fecal_rate_c = 0.295d0 Real(kind=8) :: fecal_rate_n_mes = 0.25d0 ! NEW 3Zoo - Real(kind=8) :: fecal_rate_c_mes = 0.32d0 ! NEW 3Zoo + Real(kind=8) :: fecal_rate_c_mes = 0.32d0 ! NEW 3Zoo Real(kind=8) :: pzDia2 = 1.d0 ! Maximum diatom preference Real(kind=8) :: sDiaNsq2 = 0.d0 Real(kind=8) :: pzPhy2 = 0.5d0 ! Maximum diatom preference Real(kind=8) :: sPhyNsq2 = 0.d0 Real(kind=8) :: pzCocco2 = 0.2d0 ! NEW (value is just a guess) Real(kind=8) :: sCoccoNsq2 = 0.d0 ! NEW + Real(kind=8) :: pzPhaeo2 = 0.5d0 ! Phaeocystis (to be tuned) + Real(kind=8) :: sPhaeoNsq2 = 0.d0 ! Phaeocystis Real(kind=8) :: pzHet = 0.8d0 ! Maximum diatom preference Real(kind=8) :: sHetNsq = 0.d0 Real(kind=8) :: pzMicZoo2 = 0.8d0 ! NEW Zoo3 Maximum microzooplankton preference @@ -313,7 +334,7 @@ module recom_config Real(kind=8) :: t4_zoo2 = 274.15d0 ! Krill temp. function constant3 namelist /pasecondzooplankton/ graz_max2, epsilon2, res_zoo2, & loss_zoo2, fecal_rate_n, fecal_rate_c, fecal_rate_n_mes, fecal_rate_c_mes, & ! NEW 3Zoo - pzDia2, sDiaNsq2, pzPhy2, sPhyNsq2, pzCocco2, sCoccoNsq2, pzHet, sHetNsq, & + pzDia2, sDiaNsq2, pzPhy2, sPhyNsq2, pzCocco2, sCoccoNsq2, pzPhaeo2, sPhaeoNsq2, pzHet, sHetNsq, & pzMicZoo2, sMicZooNsq2, & t1_zoo2, t2_zoo2, t3_zoo2, t4_zoo2 !------------------------------------------------------------------------------- @@ -328,7 +349,9 @@ module recom_config Real(kind=8) :: sPhyNsq3 = 0.d0 ! NEW 3Zoo Real(kind=8) :: pzCocco3 = 0.d0 ! NEW 3Zoo Maximum coccolithophore preference ! ATTENTION: This value needs to be tuned; I start with zero preference! Real(kind=8) :: sCoccoNsq3 = 0.d0 ! NEW 3Zoo - namelist /pathirdzooplankton/ graz_max3, epsilon3, loss_miczoo, res_miczoo, pzDia3, sDiaNsq3, pzPhy3, sPhyNsq3, pzCocco3, sCoccoNsq3 + Real(kind=8) :: pzPhaeo3 = 1.0d0 ! Phaeocystis 3Zoo Maximum phaeocystis preference (to be tuned (?)) + Real(kind=8) :: sPhaeoNsq3 = 0.d0 ! Phaeocystis 3Zoo + namelist /pathirdzooplankton/ graz_max3, epsilon3, loss_miczoo, res_miczoo, pzDia3, sDiaNsq3, pzPhy3, sPhyNsq3, pzCocco3, sCoccoNsq3, pzPhaeo3, sPhaeoNsq3 !------------------------------------------------------------------------------- !! *** Detritus Grazing Params *** @@ -359,20 +382,23 @@ module recom_config !! *** Phytoplankton N *** Real(kind=8) :: lossN = 0.05d0 ! [1/day] Phytoplankton loss of organic N compounds Real(kind=8) :: lossN_d = 0.05d0 - Real(kind=8) :: lossN_c = 0.05d0 - namelist /paphytoplankton_N/ lossN, lossN_d, lossN_c + Real(kind=8) :: lossN_c = 0.05d0 + Real(kind=8) :: lossN_p = 0.05d0 ! Phaeocystis + namelist /paphytoplankton_N/ lossN, lossN_d, lossN_c, lossN_p !!------------------------------------------------------------------------------ !! *** Phytoplankton C *** Real(kind=8) :: lossC = 0.10d0 ! [1/day] Phytoplankton loss of carbon Real(kind=8) :: lossC_d = 0.10d0 - Real(kind=8) :: lossC_c = 0.10d0 - namelist /paphytoplankton_C/ lossC, lossC_d, lossC_c + Real(kind=8) :: lossC_c = 0.10d0 + Real(kind=8) :: lossC_p = 0.10d0 ! Phaeocystis + namelist /paphytoplankton_C/ lossC, lossC_d, lossC_c, lossC_p !!------------------------------------------------------------------------------ !! *** Phytoplankton ChlA *** Real(8) :: deg_Chl = 0.25d0 ! [1/day] Real(kind=8) :: deg_Chl_d = 0.25d0 Real(kind=8) :: deg_Chl_c = 0.20d0 ! (value is just a guess) - namelist /paphytoplankton_ChlA/ deg_Chl, deg_Chl_d, deg_Chl_c + Real(kind=8) :: deg_Chl_p = 0.25d0 ! Phaeocystis + namelist /paphytoplankton_ChlA/ deg_Chl, deg_Chl_d, deg_Chl_c, deg_Chl_p !!------------------------------------------------------------------------------ !! *** Detritus N *** Real(kind=8) :: gfin = 0.3d0 ! 3Zoo [] Grazing efficiency (fraction of grazing flux into zooplankton pool) @@ -405,32 +431,36 @@ module recom_config Real(kind=8) :: Cunits = 976.5625 ! Conversion factor between [mol/m3] (model) and [umol/kg] (function): (1000 * 1000) / 1024 Real(kind=8) :: a_co2_phy = 1.162e+00 ! [unitless] - Real(kind=8) :: a_co2_dia = 1.040e+00 ! [unitless] - Real(kind=8) :: a_co2_cocco = 1.109e+00 ! [unitless] - Real(kind=8) :: a_co2_calc = 1.102e+00 ! [unitless] - Real(kind=8) :: b_co2_phy = 4.888e+01 ! [mol/kg] + Real(kind=8) :: a_co2_dia = 1.040e+00 ! [unitless] + Real(kind=8) :: a_co2_cocco = 1.109e+00 ! [unitless] + Real(kind=8) :: a_co2_phaeo = 1.162e+00 ! [unitless] + Real(kind=8) :: a_co2_calc = 1.102e+00 ! [unitless] + Real(kind=8) :: b_co2_phy = 4.888e+01 ! [mol/kg] Real(kind=8) :: b_co2_dia = 2.890e+01 ! [mol/kg] Real(kind=8) :: b_co2_cocco = 3.767e+01 ! [mol/kg] + Real(kind=8) :: b_co2_phaeo = 4.888e+01 ! [mol/kg] Real(kind=8) :: b_co2_calc = 4.238e+01 ! [mol/kg] Real(kind=8) :: c_co2_phy = 2.255e-01 ! [kg/mol] - Real(kind=8) :: c_co2_dia = 8.778e-01 ! [kg/mol] - Real(kind=8) :: c_co2_cocco = 3.912e-01 ! [kg/mol] - Real(kind=8) :: c_co2_calc = 7.079e-01 ! [kg/mol] - Real(kind=8) :: d_co2_phy = 1.023e+07 ! [kg/mol] - Real(kind=8) :: d_co2_dia = 2.640e+06 ! [kg/mol] - Real(kind=8) :: d_co2_cocco = 9.450e+06 ! [kg/mol] - Real(kind=8) :: d_co2_calc = 1.343e+07 ! [kg/mol] - namelist /paco2lim/ Cunits, a_co2_phy, a_co2_dia, a_co2_cocco, a_co2_calc, & - b_co2_phy, b_co2_dia, b_co2_cocco, b_co2_calc, & - c_co2_phy, c_co2_dia, c_co2_cocco, c_co2_calc, & - d_co2_phy, d_co2_dia, d_co2_cocco, d_co2_calc + Real(kind=8) :: c_co2_dia = 8.778e-01 ! [kg/mol] + Real(kind=8) :: c_co2_cocco = 3.912e-01 ! [kg/mol] + Real(kind=8) :: c_co2_phaeo = 2.255e-01 ! [kg/mol] + Real(kind=8) :: c_co2_calc = 7.079e-01 ! [kg/mol] + Real(kind=8) :: d_co2_phy = 1.023e+07 ! [kg/mol] + Real(kind=8) :: d_co2_dia = 2.640e+06 ! [kg/mol] + Real(kind=8) :: d_co2_cocco = 9.450e+06 ! [kg/mol] + Real(kind=8) :: d_co2_phaeo = 1.023e+07 ! [kg/mol] + Real(kind=8) :: d_co2_calc = 1.343e+07 ! [kg/mol] + namelist /paco2lim/ Cunits, a_co2_phy, a_co2_dia, a_co2_cocco, a_co2_phaeo, a_co2_calc, & + b_co2_phy, b_co2_dia, b_co2_cocco, b_co2_phaeo, b_co2_calc, & + c_co2_phy, c_co2_dia, c_co2_cocco, c_co2_phaeo, c_co2_calc, & + d_co2_phy, d_co2_dia, d_co2_cocco, d_co2_phaeo, d_co2_calc !!------------------------------------------------------------------------------ !! *** Iron *** Real(kind=8) :: Fe2N = 0.033d0 ! Fe2C * 6.625 (Fe2C = 0.005d0) Real(kind=8) :: Fe2N_benthos = 0.15d0 ! default was 0.14 Fe2C_benthos (=0.02125=0.68d0/32.d0) * 6.625 - will have to be tuned. [umol/m2/day] Real(kind=8) :: kScavFe = 0.07d0 Real(kind=8) :: dust_sol = 0.02d0 !Dissolution of Dust for bioavaliable - Real(kind=8) :: RiverFeConc = 100d0 ! mean DFe concentration in rivers + Real(kind=8) :: RiverFeConc = 100d0 ! mean DFe concentration in rivers namelist /pairon/ Fe2N, Fe2N_benthos, kScavFe, dust_sol, RiverFeConc !!------------------------------------------------------------------------------ !! *** Calcification *** @@ -477,6 +507,600 @@ module recom_config namelist /paballasting/ rho_POC, rho_PON, rho_CaCO3, rho_opal, rho_ref_part, & rho_ref_water, visc_ref_water, w_ref1, w_ref2, depth_scaling1, & depth_scaling2, max_sinking_velocity + +contains + + ! --------------------------------------------------------------------------- + ! SUBROUTINE: initialize_tracer_indices + ! --------------------------------------------------------------------------- + ! Purpose: Set up tracer indices based on model configuration + ! --------------------------------------------------------------------------- + subroutine initialize_tracer_indices() + implicit none + + if (enable_3zoo2det .and. enable_coccos) then + ! ======================================================================= + ! CASE: 4 phytoplankton + 3 zooplankton + 2 detritus + ! ======================================================================= + ! Phytoplankton: small phyto, diatoms, coccolithophores, phaeocystis + ! Zooplankton: mesozoo, macrozoo, microzoo + ! Detritus: det1, det2 + + icocn = 29 + icocc = 30 + icchl = 31 + iphan = 32 + iphac = 33 + iphachl = 34 + imiczoon = 35 + imiczooc = 36 + +! allocate(recom_cocco_tracer_id(3)) + recom_cocco_tracer_id = (/1029, 1030, 1031/) + +! allocate(recom_phaeo_tracer_id(3)) + recom_phaeo_tracer_id = (/1032, 1033, 1034/) + +! allocate(recom_det2_tracer_id(4)) + recom_det2_tracer_id = (/1025, 1026, 1027, 1028/) + + else if (enable_coccos .and. .not. enable_3zoo2det) then + ! ======================================================================= + ! CASE: 4 phytoplankton + 1 zooplankton + 1 detritus + ! ======================================================================= + ! Phytoplankton: small phyto, diatoms, coccolithophores, phaeocystis + ! Zooplankton: mesozoo only + ! Detritus: det1 only + + icocn = 23 + icocc = 24 + icchl = 25 + iphan = 26 + iphac = 27 + iphachl = 28 + +! allocate(recom_cocco_tracer_id(3)) + recom_cocco_tracer_id = (/1023, 1024, 1025/) + +! allocate(recom_phaeo_tracer_id(3)) + recom_phaeo_tracer_id = (/1026, 1027, 1028/) + + else if (enable_3zoo2det .and. .not. enable_coccos) then + ! ======================================================================= + ! CASE: 2 phytoplankton + 3 zooplankton + 2 detritus + ! ======================================================================= + ! Phytoplankton: small phyto, diatoms only + ! Zooplankton: mesozoo, macrozoo, microzoo + ! Detritus: det1, det2 + + imiczoon = 29 + imiczooc = 30 + +! allocate(recom_det2_tracer_id(4)) + recom_det2_tracer_id = (/1025, 1026, 1027, 1028/) + else + ! ======================================================================= + ! CASE: 2 phytoplankton + 1 zooplankton + 1 detritus (BASE CONFIGURATION) + ! ======================================================================= + ! Phytoplankton: small phyto, diatoms only + ! Zooplankton: mesozoo only + ! Detritus: det1 only + ! (All indices already set to default values) + endif + end subroutine initialize_tracer_indices + +! ============================================================================== +! SUBROUTINE: validate_recom_tracers +! ============================================================================== +! Purpose: Validate consistency between namelist tracer configuration and +! biogeochemical model setup (enable_3zoo2det, enable_coccos) +! ============================================================================== +subroutine validate_recom_tracers(num_tracers, mype) + implicit none + + ! Arguments + integer, intent(in) :: num_tracers ! Total number of tracers from namelist + integer, intent(in) :: mype ! MPI rank + + ! Local variables + integer :: expected_bgc_num + integer :: actual_bgc_num + integer :: expected_total_tracers + integer :: num_physical_tracers + logical :: config_error + character(len=200) :: error_msg + + ! For tracer ID validation + integer :: i, tracer_id + integer, dimension(:), allocatable :: expected_tracer_ids + logical, dimension(:), allocatable :: tracer_found + integer :: num_expected_tracers + logical :: id_error + + ! Physical tracers (temperature, salinity, etc.) - typically first 2 + num_physical_tracers = 2 + + ! Calculate actual BGC tracer count from namelist + actual_bgc_num = num_tracers - num_physical_tracers + + ! =========================================================================== + ! Determine expected BGC tracer count based on configuration + ! =========================================================================== + config_error = .false. + + if (enable_3zoo2det .and. enable_coccos) then + ! --------------------------------------------------------------------------- + ! Configuration 4: Full model (4 phyto + 3 zoo + 2 detritus) + ! --------------------------------------------------------------------------- + ! Base: 22 tracers (1001-1022) + ! Additional 3zoo2det: 4 tracers for det2 (1025-1028) + ! Additional coccos: 6 tracers for coccos (1029-1031) + ! Additional phaeocystis: 3 tracers (1032-1034) + ! Additional microzoo: 2 tracers (1035-1036) + ! Total: 22 + 4 + 6 + 3 + 2 = 36 (actually 22 + 14 = 36) + expected_bgc_num = 36 + + else if (enable_coccos .and. .not. enable_3zoo2det) then + ! --------------------------------------------------------------------------- + ! Configuration 3: Coccos only (4 phyto + 1 zoo + 1 detritus) + ! --------------------------------------------------------------------------- + ! Base: 22 tracers (1001-1022) + ! Additional coccos: 3 tracers (1023-1025) + ! Additional phaeocystis: 3 tracers (1026-1028) + ! Total: 22 + 6 = 28 + expected_bgc_num = 28 + + else if (enable_3zoo2det .and. .not. enable_coccos) then + ! --------------------------------------------------------------------------- + ! Configuration 2: 3Zoo2Det only (2 phyto + 3 zoo + 2 detritus) + ! --------------------------------------------------------------------------- + ! Base: 22 tracers (1001-1022) + ! Additional zoo2: 2 tracers (1023-1024) + ! Additional det2: 4 tracers (1025-1028) + ! Additional microzoo: 2 tracers (1029-1030) + ! Total: 22 + 8 = 30 + expected_bgc_num = 30 + + else + ! --------------------------------------------------------------------------- + ! Configuration 1: Base model (2 phyto + 1 zoo + 1 detritus) + ! --------------------------------------------------------------------------- + ! Base: 22 tracers (1001-1022) + expected_bgc_num = 22 + + end if + + expected_total_tracers = num_physical_tracers + expected_bgc_num + + ! =========================================================================== + ! Build expected tracer ID list for current configuration + ! =========================================================================== + + ! Determine total expected tracers + num_expected_tracers = expected_total_tracers + allocate(expected_tracer_ids(num_expected_tracers)) + allocate(tracer_found(num_expected_tracers)) + tracer_found = .false. + + ! Physical tracers (always present) + expected_tracer_ids(1) = 1 ! Temperature + expected_tracer_ids(2) = 2 ! Salinity + + ! Base BGC tracers (always present for all configurations) + do i = 1, 22 + expected_tracer_ids(num_physical_tracers + i) = 1000 + i + end do + + ! Configuration-specific tracers + if (enable_3zoo2det .and. enable_coccos) then + ! Full model: 1001-1022 (base) + 1023-1024 (zoo2) + 1025-1028 (det2) + 1029-1036 (coccos+phaeo+zoo3) + expected_tracer_ids(25) = 1023 ! Zoo2N + expected_tracer_ids(26) = 1024 ! Zoo2C + expected_tracer_ids(27) = 1025 ! DetZ2N + expected_tracer_ids(28) = 1026 ! DetZ2C + expected_tracer_ids(29) = 1027 ! DetZ2Si + expected_tracer_ids(30) = 1028 ! DetZ2Calc + expected_tracer_ids(31) = 1029 ! CoccoN + expected_tracer_ids(32) = 1030 ! CoccoC + expected_tracer_ids(33) = 1031 ! CoccoChl + expected_tracer_ids(34) = 1032 ! PhaeoN + expected_tracer_ids(35) = 1033 ! PhaeoC + expected_tracer_ids(36) = 1034 ! PhaeoChl + expected_tracer_ids(37) = 1035 ! Zoo3N + expected_tracer_ids(38) = 1036 ! Zoo3C + + else if (enable_coccos .and. .not. enable_3zoo2det) then + ! Coccos only: 1001-1022 (base) + 1023-1028 (coccos+phaeo) + expected_tracer_ids(25) = 1023 ! CoccoN + expected_tracer_ids(26) = 1024 ! CoccoC + expected_tracer_ids(27) = 1025 ! CoccoChl + expected_tracer_ids(28) = 1026 ! PhaeoN + expected_tracer_ids(29) = 1027 ! PhaeoC + expected_tracer_ids(30) = 1028 ! PhaeoChl + + else if (enable_3zoo2det .and. .not. enable_coccos) then + ! 3Zoo2Det only: 1001-1022 (base) + 1023-1030 (zoo2+det2+zoo3) + expected_tracer_ids(25) = 1023 ! Zoo2N + expected_tracer_ids(26) = 1024 ! Zoo2C + expected_tracer_ids(27) = 1025 ! DetZ2N + expected_tracer_ids(28) = 1026 ! DetZ2C + expected_tracer_ids(29) = 1027 ! DetZ2Si + expected_tracer_ids(30) = 1028 ! DetZ2Calc + expected_tracer_ids(31) = 1029 ! Zoo3N + expected_tracer_ids(32) = 1030 ! Zoo3C + end if + ! else: base configuration only needs tracers 1, 2, 1001-1022 + + ! =========================================================================== + ! Perform validation checks + ! =========================================================================== + + if (mype == 0) then + write(*,*) '' + write(*,*) '==========================================================================' + write(*,*) 'REcoM TRACER CONFIGURATION VALIDATION' + write(*,*) '==========================================================================' + write(*,*) 'Model configuration:' + write(*,*) ' enable_3zoo2det = ', enable_3zoo2det + write(*,*) ' enable_coccos = ', enable_coccos + write(*,*) '' + write(*,*) 'Tracer counts:' + write(*,*) ' Physical tracers (T, S, ...) = ', num_physical_tracers + write(*,*) ' Expected BGC tracers = ', expected_bgc_num + write(*,*) ' Expected TOTAL tracers = ', expected_total_tracers + write(*,*) ' Actual tracers from namelist = ', num_tracers + write(*,*) ' Actual BGC tracers from namelist = ', actual_bgc_num + write(*,*) '' + end if + + ! Check for inconsistencies + if (actual_bgc_num /= expected_bgc_num) then + config_error = .true. + if (mype == 0) then + write(*,*) '==========================================================================' + write(*,*) 'ERROR: TRACER COUNT MISMATCH!' + write(*,*) '==========================================================================' + write(*,*) 'The number of BGC tracers in the namelist does not match' + write(*,*) 'the expected count for the current configuration.' + write(*,*) '' + write(*,*) ' Expected BGC tracers: ', expected_bgc_num + write(*,*) ' Actual BGC tracers: ', actual_bgc_num + write(*,*) ' Difference: ', actual_bgc_num - expected_bgc_num + write(*,*) '' + write(*,*) 'Required tracer IDs for current configuration:' + write(*,*) ' Base tracers (always): 1001-1022 (22 tracers)' + + if (enable_3zoo2det .and. .not. enable_coccos) then + write(*,*) ' 3Zoo2Det extension: 1023-1030 (8 tracers)' + write(*,*) ' - Zoo2N, Zoo2C: 1023-1024' + write(*,*) ' - DetZ2 pool: 1025-1028' + write(*,*) ' - MicZooN, MicZooC: 1029-1030' + else if (enable_coccos .and. .not. enable_3zoo2det) then + write(*,*) ' Coccos extension: 1023-1028 (6 tracers)' + write(*,*) ' - CoccoN, C, Chl: 1023-1025' + write(*,*) ' - PhaeoN, C, Chl: 1026-1028' + else if (enable_3zoo2det .and. enable_coccos) then + write(*,*) ' - Zoo2N, Zoo2C: 1023-1024' + write(*,*) ' 3Zoo2Det extension: 1025-1028 (4 tracers for det2)' + write(*,*) ' Coccos extension: 1029-1034 (6 tracers)' + write(*,*) ' - CoccoN, C, Chl: 1029-1031' + write(*,*) ' - PhaeoN, C, Chl: 1032-1034' + write(*,*) ' MicroZoo extension: 1035-1036 (2 tracers)' + end if + + write(*,*) '' + write(*,*) 'ACTION REQUIRED:' + write(*,*) ' 1. Check your namelist.config tracer_list section' + write(*,*) ' 2. Ensure enable_3zoo2det and enable_coccos match your setup' + write(*,*) ' 3. Add/remove tracers to match the expected configuration' + write(*,*) '==========================================================================' + write(*,*) '' + end if + else + ! Validation passed + if (mype == 0) then + write(*,*) '==========================================================================' + write(*,*) 'VALIDATION PASSED: Tracer configuration is consistent!' + write(*,*) '==========================================================================' + write(*,*) '' + end if + end if + + ! =========================================================================== + ! Additional sanity check: verify bgc_num variable matches + ! =========================================================================== + if (bgc_num /= expected_bgc_num) then + if (mype == 0) then + write(*,*) '==========================================================================' + write(*,*) 'WARNING: bgc_num variable inconsistency!' + write(*,*) '==========================================================================' + write(*,*) 'The bgc_num parameter does not match the expected value.' + write(*,*) ' Current bgc_num value: ', bgc_num + write(*,*) ' Expected value: ', expected_bgc_num + write(*,*) '' + write(*,*) 'This may indicate that bgc_num was not updated after changing' + write(*,*) 'enable_3zoo2det or enable_coccos flags.' + write(*,*) '==========================================================================' + write(*,*) '' + end if + config_error = .true. + end if + + ! =========================================================================== + ! Validate tracer IDs: Check for correct IDs and detect clashes + ! =========================================================================== + id_error = .false. + + ! This check requires access to the actual tracer IDs from the namelist + ! We'll validate against the expected list + if (mype == 0) then + write(*,*) '==========================================================================' + write(*,*) 'VALIDATING TRACER IDs' + write(*,*) '==========================================================================' + write(*,*) 'Expected tracer ID sequence:' + write(*,*) '' + + ! Display expected IDs in a readable format + write(*,*) 'Physical tracers:' + write(*,*) ' ', expected_tracer_ids(1:num_physical_tracers) + write(*,*) '' + write(*,*) 'Base BGC tracers (1001-1022):' + write(*,*) ' ', expected_tracer_ids(3:24) + write(*,*) '' + + if (expected_bgc_num > 22) then + write(*,*) 'Extended configuration tracers:' + write(*,*) ' ', expected_tracer_ids(25:num_expected_tracers) + write(*,*) '' + end if + + write(*,*) 'CRITICAL: The tracer IDs in your namelist MUST match this sequence' + write(*,*) ' exactly, in the same order!' + write(*,*) '' + write(*,*) 'Common errors to avoid:' + write(*,*) ' - Using wrong tracer ID numbers (e.g., 1023 instead of 1025)' + write(*,*) ' - Tracer ID clashes between configurations' + write(*,*) ' - Incorrect order of tracer IDs in namelist' + write(*,*) ' - Missing or duplicate tracer IDs' + write(*,*) '' + + ! Configuration-specific warnings + if (enable_3zoo2det .and. enable_coccos) then + write(*,*) 'IMPORTANT for FULL MODEL (3zoo2det + coccos):' + ! write(*,*) ' - Tracers 1023-1024 are NOT used (reserved for other configs)' + write(*,*) ' - Zoo2 uses: 1023-1024' + write(*,*) ' - Det2 pool uses: 1025-1028' + write(*,*) ' - Coccos uses: 1029-1031' + write(*,*) ' - Phaeocystis uses: 1032-1034' + write(*,*) ' - Microzooplankton: 1035-1036' + write(*,*) '' + else if (enable_coccos .and. .not. enable_3zoo2det) then + write(*,*) 'IMPORTANT for COCCOS-ONLY configuration:' + write(*,*) ' - Coccos uses: 1023-1025 (NOT 1029-1031)' + write(*,*) ' - Phaeocystis uses: 1026-1028 (NOT 1032-1034)' + write(*,*) ' - Tracers 1029+ are NOT used in this configuration' + write(*,*) '' + else if (enable_3zoo2det .and. .not. enable_coccos) then + write(*,*) 'IMPORTANT for 3ZOO2DET-ONLY configuration:' + write(*,*) ' - Zoo2 uses: 1023-1024' + write(*,*) ' - Det2 pool uses: 1025-1028' + write(*,*) ' - Microzoo uses: 1029-1030 (NOT 1035-1036)' + write(*,*) ' - Tracers 1031+ are NOT used in this configuration' + write(*,*) '' + else + write(*,*) 'IMPORTANT for BASE configuration:' + write(*,*) ' - Only tracers 1-2, 1001-1022 should be present' + write(*,*) ' - Tracers 1023+ are NOT used in base configuration' + write(*,*) '' + end if + + write(*,*) '==========================================================================' + write(*,*) '' + end if + + ! =========================================================================== + ! Check for tracer ID clashes based on configuration + ! =========================================================================== + if (mype == 0) then + write(*,*) '==========================================================================' + write(*,*) 'CHECKING FOR TRACER ID CONFLICTS' + write(*,*) '==========================================================================' + + ! Warn about potential clashes between configurations + if (enable_3zoo2det .and. enable_coccos) then + write(*,*) 'Full model configuration active.' + ! write(*,*) 'Ensure you are NOT using tracer IDs 1023-1024 in your namelist!' + ! write(*,*) 'These are reserved for configurations WITHOUT full model.' + else if (enable_coccos) then + write(*,*) 'Coccos-only configuration active.' + write(*,*) 'Coccos MUST use IDs 1023-1025 (NOT 1029-1031).' + write(*,*) 'Phaeocystis MUST use IDs 1026-1028 (NOT 1032-1034).' + else if (enable_3zoo2det) then + write(*,*) '3Zoo2Det-only configuration active.' + write(*,*) 'Microzoo MUST use IDs 1029-1030 (NOT 1035-1036).' + end if + + write(*,*) '' + ! write(*,*) 'No automated clash detection available without tracer array access.' + write(*,*) 'Please manually verify your namelist tracer_list against the' + write(*,*) 'expected sequence shown above.' + write(*,*) '==========================================================================' + write(*,*) '' + end if + + ! =========================================================================== + ! Stop execution if configuration error detected + ! =========================================================================== + if (config_error) then + if (mype == 0) then + write(*,*) '' + write(*,*) '******************************************************************' + write(*,*) '*** FATAL ERROR: MODEL CONFIGURATION INCONSISTENCY DETECTED ***' + write(*,*) '*** MODEL EXECUTION STOPPED ***' + write(*,*) '******************************************************************' + write(*,*) '' + end if + deallocate(expected_tracer_ids, tracer_found) + call par_ex(0) ! Stop execution (use appropriate stop routine for your model) + stop + end if + + ! Clean up + deallocate(expected_tracer_ids, tracer_found) + +end subroutine validate_recom_tracers + +! ============================================================================== +! SUBROUTINE: validate_tracer_id_sequence +! ============================================================================== +! Purpose: Validate that actual tracer IDs from namelist match expected sequence +! Call this after reading the tracer namelist +! ============================================================================== +subroutine validate_tracer_id_sequence(tracer_ids, num_tracers, mype) + implicit none + + ! Arguments + integer, dimension(:), intent(in) :: tracer_ids ! Actual IDs from namelist + integer, intent(in) :: num_tracers ! Number of tracers + integer, intent(in) :: mype ! MPI rank + + ! Local variables + integer :: i, j + integer, dimension(:), allocatable :: expected_ids + integer :: num_expected + logical :: error_found + logical :: duplicate_found + integer :: num_physical_tracers + + error_found = .false. + duplicate_found = .false. + num_physical_tracers = 2 + + ! Allocate expected IDs array + allocate(expected_ids(num_tracers)) + + ! Build expected ID sequence + expected_ids(1) = 1 + expected_ids(2) = 2 + + do i = 1, 22 + expected_ids(num_physical_tracers + i) = 1000 + i + end do + + if (enable_3zoo2det .and. enable_coccos) then + ! Full model configuration + expected_ids(25:30) = (/1023, 1024, 1025, 1026, 1027, 1028/) + expected_ids(31:36) = (/1029, 1030, 1031, 1032, 1033, 1034/) + expected_ids(37:38) = (/1035, 1036/) + + else if (enable_coccos .and. .not. enable_3zoo2det) then + expected_ids(25:30) = (/1023, 1024, 1025, 1026, 1027, 1028/) + + else if (enable_3zoo2det .and. .not. enable_coccos) then + expected_ids(25:32) = (/1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030/) + end if + + ! =========================================================================== + ! Check 1: Compare actual vs expected tracer IDs + ! =========================================================================== + if (mype == 0) then + write(*,*) '' + write(*,*) '==========================================================================' + write(*,*) 'VALIDATING TRACER ID SEQUENCE FROM NAMELIST' + write(*,*) '==========================================================================' + end if + + do i = 1, num_tracers + if (tracer_ids(i) /= expected_ids(i)) then + error_found = .true. + if (mype == 0) then + write(*,*) 'ERROR at position ', i, ':' + write(*,*) ' Expected tracer ID: ', expected_ids(i) + write(*,*) ' Found tracer ID: ', tracer_ids(i) + write(*,*) '' + end if + end if + end do + + ! =========================================================================== + ! Check 2: Detect duplicate tracer IDs + ! =========================================================================== + do i = 1, num_tracers - 1 + do j = i + 1, num_tracers + if (tracer_ids(i) == tracer_ids(j)) then + duplicate_found = .true. + if (mype == 0) then + write(*,*) 'ERROR: Duplicate tracer ID detected!' + write(*,*) ' Tracer ID ', tracer_ids(i), ' appears at positions ', i, ' and ', j + write(*,*) '' + end if + end if + end do + end do + + ! =========================================================================== + ! Check 3: Detect forbidden tracer IDs for current configuration + ! =========================================================================== + !if (enable_3zoo2det .and. enable_coccos) then + ! Check for forbidden IDs 1023-1024 in full model + !do i = 1, num_tracers + !if (tracer_ids(i) == 1023 .or. tracer_ids(i) == 1024) then + !error_found = .true. + !if (mype == 0) then + !write(*,*) 'ERROR: Forbidden tracer ID in full model configuration!' + !write(*,*) ' Tracer ID ', tracer_ids(i), ' at position ', i + !write(*,*) ' IDs 1023-1024 are NOT used when both flags are enabled' + !write(*,*) '' + !end if + !end if + !end do + !end if + + ! =========================================================================== + ! Report results + ! =========================================================================== + if (error_found .or. duplicate_found) then + if (mype == 0) then + write(*,*) '==========================================================================' + write(*,*) 'TRACER ID VALIDATION FAILED!' + write(*,*) '==========================================================================' + write(*,*) '' + write(*,*) 'Expected tracer ID sequence for current configuration:' + write(*,*) expected_ids + write(*,*) '' + write(*,*) 'Actual tracer ID sequence from namelist:' + write(*,*) tracer_ids + write(*,*) '' + write(*,*) 'ACTION REQUIRED:' + write(*,*) ' Correct the tracer IDs in your namelist.config file' + write(*,*) ' Ensure the sequence matches exactly as expected' + write(*,*) '==========================================================================' + write(*,*) '' + write(*,*) '******************************************************************' + write(*,*) '*** FATAL ERROR: INVALID TRACER ID SEQUENCE ***' + write(*,*) '*** MODEL EXECUTION STOPPED ***' + write(*,*) '******************************************************************' + write(*,*) '' + end if + deallocate(expected_ids) + call par_ex(0) + stop + else + if (mype == 0) then + write(*,*) '==========================================================================' + write(*,*) 'TRACER ID VALIDATION PASSED!' + write(*,*) 'All tracer IDs match expected sequence - no clashes detected.' + write(*,*) '==========================================================================' + write(*,*) '' + end if + end if + + deallocate(expected_ids) + +end subroutine validate_tracer_id_sequence + + + end module recom_config ! !=============================================================================== @@ -489,16 +1113,22 @@ Module REcoM_declarations Real(kind=8) :: tiny_N ! Min PhyN Real(kind=8) :: tiny_N_d ! Min DiaN Real(kind=8) :: tiny_N_c ! Min CocN ! NEW + Real(kind=8) :: tiny_N_p ! Min PhaN ! Phaeocystis Real(kind=8) :: tiny_C ! Min PhyC Real(kind=8) :: tiny_C_d ! Min DiaC Real(kind=8) :: tiny_C_c ! Min CocC ! NEW + Real(kind=8) :: tiny_C_p ! Min PhaC ! Phaeocystis Real(kind=8) :: tiny_Si ! Min DiaSi !!------------------------------------------------------------------------------ !! *** Temperature dependence of rates *** Real(kind=8) :: rTref ! [1/K] Reciproque value of reference temp for Arrhenius function Real(kind=8) :: rTloc ! [1/K] Reciproque of local ocean temp - Real(kind=8) :: arrFunc ! [] Temp dependence of rates + Real(kind=8) :: arrFunc ! [] Temp dependence of rates (also for Phaeocystis) Real(kind=8) :: CoccoTFunc ! [] Temp dependence of coccolithophores + Real(kind=8) :: Temp_diatoms ! [] Temp dependence of diatoms + Real(kind=8) :: Temp_phyto ! [] Temp dependence of small phyto + Real(kind=8) :: Temp_cocco ! [] Temp dependence of coccolithophores + Real(kind=8) :: Temp_phaeo ! [] Temp dependence of phaeocystis Real(kind=8) :: arrFuncZoo2 ! [] Temperature function for krill Real(kind=8) :: q10_mic ! 3Zoo Real(kind=8) :: q10_mic_res ! 3Zoo @@ -515,13 +1145,15 @@ Module REcoM_declarations Real(kind=8) :: CoccoCO2 Real(kind=8) :: DiaCO2 Real(kind=8) :: PhyCO2 + Real(kind=8) :: PhaeoCO2 + !!------------------------------------------------------------------------------ !! *** Quotas *** - Real(kind=8) :: quota, quota_dia, quota_cocco ! [mmol N/mmol C] Quota between phytoplankton N and C (NEW changed term) - Real(kind=8) :: recipQuota, recipQuota_dia, recipQuota_cocco ! [mmol C/mmol N] Reciproque of 'quota' (NEW changed term) - Real(kind=8) :: Chl2C, Chl2C_dia, Chl2C_cocco ! [mg ChlA/mmol C] Quota between phytoplankton ChlA and C (NEW changed term) - Real(kind=8) :: Chl2C_plast, Chl2C_plast_dia, CHL2C_plast_cocco ! [mg ChlA/mmol C] needed for photodamage (NEW changed term) - Real(kind=8) :: Chl2N, Chl2N_dia, Chl2N_cocco ! [mg ChlA/mmol N] Quota between phytoplankton ChlA and N (NEW changed term) + Real(kind=8) :: quota, quota_dia, quota_cocco, quota_phaeo ! [mmol N/mmol C] Quota between phytoplankton N and C (NEW changed term) + Real(kind=8) :: recipQuota, recipQuota_dia, recipQuota_cocco, recipQuota_phaeo ! [mmol C/mmol N] Reciproque of 'quota' (NEW changed term) + Real(kind=8) :: Chl2C, Chl2C_dia, Chl2C_cocco, Chl2C_phaeo ! [mg ChlA/mmol C] Quota between phytoplankton ChlA and C (NEW changed term) + Real(kind=8) :: Chl2C_plast, Chl2C_plast_dia, CHL2C_plast_cocco, CHL2C_plast_phaeo ! [mg ChlA/mmol C] needed for photodamage (NEW changed term) + Real(kind=8) :: Chl2N, Chl2N_dia, Chl2N_cocco, Chl2N_phaeo ! [mg ChlA/mmol N] Quota between phytoplankton ChlA and N (NEW changed term) Real(kind=8) :: qSiC Real(kind=8) :: qSiN Real(kind=8) :: recipQZoo ! [mmol C/mmol N] Quota between heterotrophic C and N @@ -535,8 +1167,8 @@ Module REcoM_declarations !! *** For limiter function *** Real(kind=8) :: qlimitFac, qlimitFacTmp ! Factor that regulates photosynthesis Real(kind=8),external :: recom_limiter ! Function calculating qlimitFac - Real(kind=8) :: FeLimitFac ! [Mumol/m3] Half sat constant for iron - Real(kind=8) :: pMax, pMax_dia, pMax_cocco ! [1/day] Maximum rate of C-specific photosynthesis + Real(kind=8) :: FeLimitFac ! [Mumol/m3] Half sat constant for iron + Real(kind=8) :: pMax, pMax_dia, pMax_cocco, pMax_phaeo ! [1/day] Maximum rate of C-specific photosynthesis !!------------------------------------------------------------------------------ !! *** Light *** Real(kind=8) :: kappar ! [1/m] Light attenuation coefficient modified by chla @@ -548,48 +1180,59 @@ Module REcoM_declarations Real(kind=8) :: PARave ! [?] Average light in the control volumes !!------------------------------------------------------------------------------ !! *** Photosynthesis *** - Real(kind=8) :: Cphot, Cphot_dia, Cphot_cocco ! [1/day] C-specific rate of photosynthesis + Real(kind=8) :: Cphot, Cphot_dia, Cphot_cocco, Cphot_phaeo ! [1/day] C-specific rate of photosynthesis !!------------------------------------------------------------------------------ !! *** Assimilation *** Real(kind=8) :: V_cm ! scaling factor for temperature dependent maximum of C-specific N-uptake - Real(kind=8) :: limitFacN,limitFacN_dia,limitFacN_cocco ! Factor that regulates N-assimilation. Calc from function recom_limiter + Real(kind=8) :: limitFacN,limitFacN_dia,limitFacN_cocco, limitFacN_phaeo ! Factor that regulates N-assimilation. Calc from function recom_limiter Real(kind=8) :: limitFacSi - Real(kind=8) :: N_assim, N_assim_dia, N_assim_Cocco ! [mmol N/(mmol C * day)] C specific N utilization rate + Real(kind=8) :: N_assim, N_assim_dia, N_assim_Cocco, N_assim_phaeo ! [mmol N/(mmol C * day)] C specific N utilization rate Real(kind=8) :: Si_assim !!------------------------------------------------------------------------------ !! *** Chlorophyll *** - Real(kind=8) :: ChlSynth, ChlSynth_dia, ChlSynth_cocco ! [mg CHL/ mmol N] CHL a synthesis regulation term - Real(kind=8) :: phyRespRate, phyRespRate_dia, phyRespRate_cocco ! [1/day] Phytoplankton respiration rate - Real(kind=8) :: KOchl, KOchl_dia, KOchl_cocco ! coefficient for damage to the photosynthetic apparatus + Real(kind=8) :: ChlSynth, ChlSynth_dia, ChlSynth_cocco, ChlSynth_phaeo ! [mg CHL/ mmol N] CHL a synthesis regulation term + Real(kind=8) :: phyRespRate, phyRespRate_dia, phyRespRate_cocco, phyRespRate_phaeo ! [1/day] Phytoplankton respiration rate + Real(kind=8) :: KOchl, KOchl_dia, KOchl_cocco, KOchl_phaeo ! coefficient for damage to the photosynthetic apparatus +!!------------------------------------------------------------------------------ +!! *** Vertical only Decomposition of phytoplankton growth components *** + Real(kind=8),allocatable,dimension(:) :: VTTemp_diatoms, VTTemp_phyto, VTTemp_cocco, VTTemp_phaeo ! Vertical 1D temperature effect on phytoplankton photosynthesis + Real(kind=8),allocatable,dimension(:) :: VTPhyCO2, VTDiaCO2, VTCoccoCO2, VTPhaeoCO2 ! CO2 effect + Real(kind=8),allocatable,dimension(:) :: VTqlimitFac_phyto, VTqlimitFac_diatoms, VTqlimitFac_cocco, VTqlimitFac_phaeo ! nutrient effect + Real(kind=8),allocatable,dimension(:) :: VTCphotLigLim_phyto, VTCphotLigLim_diatoms, VTCphotLigLim_cocco, VTCphotLigLim_phaeo ! light limitation + Real(kind=8),allocatable,dimension(:) :: VTCphot_phyto, VTCphot_diatoms, VTCphot_cocco, VTCphot_phaeo + Real(kind=8),allocatable,dimension(:) :: VTSi_assimDia + !!------------------------------------------------------------------------------ !! *** Iron chemistry *** Real(kind=8),external :: iron_chemistry, iron_chemistry_2ligands - Real(kind=8) :: logK1, logK2, Klig1, Klig2 + Real(kind=8) :: logK1, logK2, Klig1, Klig2 !!------------------------------------------------------------------------------ !! *** Zooplankton *** Real(kind=8) :: DiaNsq - Real(kind=8) :: varpzdia, fDiaN ! Part of Diatoms available for food - Real(kind=8) :: PhyNsq - Real(kind=8) :: varpzPhy, fPhyN ! Part of Nano available for food - Real(kind=8) :: CoccoNsq ! NEW - Real(kind=8) :: varpzCocco,fCoccoN ! NEW - Real(kind=8) :: MicZooNsq ! NEW 3Zoo - Real(kind=8) :: varpzMicZoo, fMicZooN ! NEW 3Zoo Part of microzooplankton available for food - Real(kind=8) :: food, foodsq ! [(mmol N)2/m6] - Real(kind=8) :: grazingFlux_phy, grazingFlux_Dia, grazingFlux_Cocco ! [mmol N / (m3 * day)] (NEW changed term) - Real(kind=8) :: grazingFlux_miczoo ! NEW 3Zoo + Real(kind=8) :: varpzdia, fDiaN ! Part of Diatoms available for food + Real(kind=8) :: PhyNsq + Real(kind=8) :: varpzPhy, fPhyN ! Part of Nano available for food + Real(kind=8) :: CoccoNsq + Real(kind=8) :: varpzCocco,fCoccoN + Real(kind=8) :: PhaeoNsq + Real(kind=8) :: varpzPhaeo,fPhaeoN + Real(kind=8) :: MicZooNsq ! NEW 3Zoo + Real(kind=8) :: varpzMicZoo, fMicZooN ! NEW 3Zoo Part of microzooplankton available for food + Real(kind=8) :: food, foodsq ! [(mmol N)2/m6] + Real(kind=8) :: grazingFlux_phy, grazingFlux_Dia, grazingFlux_Cocco, grazingFlux_Phaeo ! [mmol N / (m3 * day)] (NEW changed term) + Real(kind=8) :: grazingFlux_miczoo ! NEW 3Zoo Real(kind=8) :: grazingFlux - Real(kind=8) :: grazEff ! NEW 3Zoo + Real(kind=8) :: grazEff ! NEW 3Zoo Real(kind=8) :: HetRespFlux ! Zooplankton respiration Real(kind=8) :: HetLossFlux ! [(mmol N)2/(m6 * day)] Zooplankton mortality (quadratic loss) !!------------------------------------------------------------------------------ !! *** Second Zooplankton *** - Real(kind=8) :: DiaNsq2, PhyNsq2, CoccoNsq2, HetNsq ! NEW (changed term) - Real(kind=8) :: varpzDia2, fDiaN2, varpzPhy2, fPhyN2, varpzCocco2, fCoccoN2, varpzHet, fHetN ! Part of Diatoms available for food + Real(kind=8) :: DiaNsq2, PhyNsq2, CoccoNsq2, PhaeoNsq2, HetNsq ! NEW (changed term) + Real(kind=8) :: varpzDia2, fDiaN2, varpzPhy2, fPhyN2, varpzCocco2, fCoccoN2, varpzPhaeo2, fPhaeoN2, varpzHet, fHetN ! Part of Diatoms available for food Real(kind=8) :: MicZooNsq2 ! NEW Zoo3 Real(kind=8) :: varpzMicZoo2, fMicZooN2 ! NEW Zoo3 - Real(kind=8) :: food2, foodsq2 ! [(mmol N)2/m6] - Real(kind=8) :: grazingFlux_phy2, grazingFlux_Dia2, grazingFlux_Cocco2, grazingFlux_het2 ! [mmol N / (m3 * day) (NEW changed term) + Real(kind=8) :: food2, foodsq2 ! [(mmol N)2/m6] + Real(kind=8) :: grazingFlux_phy2, grazingFlux_Dia2, grazingFlux_Cocco2, grazingFlux_Phaeo2, grazingFlux_het2 ! [mmol N / (m3 * day) (NEW changed term) Real(kind=8) :: grazingFlux_miczoo2 ! NEW Zoo3 Real(kind=8) :: grazingFlux2 Real(kind=8) :: Zoo2RespFlux ! Zooplankton respiration @@ -615,8 +1258,10 @@ Module REcoM_declarations Real(kind=8) :: varpzPhy3, fPhyN3 ! Part of small phytoplankton available for food Real(kind=8) :: CoccoNsq3 Real(kind=8) :: varpzCocco3, fCoccoN3 ! Part of coccolithophores available for food + Real(kind=8) :: PhaeoNsq3 + Real(kind=8) :: varpzPhaeo3, fPhaeoN3 ! Part of phaeocystis available for food Real(kind=8) :: food3, foodsq3 ! [(mmol N)2/m6] - Real(kind=8) :: grazingFlux_phy3, grazingFlux_Dia3, grazingFlux_Cocco3 ! [mmol N / (m3 * day)] + Real(kind=8) :: grazingFlux_phy3, grazingFlux_Dia3, grazingFlux_Cocco3, grazingFlux_Phaeo3 ! [mmol N / (m3 * day)] Real(kind=8) :: grazingFlux3 Real(kind=8) :: MicZooRespFlux ! Zooplankton respiration Real(kind=8) :: MicZooLossFlux ! [(mmol N)2/(m6 * day)] Zooplankton mortality (quadratic loss) @@ -640,18 +1285,70 @@ Module REcoM_declarations !! *** Diagnostics *** Real(kind=8) :: recipbiostep ! 1/number of steps per recom cycle Real(kind=8),allocatable,dimension(:,:) :: Diags3Dloc - Real(kind=8) :: locNPPn, locGPPn, locNNAn, locChldegn - Real(kind=8) :: locNPPd, locGPPd, locNNAd, locChldegd - Real(kind=8) :: locNPPc, locGPPc, locNNAc, locChldegc + + ! ================================================================== + ! SMALL PHYTOPLANKTON (n suffix) + ! ================================================================== + Real(kind=8) :: locNPPn, locGPPn, locNNAn, locChldegn Real(kind=8),allocatable,dimension(:) :: vertNPPn, vertGPPn, vertNNAn, vertChldegn + Real(kind=8),allocatable,dimension(:) :: vertrespn + Real(kind=8),allocatable,dimension(:) :: vertdocexn + Real(kind=8),allocatable,dimension(:) :: vertaggn + + ! ================================================================== + ! DIATOMS (d suffix) + ! ================================================================== + Real(kind=8) :: locNPPd, locGPPd, locNNAd, locChldegd Real(kind=8),allocatable,dimension(:) :: vertNPPd, vertGPPd, vertNNAd, vertChldegd + Real(kind=8),allocatable,dimension(:) :: vertrespd + Real(kind=8),allocatable,dimension(:) :: vertdocexd + Real(kind=8),allocatable,dimension(:) :: vertaggd + + ! ================================================================== + ! COCCOLITHOPHORES (c suffix) + ! ================================================================== + Real(kind=8) :: locNPPc, locGPPc, locNNAc, locChldegc Real(kind=8),allocatable,dimension(:) :: vertNPPc, vertGPPc, vertNNAc, vertChldegc - Real(kind=8),allocatable,dimension(:) :: vertgrazmeso_tot, vertgrazmeso_n, vertgrazmeso_d, vertgrazmeso_c - Real(kind=8),allocatable,dimension(:) :: vertrespmeso, vertrespmacro, vertrespmicro + Real(kind=8),allocatable,dimension(:) :: vertrespc + Real(kind=8),allocatable,dimension(:) :: vertdocexc + Real(kind=8),allocatable,dimension(:) :: vertaggc Real(kind=8),allocatable,dimension(:) :: vertcalcdiss, vertcalcif - Real(kind=8),allocatable,dimension(:) :: vertaggn, vertaggd, vertaggc - Real(kind=8),allocatable,dimension(:) :: vertdocexn, vertdocexd, vertdocexc - Real(kind=8),allocatable,dimension(:) :: vertrespn, vertrespd, vertrespc + + ! ================================================================== + ! PHAEOCYSTIS (p suffix) + ! ================================================================== + Real(kind=8) :: locNPPp, locGPPp, locNNAp, locChldegp + Real(kind=8),allocatable,dimension(:) :: vertNPPp, vertGPPp, vertNNAp, vertChldegp + Real(kind=8),allocatable,dimension(:) :: vertrespp + Real(kind=8),allocatable,dimension(:) :: vertdocexp + Real(kind=8),allocatable,dimension(:) :: vertaggp + + ! ================================================================== + ! MICROZOOPLANKTON + ! ================================================================== + Real(kind=8) :: locgrazmicro_tot, locgrazmicro_n, locgrazmicro_d, locgrazmicro_c, locgrazmicro_p + Real(kind=8),allocatable,dimension(:) :: vertgrazmicro_tot, vertgrazmicro_n, vertgrazmicro_d, vertgrazmicro_c, vertgrazmicro_p + Real(kind=8),allocatable,dimension(:) :: vertrespmicro + + ! ================================================================== + ! MESOZOOPLANKTON + ! ================================================================== + Real(kind=8) :: locgrazmeso_tot, locgrazmeso_n, locgrazmeso_d, locgrazmeso_c, locgrazmeso_p + Real(kind=8) :: locgrazmeso_det, locgrazmeso_mic, locgrazmeso_det2 + Real(kind=8),allocatable,dimension(:) :: vertgrazmeso_tot, vertgrazmeso_n, vertgrazmeso_d, vertgrazmeso_c, vertgrazmeso_p + Real(kind=8),allocatable,dimension(:) :: vertgrazmeso_det, vertgrazmeso_mic, vertgrazmeso_det2 + Real(kind=8),allocatable,dimension(:) :: vertrespmeso + + ! ================================================================== + ! MACROZOOPLANKTON + ! ================================================================== + Real(kind=8) :: locgrazmacro_tot, locgrazmacro_n, locgrazmacro_d, locgrazmacro_c, locgrazmacro_p + Real(kind=8) :: locgrazmacro_mes, locgrazmacro_det, locgrazmacro_mic, locgrazmacro_det2 + Real(kind=8),allocatable,dimension(:) :: vertgrazmacro_tot, vertgrazmacro_n, vertgrazmacro_d, vertgrazmacro_c, vertgrazmacro_p + Real(kind=8),allocatable,dimension(:) :: vertgrazmacro_mes, vertgrazmacro_det, vertgrazmacro_mic, vertgrazmacro_det2 + Real(kind=8),allocatable,dimension(:) :: vertrespmacro + + !!------------------------------------------------------------------------------ !! *** Benthos *** Real(kind=8),allocatable,dimension(:) :: decayBenthos ! [1/day] Decay rate of detritus in the benthic layer @@ -659,11 +1356,13 @@ Module REcoM_declarations Real(kind=8),allocatable,dimension(:) :: wFluxPhy ! [mmol/(m2 * day)] Flux of N,C, calc and chl through sinking of phytoplankton Real(kind=8),allocatable,dimension(:) :: wFluxDia ! [mmol/(m2 * day)] Flux of N,C, Si and chl through sinking of diatoms Real(kind=8),allocatable,dimension(:) :: wFluxCocco ! NEW [mmol/(m2 * day)] Flux of N,C, calc and chl through sinking of coccos + Real(kind=8),allocatable,dimension(:) :: wFluxPhaeo ! NEW [mmol/(m2 * day)] Flux of N,C, calc and chl through sinking of Phaeocystis Real(kind=8) :: Vben_det ! [m/day] speed of sinking into benthos from water column Real(kind=8) :: Vben_det_seczoo !second zooplankton sinking benthos Real(kind=8) :: Vben_phy Real(kind=8) :: Vben_dia Real(kind=8) :: Vben_coc + Real(kind=8) :: Vben_pha ! Phaeocystis Real(kind=8) :: Ironflux ! [umol Fe/(m2*day)] Flux of Fe from sediment to water !_______________________________________________________________________________ ! Arrays added for RECOM implementation: @@ -678,6 +1377,9 @@ Module REcoM_declarations real(kind=8) :: is_riverinput real(kind=8) :: is_erosioninput +real(kind=8) :: is_3zoo2det +real(kind=8) :: is_coccos + end module REcoM_declarations !=============================================================================== @@ -686,7 +1388,7 @@ end module REcoM_declarations Module REcoM_GloVar implicit none save - + Real(kind=8),allocatable,dimension(:,:) :: Benthos ! 4 types of benthos-tracers with size [4 n2d] Real(kind=8),allocatable,dimension(:,:,:) :: Benthos_tr ! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel @@ -721,11 +1423,14 @@ Module REcoM_GloVar Real(kind=8),allocatable,dimension(:) :: GlodPCO2surf ! [mmol/m2/day] ocean-atmosphere Real(kind=8),allocatable,dimension(:,:) :: GlodecayBenthos ! [1/day] Decay rate of detritus in the benthic layer saved for oce_ale_tracer.F90 + Real(kind=8),allocatable,dimension(:) :: PistonVelocity ! [m s-1] + Real(kind=8),allocatable,dimension(:) :: alphaCO2 ! [mol L-1 atm-1] Real(kind=8),allocatable,dimension(:,:) :: GlowFluxDet ! Real(kind=8),allocatable,dimension(:,:) :: GlowFluxPhy ! Real(kind=8),allocatable,dimension(:,:) :: GlowFluxDia ! - Real(kind=8),allocatable,dimension(:,:) :: GlowFluxCocco ! + Real(kind=8),allocatable,dimension(:,:) :: GlowFluxCocco ! + Real(kind=8),allocatable,dimension(:,:) :: GlowFluxPhaeo ! Real(kind=8),allocatable,dimension(:,:) :: diags2D ! Diagnostics in 2D [8 n2d] Real(kind=8),allocatable,dimension(:) :: NPPn @@ -740,10 +1445,32 @@ Module REcoM_GloVar Real(kind=8),allocatable,dimension(:) :: GPPc Real(kind=8),allocatable,dimension(:) :: NNAc Real(kind=8),allocatable,dimension(:) :: Chldegc - Real(kind=8),allocatable,dimension(:,:) :: grazmeso_tot - Real(kind=8),allocatable,dimension(:,:) :: grazmeso_n - Real(kind=8),allocatable,dimension(:,:) :: grazmeso_d - Real(kind=8),allocatable,dimension(:,:) :: grazmeso_c + Real(kind=8),allocatable,dimension(:) :: NPPp ! Phaeocystis + Real(kind=8),allocatable,dimension(:) :: GPPp + Real(kind=8),allocatable,dimension(:) :: NNAp + Real(kind=8),allocatable,dimension(:) :: Chldegp + Real(kind=8),allocatable,dimension(:) :: grazmeso_tot + Real(kind=8),allocatable,dimension(:) :: grazmeso_n + Real(kind=8),allocatable,dimension(:) :: grazmeso_d + Real(kind=8),allocatable,dimension(:) :: grazmeso_c + Real(kind=8),allocatable,dimension(:) :: grazmeso_p + Real(kind=8),allocatable,dimension(:) :: grazmeso_det + Real(kind=8),allocatable,dimension(:) :: grazmeso_mic + Real(kind=8),allocatable,dimension(:) :: grazmeso_det2 + Real(kind=8),allocatable,dimension(:) :: grazmacro_tot + Real(kind=8),allocatable,dimension(:) :: grazmacro_n + Real(kind=8),allocatable,dimension(:) :: grazmacro_d + Real(kind=8),allocatable,dimension(:) :: grazmacro_c + Real(kind=8),allocatable,dimension(:) :: grazmacro_p + Real(kind=8),allocatable,dimension(:) :: grazmacro_mes + Real(kind=8),allocatable,dimension(:) :: grazmacro_det + Real(kind=8),allocatable,dimension(:) :: grazmacro_mic + Real(kind=8),allocatable,dimension(:) :: grazmacro_det2 + Real(kind=8),allocatable,dimension(:) :: grazmicro_tot + Real(kind=8),allocatable,dimension(:) :: grazmicro_n + Real(kind=8),allocatable,dimension(:) :: grazmicro_d + Real(kind=8),allocatable,dimension(:) :: grazmicro_c + Real(kind=8),allocatable,dimension(:) :: grazmicro_p Real(kind=8),allocatable,dimension(:,:) :: respmeso Real(kind=8),allocatable,dimension(:,:) :: respmacro Real(kind=8),allocatable,dimension(:,:) :: respmicro @@ -752,15 +1479,40 @@ Module REcoM_GloVar Real(kind=8),allocatable,dimension(:,:) :: aggn Real(kind=8),allocatable,dimension(:,:) :: aggd Real(kind=8),allocatable,dimension(:,:) :: aggc + Real(kind=8),allocatable,dimension(:,:) :: aggp ! Phaeocystis Real(kind=8),allocatable,dimension(:,:) :: docexn Real(kind=8),allocatable,dimension(:,:) :: docexd Real(kind=8),allocatable,dimension(:,:) :: docexc + Real(kind=8),allocatable,dimension(:,:) :: docexp ! Phaeocystis Real(kind=8),allocatable,dimension(:,:) :: respn Real(kind=8),allocatable,dimension(:,:) :: respd Real(kind=8),allocatable,dimension(:,:) :: respc + Real(kind=8),allocatable,dimension(:,:) :: respp ! Phaeocystis Real(kind=8),allocatable,dimension(:,:) :: NPPn3D Real(kind=8),allocatable,dimension(:,:) :: NPPd3D Real(kind=8),allocatable,dimension(:,:) :: NPPc3D + Real(kind=8),allocatable,dimension(:,:) :: NPPp3D ! Phaeocystis + Real(kind=8),allocatable,dimension(:,:) :: TTemp_diatoms ! my new variables to track + Real(kind=8),allocatable,dimension(:,:) :: TTemp_phyto ! new Temperature effect + Real(kind=8),allocatable,dimension(:,:) :: TTemp_cocco ! new + Real(kind=8),allocatable,dimension(:,:) :: TTemp_phaeo ! new + Real(kind=8),allocatable,dimension(:,:) :: TPhyCO2 ! new CO2 effect + Real(kind=8),allocatable,dimension(:,:) :: TDiaCO2 + Real(kind=8),allocatable,dimension(:,:) :: TCoccoCO2 + Real(kind=8),allocatable,dimension(:,:) :: TPhaeoCO2 + Real(kind=8),allocatable,dimension(:,:) :: TqlimitFac_phyto ! new nutrient limitation + Real(kind=8),allocatable,dimension(:,:) :: TqlimitFac_diatoms + Real(kind=8),allocatable,dimension(:,:) :: TqlimitFac_cocco + Real(kind=8),allocatable,dimension(:,:) :: TqlimitFac_phaeo + Real(kind=8),allocatable,dimension(:,:) :: TCphotLigLim_phyto ! new light limitation + Real(kind=8),allocatable,dimension(:,:) :: TCphot_phyto ! new + Real(kind=8),allocatable,dimension(:,:) :: TCphotLigLim_diatoms ! new light limitation + Real(kind=8),allocatable,dimension(:,:) :: TCphot_diatoms + Real(kind=8),allocatable,dimension(:,:) :: TCphotLigLim_cocco ! new light limitation + Real(kind=8),allocatable,dimension(:,:) :: TCphot_cocco + Real(kind=8),allocatable,dimension(:,:) :: TCphotLigLim_phaeo ! new light limitation + Real(kind=8),allocatable,dimension(:,:) :: TCphot_phaeo + Real(kind=8),allocatable,dimension(:,:) :: TSi_assimDia ! tracking the assimilation of Si by Diatoms Real(kind=8),allocatable,dimension(:) :: DenitBen ! Benthic denitrification Field in 2D [n2d 1] @@ -776,7 +1528,7 @@ Module REcoM_GloVar Real(kind=8),allocatable,dimension(:,:) :: lb_flux ! Yearly burial from medusa: [n2d 5] or [n2d 9] with ciso_14 ! atmospheric box model: - real(kind=8),allocatable,dimension(:) :: x_co2atm ! atmospheric CO2 mixing ratio (mole fraction) + Real(kind=8),allocatable,dimension(:) :: x_co2atm ! atmospheric CO2 mixing ratio (mole fraction) Real(kind=8), allocatable,dimension(:) :: Alk_surf ! Surface alkalinity field used for restoring Real(kind=8), allocatable,dimension(:) :: relax_alk @@ -865,7 +1617,7 @@ Module REcoM_locVar Real(kind=8) :: PICPOCN ! (to make calcification dependent on N-limitation) Real(kind=8) :: calc_prod_final ! (added to make the calcification dependent on nutrients (N, Fe), after Krumhardt et al. 2017/2019) Integer :: currentCO2year - + end module REcoM_LocVar !=============================================================================== ! Specific declarations related to carbon isotope simulations @@ -1167,3 +1919,476 @@ end function wind_10 end module REcoM_ciso + + +module recom_diags_management + use recom_config + implicit none + +contains + +! ============================================================================== +! SUBROUTINE: allocate_and_init_diags +! Purpose: Allocate and initialize all diagnostic arrays for a water column +! ============================================================================== +subroutine allocate_and_init_diags(nl) + use recom_locvar + use REcoM_declarations + implicit none + + integer, intent(in) :: nl ! Number of vertical levels + + ! -------------------------------------------------------------------------- + ! Small Phytoplankton + ! -------------------------------------------------------------------------- + allocate(vertNPPn(nl-1), vertGPPn(nl-1), vertNNAn(nl-1), vertChldegn(nl-1)) + allocate(vertrespn(nl-1), vertdocexn(nl-1), vertaggn(nl-1)) + + vertNPPn = 0.d0 + vertGPPn = 0.d0 + vertNNAn = 0.d0 + vertChldegn = 0.d0 + vertrespn = 0.d0 + vertdocexn = 0.d0 + vertaggn = 0.d0 + + ! -------------------------------------------------------------------------- + ! Diatoms + ! -------------------------------------------------------------------------- + allocate(vertNPPd(nl-1), vertGPPd(nl-1), vertNNAd(nl-1), vertChldegd(nl-1)) + allocate(vertrespd(nl-1), vertdocexd(nl-1), vertaggd(nl-1)) + + vertNPPd = 0.d0 + vertGPPd = 0.d0 + vertNNAd = 0.d0 + vertChldegd = 0.d0 + vertrespd = 0.d0 + vertdocexd = 0.d0 + vertaggd = 0.d0 + + ! -------------------------------------------------------------------------- + ! Coccolithophores (if enabled) + ! -------------------------------------------------------------------------- + if (enable_coccos) then + allocate(vertNPPc(nl-1), vertGPPc(nl-1), vertNNAc(nl-1), vertChldegc(nl-1)) + allocate(vertrespc(nl-1), vertdocexc(nl-1), vertaggc(nl-1)) + allocate(vertcalcdiss(nl-1), vertcalcif(nl-1)) + + vertNPPc = 0.d0 + vertGPPc = 0.d0 + vertNNAc = 0.d0 + vertChldegc = 0.d0 + vertrespc = 0.d0 + vertdocexc = 0.d0 + vertaggc = 0.d0 + vertcalcdiss = 0.d0 + vertcalcif = 0.d0 + + ! ---------------------------------------------------------------------- + ! Phaeocystis + ! ---------------------------------------------------------------------- + allocate(vertNPPp(nl-1), vertGPPp(nl-1), vertNNAp(nl-1), vertChldegp(nl-1)) + allocate(vertrespp(nl-1), vertdocexp(nl-1), vertaggp(nl-1)) + + vertNPPp = 0.d0 + vertGPPp = 0.d0 + vertNNAp = 0.d0 + vertChldegp = 0.d0 + vertrespp = 0.d0 + vertdocexp = 0.d0 + vertaggp = 0.d0 + else + ! Allocate calcification arrays even if coccos are disabled + allocate(vertcalcdiss(nl-1), vertcalcif(nl-1)) + vertcalcdiss = 0.d0 + vertcalcif = 0.d0 + endif + + ! -------------------------------------------------------------------------- + ! Zooplankton Grazing (if enabled) + ! -------------------------------------------------------------------------- + if (Grazing_detritus) then + + if (enable_3zoo2det) then + ! Microzooplankton + allocate(vertgrazmicro_tot(nl-1), vertgrazmicro_n(nl-1), vertgrazmicro_d(nl-1)) + allocate(vertrespmicro(nl-1)) + + vertgrazmicro_tot = 0.d0 + vertgrazmicro_n = 0.d0 + vertgrazmicro_d = 0.d0 + vertrespmicro = 0.d0 + + ! Mesozooplankton + allocate(vertgrazmeso_tot(nl-1), vertgrazmeso_n(nl-1), vertgrazmeso_d(nl-1)) + allocate(vertgrazmeso_det(nl-1), vertgrazmeso_mic(nl-1), vertgrazmeso_det2(nl-1)) + allocate(vertrespmeso(nl-1)) + + vertgrazmeso_tot = 0.d0 + vertgrazmeso_n = 0.d0 + vertgrazmeso_d = 0.d0 + vertgrazmeso_det = 0.d0 + vertgrazmeso_mic = 0.d0 + vertgrazmeso_det2 = 0.d0 + vertrespmeso = 0.d0 + + if (enable_coccos) then + allocate(vertgrazmicro_c(nl-1), vertgrazmicro_p(nl-1)) + allocate(vertgrazmeso_c(nl-1), vertgrazmeso_p(nl-1)) + + vertgrazmicro_c = 0.d0 + vertgrazmicro_p = 0.d0 + vertgrazmeso_c = 0.d0 + vertgrazmeso_p = 0.d0 + endif + endif + + ! Macrozooplankton + allocate(vertgrazmacro_tot(nl-1), vertgrazmacro_n(nl-1), vertgrazmacro_d(nl-1)) + allocate(vertgrazmacro_mes(nl-1), vertgrazmacro_det(nl-1)) + allocate(vertgrazmacro_mic(nl-1), vertgrazmacro_det2(nl-1)) + allocate(vertrespmacro(nl-1)) + + vertgrazmacro_tot = 0.d0 + vertgrazmacro_n = 0.d0 + vertgrazmacro_d = 0.d0 + vertgrazmacro_mes = 0.d0 + vertgrazmacro_det = 0.d0 + vertgrazmacro_mic = 0.d0 + vertgrazmacro_det2 = 0.d0 + vertrespmacro = 0.d0 + + if (enable_coccos) then + allocate(vertgrazmacro_c(nl-1), vertgrazmacro_p(nl-1)) + vertgrazmacro_c = 0.d0 + vertgrazmacro_p = 0.d0 + endif + endif + + ! -------------------------------------------------------------------------- + ! Temperature and Photosynthesis Tracking Variables + ! -------------------------------------------------------------------------- + + allocate(VTPhyCO2(nl-1), VTDiaCO2(nl-1)) + VTPhyCO2 = 0.d0 + VTDiaCO2 = 0.d0 + + allocate(VTCphotLigLim_phyto(nl-1), VTCphotLigLim_diatoms(nl-1)) + VTCphotLigLim_phyto = 0.d0 + VTCphotLigLim_diatoms = 0.d0 + + allocate(VTCphot_phyto(nl-1), VTCphot_diatoms(nl-1)) + VTCphot_phyto = 0.d0 + VTCphot_diatoms = 0.d0 + + if (enable_coccos) then + + allocate(VTTemp_diatoms(nl-1), VTTemp_phyto(nl-1)) + VTTemp_diatoms = 0.d0 + VTTemp_phyto = 0.d0 + + allocate(VTqlimitFac_phyto(nl-1), VTqlimitFac_diatoms(nl-1)) + VTqlimitFac_phyto = 0.d0 + VTqlimitFac_diatoms = 0.d0 + + allocate(VTSi_assimDia(nl-1)) + VTSi_assimDia = 0.d0 + + ! -------------------------------------------------------------------------- + ! Coccolithophores and Phaeocystis Tracking (if enabled) + ! -------------------------------------------------------------------------- + + allocate(VTTemp_cocco(nl-1), VTTemp_phaeo(nl-1)) + VTTemp_cocco = 0.d0 + VTTemp_phaeo = 0.d0 + + allocate(VTCoccoCO2(nl-1), VTPhaeoCO2(nl-1)) + VTCoccoCO2 = 0.d0 + VTPhaeoCO2 = 0.d0 + + allocate(VTqlimitFac_cocco(nl-1), VTqlimitFac_phaeo(nl-1)) + VTqlimitFac_cocco = 0.d0 + VTqlimitFac_phaeo = 0.d0 + + allocate(VTCphotLigLim_cocco(nl-1), VTCphotLigLim_phaeo(nl-1)) + VTCphotLigLim_cocco = 0.d0 + VTCphotLigLim_phaeo = 0.d0 + + allocate(VTCphot_cocco(nl-1), VTCphot_phaeo(nl-1)) + VTCphot_cocco = 0.d0 + VTCphot_phaeo = 0.d0 + + endif + +end subroutine allocate_and_init_diags + +! ============================================================================== +! SUBROUTINE: update_2d_diags +! Purpose: Transfer local diagnostic values to 2D global arrays +! ============================================================================== +subroutine update_2d_diags(n) + use recom_locvar + use recom_glovar + use REcoM_declarations + implicit none + + integer, intent(in) :: n ! Node index + + ! -------------------------------------------------------------------------- + ! Small Phytoplankton + ! -------------------------------------------------------------------------- + NPPn(n) = locNPPn + GPPn(n) = locGPPn + NNAn(n) = locNNAn + Chldegn(n) = locChldegn + + ! -------------------------------------------------------------------------- + ! Diatoms + ! -------------------------------------------------------------------------- + NPPd(n) = locNPPd + GPPd(n) = locGPPd + NNAd(n) = locNNAd + Chldegd(n) = locChldegd + + ! -------------------------------------------------------------------------- + ! Coccolithophores and Phaeocystis (if enabled) + ! -------------------------------------------------------------------------- + if (enable_coccos) then + NPPc(n) = locNPPc + GPPc(n) = locGPPc + NNAc(n) = locNNAc + Chldegc(n) = locChldegc + + NPPp(n) = locNPPp + GPPp(n) = locGPPp + NNAp(n) = locNNAp + Chldegp(n) = locChldegp + endif + + ! -------------------------------------------------------------------------- + ! Zooplankton Grazing (if enabled) + ! -------------------------------------------------------------------------- + if (Grazing_detritus) then + ! Mesozooplankton + grazmeso_tot(n) = locgrazmeso_tot + grazmeso_n(n) = locgrazmeso_n + grazmeso_d(n) = locgrazmeso_d + grazmeso_det(n) = locgrazmeso_det + + if (enable_coccos) then + grazmeso_c(n) = locgrazmeso_c + grazmeso_p(n) = locgrazmeso_p + endif + + if (enable_3zoo2det) then + grazmeso_mic(n) = locgrazmeso_mic + grazmeso_det2(n) = locgrazmeso_det2 + + ! Macrozooplankton + grazmacro_tot(n) = locgrazmacro_tot + grazmacro_n(n) = locgrazmacro_n + grazmacro_d(n) = locgrazmacro_d + grazmacro_mes(n) = locgrazmacro_mes + grazmacro_det(n) = locgrazmacro_det + grazmacro_mic(n) = locgrazmacro_mic + grazmacro_det2(n) = locgrazmacro_det2 + + if (enable_coccos) then + grazmacro_c(n) = locgrazmacro_c + grazmacro_p(n) = locgrazmacro_p + endif + + ! Microzooplankton + grazmicro_tot(n) = locgrazmicro_tot + grazmicro_n(n) = locgrazmicro_n + grazmicro_d(n) = locgrazmicro_d + + if (enable_coccos) then + grazmicro_c(n) = locgrazmicro_c + grazmicro_p(n) = locgrazmicro_p + endif + endif + endif + +end subroutine update_2d_diags + +! ============================================================================== +! SUBROUTINE: update_3d_diags +! Purpose: Transfer vertical profile diagnostic values to 3D global arrays +! ============================================================================== +subroutine update_3d_diags(n, nzmax) + use recom_locvar + use recom_glovar + use REcoM_declarations + implicit none + + integer, intent(in) :: n ! Node index + integer, intent(in) :: nzmax ! Maximum vertical level for this node + + ! -------------------------------------------------------------------------- + ! Small Phytoplankton + ! -------------------------------------------------------------------------- + aggn(1:nzmax,n) = vertaggn(1:nzmax) + docexn(1:nzmax,n) = vertdocexn(1:nzmax) + respn(1:nzmax,n) = vertrespn(1:nzmax) + NPPn3D(1:nzmax,n) = vertNPPn(1:nzmax) + + ! -------------------------------------------------------------------------- + ! Diatoms + ! -------------------------------------------------------------------------- + aggd(1:nzmax,n) = vertaggd(1:nzmax) + docexd(1:nzmax,n) = vertdocexd(1:nzmax) + respd(1:nzmax,n) = vertrespd(1:nzmax) + NPPd3D(1:nzmax,n) = vertNPPd(1:nzmax) + + ! -------------------------------------------------------------------------- + ! Coccolithophores and Phaeocystis (if enabled) + ! -------------------------------------------------------------------------- + if (enable_coccos) then + aggc(1:nzmax,n) = vertaggc(1:nzmax) + docexc(1:nzmax,n) = vertdocexc(1:nzmax) + respc(1:nzmax,n) = vertrespc(1:nzmax) + NPPc3D(1:nzmax,n) = vertNPPc(1:nzmax) + + aggp(1:nzmax,n) = vertaggp(1:nzmax) + docexp(1:nzmax,n) = vertdocexp(1:nzmax) + respp(1:nzmax,n) = vertrespp(1:nzmax) + NPPp3D(1:nzmax,n) = vertNPPp(1:nzmax) + endif + + ! -------------------------------------------------------------------------- + ! Calcification + ! -------------------------------------------------------------------------- + calcdiss(1:nzmax,n) = vertcalcdiss(1:nzmax) + calcif(1:nzmax,n) = vertcalcif(1:nzmax) + + ! -------------------------------------------------------------------------- + ! Zooplankton Respiration + ! -------------------------------------------------------------------------- + respmeso(1:nzmax,n) = vertrespmeso(1:nzmax) + + if (enable_3zoo2det) then + respmacro(1:nzmax,n) = vertrespmacro(1:nzmax) + respmicro(1:nzmax,n) = vertrespmicro(1:nzmax) + endif + + TPhyCO2(1:nzmax,n) = VTPhyCO2(1:nzmax) + TDiaCO2(1:nzmax,n) = VTDiaCO2(1:nzmax) + TCphotLigLim_phyto(1:nzmax,n) = VTCphotLigLim_phyto(1:nzmax) + TCphot_phyto(1:nzmax,n) = VTCphot_phyto(1:nzmax) + TCphotLigLim_diatoms(1:nzmax,n)= VTCphotLigLim_diatoms(1:nzmax) + TCphot_diatoms(1:nzmax,n) = VTCphot_diatoms(1:nzmax) + + if (enable_coccos) then + ! -------------------------------------------------------------------------- + ! Temperature and Photosynthesis Tracking - Phytoplankton + ! -------------------------------------------------------------------------- + TTemp_phyto(1:nzmax,n) = VTTemp_phyto(1:nzmax) + TqlimitFac_phyto(1:nzmax,n) = VTqlimitFac_phyto(1:nzmax) + + ! -------------------------------------------------------------------------- + ! Temperature and Photosynthesis Tracking - Diatoms + ! -------------------------------------------------------------------------- + TTemp_diatoms(1:nzmax,n) = VTTemp_diatoms(1:nzmax) + TqlimitFac_diatoms(1:nzmax,n) = VTqlimitFac_diatoms(1:nzmax) + TSi_assimDia(1:nzmax,n) = VTSi_assimDia(1:nzmax) + + ! -------------------------------------------------------------------------- + ! Temperature and Photosynthesis Tracking - Coccos/Phaeo (if enabled) + ! -------------------------------------------------------------------------- + + TTemp_cocco(1:nzmax,n) = VTTemp_cocco(1:nzmax) + TCoccoCO2(1:nzmax,n) = VTCoccoCO2(1:nzmax) + TqlimitFac_cocco(1:nzmax,n) = VTqlimitFac_cocco(1:nzmax) + TCphotLigLim_cocco(1:nzmax,n) = VTCphotLigLim_cocco(1:nzmax) + TCphot_cocco(1:nzmax,n) = VTCphot_cocco(1:nzmax) + + TTemp_phaeo(1:nzmax,n) = VTTemp_phaeo(1:nzmax) + TPhaeoCO2(1:nzmax,n) = VTPhaeoCO2(1:nzmax) + TqlimitFac_phaeo(1:nzmax,n) = VTqlimitFac_phaeo(1:nzmax) + TCphotLigLim_phaeo(1:nzmax,n) = VTCphotLigLim_phaeo(1:nzmax) + TCphot_phaeo(1:nzmax,n) = VTCphot_phaeo(1:nzmax) + endif + +end subroutine update_3d_diags + +! ============================================================================== +! SUBROUTINE: deallocate_diags +! Purpose: Deallocate all diagnostic arrays +! ============================================================================== +subroutine deallocate_diags() + use recom_locvar + use REcoM_declarations + implicit none + + ! -------------------------------------------------------------------------- + ! Small Phytoplankton + ! -------------------------------------------------------------------------- + deallocate(vertNPPn, vertGPPn, vertNNAn, vertChldegn) + deallocate(vertaggn, vertdocexn, vertrespn) + deallocate(VTPhyCO2, VTCphotLigLim_phyto, VTCphot_phyto) + + ! -------------------------------------------------------------------------- + ! Diatoms + ! -------------------------------------------------------------------------- + deallocate(vertNPPd, vertGPPd, vertNNAd, vertChldegd) + deallocate(vertaggd, vertdocexd, vertrespd) + deallocate(VTDiaCO2, VTCphotLigLim_diatoms, VTCphot_diatoms) + + if (enable_coccos) then + deallocate(VTTemp_phyto, VTqlimitFac_phyto) + deallocate(VTTemp_diatoms, VTqlimitFac_diatoms) + deallocate(VTSi_assimDia) + + ! -------------------------------------------------------------------------- + ! Coccolithophores and Phaeocystis (if enabled) + ! -------------------------------------------------------------------------- + deallocate(vertNPPc, vertGPPc, vertNNAc, vertChldegc) + deallocate(vertaggc, vertdocexc, vertrespc) + deallocate(vertcalcdiss, vertcalcif) + deallocate(VTTemp_cocco, VTCoccoCO2, VTqlimitFac_cocco) + deallocate(VTCphotLigLim_cocco, VTCphot_cocco) + + deallocate(vertNPPp, vertGPPp, vertNNAp, vertChldegp) + deallocate(vertaggp, vertdocexp, vertrespp) + deallocate(VTTemp_phaeo, VTPhaeoCO2, VTqlimitFac_phaeo) + deallocate(VTCphotLigLim_phaeo, VTCphot_phaeo) + else + deallocate(vertcalcdiss, vertcalcif) + endif + + ! -------------------------------------------------------------------------- + ! Zooplankton Grazing (if enabled) + ! -------------------------------------------------------------------------- + if (Grazing_detritus) then + deallocate(vertgrazmeso_tot, vertgrazmeso_n, vertgrazmeso_d) + deallocate(vertgrazmeso_det, vertrespmeso) + + if (enable_coccos) then + deallocate(vertgrazmeso_c, vertgrazmeso_p) + endif + + if (enable_3zoo2det) then + deallocate(vertgrazmeso_mic, vertgrazmeso_det2) + + deallocate(vertgrazmacro_tot, vertgrazmacro_n, vertgrazmacro_d) + deallocate(vertgrazmacro_mes, vertgrazmacro_det) + deallocate(vertgrazmacro_mic, vertgrazmacro_det2) + deallocate(vertrespmacro) + + if (enable_coccos) then + deallocate(vertgrazmacro_c, vertgrazmacro_p) + endif + + deallocate(vertgrazmicro_tot, vertgrazmicro_n, vertgrazmicro_d) + deallocate(vertrespmicro) + + if (enable_coccos) then + deallocate(vertgrazmicro_c, vertgrazmicro_p) + endif + endif + endif + +end subroutine deallocate_diags + +end module recom_diags_management diff --git a/src/int_recom/recom_sinking.F90 b/src/int_recom/recom_sinking.F90 index 0971e5bd0..bebeed557 100644 --- a/src/int_recom/recom_sinking.F90 +++ b/src/int_recom/recom_sinking.F90 @@ -109,14 +109,14 @@ subroutine ver_sinking_recom_benthos(tr_num, tracers, partit, mesh) ! Constant vertical sinking for the second detritus class ! ******************************************************* -#if defined(__3Zoo2Det) + if (enable_3zoo2det) then if(tracers%data(tr_num)%ID==1025 .or. & !idetz2n tracers%data(tr_num)%ID==1026 .or. & !idetz2c tracers%data(tr_num)%ID==1027 .or. & !idetz2si tracers%data(tr_num)%ID==1028 ) then !idetz2calc Vben = VDet_zoo2 endif -#endif + endif Vben= Vben/SecondsPerDay ! conversion [m/d] --> [m/s] (vertical velocity, note that it is positive here) @@ -141,6 +141,18 @@ subroutine ver_sinking_recom_benthos(tr_num, tracers, partit, mesh) tracers%data(tr_num)%ID==1013 .or. & !idian tracers%data(tr_num)%ID==1025 ) then !idetz2n Benthos(n,1)= Benthos(n,1) + add_benthos_2d(n) ![mmol] + + if (use_MEDUSA) then +! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + SinkFlx_tr(n,1,tr_num) = SinkFlx_tr(n,1,tr_num) + add_benthos_2d(n) / area(1,n)/dt ![mmol/m2] + ! now SinkFlx hat the unit mmol/time step + ! but mmol/m2/time is needed for MEDUSA: thus /area + endif + if ((.not.use_MEDUSA).or.(sedflx_num.eq.0)) then +! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + Benthos_tr(n,1,tr_num)= Benthos_tr(n,1,tr_num) + add_benthos_2d(n) ![mmol] + endif + endif !! * Particulate Organic Carbon * @@ -149,6 +161,16 @@ subroutine ver_sinking_recom_benthos(tr_num, tracers, partit, mesh) tracers%data(tr_num)%ID==1014 .or. & !idiac tracers%data(tr_num)%ID==1026 ) then !idetz2c Benthos(n,2)= Benthos(n,2) + add_benthos_2d(n) + + if (use_MEDUSA) then +! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + SinkFlx_tr(n,2,tr_num) = SinkFlx_tr(n,2,tr_num) + add_benthos_2d(n) / area(1,n)/dt + endif + if ((.not.use_MEDUSA).or.(sedflx_num.eq.0)) then +! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + Benthos_tr(n,2,tr_num)= Benthos_tr(n,2,tr_num) + add_benthos_2d(n) + endif + endif !! *Particulate Organic Silicon * @@ -156,6 +178,16 @@ subroutine ver_sinking_recom_benthos(tr_num, tracers, partit, mesh) tracers%data(tr_num)%ID==1017 .or. & !idetsi tracers%data(tr_num)%ID==1027 ) then !idetz2si Benthos(n,3)= Benthos(n,3) + add_benthos_2d(n) + + if (use_MEDUSA) then +! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + SinkFlx_tr(n,3,tr_num) = SinkFlx_tr(n,3,tr_num) + add_benthos_2d(n) / area(1,n)/dt + endif + if ((.not.use_MEDUSA).or.(sedflx_num.eq.0)) then +! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + Benthos_tr(n,3,tr_num)= Benthos_tr(n,3,tr_num) + add_benthos_2d(n) + endif + endif !! * Cal * @@ -163,9 +195,96 @@ subroutine ver_sinking_recom_benthos(tr_num, tracers, partit, mesh) tracers%data(tr_num)%ID==1021 .or. & !idetcal tracers%data(tr_num)%ID==1028 ) then !idetz2cal Benthos(n,4)= Benthos(n,4) + add_benthos_2d(n) + + if (use_MEDUSA) then +! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + SinkFlx_tr(n,4,tr_num) = SinkFlx_tr(n,4,tr_num) + add_benthos_2d(n) / area(1,n)/dt + endif + if ((.not.use_MEDUSA).or.(sedflx_num.eq.0)) then +! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + Benthos_tr(n,4,tr_num)= Benthos_tr(n,4,tr_num) + add_benthos_2d(n) + endif + + endif + + ! flux of 13C into the sediment + if (ciso) then + if( tracers%data(tr_num)%ID==1305 .or. & !iphyc_13 + tracers%data(tr_num)%ID==1308 .or. & !idetc_13 + tracers%data(tr_num)%ID==1314 ) then !idiac_14 + + if (use_MEDUSA) then +! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + SinkFlx_tr(n,5,tr_num) = SinkFlx_tr(n,5,tr_num) + add_benthos_2d(n) / area(1,n)/dt + endif + if ((.not.use_MEDUSA).or.(sedflx_num.eq.0)) then +! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + Benthos_tr(n,5,tr_num)= Benthos_tr(n,5,tr_num) + add_benthos_2d(n) + endif + + endif + + if( tracers%data(tr_num)%ID==1320 .or. & !iphycal + tracers%data(tr_num)%ID==1321 ) then !idetcal + + if (use_MEDUSA) then +! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + SinkFlx_tr(n,6,tr_num) = SinkFlx_tr(n,6,tr_num) + add_benthos_2d(n) / area(1,n)/dt + endif + if ((.not.use_MEDUSA).or.(sedflx_num.eq.0)) then +! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + Benthos_tr(n,6,tr_num)= Benthos_tr(n,6,tr_num) + add_benthos_2d(n) + endif + + endif + endif + + ! flux of 14C into the sediment + if (ciso .and. ciso_organic_14) then + if( tracers%data(tr_num)%ID==1405 .or. & !iphyc_13 + tracers%data(tr_num)%ID==1408 .or. & !idetc_13 + tracers%data(tr_num)%ID==1414 ) then !idiac_14 + + if (use_MEDUSA) then +! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + SinkFlx_tr(n,7,tr_num) = SinkFlx_tr(n,7,tr_num) + add_benthos_2d(n) / area(1,n)/dt + endif + if ((.not.use_MEDUSA).or.(sedflx_num.eq.0)) then +! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + Benthos_tr(n,7,tr_num)= Benthos_tr(n,7,tr_num) + add_benthos_2d(n) + endif + + endif + + if( tracers%data(tr_num)%ID==1420 .or. & !iphycal + tracers%data(tr_num)%ID==1421 ) then !idetcal + if (use_MEDUSA) then +! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + SinkFlx_tr(n,8,tr_num) = SinkFlx_tr(n,8,tr_num) + add_benthos_2d(n) / area(1,n)/dt + endif + if ((.not.use_MEDUSA).or.(sedflx_num.eq.0)) then +! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + Benthos_tr(n,8,tr_num)= Benthos_tr(n,8,tr_num) + add_benthos_2d(n) + endif + endif + + endif + end do + + if(use_MEDUSA) then + do n=1, bottflx_num +! SinkFlx(:,n) = Sinkflx(:,n)/dt +! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + call exchange_nod(SinkFlx_tr(:,n,tr_num), partit) + end do + end if ! use_MEDUSA + do n=1, benthos_num +! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + call exchange_nod(Benthos_tr(:,n,tr_num), partit) + call exchange_nod(Benthos(:,n), partit) end do @@ -223,6 +342,43 @@ subroutine diff_ver_recom_expl(tr_num, tracers, partit, mesh) bottom_flux = 0._WP id = tracers%data(tr_num)%ID +#if defined(__recom) +if (use_MEDUSA .and. (sedflx_num .ne. 0)) then + !CV update: the calculation later has been changed by Ozgur in such + !a way that now the variable bottom_flux is in (mol/time) units, + !rather than a flux in (mol/time/area). I therefore multiply the + !Medusa fluxes by the area to get the same unit. + + SELECT CASE (id) + CASE (1001) + bottom_flux = GloSed(:,1) * area(1,:) ! DIN + CASE (1002) + bottom_flux = GloSed(:,2) * area(1,:) ! DIC + CASE (1003) + bottom_flux = GloSed(:,3) * area(1,:) ! Alk + CASE (1018) + bottom_flux = GloSed(:,4) * area(1,:) ! Si + CASE (1019) + bottom_flux = GloSed(:,1) * Fe2N_benthos * area(1,:) + CASE (1022) + bottom_flux = GloSed(:,5) * area(1,:) ! Oxy + CASE (1302) + if (ciso) then + bottom_flux = GloSed(:,6) * area(1,:) ! DIC_13 and Calc: DIC_13 + end if + CASE (1402) + if (ciso) then + bottom_flux = GloSed(:,7) * area(1,:) ! DIC_14 and Calc: DIC_14 + end if + CASE DEFAULT + if (partit%mype==0) then + write(*,*) 'check specified in boundary conditions' + write(*,*) 'the model will stop!' + end if + call par_ex(partit%MPI_COMM_FESOM, partit%mype) + stop + END SELECT +else SELECT CASE (id) CASE (1001) bottom_flux = GlodecayBenthos(:,1) !*** DIN [mmolN/m^2/s] *** @@ -236,6 +392,14 @@ subroutine diff_ver_recom_expl(tr_num, tracers, partit, mesh) bottom_flux = GlodecayBenthos(:,1) * Fe2N_benthos !*** DFe *** CASE (1022) bottom_flux = -GlodecayBenthos(:,2) * redO2C !*** O2 *** + CASE (1302) + if (ciso) then + bottom_flux = GlodecayBenthos(:,5) + GlodecayBenthos(:,6) !*** DIC_13 and Calc: DIC_13 *** + end if + CASE (1402) + if (ciso) then + bottom_flux = GlodecayBenthos(:,7) + GlodecayBenthos(:,8) !*** DIC_14 and Calc: DIC_14 *** + end if CASE DEFAULT if (partit%mype==0) then write(*,*) 'check specified in boundary conditions' @@ -244,6 +408,8 @@ subroutine diff_ver_recom_expl(tr_num, tracers, partit, mesh) call par_ex(partit%MPI_COMM_FESOM, partit%mype) stop END SELECT +endif ! (use_MEDUSA .and. (sedflux_num .gt. 0)) +#endif do n=1, myDim_nod2D @@ -309,7 +475,7 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) real(kind=8) :: Rjp,Rj,Rjm real(kind=8) :: cfl, d0, d1, thetaP, thetaM, psiP, psiM - real(kind=8) :: onesixth = 1.d0/6.d0 + real(kind=8) :: onesixth = 1.d0/6.d0 real(kind=8) :: dt_sink, c1, c2 real(kind=8) :: Vsink, tv real(kind=8),dimension(mesh%nl) :: Wvel_flux @@ -334,54 +500,65 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) Vsink=0.0_WP - if (tracers%data(tr_num)%ID ==1007 .or. & !idetn - tracers%data(tr_num)%ID ==1008 .or. & !idetc - tracers%data(tr_num)%ID ==1017 .or. & !idetsi - tracers%data(tr_num)%ID ==1021 ) then !idetcal +!< Assign sinking velocities based on tracer ID +!< Groups tracers by functional type and assigns corresponding velocity +! Detritus tracers (nitrogen, carbon, silicate, calcite) + if (tracers%data(tr_num)%ID == 1007 .or. & ! idetn + tracers%data(tr_num)%ID == 1008 .or. & ! idetc + tracers%data(tr_num)%ID == 1017 .or. & ! idetsi + tracers%data(tr_num)%ID == 1021) then ! idetcal Vsink = VDet - elseif(tracers%data(tr_num)%ID ==1004 .or. & !iphyn - tracers%data(tr_num)%ID ==1005 .or. & !iphyc - tracers%data(tr_num)%ID==1006 ) then !ipchl - +! Phytoplankton tracers (nitrogen, carbon, chlorophyll) + elseif (tracers%data(tr_num)%ID == 1004 .or. & ! iphyn + tracers%data(tr_num)%ID == 1005 .or. & ! iphyc + tracers%data(tr_num)%ID == 1006) then ! ipchl Vsink = VPhy - elseif(tracers%data(tr_num)%ID==1013 .or. & !idian - tracers%data(tr_num)%ID==1014 .or. & !idiac - tracers%data(tr_num)%ID==1016 .or. & !idiasi - tracers%data(tr_num)%ID==1015 ) then !idchl - +! Diatom tracers (nitrogen, carbon, silicate, chlorophyll) + elseif (tracers%data(tr_num)%ID == 1013 .or. & ! idian + tracers%data(tr_num)%ID == 1014 .or. & ! idiac + tracers%data(tr_num)%ID == 1016 .or. & ! idiasi + tracers%data(tr_num)%ID == 1015) then ! idchl Vsink = VDia -#if defined (__coccos) - elseif(tracers%data(tr_num)%ID == 1029 .or. & !icocn - tracers%data(tr_num)%ID == 1030 .or. & !icocc - tracers%data(tr_num)%ID == 1031 ) then !icchl - +! Coccolithophore tracers (nitrogen, carbon, chlorophyll) + elseif (enable_coccos .and. & + (tracers%data(tr_num)%ID == 1029 .or. & ! icocn + tracers%data(tr_num)%ID == 1030 .or. & ! icocc + tracers%data(tr_num)%ID == 1031)) then ! icchl Vsink = VCocco -#endif - elseif(tracers%data(tr_num)%ID == 1020) then !iphycal - -#if defined (__coccos) - Vsink = VCocco -#else - Vsink = VPhy -#endif - -#if defined (__3Zoo2Det) - elseif(tracers%data(tr_num)%ID==1025 .or. & !idetz2n - tracers%data(tr_num)%ID==1026 .or. & !idetz2c - tracers%data(tr_num)%ID==1027 .or. & !idetz2si - tracers%data(tr_num)%ID==1028 ) then !idetz2calc - - Vsink = VDet_zoo2 -#endif +! Phaeocystis tracers (nitrogen, carbon, chlorophyll) + elseif (enable_coccos .and. & + (tracers%data(tr_num)%ID == 1032 .or. & ! iphan + tracers%data(tr_num)%ID == 1033 .or. & ! iphac + tracers%data(tr_num)%ID == 1034)) then ! iphachl + Vsink = VPhaeo + + +! Phytoplankton calcite tracer (special case) + elseif (tracers%data(tr_num)%ID == 1020) then ! iphycal + if (enable_coccos) then + Vsink = VCocco + else + Vsink = VPhy end if +! Zooplankton-2 detritus tracers (nitrogen, carbon, silicate, calcite) + elseif (enable_3zoo2det .and. & + (tracers%data(tr_num)%ID == 1025 .or. & ! idetz2n + tracers%data(tr_num)%ID == 1026 .or. & ! idetz2c + tracers%data(tr_num)%ID == 1027 .or. & ! idetz2si + tracers%data(tr_num)%ID == 1028)) then ! idetz2calc + Vsink = VDet_zoo2 + + end if + + !! ---- No sinking if Vsink < 0.1 m/day -if (Vsink .gt. 0.1) then +if (Vsink .gt. 0.1) then do n = 1,myDim_nod2D if (ulevels_nod2D(n)>1) cycle @@ -404,21 +581,28 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) if (allow_var_sinking) then Wvel_flux(nz) = -((Vdet_a * abs(zbar_3d_n(nz,n))/SecondsPerDay) + Vsink/SecondsPerDay) if (use_ballasting) then +! Apply ballasting on slow sinking detritus +!if (any(recom_sinking_tracer_id == tracer_id(tr_num))) then + + if (tracers%data(tr_num)%ID ==1007 .or. & !idetn + tracers%data(tr_num)%ID ==1008 .or. & !idetc + tracers%data(tr_num)%ID ==1017 .or. & !idetsi + tracers%data(tr_num)%ID ==1021 ) then !idetcal Wvel_flux(nz) = w_ref1 * scaling_density1_3D(nz,n) * scaling_visc_3D(nz,n) if (depth_scaling1.gt.0.0) Wvel_flux(nz) = Wvel_flux(nz) + (depth_scaling1 * abs(zbar_3d_n(nz,n))) if (abs(Wvel_flux(nz)) .gt. max_sinking_velocity) Wvel_flux(nz) = max_sinking_velocity - !! * sinking velocity [m d-1] surface --> bottom (negative)* + ! sinking velocity [m d-1] surface --> bottom (negative) Wvel_flux(nz) = -1.0d0 * Wvel_flux(nz)/SecondsPerDay ! now in [m s-1] + endif endif end if -#if defined (__3Zoo2Det) - - !! ---- We assume *constant* sinking for second detritus - if(tracers%data(tr_num)%ID ==1025 .or. & !idetz2n + !! ---- We assume constant sinking for second detritus + if(enable_3zoo2det .and. & + tracers%data(tr_num)%ID ==1025 .or. & !idetz2n tracers%data(tr_num)%ID ==1026 .or. & !idetz2c tracers%data(tr_num)%ID ==1027 .or. & !idetz2si tracers%data(tr_num)%ID ==1028 ) then !idetz2calc @@ -432,12 +616,17 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) if (abs(Wvel_flux(nz)) .gt. max_sinking_velocity) Wvel_flux(nz) = max_sinking_velocity - !! * sinking velocity [m d-1] surface --> bottom (negative) * + ! sinking velocity [m d-1] surface --> bottom (negative) Wvel_flux(nz) = -1.0d0 * Wvel_flux(nz)/SecondsPerDay ! now in [m s-1] end if endif -#endif + + if (tracers%data(tr_num)%ID == 1021) Sinkvel1_tr(nz,n,tr_num) = Wvel_flux(nz) !-1.0d0/SecondsPerDay !idetcal + if (enable_3zoo2det .and. & + tracers%data(tr_num)%ID == 1028) Sinkvel2_tr(nz,n,tr_num) = Wvel_flux(nz) !idetz2calc + + end do dt_sink = dt @@ -477,7 +666,7 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) (1.d0-cfl)/(1.d-20-cfl)*thetaM)) tv= (0.5 * wPs * (trarr(nz,n) + psiM * Rj)+ & - 0.5 * wM * (trarr(max(nzmin,nz-1),n) + psiP * Rj)) + 0.5 * wM * (trarr(max(nzmin,nz-1),n) + psiP * Rj)) vd_flux(nz)= - tv*area(nz,n) end do end if ! 3rd Order DST Sceheme with flux limiting @@ -496,7 +685,7 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) do nz=nzmin+1,nzmax !nlevels_nod2D_minimum-1 ! tv = trarr(nz,n) ! simple scheme - test1 -! tv = 0.5_WP*(trarr(nz-1,n)+trarr(nz,n)) ! consider both layers - test2 +! tv = 0.5_WP*(trarr(nz-1,n)+trarr(nz,n)) ! consider both layers - test2 ! tv = tv*Wvel_flux(nz) ! Wvel_flux is negative tv = - 0.5* & ! - test3 (trarr(nz-1,n)*(Wvel_flux(nz)-abs(Wvel_flux(nz))) + & @@ -525,9 +714,9 @@ subroutine ballast(tr_num, tracers, partit, mesh) use recom_config use recom_glovar - USE o_PARAM - USE o_ARRAYS - USE g_CONFIG + use o_PARAM + use o_ARRAYS + use g_CONFIG use g_forcing_arrays use g_comm_auto use g_clock @@ -561,6 +750,9 @@ subroutine ballast(tr_num, tracers, partit, mesh) ! b) sea water viscosity, c) depth (currently for small detritus only), and d) a constant reference sinking speed ! ----- +! check oce_ale_tracer.F90 +! call get_seawater_viscosity(mesh) ! seawater_visc_3D +! call get_particle_density(mesh) ! rho_particle = density of particle class 1 and 2 !___________________________________________________________________________ ! loop over local nodes do row=1,myDim_nod2D @@ -588,21 +780,19 @@ subroutine ballast(tr_num, tracers, partit, mesh) scaling_density1_3D(k,row)=1.0 scaling_density2_3D(k,row)=1.0 - if (use_density_scaling) then - if (tracers%data(tr_num)%ID ==1008)then !idetc - if (tracers%data(tr_num)%values(k,row)>0.001) then ! only apply ballasting above a certain biomass (OG Todo: remove) - scaling_density1_3D(k,row) = (rho_particle1(k,row)-rho_seawater(1))/(rho_ref_part-rho_ref_water) - endif - endif -#if defined (__3Zoo2Det) - - if (tracers%data(tr_num)%ID ==1026)then ! idetz2c - if (tracers%data(tr_num)%values(k,row)>0.001) then ! only apply ballasting above a certain biomass (OG Todo: remove) - scaling_density2_3D(k,row) = (rho_particle2(k,row)-rho_seawater(1))/(rho_ref_part-rho_ref_water) - endif - endif -#endif - endif + if (use_density_scaling) then + !if (tracers%data(tr_num)%ID ==1008)then !idetc + !if (tracers%data(tr_num)%values(k,row)>0.001) then ! only apply ballasting above a certain biomass (OG Todo: remove) + scaling_density1_3D(k,row) = (rho_particle1(k,row)-rho_seawater(1))/(rho_ref_part-rho_ref_water) + !endif + !endif + !if (enable_3zoo2det .and. & + !tracers%data(tr_num)%ID ==1026)then ! idetz2c + !if (tracers%data(tr_num)%values(k,row)>0.001) then ! only apply ballasting above a certain biomass (OG Todo: remove) + scaling_density2_3D(k,row) = (rho_particle2(k,row)-rho_seawater(1))/(rho_ref_part-rho_ref_water) + !endif + !endif + endif scaling_visc_3D(k,row)=1.0 @@ -622,9 +812,11 @@ subroutine ballast(tr_num, tracers, partit, mesh) ! in the unlikely (if possible at all...) case that rho_particle(k)-rho_seawater(1)<0, prevent the scaling factor from being negative if (any(scaling_density1_3D(:,:) <= tiny)) scaling_density1_3D(:,:) = 1.0_WP ! tiny = 2.23D-16 -#if defined (__3Zoo2Det) - if (any(scaling_density2_3D(:,:) <= tiny)) scaling_density2_3D(:,:) = 1.0_WP ! tiny = 2.23D-16 -#endif + + if (enable_3zoo2det) then + if (any(scaling_density2_3D(:,:) <= tiny)) scaling_density2_3D(:,:) = 1.0_WP ! tiny = 2.23D-16 + endif + end subroutine ballast !------------------------------------------------------------------------------- ! Subroutine calculate density of particle @@ -678,6 +870,7 @@ subroutine get_particle_density(tracers, partit, mesh) b4 = 0.0 aux = 0.0 +! Below guarantees non-negative tracer field do tr_num=1,num_tracers if (tracers%data(tr_num)%ID==1008) b1 = max(tiny,tracers%data(tr_num)%values(:,:)) !idetc ! [mmol m-3] detritus carbon if (tracers%data(tr_num)%ID==1007) b2 = max(tiny,tracers%data(tr_num)%values(:,:)) !idetn ! [mmol m-3] detritus nitrogen @@ -696,7 +889,7 @@ subroutine get_particle_density(tracers, partit, mesh) rho_particle1(nzmin:nzmax,row) = rho_CaCO3*a4(nzmin:nzmax,row) + rho_opal*a3(nzmin:nzmax,row) + rho_POC*a1(nzmin:nzmax,row) + rho_PON*a2(nzmin:nzmax,row) end do -#if defined (__3Zoo2Det) + if (enable_3zoo2det) then rho_particle2 = 0.0 b1 = 0.0 b2 = 0.0 @@ -721,7 +914,7 @@ subroutine get_particle_density(tracers, partit, mesh) a4(nzmin:nzmax,row) = b4(nzmin:nzmax,row)/aux(nzmin:nzmax,row) rho_particle2(nzmin:nzmax,row) = rho_CaCO3*a4(nzmin:nzmax,row) + rho_opal*a3(nzmin:nzmax,row) + rho_POC*a1(nzmin:nzmax,row) + rho_PON*a2(nzmin:nzmax,row) end do -#endif + endif end subroutine get_particle_density !------------------------------------------------------------------------------- @@ -734,16 +927,15 @@ end subroutine get_particle_density subroutine get_seawater_viscosity(tr_num, tracers, partit, mesh) + use recom_config + use recom_glovar use MOD_MESH use MOD_PARTIT use MOD_PARSUP use MOD_TRACER - - use recom_config - use recom_glovar - USE o_PARAM - USE o_ARRAYS - USE g_CONFIG + use o_PARAM + use o_ARRAYS + use g_CONFIG use g_forcing_arrays use g_comm_auto use g_clock diff --git a/src/int_recom/recom_sms.F90 b/src/int_recom/recom_sms.F90 index 044d59c1e..ee2670782 100644 --- a/src/int_recom/recom_sms.F90 +++ b/src/int_recom/recom_sms.F90 @@ -41,7 +41,7 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & integer, intent(in) :: Nn !< Total number of nodes in the vertical real(kind=8),dimension(mesh%nl-1,bgc_num),intent(inout) :: state !< ChlA conc in phytoplankton [mg/m3] - !! should be in instead of inout + !! should be in instead of inout real(kind=8),dimension(mesh%nl-1) :: thick !< [m] Vertical distance between two nodes = Thickness real(kind=8),dimension(mesh%nl-1) :: recipthick !< [1/m] reciprocal of thick @@ -85,261 +85,1413 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & real(kind=8), intent(in) :: Latd(1) ! latitude in degree real(kind=8), intent(in) :: Lond(1) ! longitude in degree real(kind=8) :: mocsy_step_per_day - real(kind=8) :: & - DIN, & !< Dissolved Inorganic Nitrogen [mmol/m3] - DIC, & !< Dissolved Inorganic Carbon [mmol/m3] - Alk, & !< Total Alkalinity [mmol/m3] - PhyN, & !< Intracellular conc of Nitrogen in small phytoplankton [mmol/m3] - PhyC, & !< Intracellular conc of Carbon in small phytoplankton [mmol/m3] - PhyChl, & !< Current intracellular ChlA conc. [mg/m3] - DetN, & !< Conc of N in Detritus [mmol/m3] - DetC, & !< Conc of C in Detritus [mmol/m3] - HetN, & !< Conc of N in heterotrophs [mmol/m3] - HetC, & !< Conc of C in heterotrophs [mmol/m3] - DON, & !< Dissolved organic N in the water [mmol/m3] - EOC, & !< Extracellular Organic C conc [mmol/m3] - DiaN, & - DiaC, & - DiaChl, & - DiaSi, & - DetSi, & -#if defined (__coccos) - CoccoN, & - CoccoC, & - CoccoChl,& -#endif - Si, & - Fe, & - PhyCalc, & - DetCalc, & -#if defined (__3Zoo2Det) - Zoo2N, & - Zoo2C, & - DetZ2N, & - DetZ2C, & - DetZ2Si, & - DetZ2Calc,& - MicZooN, & ! 3Zoo - MicZooC, & ! 3Zoo -#endif - FreeFe, & - O2 + +! --- Biogeochemical state variables --- + real(kind=8) :: & + DIN, & ! [mmol/m3] Dissolved inorganic nitrogen + DIC, & ! [mmol/m3] Dissolved inorganic carbon + Alk, & ! [mmol/m3] Total alkalinity + PhyN, & ! [mmol/m3] Phytoplankton nitrogen (small) + PhyC, & ! [mmol/m3] Phytoplankton carbon (small) + PhyChl, & ! [mg/m3] Phytoplankton chlorophyll + DetN, & ! [mmol/m3] Detrital nitrogen + DetC, & ! [mmol/m3] Detrital carbon + HetN, & ! [mmol/m3] Heterotroph nitrogen + HetC, & ! [mmol/m3] Heterotroph carbon + DON, & ! [mmol/m3] Dissolved organic nitrogen + EOC, & ! [mmol/m3] Extracellular organic carbon + DiaN, & ! [mmol/m3] Diatom nitrogen + DiaC, & ! [mmol/m3] Diatom carbon + DiaChl, & ! [mg/m3] Diatom chlorophyll + DiaSi, & ! [mmol/m3] Diatom silicate + DetSi, & ! [mmol/m3] Detrital silicate + Si, & ! [mmol/m3] Dissolved silicate + Fe, & ! [mmol/m3] Dissolved iron + PhyCalc, & ! [mmol/m3] Phytoplankton calcite + DetCalc, & ! [mmol/m3] Detrital calcite + FreeFe, & ! [mmol/m3] Free iron + O2 ! [mmol/m3] Dissolved oxygen + +! Coccolithophore variables (conditionally used based on namelist) +real(kind=8) :: & + CoccoN, & ! [mmol/m3] Coccolithophore nitrogen + CoccoC, & ! [mmol/m3] Coccolithophore carbon + CoccoChl, & ! [mg/m3] Coccolithophore chlorophyll + PhaeoN, & ! [mmol/m3] Phaeocystis nitrogen + PhaeoC, & ! [mmol/m3] Phaeocystis carbon + PhaeoChl ! [mg/m3] Phaeocystis chlorophyll + +! Extended zooplankton variables (conditionally used based on namelist) +real(kind=8) :: & + Zoo2N, & ! [mmol/m3] Zooplankton type 2 nitrogen + Zoo2C, & ! [mmol/m3] Zooplankton type 2 carbon + DetZ2N, & ! [mmol/m3] Zooplankton detritus nitrogen + DetZ2C, & ! [mmol/m3] Zooplankton detritus carbon + DetZ2Si, & ! [mmol/m3] Zooplankton detritus silicate + DetZ2Calc, & ! [mmol/m3] Zooplankton detritus calcite + MicZooN, & ! [mmol/m3] Microzooplankton nitrogen + MicZooC ! [mmol/m3] Microzooplankton carbon #include "../associate_part_def.h" #include "../associate_mesh_def.h" #include "../associate_part_ass.h" #include "../associate_mesh_ass.h" - sms = zero ! double precision - tiny_N = tiny_chl/chl2N_max !< 0.00001/ 3.15d0 Chl2N_max [mg CHL/mmol N] Maximum CHL a : N ratio = 0.3 gCHL gN^-1 - tiny_N_d = tiny_chl/chl2N_max_d !< 0.00001/ 4.2d0 + ! =========================================================================== + ! VARIABLE DECLARATIONS AND INITIALIZATION + ! =========================================================================== + + !=============================================================================== + ! INITIALIZATION AND SETUP + !=============================================================================== + ! Initializes arrays, calculates minimum thresholds, and sets up time stepping. + ! + ! Variables: + ! sms : Source-minus-sink array for tracer updates [mmol m-3 day-1] + ! zero : Double precision zero (0.0d0) + ! tiny : Very small positive number (numerical stability) + ! tiny_chl : Minimum chlorophyll concentration [mgChl m-3] + ! + ! Source-Minus-Sink (SMS) Array: + ! - Accumulates all biogeochemical fluxes + ! - Dimension: (vertical_levels, number_of_tracers) + ! - Updated throughout biological calculations + ! - Applied to state variables at end of time step + ! - Units: concentration per day [mmol m-3 day-1] + !------------------------------------------------------------------------------- + + ! Initialize source-minus-sink array + ! Sets all biogeochemical fluxes to zero at start of time step + sms = zero + + !=============================================================================== + ! MINIMUM THRESHOLD VALUES + !=============================================================================== + ! Calculates minimum allowable concentrations for all biological state variables. + ! Prevents division by zero and ensures numerical stability. + ! + ! Threshold Calculation Strategy: + ! - Based on physiological maximum ratios + ! - Works backward from minimum chlorophyll + ! - Ensures stoichiometric consistency + ! - Species-specific values + ! + ! Rationale for Minimum Thresholds: + ! - Division by zero prevention in quota calculations + ! - Numerical stability in resource limitation terms + ! - Prevents spurious negative values + ! - Represents detection limits or "ghost populations" + ! + ! Typical Minimum Values: + ! - Chlorophyll: ~0.001-0.01 mgChl m-3 + ! - Nitrogen: ~0.001-0.01 mmolN m-3 + ! - Carbon: ~0.01-0.1 mmolC m-3 + !------------------------------------------------------------------------------- + + !------------------------------------------------------------------------------- + ! Small Phytoplankton Thresholds + !------------------------------------------------------------------------------- + ! Variables: + ! tiny_N : Minimum small phyto nitrogen [mmolN m-3] + ! tiny_C : Minimum small phyto carbon [mmolC m-3] + ! tiny_chl : Minimum chlorophyll (set externally) [mgChl m-3] + ! chl2N_max : Maximum Chlorophyll:Nitrogen ratio [mgChl mmolN-1] + ! NCmax : Maximum Nitrogen:Carbon quota [mmolN mmolC-1] + ! + ! Calculation Logic: + ! 1. Start with minimum observable Chl (tiny_chl) + ! 2. Calculate minimum N using maximum Chl:N ratio + ! 3. Calculate minimum C using maximum N:C quota + ! + ! Typical Values: + ! chl2N_max = 3.15 mgChl/mmolN (high Chl per N, low light acclimation) + ! NCmax = 0.2 mmolN/mmolC (luxury N consumption maximum) + + ! Minimum nitrogen based on minimum chlorophyll and maximum Chl:N ratio + tiny_N = tiny_chl / chl2N_max + + ! Minimum carbon based on minimum nitrogen and maximum N:C quota + tiny_C = tiny_N / NCmax + + !------------------------------------------------------------------------------- + ! Diatom Thresholds + !------------------------------------------------------------------------------- + ! Variables: + ! tiny_N_d : Minimum diatom nitrogen [mmolN m-3] + ! tiny_C_d : Minimum diatom carbon [mmolC m-3] + ! tiny_Si : Minimum diatom silicate [mmolSi m-3] + ! chl2N_max_d : Maximum diatom Chl:N ratio [mgChl mmolN-1] + ! NCmax_d : Maximum diatom N:C quota [mmolN mmolC-1] + ! SiCmax : Maximum diatom Si:C quota [mmolSi mmolC-1] + ! + ! Typical Values: + ! chl2N_max_d = 4.2 mgChl/mmolN (diatoms can have higher Chl:N) + ! NCmax_d = 0.2 mmolN/mmolC + ! SiCmax = 0.8 mmolSi/mmolC (heavily silicified frustules) + ! + ! Silicon Requirement: + ! - Unique to diatoms (frustule formation) + ! - Calculated from minimum carbon and maximum Si:C ratio + + ! Minimum diatom nitrogen + tiny_N_d = tiny_chl / chl2N_max_d + + ! Minimum diatom carbon + tiny_C_d = tiny_N_d / NCmax_d + + ! Minimum silicate (based on diatom carbon and maximum Si:C quota) + tiny_Si = tiny_C_d / SiCmax + + !------------------------------------------------------------------------------- + ! Coccolithophore and Phaeocystis Thresholds (Optional) + !------------------------------------------------------------------------------- + ! Only calculated when 4-plankton functional type model is enabled + + if (enable_coccos) then + + ! Coccolithophore thresholds + ! Variables: + ! tiny_N_c : Minimum cocco nitrogen [mmolN m-3] + ! tiny_C_c : Minimum cocco carbon [mmolC m-3] + ! chl2N_max_c : Maximum cocco Chl:N ratio [mgChl mmolN-1] + ! NCmax_c : Maximum cocco N:C quota [mmolN mmolC-1] + + tiny_N_c = tiny_chl / chl2N_max_c + tiny_C_c = tiny_N_c / NCmax_c + + ! Phaeocystis thresholds + ! Variables: + ! tiny_N_p : Minimum Phaeo nitrogen [mmolN m-3] + ! tiny_C_p : Minimum Phaeo carbon [mmolC m-3] + ! chl2N_max_p : Maximum Phaeo Chl:N ratio [mgChl mmolN-1] + ! NCmax_p : Maximum Phaeo N:C quota [mmolN mmolC-1] + + tiny_N_p = tiny_chl / chl2N_max_p + tiny_C_p = tiny_N_p / NCmax_p - tiny_C = tiny_N /NCmax !< NCmax = 0.2d0 [mmol N/mmol C] Maximum cell quota of nitrogen (N:C) - tiny_C_d = tiny_N_d/NCmax_d !< NCmax_d = 0.2d0 + endif - tiny_Si = tiny_C_d/SiCmax !< SiCmax = 0.8d0 + ! Reciprocal of heterotroph respiration rate + ! Used in Redfield-based respiration calculations + ! Variable: + ! recip_res_het : Reciprocal respiration parameter [day] + ! res_het : Heterotroph respiration rate [day-1] + ! Typical value: res_het = 0.01 day-1 (combined respiration + mortality) + recip_res_het = 1.d0 / res_het + + ! Atmospheric pressure conversion for carbonate chemistry + ! MOCSY requires pressure in atmospheres + ! Variables: + ! Patm_depth : Atmospheric pressure [atm] + ! Loc_slp : Local sea level pressure [Pa] + ! Pa2atm : Pascal to atmosphere conversion factor [Pa atm-1] + Patm_depth = Loc_slp / Pa2atm + + !=============================================================================== + ! TIME STEPPING SETUP + !=============================================================================== + ! Converts time steps and sets up sub-cycling for biogeochemistry. + ! + ! Time Step Hierarchy: + ! 1. FESOM physics time step (dt) [seconds] + ! 2. Daily time step (dt_d) [days] + ! 3. REcoM biogeochemistry sub-step (dt_b) [days] + ! + ! Sub-Cycling Rationale: + ! - Physics: Slow (hours to days) + ! - Fast biology: Minutes to hours (phytoplankton growth, grazing) + ! - Allows finer temporal resolution for biological processes + ! - Improves numerical stability for stiff biological systems + ! + ! Variables: + ! rTref : Reciprocal reference temperature [K-1] + ! recom_Tref : Reference temperature (typically 288.15 K = 15degC) [K] + ! dt : FESOM physics time step [seconds] + ! dt_d : Physics time step in days [days] + ! dt_b : REcoM biogeochemistry sub-time step [days] + ! SecondsPerDay : Conversion factor (86400) [s day-1] + ! biostep : Number of biogeochemistry steps per physics step [-] + ! + ! Typical Configuration: + ! dt = 3600 s (1 hour physics step) + ! biostep = 4 (15-minute biogeochemistry steps) + ! dt_b = 0.25/24 = 0.0104 days + !------------------------------------------------------------------------------- + + ! Convert FESOM physics time step to days + dt_d = dt / SecondsPerDay + + ! Calculate biogeochemistry sub-time step + ! Divides physics step into smaller biogeochemical steps + dt_b = dt_d / real(biostep) + + ! Reciprocal reference temperature for Arrhenius calculations + ! Reference: 288.15 K (15degC) used in temperature dependence functions + rTref = real(one) / recom_Tref + + !=============================================================================== + ! MAIN TIME INTEGRATION LOOP + !=============================================================================== + ! Iterates through biogeochemical sub-time steps within each physics time step. + ! Allows fine temporal resolution for fast biological processes. + ! + ! Loop Structure: + ! - Outer loop: Biogeochemistry sub-steps (biostep iterations) + ! - Inner loop: Vertical layers (surface to bottom) + ! + ! Variables: + ! step : Current biogeochemistry sub-step counter [-] + ! biostep : Total number of sub-steps per physics step [-] + ! kdzUpper : Cumulative light attenuation from surface [dimensionless] + ! sms : Source-minus-sink flux array [mmol m-3 day-1] + ! tiny : Threshold for negligible fluxes [mmol m-3 day-1] + ! + ! Numerical Cleanup: + ! - Removes negligible SMS values before applying + ! - Prevents accumulation of numerical noise + ! - Improves computational efficiency + !------------------------------------------------------------------------------- + + do step = one, biostep + + ! Reset upper light attenuation (top of the cell) at start of each sub-step + ! Light attenuation integrates downward through water column + kdzUpper = 0.d0 + + ! Clean up negligible SMS values to prevent numerical issues + ! Sets very small fluxes to exactly zero + if (any(abs(sms(:, :)) <= tiny)) sms(:, :) = zero + + !=========================================================================== + ! VERTICAL LOOP THROUGH WATER COLUMN + !=========================================================================== + ! Processes each vertical layer from surface to bottom. + ! Updates state variables and enforces constraints. + ! + ! Variables: + ! k : Current vertical level index [-] + ! nn : Number of vertical levels in water column [-] + ! + ! Note: Alternative loop configurations commented out: + ! - nzmin, nzmax: Min/max active levels (for dry cells) + ! - myDim_nod2D: Horizontal dimension (for 3D unstructured grids) + !--------------------------------------------------------------------------- + + do k = one, nn + ! Alternative loop structures (commented out): + ! do n = 1, myDim_nod2D + ! Nn = nlevels_nod2D(n) - 1 + ! nzmin = ulevels_nod2D(row) + ! nzmax = nlevels_nod2D(row) + + !----------------------------------------------------------------------- + ! DISSOLVED INORGANIC NUTRIENTS + !----------------------------------------------------------------------- + ! Update nutrient concentrations: state(previous) + SMS(fluxes) + ! Enforce minimum values for numerical stability + ! + ! Variables: + ! DIN : Dissolved inorganic nitrogen (NO3- + NH4+) [mmolN m-3] + ! Si : Dissolved silicate (Si(OH)4) [mmolSi m-3] + ! Fe : Dissolved iron (bioavailable Fe) [mmolFe m-3] + ! + ! max() function ensures non-negative concentrations + !----------------------------------------------------------------------- + + DIN = max(tiny, state(k, idin) + sms(k, idin)) + Si = max(tiny, state(k, isi) + sms(k, isi)) + Fe = max(tiny, state(k, ife) + sms(k, ife)) + + !----------------------------------------------------------------------- + ! CARBON SYSTEM VARIABLES + !----------------------------------------------------------------------- + ! Variables: + ! DIC : Dissolved inorganic carbon (CO2 + HCO3- + CO3--) [mmolC m-3] + ! ALK : Total alkalinity [meq m-3] + ! O2 : Dissolved oxygen [mmolO2 m-3] + !----------------------------------------------------------------------- + + DIC = max(tiny, state(k, idic) + sms(k, idic)) + ALK = max(tiny, state(k, ialk) + sms(k, ialk)) + O2 = max(tiny, state(k, ioxy) + sms(k, ioxy)) + + !----------------------------------------------------------------------- + ! DISSOLVED ORGANIC MATTER + !----------------------------------------------------------------------- + ! Variables: + ! DON : Dissolved organic nitrogen (labile + semi-labile) [mmolN m-3] + ! EOC : Dissolved organic carbon (labile + semi-labile) [mmolC m-3] + ! + ! Note: EOC naming convention (Enhanced Organic Carbon) is historical + !----------------------------------------------------------------------- + + DON = max(tiny, state(k, idon) + sms(k, idon)) + EOC = max(tiny, state(k, idoc) + sms(k, idoc)) + + !----------------------------------------------------------------------- + ! SMALL PHYTOPLANKTON + !----------------------------------------------------------------------- + ! General phytoplankton functional type + ! Variables: + ! PhyN : Small phyto nitrogen [mmolN m-3] + ! PhyC : Small phyto carbon [mmolC m-3] + ! PhyChl : Small phyto chlorophyll [mgChl m-3] + ! PhyCalc : Small phyto calcite (if calcifying) [mmolC m-3] + !----------------------------------------------------------------------- + + PhyN = max(tiny_N, state(k, iphyn) + sms(k, iphyn)) + PhyC = max(tiny_C, state(k, iphyc) + sms(k, iphyc)) + PhyChl = max(tiny_chl, state(k, ipchl) + sms(k, ipchl)) + PhyCalc = max(tiny, state(k, iphycal) + sms(k, iphycal)) + + !----------------------------------------------------------------------- + ! DIATOMS (SILICIFYING PHYTOPLANKTON) + !----------------------------------------------------------------------- + ! Large phytoplankton with silica frustules + ! Variables: + ! DiaN : Diatom nitrogen [mmolN m-3] + ! DiaC : Diatom carbon [mmolC m-3] + ! DiaChl : Diatom chlorophyll [mgChl m-3] + ! DiaSi : Diatom silicate (frustule) [mmolSi m-3] + !----------------------------------------------------------------------- + + DiaN = max(tiny_N_d, state(k, idian) + sms(k, idian)) + DiaC = max(tiny_C_d, state(k, idiac) + sms(k, idiac)) + DiaChl = max(tiny_chl, state(k, idchl) + sms(k, idchl)) + DiaSi = max(tiny_si, state(k, idiasi) + sms(k, idiasi)) + + if (enable_coccos) then + + !------------------------------------------------------------------- + ! COCCOLITHOPHORES (CALCIFYING PHYTOPLANKTON) + !------------------------------------------------------------------- + ! Variables: + ! CoccoN : Cocco nitrogen [mmolN m-3] + ! CoccoC : Cocco carbon [mmolC m-3] + ! CoccoChl : Cocco chlorophyll [mgChl m-3] + !------------------------------------------------------------------- + + CoccoN = max(tiny_N_c, state(k, icocn) + sms(k, icocn)) + CoccoC = max(tiny_C_c, state(k, icocc) + sms(k, icocc)) + CoccoChl = max(tiny_chl, state(k, icchl) + sms(k, icchl)) + + !------------------------------------------------------------------- + ! PHAEOCYSTIS (COLONIAL PHYTOPLANKTON) + !------------------------------------------------------------------- + ! Variables: + ! PhaeoN : Phaeo nitrogen [mmolN m-3] + ! PhaeoC : Phaeo carbon [mmolC m-3] + ! PhaeoChl : Phaeo chlorophyll [mgChl m-3] + !------------------------------------------------------------------- + + PhaeoN = max(tiny_N_p, state(k, iphan) + sms(k, iphan)) + PhaeoC = max(tiny_C_p, state(k, iphac) + sms(k, iphac)) + PhaeoChl = max(tiny_chl, state(k, iphachl) + sms(k, iphachl)) -#if defined (__coccos) - tiny_N_c = tiny_chl/chl2N_max_c - tiny_C_c = tiny_N_c/NCmax_c -#endif + end if - recip_res_het = 1.d0/res_het !< res_het = 0.01d0 [1/day] Respiration by heterotrophs and mortality (loss to detritus) + !----------------------------------------------------------------------- + ! HETEROTROPHS (ZOOPLANKTON) + !----------------------------------------------------------------------- + ! Primary grazers (mesozooplankton) + ! Variables: + ! HetN : Mesozooplankton nitrogen [mmolN m-3] + ! HetC : Mesozooplankton carbon [mmolC m-3] + !----------------------------------------------------------------------- + + HetN = max(tiny, state(k, ihetn) + sms(k, ihetn)) + HetC = max(tiny, state(k, ihetc) + sms(k, ihetc)) + + if (enable_3zoo2det) then + + !------------------------------------------------------------------- + ! ADDITIONAL ZOOPLANKTON (3-ZOOPLANKTON MODEL) + !------------------------------------------------------------------- + ! Macrozooplankton (e.g., krill) + ! Variables: + ! Zoo2N : Macrozooplankton nitrogen [mmolN m-3] + ! Zoo2C : Macrozooplankton carbon [mmolC m-3] + Zoo2N = max(tiny, state(k, izoo2n) + sms(k, izoo2n)) + Zoo2C = max(tiny, state(k, izoo2c) + sms(k, izoo2c)) + + ! Microzooplankton (e.g., ciliates, heterotrophic dinoflagellates) + ! Variables: + ! MicZooN : Microzooplankton nitrogen [mmolN m-3] + ! MicZooC : Microzooplankton carbon [mmolC m-3] + MicZooN = max(tiny, state(k, imiczoon) + sms(k, imiczoon)) + MicZooC = max(tiny, state(k, imiczooc) + sms(k, imiczooc)) - Patm_depth = Loc_slp/Pa2atm ! MOCSY convert from Pa to atm. + end if -!------------------------------------------------------------------------------- -!> REcoM time steps [day] -!------------------------------------------------------------------------------- + !----------------------------------------------------------------------- + ! DETRITUS (DEAD ORGANIC MATTER) + !----------------------------------------------------------------------- + ! Slow-sinking detritus pools + ! Variables: + ! DetN : Detrital nitrogen [mmolN m-3] + ! DetC : Detrital carbon [mmolC m-3] + ! DetSi : Detrital silicate [mmolSi m-3] + ! DetCalc : Detrital calcite [mmolC m-3] + !----------------------------------------------------------------------- + + DetN = max(tiny, state(k, idetn) + sms(k, idetn)) + DetC = max(tiny, state(k, idetc) + sms(k, idetc)) + DetSi = max(tiny, state(k, idetsi) + sms(k, idetsi)) + DetCalc = max(tiny, state(k, idetcal) + sms(k, idetcal)) + + if (enable_3zoo2det) then + + !------------------------------------------------------------------- + ! FAST-SINKING DETRITUS (FECAL PELLETS) + !------------------------------------------------------------------- + ! Large, rapidly sinking particles + ! Variables: + ! DetZ2N : Fast detritus nitrogen [mmolN m-3] + ! DetZ2C : Fast detritus carbon [mmolC m-3] + ! DetZ2Si : Fast detritus silicate [mmolSi m-3] + ! DetZ2Calc : Fast detritus calcite [mmolC m-3] + !------------------------------------------------------------------- + + DetZ2N = max(tiny, state(k, idetz2n) + sms(k, idetz2n)) + DetZ2C = max(tiny, state(k, idetz2c) + sms(k, idetz2c)) + DetZ2Si = max(tiny, state(k, idetz2si) + sms(k, idetz2si)) + DetZ2Calc = max(tiny, state(k, idetz2calc) + sms(k, idetz2calc)) - rTref = real(one)/recom_Tref - - dt_d = dt/SecondsPerDay !< Size of FESOM time step [day] - dt_b = dt_d/real(biostep) !< Size of REcoM time step [day] + end if -!------------------------------------------------------------------------------- -!Main time loop starts - do step = one,biostep + !----------------------------------------------------------------------- + ! FREE IRON INITIALIZATION + !----------------------------------------------------------------------- + ! Free iron will be calculated later from total iron budget + ! Accounts for scavenging, complexation, and biological uptake + !----------------------------------------------------------------------- - kdzUpper = 0.d0 !< Upper light attenuation of top cell is set to zero + FreeFe = zero - if (any(abs(sms(:,:)) <= tiny)) sms(:,:) = zero ! tiny = 2.23D-16 + !======================================================================= + ! PHYSICAL ENVIRONMENT CONSTRAINTS FOR CARBONATE CHEMISTRY + !======================================================================= + ! Validates and constrains physical parameters for MOCSY carbonate + ! system calculations. Ensures inputs are within valid ranges. + ! + ! MOCSY Valid Ranges (Lueker K1/K2 formulation): + ! Temperature: 2-35degC + ! Salinity: 19-43 psu + ! + ! Rationale for Constraints: + ! - Equilibrium constants are empirical fits + ! - Extrapolation outside valid range introduces errors + ! - Numerical instability at extreme values + ! - Ice formation creates low-salinity issues + !----------------------------------------------------------------------- + + !----------------------------------------------------------------------- + ! Temperature Constraints + !----------------------------------------------------------------------- + ! Variables: + ! REcoM_T_depth : Constrained temperature for MOCSY [degC] + ! Temp(k) : Actual temperature at depth k [degC] + ! + ! Constraints: + ! Minimum: 2degC (prevents extrapolation below calibration range) + ! Maximum: 40degC (safety limit, ocean rarely exceeds 35degC) + ! + ! Note: K1/K2 Lueker formulation valid for 2-35degC + !----------------------------------------------------------------------- + + REcoM_T_depth = max(2.d0, Temp(k)) ! Apply minimum + REcoM_T_depth = min(REcoM_T_depth, 40.d0) ! Apply maximum + + !----------------------------------------------------------------------- + ! Salinity Constraints + !----------------------------------------------------------------------- + ! Variables: + ! REcoM_S_depth : Constrained salinity for MOCSY [psu] + ! Sali_depth(k) : Actual salinity at depth k [psu] + ! + ! Constraints: + ! Minimum: 21 psu (increased from 19 to avoid numerical issues) + ! Maximum: 43 psu (upper limit of calibration range) + ! + ! Problematic Conditions: + ! - Salinity 19-21 psu with ice concentration > 97% + ! - Causes numerical instability in MOCSY + ! - Conservative constraint (21 psu minimum) prevents issues + ! + ! Note: Brackish water and ice-covered regions require special care + !----------------------------------------------------------------------- + + REcoM_S_depth = max(21.d0, Sali_depth(k)) ! Apply minimum + REcoM_S_depth = min(REcoM_S_depth, 43.d0) ! Apply maximum + + !----------------------------------------------------------------------- + ! Unit Conversions for MOCSY + !----------------------------------------------------------------------- + ! MOCSY requires concentrations in mol/m3 (not mmol/m3) + ! Conversion factor: 1e-3 (mmol -> mol) + ! + ! Variables (output): + ! REcoM_DIC_depth : DIC for MOCSY [mol m-3] + ! REcoM_Alk_depth : Alkalinity for MOCSY [mol m-3] + ! REcoM_Si_depth : Silicate for MOCSY [mol m-3] + ! REcoM_Phos_depth : Phosphate for MOCSY [mol m-3] + ! + ! Sources: + ! state(k, idic) + sms(k, idic) : DIC [mmol m-3] + ! state(k, ialk) + sms(k, ialk) : Alkalinity [mmol m-3] + ! state(k, isi) + sms(k, isi) : Silicate [mmol m-3] + ! state(k, idin) + sms(k, idin) : DIN -> Phosphate via Redfield + !----------------------------------------------------------------------- + + ! Dissolved inorganic carbon [mol m-3] + REcoM_DIC_depth = max(tiny * 1e-3, state(k, idic) * 1e-3 + sms(k, idic) * 1e-3) + + ! Total alkalinity [mol m-3] + REcoM_Alk_depth = max(tiny * 1e-3, state(k, ialk) * 1e-3 + sms(k, ialk) * 1e-3) + + ! Silicate [mol m-3] + REcoM_Si_depth = max(tiny * 1e-3, state(k, isi) * 1e-3 + sms(k, isi) * 1e-3) + + ! Phosphate [mol m-3] + ! Calculated from nitrogen using Redfield ratio (N:P = 16:1) + ! Model tracks nitrogen but MOCSY needs phosphate + REcoM_Phos_depth = max(tiny * 1e-3, state(k, idin) * 1e-3 + sms(k, idin) * 1e-3) / 16.d0 + + ! =================================================================== + ! CELLULAR QUOTAS AND RATIOS CALCULATIONS + ! =================================================================== + + !=============================================================================== + ! Small Phytoplankton Quotas + !=============================================================================== + ! Calculates stoichiometric ratios for the small phytoplankton functional type. + ! Represents diverse group of small flagellates and picophytoplankton. + ! + ! Variables: + ! quota : Nitrogen:Carbon quota [mmolN mmolC-1] + ! recipquota : Carbon:Nitrogen ratio [mmolC mmolN-1] + ! Chl2C : Chlorophyll:Carbon ratio [mgChl mmolC-1] + ! Chl2N : Chlorophyll:Nitrogen ratio [mgChl mmolN-1] + ! CHL2C_plast : Plastidic Chlorophyll:Carbon ratio [mgChl mmolC-1] + ! PhyN : Small phytoplankton nitrogen [mmolN m-3] + ! PhyC : Small phytoplankton carbon [mmolC m-3] + ! PhyChl : Small phytoplankton chlorophyll [mgChl m-3] + ! NCmin : Minimum N:C quota (subsistence quota) [mmolN mmolC-1] + ! + ! Quota Interpretation: + ! - High quota (N:C > 0.15): Nutrient replete, luxury consumption + ! - Medium quota (N:C ≈ 0.10): Balanced growth + ! - Low quota (N:C < 0.06): Severely N-limited, near subsistence + ! - Minimum quota (NCmin ≈ 0.04): Zero growth threshold + ! + ! Plastidic Chlorophyll Concept: + ! - Total Chl includes storage and structural chlorophyll + ! - Plastidic Chl represents functional photosynthetic apparatus + ! - Correction factor: quota/(quota - NCmin) + ! - Higher correction when quota approaches minimum (more Chl in chloroplasts) + !------------------------------------------------------------------------------- + + ! Nitrogen:Carbon quota (cellular N:C ratio) + ! Controls growth rate via Droop limitation + quota = PhyN / PhyC + + ! Carbon:Nitrogen ratio (reciprocal) + ! Used for converting N-based fluxes to carbon + recipquota = real(one) / quota + + ! Chlorophyll:Carbon ratio + ! Reflects photoacclimation state (higher in low light) + Chl2C = PhyChl / PhyC + + ! Chlorophyll:Nitrogen ratio + ! Links photosynthetic machinery to nitrogen investment + Chl2N = PhyChl / PhyN + + ! Plastidic Chlorophyll:Carbon ratio + ! Estimates chlorophyll in active photosynthetic apparatus + ! Correction accounts for non-photosynthetic N (structural proteins, storage) + ! Formula: Chl2C x (quota / (quota - NCmin)) + ! As quota -> NCmin, more N is in photosynthetic machinery + CHL2C_plast = Chl2C * (quota / (quota - NCmin)) + + !=============================================================================== + ! Diatom Quotas + !=============================================================================== + ! Calculates stoichiometric ratios for diatoms (large phytoplankton with + ! silica frustules). Includes unique silicon quotas. + ! + ! Variables: + ! quota_dia : Diatom N:C quota [mmolN mmolC-1] + ! recipQuota_dia : Diatom C:N ratio [mmolC mmolN-1] + ! Chl2C_dia : Diatom Chl:C ratio [mgChl mmolC-1] + ! Chl2N_dia : Diatom Chl:N ratio [mgChl mmolN-1] + ! CHL2C_plast_dia : Diatom plastidic Chl:C ratio [mgChl mmolC-1] + ! qSiC : Diatom Si:C quota [mmolSi mmolC-1] + ! qSiN : Diatom Si:N quota [mmolSi mmolN-1] + ! DiaN : Diatom nitrogen [mmolN m-3] + ! DiaC : Diatom carbon [mmolC m-3] + ! DiaChl : Diatom chlorophyll [mgChl m-3] + ! DiaSi : Diatom silicon [mmolSi m-3] + ! NCmin_d : Minimum diatom N:C quota [mmolN mmolC-1] + ! + ! Silicon Quota Significance: + ! - Required for frustule (shell) formation + ! - Typical Si:C ≈ 0.13 (Brzezinski 1985) + ! - Low Si:C -> thin frustules, increased sinking mortality + ! - High Si:C -> thick frustules, enhanced sinking + ! - Si limitation can occur even when N is abundant + ! + ! Diatom-Specific Features: + ! - Generally lower Chl:C than small phytoplankton (package effect) + ! - Higher maximum growth rates when nutrient replete + ! - Bloom-forming under high-nutrient conditions + !------------------------------------------------------------------------------- + + ! Nitrogen:Carbon quota + quota_dia = DiaN / DiaC + + ! Carbon:Nitrogen ratio (reciprocal) + recipQuota_dia = real(one) / quota_dia + + ! Chlorophyll:Carbon ratio + ! Generally lower than small phytoplankton due to large cell size (package effect) + Chl2C_dia = DiaChl / DiaC + + ! Chlorophyll:Nitrogen ratio + Chl2N_dia = DiaChl / DiaN + + ! Plastidic Chlorophyll:Carbon ratio + ! Corrected for non-photosynthetic nitrogen allocation + CHL2C_plast_dia = Chl2C_dia * (quota_dia / (quota_dia - NCmin_d)) + + ! Silicon:Carbon quota + ! Critical for frustule formation and diatom physiology + ! Low Si:C indicates silicon limitation + qSiC = DiaSi / DiaC + + ! Silicon:Nitrogen quota + ! Alternative measure of silicon status relative to cellular nitrogen + qSiN = DiaSi / DiaN + + !=============================================================================== + ! Additional Phytoplankton Quotas (OPTIONAL) + !=============================================================================== + ! Calculates quotas for coccolithophores and Phaeocystis when enabled. + ! These groups have distinct biogeochemical roles. + ! + ! Coccolithophores: + ! - Calcifying phytoplankton (produce CaCO3 plates) + ! - Warm-water adapted + ! - Important for carbonate counter-pump + ! + ! Phaeocystis: + ! - Colonial phytoplankton (can form large blooms) + ! - Produces mucilaginous matrix + ! - Cold-water species (polar and temperate) + ! - High aggregation potential + !------------------------------------------------------------------------------- + + if (enable_coccos) then + + !=========================================================================== + ! Coccolithophore Quotas + !=========================================================================== + ! Calcifying phytoplankton with calcium carbonate plates (coccoliths) + ! + ! Variables: + ! quota_cocco : Cocco N:C quota [mmolN mmolC-1] + ! recipQuota_cocco : Cocco C:N ratio [mmolC mmolN-1] + ! Chl2C_cocco : Cocco Chl:C ratio [mgChl mmolC-1] + ! Chl2N_cocco : Cocco Chl:N ratio [mgChl mmolN-1] + ! CHL2C_plast_cocco : Cocco plastidic Chl:C ratio [mgChl mmolC-1] + ! CoccoN : Coccolithophore nitrogen [mmolN m-3] + ! CoccoC : Coccolithophore carbon [mmolC m-3] + ! CoccoChl : Coccolithophore chlorophyll [mgChl m-3] + ! NCmin_c : Minimum cocco N:C quota [mmolN mmolC-1] + ! + ! Note: Additional calcite quotas (CaCO3:C) calculated in calcification module + !--------------------------------------------------------------------------- + + ! Nitrogen:Carbon quota + quota_cocco = CoccoN / CoccoC + + ! Carbon:Nitrogen ratio + recipQuota_cocco = real(one) / quota_cocco + + ! Chlorophyll:Carbon ratio + Chl2C_cocco = CoccoChl / CoccoC + + ! Chlorophyll:Nitrogen ratio + Chl2N_cocco = CoccoChl / CoccoN + + ! Plastidic Chlorophyll:Carbon ratio + CHL2C_plast_cocco = Chl2C_cocco * (quota_cocco / (quota_cocco - NCmin_c)) + + !=========================================================================== + ! Phaeocystis Quotas + !=========================================================================== + ! Colonial phytoplankton that forms large blooms in cold waters + ! + ! Variables: + ! quota_phaeo : Phaeo N:C quota [mmolN mmolC-1] + ! recipQuota_phaeo : Phaeo C:N ratio [mmolC mmolN-1] + ! Chl2C_phaeo : Phaeo Chl:C ratio [mgChl mmolC-1] + ! Chl2N_phaeo : Phaeo Chl:N ratio [mgChl mmolN-1] + ! CHL2C_plast_phaeo : Phaeo plastidic Chl:C ratio [mgChl mmolC-1] + ! PhaeoN : Phaeocystis nitrogen [mmolN m-3] + ! PhaeoC : Phaeocystis carbon [mmolC m-3] + ! PhaeoChl : Phaeocystis chlorophyll [mgChl m-3] + ! NCmin_p : Minimum Phaeo N:C quota [mmolN mmolC-1] + ! + ! Ecological Notes: + ! - Forms colonial mucilaginous matrix (contributes to DOM) + ! - Can dominate Arctic/Antarctic spring blooms + ! - Enhanced aggregation and export potential + !--------------------------------------------------------------------------- + + ! Nitrogen:Carbon quota + quota_phaeo = PhaeoN / PhaeoC + + ! Carbon:Nitrogen ratio + recipQuota_phaeo = real(one) / quota_phaeo + + ! Chlorophyll:Carbon ratio + Chl2C_phaeo = PhaeoChl / PhaeoC + + ! Chlorophyll:Nitrogen ratio + Chl2N_phaeo = PhaeoChl / PhaeoN + + ! Plastidic Chlorophyll:Carbon ratio + CHL2C_plast_phaeo = Chl2C_phaeo * (quota_phaeo / (quota_phaeo - NCmin_p)) -!------------------------------------------------------------------------------- -! Main vertical loop starts - do k = one,Nn ! nzmin, nzmax -! do n=1, myDim_nod2D!+eDim_nod2D -! Nn=nlevels_nod2D(n)-1 !nzmax -! nzmin = ulevels_nod2D(row) -! nzmax = nlevels_nod2D(row) - DIN = max(tiny,state(k,idin) + sms(k,idin )) !< Avoids division by zero - DIC = max(tiny,state(k,idic) + sms(k,idic )) !! and updates Conc between - ALK = max(tiny,state(k,ialk) + sms(k,ialk )) !! local steps in REcoM when - PhyN = max(tiny_N,state(k,iphyn) + sms(k,iphyn )) !! biostep > 1 - PhyC = max(tiny_C,state(k,iphyc) + sms(k,iphyc )) - PhyChl = max(tiny_chl,state(k,ipchl) + sms(k,ipchl )) - DetN = max(tiny,state(k,idetn) + sms(k,idetn )) - DetC = max(tiny,state(k,idetc) + sms(k,idetc )) - HetN = max(tiny,state(k,ihetn) + sms(k,ihetn )) - HetC = max(tiny,state(k,ihetc) + sms(k,ihetc )) -#if defined (__3Zoo2Det) - Zoo2N = max(tiny,state(k,izoo2n) + sms(k,izoo2n)) - Zoo2C = max(tiny,state(k,izoo2c) + sms(k,izoo2c)) - DetZ2N = max(tiny,state(k,idetz2n) + sms(k,idetz2n)) - DetZ2C = max(tiny,state(k,idetz2c) + sms(k,idetz2c)) - DetZ2Si = max(tiny,state(k,idetz2si) + sms(k,idetz2si)) - DetZ2Calc = max(tiny,state(k,idetz2calc) + sms(k,idetz2calc)) - MicZooN = max(tiny,state(k,imiczoon) + sms(k,imiczoon)) - MicZooC = max(tiny,state(k,imiczooc) + sms(k,imiczooc)) -#endif - DON = max(tiny,state(k,idon) + sms(k,idon )) - EOC = max(tiny,state(k,idoc) + sms(k,idoc )) - DiaN = max(tiny_N_d,state(k,idian) + sms(k,idian )) - DiaC = max(tiny_C_d,state(k,idiac) + sms(k,idiac )) - DiaChl = max(tiny_chl,state(k,idchl) + sms(k,idchl )) - DiaSi = max(tiny_si,state(k,idiasi) + sms(k,idiasi)) - DetSi = max(tiny,state(k,idetsi) + sms(k,idetsi)) - Si = max(tiny,state(k,isi) + sms(k,isi )) -#if defined (__coccos) - CoccoN = max(tiny_N_c,state(k,icocn) + sms(k,icocn )) - CoccoC = max(tiny_C_c,state(k,icocc) + sms(k,icocc )) - CoccoChl = max(tiny_chl,state(k,icchl) + sms(k,icchl )) -#endif - Fe = max(tiny,state(k,ife) + sms(k,ife )) - O2 = max(tiny,state(k,ioxy) + sms(k,ioxy)) - FreeFe = zero + end if -! For Mocsy - REcoM_T_depth = max(2.d0, Temp(k)) ! minimum set to 2 degC: K1/K2 Lueker valid between 2degC-35degC and 19-43psu - REcoM_T_depth = min(REcoM_T_depth, 40.d0) ! maximum set to 40 degC: K1/K2 Lueker valid between 2degC-35degC and 19-43psu - REcoM_S_depth = max(21.d0, Sali_depth(k)) ! minimum set to 21: K1/K2 Lueker valid between 2degC-35degC and 19-43psu, else causes trouble in regions with S between 19 and 21 and ice conc above 97% - REcoM_S_depth = min(REcoM_S_depth, 43.d0) ! maximum set to 43: K1/K2 Lueker valid between 2degC-35degC and 19-43psu, else causes trouble - REcoM_DIC_depth = max(tiny*1e-3,state(k,idic)*1e-3 + sms(k,idic )*1e-3) - REcoM_Alk_depth = max(tiny*1e-3,state(k,ialk)*1e-3 + sms(k,ialk )*1e-3) - REcoM_Si_depth = max(tiny*1e-3,state(k,isi)*1e-3 + sms(k,isi )*1e-3) - - REcoM_Phos_depth = max(tiny*1e-3,state(k,idin)*1e-3 + sms(k,idin )*1e-3) /16 ! convert N to P with Redfield [mol/m3] - - PhyCalc = max(tiny,state(k,iphycal) + sms(k,iphycal)) - DetCalc = max(tiny,state(k,idetcal) + sms(k,idetcal)) - -!!------------------------------------------------------------------------------ -!< Quotas - ! *** Small phytoplankton - quota = PhyN / PhyC ! include variability of the N: C ratio, cellular chemical composition - recipquota = real(one) / quota - Chl2C = PhyChl / PhyC ! Chl a:phytoplankton carbon ratio, cellular chemical composition [gCHL gC^-1] - Chl2N = PhyChl / PhyN ! Chl a:phytoplankton nitrogen ratio, cellular chemical composition [gCHL gN^-1] - CHL2C_plast = Chl2C * (quota/(quota - NCmin)) - - ! *** Diatoms - quota_dia = DiaN / DiaC - recipQuota_dia = real(one)/quota_dia - Chl2C_dia = DiaChl / DiaC - Chl2N_dia = DiaChl / DiaN - CHL2C_plast_dia = Chl2C_dia * (quota_dia/(quota_dia - NCmin_d)) - qSiC = DiaSi / DiaC - qSiN = DiaSi / DiaN - -#if defined (__coccos) - quota_cocco = CoccoN / CoccoC - recipQuota_cocco = real(one)/quota_cocco - Chl2C_cocco = CoccoChl / CoccoC - Chl2N_cocco = CoccoChl / CoccoN - CHL2C_plast_cocco = Chl2C_cocco * (quota_cocco/(quota_cocco - NCmin_c)) -#endif - recipQZoo = HetC / HetN - recip_hetN_plus = 1.d0 / (HetN + tiny_het) ! MB's addition for more stable zoo respiration - if (Grazing_detritus) recipDet = DetC / DetN -#if defined (__3Zoo2Det) - recipQZoo2 = Zoo2C / Zoo2N - recipQZoo3 = MicZooC / MicZooN - if (Grazing_detritus) recipDet2 = DetZ2C / DetZ2N -#endif + !=============================================================================== + ! Zooplankton and Detritus Quotas + !=============================================================================== + ! Calculates carbon:nitrogen ratios for consumers and detrital pools. + ! These ratios are more constrained than phytoplankton (less variable). + ! + ! Zooplankton C:N ratios: + ! - Typically near Redfield ratio (C:N ≈ 6.6) + ! - Less variable than phytoplankton (homeostatic regulation) + ! - Important for grazer nutrition and trophic transfer efficiency + ! + ! Detritus C:N ratios: + ! - Reflects source material composition + ! - Can increase with depth (preferential N remineralization) + ! - Affects remineralization stoichiometry + ! + ! Variables: + ! recipQZoo : Mesozooplankton C:N ratio [mmolC mmolN-1] + ! recipQZoo2 : Macrozooplankton C:N ratio [mmolC mmolN-1] + ! recipQZoo3 : Microzooplankton C:N ratio [mmolC mmolN-1] + ! recipDet : Slow-sinking detritus C:N ratio [mmolC mmolN-1] + ! recipDet2 : Fast-sinking detritus C:N ratio [mmolC mmolN-1] + ! recip_hetN_plus : Stable divisor for respiration calculations [mmolN-1 m3] + ! HetC, HetN : Mesozooplankton carbon and nitrogen [mmol m-3] + ! Zoo2C, Zoo2N : Macrozooplankton carbon and nitrogen [mmol m-3] + ! MicZooC, MicZooN: Microzooplankton carbon and nitrogen [mmol m-3] + ! DetC, DetN : Detritus carbon and nitrogen [mmol m-3] + ! DetZ2C, DetZ2N : Fast-sinking detritus carbon and nitrogen [mmol m-3] + ! tiny_het : Small number to prevent division by zero [mmolN m-3] + !------------------------------------------------------------------------------- + + !------------------------------------------------------------------------------- + ! Mesozooplankton (Primary Heterotroph) Quotas + !------------------------------------------------------------------------------- + ! Primary grazer consuming phytoplankton and microzooplankton + + ! Carbon:Nitrogen ratio + ! Used for converting nitrogen-based grazing to carbon fluxes + recipQZoo = HetC / HetN + + ! Stable reciprocal for respiration calculations + ! Prevents division by zero when zooplankton biomass is very low + ! Used in Redfield-based respiration formulation + recip_hetN_plus = 1.d0 / (HetN + tiny_het) + + !------------------------------------------------------------------------------- + ! Detritus Quotas + !------------------------------------------------------------------------------- + ! Organic matter pools with variable C:N ratios -!------------------------------------------------------------------------------- -!> Temperature dependence of rates -!------------------------------------------------------------------------------- -!< Schourup 2013 Eq. A54 -!< Temperature dependence of metabolic rate, fT, dimensionless -!< Ae: Slope of the linear region of the Arrhenius plot -!< rTloc: Inverse of local temperature in [1/Kelvin] -!< rTref=288.15 (15 degC): Reference temperature for Arrhenius equation [1/Kelvin] -!< See Figure A1 -!< Other functions can be used for temperature dependency (Eppley 1972; Li 1980; Ahlgren 1987) - - rTloc = real(one)/(Temp(k) + C2K) - arrFunc = exp(-Ae * ( rTloc - rTref)) -#if defined (__coccos) - CoccoTFunc = max(0.1419d0 * Temp(k)**0.8151d0,tiny) ! Function from Fielding 2013; is based on observational GR, but range fits best to ours -#endif - -#if defined (__3Zoo2Det) - arrFuncZoo2 = exp(t1_zoo2/t2_zoo2 - t1_zoo2*rTloc)/(1 + exp(t3_zoo2/t4_zoo2 - t3_zoo2*rTloc)) ! 2Zoo - q10_mes = 1.0242**(Temp(k)) ! 3Zoo - q10_mic = 1.04**(Temp(k)) ! 3Zoo - q10_mes_res = 1.0887**(Temp(k)) ! 3Zoo - q10_mic_res = 1.0897**(Temp(k)) ! 3Zoo -#endif - -!< Silicate temperature dependence -! reminSiT = min(1.32e16 * exp(-11200.d0 * rTloc),reminSi) !! arrFunc control, reminSi=0.02d0 ! Kamatani (1982) -! reminSiT = reminSi - reminSiT = max(0.023d0 * 2.6d0**((Temp(k)-10.)/10.),reminSi) + if (Grazing_detritus) then + ! Slow-sinking detritus C:N ratio + ! Source: Unassimilated food, mortality, aggregation + ! Generally close to Redfield but can be elevated + recipDet = DetC / DetN + endif -!------------------------------------------------------------------------------- -!> O2 dependence of rates -!------------------------------------------------------------------------------- -!! O2 dependency of organic matter remineralization -!! O2Func [0.0, 1.0] -!! k_o2_remin = 15.d0 mmol m-3; Table 1 in Cram 2018 cites -!! DeVries & Weber 2017 for a range of 0-30 mmol m-3 - - O2Func = 1.d0 ! in this case, remin. rates only depend on temperature - if (O2dep_remin) O2Func = O2/(k_o2_remin + O2) ! O2remin - -!< *** Light *** -!< ************* -!! Has to be calculated here already to use the 1%PAR depth. - if (k==1) then - PARave = max(tiny,SurfSR) - PAR(k) = PARave - - chl_upper = (PhyChl + DiaChl) -#if defined (__coccos) - chl_upper = chl_upper + CoccoChl -#endif - else - chl_lower = PhyChl + DiaChl -#if defined (__coccos) - chl_lower = chl_lower + CoccoChl -#endif - Chlave = (chl_upper+chl_lower)*0.5 - - kappa = k_w + a_chl * (Chlave) - kappastar = kappa / cosAI(n) - kdzLower = kdzUpper + kappastar * thick(k-1) - Lowerlight = SurfSR * exp(-kdzLower) - Lowerlight = max(tiny,Lowerlight) - PARave = Lowerlight - PAR(k) = PARave - chl_upper = chl_lower - kdzUpper = kdzLower - end if + if (enable_3zoo2det) then -!------------------------------------------------------------------------------- -! Depth component of Mocsy (see http://ocmip5.ipsl.jussieu.fr/mocsy/pyth.html) -!------------------------------------------------------------------------------- + !--------------------------------------------------------------------------- + ! Additional Zooplankton Quotas (3-Zooplankton Model) + !--------------------------------------------------------------------------- + + ! Macrozooplankton (e.g., krill) C:N ratio + ! Larger organisms with potentially different stoichiometry + recipQZoo2 = Zoo2C / Zoo2N + + ! Microzooplankton (e.g., ciliates, heterotrophic dinoflagellates) C:N ratio + ! Smallest heterotrophs, link to microbial loop + recipQZoo3 = MicZooC / MicZooN + + if (Grazing_detritus) then + !----------------------------------------------------------------------- + ! Fast-Sinking Detritus (Fecal Pellets) + !----------------------------------------------------------------------- + ! Large, rapidly sinking particles + ! Source: Zooplankton fecal pellets, large aggregates + ! Important for biological pump and carbon export -! Calculate the carbonate system for the very first time step of the first year of the run - !if (mocsy_restart==.false. .and. recom_istep==1) then ! r_restart is defined in gen_modules_clock in fesom_cpl. + recipDet2 = DetZ2C / DetZ2N + endif + + endif + + ! =================================================================== + ! CARBON ISOTOPE TRACERS (if enabled) + ! =================================================================== + + if (ciso) then + ! 13C isotope tracers + DIC_13 = max(tiny, state(k, idic_13) + sms(k, idic_13)) + PhyC_13 = max(tiny_C, state(k, iphyc_13) + sms(k, iphyc_13)) + DetC_13 = max(tiny, state(k, idetc_13) + sms(k, idetc_13)) + HetC_13 = max(tiny, state(k, ihetc_13) + sms(k, ihetc_13)) + EOC_13 = max(tiny, state(k, idoc_13) + sms(k, idoc_13)) + DiaC_13 = max(tiny_C, state(k, idiac_13) + sms(k, idiac_13)) + PhyCalc_13 = max(tiny, state(k, iphycal_13) + sms(k, iphycal_13)) + DetCalc_13 = max(tiny, state(k, idetcal_13) + sms(k, idetcal_13)) + + ! 13C calcite dissolution with fractionation + calc_diss_13 = alpha_dcal_13 * calc_diss + + ! 13C quotas + quota_13 = PhyN / PhyC_13 + recipQuota_13 = real(one) / quota_13 + quota_dia_13 = DiaN / DiaC_13 + recipQuota_dia_13 = real(one) / quota_dia_13 + recipQZoo_13 = HetC_13 / HetN + + ! 14C radiocarbon tracers (if enabled) + if (ciso_14) then + DIC_14 = max(tiny, state(k,idic_14) + sms(k, idic_14)) + + if (ciso_organic_14) then + PhyC_14 = max(tiny_C, state(k,iphyc_14) + sms(k, iphyc_14)) + DetC_14 = max(tiny, state(k,idetc_14) + sms(k, idetc_14)) + HetC_14 = max(tiny, state(k,ihetc_14) + sms(k, ihetc_14)) + EOC_14 = max(tiny, state(k,idoc_14) + sms(k, idoc_14)) + DiaC_14 = max(tiny_C, state(k,idiac_14) + sms(k, idiac_14)) + PhyCalc_14 = max(tiny, state(k,iphycal_14) + sms(k, iphycal_14)) + DetCalc_14 = max(tiny, state(k,idetcal_14) + sms(k, idetcal_14)) + + calc_diss_14 = alpha_dcal_14 * calc_diss + + quota_14 = PhyN / PhyC_14 + recipQuota_14 = real(one) / quota_14 + quota_dia_14 = DiaN / DiaC_14 + recipQuota_dia_14 = real(one) / quota_dia_14 + recipQZoo_14 = HetC_14 / HetN + end if ! ciso_organic_14 + end if ! ciso_14 + end if ! ciso + + !=============================================================================== + ! TEMPERATURE DEPENDENCE OF METABOLIC RATES + !=============================================================================== + ! Calculates how temperature affects biological rates using multiple + ! formulations appropriate for different organism groups. + ! + ! General Principle: + ! - Metabolic rates increase exponentially with temperature (Q10 rule) + ! - Different organisms have different thermal optima and tolerances + ! - Cold-adapted vs warm-adapted species + ! + ! Variables (Arrhenius): + ! rTloc : Inverse of local absolute temperature [K-1] + ! arrFunc : Arrhenius temperature function [-] + ! Temp(k) : Temperature at depth k [degC] + ! C2K : Celsius to Kelvin conversion (273.15) [K] + ! Ae : Activation energy parameter [K] + ! rTref : Inverse reference temperature (1/288.15 K at 15degC) [K-1] + ! + ! Alternative Formulations (commented in code): + ! - Eppley (1972): Log-linear for phytoplankton + ! - Li (1980): Parabolic curve + ! - Ahlgren (1987): Optimum curve + !------------------------------------------------------------------------------- + + !------------------------------------------------------------------------------- + ! Standard Arrhenius Function + !------------------------------------------------------------------------------- + ! General metabolic rate temperature dependence (Schourup 2013, Eq. A54) + ! Exponential increase with temperature (no upper thermal limit) + ! + ! Equation: + ! f(T) = exp(-Ae × (1/T - 1/Tref)) + ! + ! Where: + ! - Ae: Slope of Arrhenius plot (activation energy/gas constant) + ! - Tref: Reference temperature (typically 15degC = 288.15 K) + ! - T: Absolute temperature [K] + ! + ! Used for: Most metabolic processes without strong thermal limits + ! (e.g., remineralization, basal metabolism) + + ! Calculate inverse absolute temperature + rTloc = real(one) / (Temp(k) + C2K) + + ! Calculate Arrhenius function + arrFunc = exp(-Ae * (rTloc - rTref)) + + !------------------------------------------------------------------------------- + ! Phytoplankton-Specific Temperature Functions + !------------------------------------------------------------------------------- + ! Species-specific exponential and optimum-curve temperature responses + ! Tuned for 4-plankton functional type version (small phyto, diatoms, coccos, Phaeocystis) + ! + ! Note: New functions require calibration if adapted to 2-plankton version + !------------------------------------------------------------------------------- + + ! Old coccolithophore temperature function (commented out): + ! Power law form from Fielding (2013) based on observational growth rates + ! if (enable_coccos) then + ! CoccoTFunc = max(0.1419d0 * Temp(k)**0.8151d0, tiny) + ! endif + + if (enable_coccos) then + + !--------------------------------------------------------------------------- + ! Small Phytoplankton + !--------------------------------------------------------------------------- + ! Exponential temperature response: f(T) = exp(a + b×T) + ! Represents diverse group with broad thermal tolerance + ! Monotonic increase with temperature (no upper limit in this formulation) + + Temp_phyto = exp(ord_phy + expon_phy * Temp(k)) + VTTemp_phyto(k) = Temp_phyto ! Store for diagnostics + + !--------------------------------------------------------------------------- + ! Diatoms + !--------------------------------------------------------------------------- + ! Large phytoplankton with silica frustules + ! Exponential form with different parameters than small phyto + ! Generally favored by cooler, nutrient-rich conditions + + Temp_diatoms = exp(ord_d + expon_d * Temp(k)) + VTTemp_diatoms(k) = Temp_diatoms ! Store for diagnostics + + !--------------------------------------------------------------------------- + ! Coccolithophores + !--------------------------------------------------------------------------- + ! Calcifying phytoplankton with minimum temperature threshold + ! Cold-intolerant: minimal growth below 5degC + ! Exponential increase above threshold temperature + ! + ! Ecological rationale: Coccos typically dominate in warm, stratified waters + + if (Temp(k) < 5.0) then + ! Below threshold: minimal metabolic activity + Temp_cocco = tiny + else + ! Above threshold: exponential response + Temp_cocco = exp(ord_cocco + expon_cocco * Temp(k)) + Temp_cocco = max(Temp_cocco, tiny) ! Ensure positive values + end if + VTTemp_cocco(k) = Temp_cocco ! Store for diagnostics + + !--------------------------------------------------------------------------- + ! Phaeocystis + !--------------------------------------------------------------------------- + ! Colonial phytoplankton with bell-shaped temperature response + ! Blanchard function from Grimaud et al. (2017) + ! Has optimal temperature with decline at high and low temperatures + ! + ! Equation: f(T) = uopt × ((Tmax-T)/(Tmax-Topt))^β × exp(-β×(Topt-T)/(Tmax-Topt)) + ! + ! Where: + ! - uopt: Maximum growth rate at optimal temperature [day-1] + ! - Topt: Optimal temperature [degC] + ! - Tmax: Maximum temperature (growth = 0) [degC] + ! - β: Shape parameter (steepness of curve) [-] + ! + ! Ecological rationale: Phaeocystis blooms occur at specific temperature ranges + ! (typically cold-temperate waters, 0-10degC) + + Temp_phaeo = uopt_phaeo * ((Tmax_phaeo - Temp(k)) / (Tmax_phaeo - Topt_phaeo))**beta_phaeo & + * exp(-beta_phaeo * (Topt_phaeo - Temp(k)) / (Tmax_phaeo - Topt_phaeo)) + Temp_phaeo = max(Temp_phaeo, tiny) ! Ensure positive values + VTTemp_phaeo(k) = Temp_phaeo ! Store for diagnostics + + endif + + !------------------------------------------------------------------------------- + ! Zooplankton Temperature Dependencies + !------------------------------------------------------------------------------- + ! Temperature functions for different zooplankton types with thermal limits + ! Q10 formulations: exponential increase with ~doubling per 10degC + + if (enable_3zoo2det) then + + !--------------------------------------------------------------------------- + ! Macrozooplankton (Krill) Temperature Function + !--------------------------------------------------------------------------- + ! Sigmoid function with upper thermal limit + ! Accounts for thermal stress at high temperatures + ! + ! Equation: f(T) = exp(t1/t2 - t1/T) / (1 + exp(t3/t4 - t3/T)) + ! + ! Numerator: Exponential increase with temperature + ! Denominator: Sigmoid decline at high temperatures (thermal stress) + ! + ! Ecological rationale: Macrozooplankton have defined thermal niches + ! (e.g., Antarctic krill prefer cold water, decline above ~4degC) + + arrFuncZoo2 = exp(t1_zoo2 / t2_zoo2 - t1_zoo2 * rTloc) / & + (1.0 + exp(t3_zoo2 / t4_zoo2 - t3_zoo2 * rTloc)) + + !--------------------------------------------------------------------------- + ! Q10 Temperature Coefficients + !--------------------------------------------------------------------------- + ! Q10 formulation: rate = Q10^(T/10) + ! Simple exponential increase with temperature + ! + ! Q10 values: + ! - ~1.02-1.04: Moderate temperature sensitivity (typical for metabolism) + ! - ~1.09: Higher sensitivity (respiration processes) + ! + ! Ecological interpretation: + ! - Smaller organisms (microzooplankton) often have higher Q10 + ! - Respiration Q10 > growth Q10 (maintenance costs increase faster) + + q10_mes = 1.0242**(Temp(k)) ! Mesozooplankton metabolism + q10_mic = 1.04**(Temp(k)) ! Microzooplankton metabolism + q10_mes_res = 1.0887**(Temp(k)) ! Mesozooplankton respiration + q10_mic_res = 1.0897**(Temp(k)) ! Microzooplankton respiration + + endif + + !------------------------------------------------------------------------------- + ! Silicate Dissolution Temperature Dependence + !------------------------------------------------------------------------------- + ! Temperature effect on biogenic silica (diatom frustule) dissolution + ! Higher temperatures accelerate chemical dissolution kinetics + ! + ! Variables: + ! reminSiT : Temperature-dependent Si dissolution rate [day-1] + ! reminSi : Minimum dissolution rate [day-1] + ! + ! Exponential formulation: 2.6× increase per 10degC + ! Reference temperature: 10degC + ! + + reminSiT = max(0.023d0 * 2.6d0**((Temp(k) - 10.0) / 10.0), reminSi) + + ! Alternative Kamatani (1982) function (commented out): + ! reminSiT = min(1.32e16 * exp(-11200.d0 * rTloc), reminSi) + + !=============================================================================== + ! 2. OXYGEN DEPENDENCE OF REMINERALIZATION + !=============================================================================== + ! Calculates oxygen limitation effects on aerobic organic matter decomposition. + ! Important for oxygen minimum zones (OMZs) and suboxic/anoxic environments. + ! + ! Variables: + ! O2Func : Oxygen limitation factor [0-1, 0=anoxic, 1=oxic] + ! O2 : Dissolved oxygen concentration [mmolO2 m-3] + ! k_o2_remin : Half-saturation for O2-limited remineralization [mmolO2 m-3] + ! O2dep_remin : Flag to enable O2-dependent remineralization [logical] + ! + ! Michaelis-Menten Formulation: + ! f(O2) = O2 / (k_O2 + O2) + ! + ! Parameter Value: + ! k_o2_remin = 15 mmolO2 m-3 (half-saturation constant) + ! Range: 0-30 mmolO2 m-3 based on DeVries & Weber (2017), cited in Cram (2018) + ! + ! Ecological/Biogeochemical Significance: + ! - Aerobic respiration dominates in oxic waters (O2 > 30 mmol m-3) + ! - Suboxic/anoxic metabolism (denitrification, sulfate reduction) in OMZs + ! - Reduced remineralization efficiency in low-O2 environments + ! - Important for nutrient cycling and carbon export in OMZs + ! + ! Note: When O2 < 0.1 mmol m-3, consider switching to anaerobic pathways + ! (not implemented in this version) + !------------------------------------------------------------------------------- + + ! Default: no oxygen limitation (fully oxic conditions) + O2Func = 1.d0 + + if (O2dep_remin) then + ! Enable oxygen-dependent remineralization + ! Michaelis-Menten type limitation + ! Becomes significant when O2 < ~30 mmol m-3 + O2Func = O2 / (k_o2_remin + O2) + endif + + !=============================================================================== + ! LIGHT AVAILABILITY CALCULATION + !=============================================================================== + ! Calculates photosynthetically available radiation (PAR) through the water + ! column using Beer-Lambert law with chlorophyll-based attenuation. + ! + ! Light Attenuation Components: + ! 1. Water attenuation (k_w): Clear water absorption and scattering + ! 2. Chlorophyll attenuation (a_chl): Phytoplankton self-shading + ! + ! Variables: + ! PARave : Average PAR at depth k [W m-2] + ! PAR(k) : Stored PAR for layer k [W m-2] + ! SurfSR : Surface solar radiation [W m-2] + ! chl_upper : Chlorophyll at upper layer boundary [mgChl m-3] + ! chl_lower : Chlorophyll at lower layer boundary [mgChl m-3] + ! Chlave : Average chlorophyll in layer [mgChl m-3] + ! kappa : Total attenuation coefficient [m-1] + ! kappastar : Angle-corrected attenuation coefficient [m-1] + ! k_w : Water attenuation coefficient [m-1] + ! a_chl : Chlorophyll-specific attenuation [(m2 mgChl-1)] + ! cosAI(n) : Cosine of solar zenith angle [-] + ! thick(k) : Layer thickness [m] + ! kdzLower : Cumulative optical depth [dimensionless] + ! kdzUpper : Cumulative optical depth at upper boundary [dimensionless] + ! + ! Beer-Lambert Law: + ! I(z) = I0 × exp(-κ×z) + ! where κ = k_w + a_chl×[Chl] + ! + ! Self-Shading Effect: + ! - High chlorophyll reduces light penetration + ! - Limits bloom depth and total biomass + ! - Creates trade-off between cell density and light availability + ! + ! Ecological Significance: + ! - Defines euphotic zone depth (1% surface light) + ! - Controls vertical distribution of primary production + ! - Self-shading is key negative feedback on bloom magnitude + !------------------------------------------------------------------------------- + + if (k == 1) then + + !=========================================================================== + ! SURFACE LAYER INITIALIZATION + !=========================================================================== + ! Surface layer receives full incident solar radiation + ! Initialize chlorophyll and optical depth for subsurface calculations + !--------------------------------------------------------------------------- + + ! Surface PAR equals incident solar radiation + PARave = max(tiny, SurfSR) + PAR(k) = PARave + + ! Initialize surface chlorophyll for attenuation calculation + ! Sum all phytoplankton functional types + chl_upper = (PhyChl + DiaChl) ! Base groups (always present) + + if (enable_coccos) then + ! Add coccolithophores and Phaeocystis if enabled + chl_upper = chl_upper + CoccoChl + PhaeoChl + endif + else + + !=========================================================================== + ! SUBSURFACE LIGHT ATTENUATION + !=========================================================================== + ! Calculate light penetration through water column using Beer-Lambert law + ! with chlorophyll-based self-shading + !--------------------------------------------------------------------------- + + !--------------------------------------------------------------------------- + ! Calculate Current Layer Chlorophyll + !--------------------------------------------------------------------------- + + chl_lower = PhyChl + DiaChl + + if (enable_coccos) then + chl_lower = chl_lower + CoccoChl + PhaeoChl + endif + + ! Average chlorophyll between layer boundaries + ! Assumes linear interpolation within layer + Chlave = (chl_upper + chl_lower) * 0.5 + + !--------------------------------------------------------------------------- + ! Calculate Attenuation Coefficient + !--------------------------------------------------------------------------- + + ! Total attenuation coefficient + ! k_w: Clear water absorption (~0.04 m-1 in ocean) + ! a_chl: Chlorophyll-specific attenuation (~0.03-0.05 m2 mgChl-1) + kappa = k_w + a_chl * Chlave + + ! Correct for solar zenith angle (path length through water) + ! Lower sun angle -> longer path -> more attenuation + kappastar = kappa / cosAI(n) + + ! Cumulative optical depth (dimensionless) + ! Integrates attenuation over depth + kdzLower = kdzUpper + kappastar * thick(k - 1) + + !--------------------------------------------------------------------------- + ! Calculate Light at Layer + !--------------------------------------------------------------------------- + + ! Beer-Lambert law: exponential decay with optical depth + Lowerlight = SurfSR * exp(-kdzLower) + Lowerlight = max(tiny, Lowerlight) ! Ensure positive value + + ! Store PAR for this layer + PARave = Lowerlight + PAR(k) = PARave + + ! Update variables for next layer + chl_upper = chl_lower ! Current lower becomes next upper + kdzUpper = kdzLower ! Current cumulative depth for next layer + + end if + + !=============================================================================== + ! MARINE CARBONATE SYSTEM CALCULATIONS (MOCSY) + !=============================================================================== + ! Calculates complete marine carbonate chemistry using the MOCSY package + ! (Marine Ocean Carbon System Solver). + ! + ! This module calculates: + ! 1. Carbonate system speciation (CO2, HCO3-, CO3--) + ! 2. pH and partial pressure of CO2 (pCO2) + ! 3. Carbonate saturation states (Omega for calcite and aragonite) + ! 4. Solubility products and seawater properties + ! + ! Key Features: + ! - Adaptive update frequency (depth-dependent) + ! - Euphotic zone: Weekly updates (high biological activity) + ! - Deep waters: Monthly updates (slower changes) + ! - Complete thermodynamic consistency + ! - Pressure correction for depth + ! + ! MOCSY Package: + ! - Developed for OCMIP5 project + ! - Solves carbonate system from two known parameters + ! - Accounts for temperature, salinity, pressure effects + ! - Multiple equilibrium constant formulations available + ! + ! Update Strategy: + ! - Initialize on first time step (mstep = 1) + ! - Euphotic zone (PAR > 1% surface): 7-day updates + ! - Deep waters (PAR < 1% surface): 30-day updates + ! - Rationale: Biological activity drives rapid changes near surface + ! + ! Input Parameters: + ! - Temperature, Salinity (from physical model) + ! - DIC, Alkalinity (from biogeochemical tracers) + ! - Silicate, Phosphate (affects equilibrium constants) + ! - Atmospheric pressure, Latitude (for gas exchange) + ! + ! Output Variables: + ! - pH, pCO2, fCO2 (CO2 partial and fugacity) + ! - CO2, HCO3-, CO3-- (carbonate species concentrations) + ! - OmegaC, OmegaA (calcite and aragonite saturation) + ! - Solubility products, seawater density + ! + ! Ecological/Biogeochemical Significance: + ! - Controls CO2 uptake/release (air-sea exchange) + ! - Regulates calcification and dissolution rates + ! - Affects phytoplankton carbon acquisition + ! - Critical for ocean acidification studies + ! + ! References: + ! - MOCSY: http://ocmip5.ipsl.jussieu.fr/mocsy/ + ! - Orr & Epitalon (2015) - MOCSY 2.0 user guide + !=============================================================================== + + !=============================================================================== + ! PREPARATION AND INITIALIZATION + !=============================================================================== + ! Prepares input data and initializes carbonate system on first time step. + ! + ! Variables: + ! dpos(1) : Depth for pressure calculations [m, positive down] + ! zF(k) : Model depth coordinate [m, negative down] + ! mstep : Model time step counter [-] + ! k : Vertical layer index [-] + ! + ! Input Arrays for MOCSY: + ! REcoM_T_depth : Temperature [degC, potential temperature] + ! REcoM_S_depth : Salinity [psu, practical salinity] + ! REcoM_Alk_depth : Total alkalinity [mol m-3] + ! REcoM_DIC_depth : Dissolved inorganic carbon [mol m-3] + ! REcoM_Si_depth : Silicate concentration [mol m-3] + ! REcoM_Phos_depth : Phosphate concentration [mol m-3] + ! Patm_depth : Atmospheric pressure [atm] + ! Latd : Latitude [degrees] + ! Nmocsy : Number of points (1 for single depth) + ! + ! Note: Depth convention conversion required (model uses negative depths) + !------------------------------------------------------------------------------- + + ! Convert model depth coordinate to positive depth for MOCSY + ! Model convention: zF(k) is negative (e.g., -100 m) + ! MOCSY convention: depth is positive (e.g., 100 m) dpos(1) = -zF(k) - if (mstep==1) then - call vars_sprac(ph_depth, pco2_depth, fco2_depth, co2_depth, hco3_depth, co3_depth, OmegaA_depth, OmegaC_depth, kspc_depth, BetaD_depth, & - rhoSW_depth, p_depth, tempis_depth, & - REcoM_T_depth, REcoM_S_depth, REcoM_Alk_depth, REcoM_DIC_depth, REcoM_Si_depth, REcoM_Phos_depth, Patm_depth, dpos, Latd, Nmocsy, & - optCON='mol/m3', optT='Tpot ', optP='m ', optB='u74', optK1K2='l ', optKf='dg', optGAS='Pinsitu', optS='Sprc') + + !=============================================================================== + ! INITIAL CARBONATE SYSTEM CALCULATION + !=============================================================================== + ! Calculates complete carbonate system on first model time step. + ! Provides initial conditions for all carbonate chemistry variables. + ! + ! Output Variables (from MOCSY): + ! ph_depth(1) : pH on total scale [-] + ! pco2_depth(1) : Partial pressure of CO2 [μatm] + ! fco2_depth(1) : Fugacity of CO2 [μatm] + ! co2_depth(1) : Dissolved CO2 concentration [mol m-3] + ! hco3_depth(1) : Bicarbonate concentration [mol m-3] + ! co3_depth(1) : Carbonate ion concentration [mol m-3] + ! OmegaA_depth(1) : Aragonite saturation state [-] + ! OmegaC_depth(1) : Calcite saturation state [-] + ! kspc_depth(1) : Calcite solubility product [mol2 kg-2] + ! BetaD_depth(1) : Revelle factor (buffer capacity) [-] + ! rhoSW_depth(1) : Seawater density [kg m-3] + ! p_depth(1) : Pressure [bar] + ! tempis_depth(1) : In situ temperature [degC] + ! + ! Water Column Storage: + ! CO2_watercolumn(k) : Stored CO2 for biological calculations [mol m-3] + ! pH_watercolumn(k) : Stored pH [-] + ! pCO2_watercolumn(k) : Stored pCO2 [μatm] + ! HCO3_watercolumn(k) : Stored bicarbonate [mol m-3] + ! CO3_watercolumn(k) : Stored carbonate [mol m-3] + ! OmegaC_watercolumn(k) : Stored calcite saturation [-] + ! kspc_watercolumn(k) : Stored solubility product [mol2 kg-2] + ! rhoSW_watercolumn(k) : Stored seawater density [kg m-3] + ! + ! MOCSY Options: + ! optCON='mol/m3' : Concentration units (mol/m3) + ! optT='Tpot ' : Temperature is potential temperature + ! optP='m ' : Pressure given as depth in meters + ! optB='u74' : Boron:Salinity ratio from Uppström (1974) + ! optK1K2='l ' : Carbonic acid constants from Lueker et al. (2000) + ! optKf='dg' : HF constant from Dickson & Goyet (1994) + ! optGAS='Pinsitu' : Pressure is in situ (accounts for depth) + ! optS='Sprc' : Salinity on practical scale + !------------------------------------------------------------------------------- + + if (mstep == 1) then + + ! Call MOCSY to solve carbonate system + ! Uses DIC and Alkalinity as input pair (most common in ocean models) + call vars_sprac(ph_depth, pco2_depth, fco2_depth, co2_depth, hco3_depth, co3_depth, & + OmegaA_depth, OmegaC_depth, kspc_depth, BetaD_depth, & + rhoSW_depth, p_depth, tempis_depth, & + REcoM_T_depth, REcoM_S_depth, REcoM_Alk_depth, REcoM_DIC_depth, & + REcoM_Si_depth, REcoM_Phos_depth, Patm_depth, dpos, Latd, Nmocsy, & + optCON='mol/m3', optT='Tpot ', optP='m ', optB='u74', & + optK1K2='l ', optKf='dg', optGAS='Pinsitu', optS='Sprc') + + ! Store results in water column arrays for use in biogeochemical calculations CO2_watercolumn(k) = co2_depth(1) pH_watercolumn(k) = ph_depth(1) pCO2_watercolumn(k) = pco2_depth(1) @@ -348,18 +1500,72 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & OmegaC_watercolumn(k) = OmegaC_depth(1) kspc_watercolumn(k) = kspc_depth(1) rhoSW_watercolumn(k) = rhoSW_depth(1) - endif - -!! Calculate carbonate system every 7 days for depths < 1%PAR, and every 30 days for the depths below. - mocsy_step_per_day = 1/dt_b ! NEW ms: time steps per day in recom -> is that correct? Not necessary to define in namelist? - logfile_outfreq_7 = mocsy_step_per_day*7 - logfile_outfreq_30 = mocsy_step_per_day*30 - - if (PARave > 0.01*SurfSR .and. mod(mstep,logfile_outfreq_7)==0) then - call vars_sprac(ph_depth, pco2_depth, fco2_depth, co2_depth, hco3_depth, co3_depth, OmegaA_depth, OmegaC_depth, kspc_depth, BetaD_depth, & - rhoSW_depth, p_depth, tempis_depth, & - REcoM_T_depth, REcoM_S_depth, REcoM_Alk_depth, REcoM_DIC_depth, REcoM_Si_depth, REcoM_Phos_depth, Patm_depth, dpos, Latd, Nmocsy, & - optCON='mol/m3', optT='Tpot ', optP='m ', optB='u74', optK1K2='l ', optKf='dg', optGAS='Pinsitu', optS='Sprc') + + endif + + !=============================================================================== + ! ADAPTIVE CARBONATE SYSTEM UPDATE FREQUENCY + !=============================================================================== + ! Determines how often to recalculate carbonate system based on depth. + ! More frequent updates where biological activity drives rapid changes. + ! + ! Variables: + ! mocsy_step_per_day : Number of model time steps per day [-] + ! dt_b : Model time step [days] + ! logfile_outfreq_7 : Number of steps in 7 days [-] + ! logfile_outfreq_30 : Number of steps in 30 days [-] + ! PARave : Average photosynthetically active radiation [W m-2] + ! SurfSR : Surface solar radiation [W m-2] + ! + ! Update Strategy: + ! - Euphotic zone (PAR > 1% surface): 7-day updates + ! * High photosynthesis rates alter DIC and pH rapidly + ! * Important for accurate phytoplankton CO2 responses + ! - Deep waters (PAR < 1% surface): 30-day updates + ! * Slower changes dominated by remineralization and mixing + ! * Reduces computational cost while maintaining accuracy + ! + ! Computational Cost Considerations: + ! - Carbonate system solving is computationally expensive + ! - Adaptive frequency balances accuracy and performance + ! - Typical speedup: 4× faster than daily updates everywhere + !------------------------------------------------------------------------------- + + ! Calculate update frequencies based on model time step + mocsy_step_per_day = 1.0 / dt_b + logfile_outfreq_7 = mocsy_step_per_day * 7.0 ! Steps in 7 days + logfile_outfreq_30 = mocsy_step_per_day * 30.0 ! Steps in 30 days + + !=============================================================================== + ! EUPHOTIC ZONE UPDATES (WEEKLY) + !=============================================================================== + ! Frequent updates in sunlit surface waters where biological activity is high. + ! Euphotic zone defined as PAR > 1% of surface irradiance. + ! + ! Biological Drivers: + ! - Photosynthesis removes DIC, increases pH + ! - Respiration/remineralization adds DIC, decreases pH + ! - Calcification removes alkalinity + ! - Rapid daily and seasonal cycles + ! + ! Why 7-day updates? + ! - Captures weekly-scale biological dynamics + ! - Adequate for phytoplankton bloom progression + ! - Reasonable computational cost + !------------------------------------------------------------------------------- + + if (PARave > 0.01 * SurfSR .and. mod(mstep, logfile_outfreq_7) == 0) then + + ! Weekly updates in euphotic zone (high biological activity) + call vars_sprac(ph_depth, pco2_depth, fco2_depth, co2_depth, hco3_depth, co3_depth, & + OmegaA_depth, OmegaC_depth, kspc_depth, BetaD_depth, & + rhoSW_depth, p_depth, tempis_depth, & + REcoM_T_depth, REcoM_S_depth, REcoM_Alk_depth, REcoM_DIC_depth, & + REcoM_Si_depth, REcoM_Phos_depth, Patm_depth, dpos, Latd, Nmocsy, & + optCON='mol/m3', optT='Tpot ', optP='m ', optB='u74', & + optK1K2='l ', optKf='dg', optGAS='Pinsitu', optS='Sprc') + + ! Update water column arrays with new carbonate chemistry CO2_watercolumn(k) = co2_depth(1) pH_watercolumn(k) = ph_depth(1) pCO2_watercolumn(k) = pco2_depth(1) @@ -369,11 +1575,39 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & kspc_watercolumn(k) = kspc_depth(1) rhoSW_watercolumn(k) = rhoSW_depth(1) - elseif (PARave < 0.01*SurfSR .and. mod(mstep,logfile_outfreq_30)==0) then - call vars_sprac(ph_depth, pco2_depth, fco2_depth, co2_depth, hco3_depth, co3_depth, OmegaA_depth, OmegaC_depth, kspc_depth, BetaD_depth, & - rhoSW_depth, p_depth, tempis_depth, & - REcoM_T_depth, REcoM_S_depth, REcoM_Alk_depth, REcoM_DIC_depth, REcoM_Si_depth, REcoM_Phos_depth, Patm_depth, dpos, Latd, Nmocsy, & - optCON='mol/m3', optT='Tpot ', optP='m ', optB='u74', optK1K2='l ', optKf='dg', optGAS='Pinsitu', optS='Sprc') + !=============================================================================== + ! DEEP WATER UPDATES (MONTHLY) + !=============================================================================== + ! Less frequent updates in dark deep waters where changes are slower. + ! Deep waters defined as PAR < 1% of surface irradiance. + ! + ! Physical/Chemical Drivers: + ! - Slow remineralization of sinking organic matter + ! - Calcite dissolution (below saturation horizon) + ! - Mixing and advection + ! - No photosynthesis to drive rapid changes + ! + ! Why 30-day updates? + ! - Changes occur on monthly to seasonal timescales + ! - Dominated by physical transport and slow remineralization + ! - Significant computational savings with minimal accuracy loss + ! + ! Note: Below permanent pycnocline, even longer update intervals + ! could be justified (e.g., seasonal) + !------------------------------------------------------------------------------- + + elseif (PARave < 0.01 * SurfSR .and. mod(mstep, logfile_outfreq_30) == 0) then + + ! Monthly updates in deep waters (low biological activity) + call vars_sprac(ph_depth, pco2_depth, fco2_depth, co2_depth, hco3_depth, co3_depth, & + OmegaA_depth, OmegaC_depth, kspc_depth, BetaD_depth, & + rhoSW_depth, p_depth, tempis_depth, & + REcoM_T_depth, REcoM_S_depth, REcoM_Alk_depth, REcoM_DIC_depth, & + REcoM_Si_depth, REcoM_Phos_depth, Patm_depth, dpos, Latd, Nmocsy, & + optCON='mol/m3', optT='Tpot ', optP='m ', optB='u74', & + optK1K2='l ', optKf='dg', optGAS='Pinsitu', optS='Sprc') + + ! Update water column arrays with new carbonate chemistry CO2_watercolumn(k) = co2_depth(1) pH_watercolumn(k) = ph_depth(1) pCO2_watercolumn(k) = pco2_depth(1) @@ -382,741 +1616,2376 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & OmegaC_watercolumn(k) = OmegaC_depth(1) kspc_watercolumn(k) = kspc_depth(1) rhoSW_watercolumn(k) = rhoSW_depth(1) + endif -!------------------------------------------------------------------------------- -! CO2 dependence of rates ! NEW CO2 -!------------------------------------------------------------------------------- -! Convert pH to proton concentration - h_depth(1) = 10.**(-ph_depth(1)) -! Conversion factor Cunits not needed for [H], because in model and function derived from pH and therefore in [mol/L] + !=============================================================================== + ! CO2 EFFECTS AND CALCITE DISSOLUTION + !=============================================================================== + ! Simulates ocean acidification impacts on phytoplankton growth and calcium + ! carbonate dissolution in the water column. + ! + ! This module calculates: + ! 1. CO2/pH effects on phytoplankton photosynthesis (species-specific) + ! 2. Calcite dissolution rates (saturation-state or depth-dependent) + ! + ! Key Features: + ! - Multi-component CO2 response (HCO3- benefit, CO2 toxicity, pH stress) + ! - Species-specific sensitivities to ocean acidification + ! - Two dissolution mechanisms (thermodynamic vs empirical) + ! - Velocity-dependent dissolution for sinking particles + ! + ! CO2 Response Function: + ! f(CO2) = a×[HCO3-]/(b+[HCO3-]) - exp(-c×[CO2]) - d×[H+] + ! + ! Three competing effects: + ! 1. HCO3- availability (substrate for carbon fixation) - POSITIVE + ! 2. High CO2 concentration (toxicity/stress) - NEGATIVE + ! 3. Low pH (proton stress on enzymes) - NEGATIVE + ! + ! Phytoplankton Groups: + ! - Small phytoplankton: Moderate sensitivity + ! - Diatoms: Generally tolerant + ! - Coccolithophores: High sensitivity (calcifying organisms) + ! - Phaeocystis: Variable sensitivity + ! + ! Dissolution Mechanisms: + ! A) Saturation-state dependent (OmegaC_diss = TRUE) + ! - Thermodynamically based on carbonate saturation + ! - Aumont et al. (2015) parameterization + ! B) Depth-dependent (OmegaC_diss = FALSE) + ! - Empirical dissolution rates scaled by sinking velocity + ! + ! Ecological/Biogeochemical Significance: + ! - Ocean acidification reduces calcification and alters competitive balance + ! - Dissolution releases CO2 and alkalinity back to seawater + ! - Critical for understanding climate change impacts on marine ecosystems + ! + ! References: + ! - Aumont et al. (2015) - Saturation-state dependent dissolution + ! - Schourup-Kristensen et al. (2013) - REcoM model description + !=============================================================================== + + !=============================================================================== + ! CO2 EFFECTS ON PHYTOPLANKTON GROWTH + !=============================================================================== + ! Calculates how ocean acidification (elevated CO2, reduced pH) affects + ! phytoplankton photosynthesis rates through a complex response function. + ! + ! Response Function Components: + ! 1. Michaelis-Menten HCO3- uptake (carbonate benefit) + ! 2. Exponential CO2 inhibition (high CO2 toxicity) + ! 3. Linear H+ inhibition (pH stress on cellular processes) + ! + ! Variables (Small Phytoplankton): + ! PhyCO2 : CO2 effect modifier for small phyto [0-3] + ! a_co2_phy : HCO3- uptake parameter [-] + ! b_co2_phy : HCO3- half-saturation [mmolC m-3] + ! c_co2_phy : CO2 inhibition coefficient [m3 mmolC-1] + ! d_co2_phy : H+ stress coefficient [L mol-1] + ! HCO3_watercolumn(k) : Bicarbonate concentration [mmolC m-3] + ! CO2_watercolumn(k) : Dissolved CO2 concentration [mmolC m-3] + ! pH_watercolumn(k) : Water column pH [-] + ! Cunits : Concentration units conversion factor [-] + ! h_depth(1) : Proton concentration at surface [mol L-1] + ! VTPhyCO2(k) : Diagnostic output for CO2 effect [-] + ! + ! Constraints: + ! - Upper limit: 3× enhancement (April 2022 modification) + ! - Lower limit: 0 (no negative values, July 2022 modification) + ! + ! Note: Similar calculations for diatoms, coccolithophores, and Phaeocystis + ! with species-specific parameters reflecting different sensitivities + !------------------------------------------------------------------------------- + + ! Convert pH to proton concentration for calculations + ! pH = -log10[H+], therefore [H+] = 10^(-pH) + h_depth(1) = 10.d0**(-ph_depth(1)) + + ! Note: Cunits conversion not needed for [H+] because pH is already in mol/L + + !------------------------------------------------------------------------------- + ! Small Phytoplankton CO2 Response + !------------------------------------------------------------------------------- + ! Moderate sensitivity to ocean acidification + ! Represents diverse group with varied carbon acquisition strategies -! Small phytoplankton PhyCO2 = a_co2_phy * HCO3_watercolumn(k) * Cunits / (b_co2_phy + HCO3_watercolumn(k) * Cunits) & - - exp(-c_co2_phy * CO2_watercolumn(k) * Cunits) - d_co2_phy * 10.**(-pH_watercolumn(k)) - PhyCO2 = min(PhyCO2,3.d0) ! April 2022: limitation to 3 - PhyCO2 = max(0.d0,PhyCO2) ! July 2022: limitation to zero + - exp(-c_co2_phy * CO2_watercolumn(k) * Cunits) & + - d_co2_phy * 10.d0**(-pH_watercolumn(k)) + + ! Apply empirical constraints based on observations + PhyCO2 = min(PhyCO2, 3.d0) ! Upper limit: maximum 3x enhancement + PhyCO2 = max(0.d0, PhyCO2) ! Lower limit: prevent negative growth response + + ! Store for diagnostics and output + VTPhyCO2(k) = PhyCO2 + + !------------------------------------------------------------------------------- + ! Diatoms CO2 Response + !------------------------------------------------------------------------------- + ! Generally tolerant to elevated CO2 + ! Efficient carbon concentrating mechanisms (CCMs) -! Diatoms DiaCO2 = a_co2_dia * HCO3_watercolumn(k) * Cunits / (b_co2_dia + HCO3_watercolumn(k) * Cunits) & - - exp(-c_co2_dia * CO2_watercolumn(k) * Cunits) - d_co2_dia * 10.**(-pH_watercolumn(k)) - DiaCO2 = min(DiaCO2,3.d0) ! April 2022: limitation to 3 - DiaCO2 = max(0.d0,DiaCO2) ! July 2022: limitation to zero - -#if defined (__coccos) -! Coccolithophores - CoccoCO2 = a_co2_cocco * HCO3_watercolumn(k) * Cunits / (b_co2_cocco + HCO3_watercolumn(k) * Cunits) & - - exp(-c_co2_cocco * CO2_watercolumn(k) * Cunits) - d_co2_cocco * 10.**(-pH_watercolumn(k)) - CoccoCO2 = min(CoccoCO2,3.d0) ! April 2022: limitation to 3 - CoccoCO2 = max(0.d0,CoccoCO2) ! July 2022: limitation to zero -#endif - - -!------------------------------------------------------------------------------ -! Calcite dissolution dependent on OmegaC ! DISS -!------------------------------------------------------------------------------ - Sink_Vel = Vdet_a* abs(zF(k)) + Vdet - - if (OmegaC_diss) then ! Calcdiss dependent on carbonate saturation - Ca = (0.02128d0/40.078d0) * Sali_depth(k)/1.80655d0 ! Calcium ion concentration [mol/kg], function from varsolver.f90 - CO3_sat = (kspc_watercolumn(k) / Ca) * rhoSW_watercolumn(k) ! Saturated carbonate ion concentration, converted to [mol/m3] - calc_diss = calc_diss_omegac * max(zero,(1-(CO3_watercolumn(k)/CO3_sat)))**(calc_diss_exp) ! Dissolution rate scaled by carbonate ratio, after Aumont et al. 2015 -#if defined (__3Zoo2Det) - calc_diss2 = calc_diss -#endif - calc_diss_ben = calc_diss - else ! Calcdiss dependent on depth - - calc_diss = calc_diss_rate * Sink_Vel/20.d0 ! Dissolution rate of CaCO3 scaled by the sinking velocity at the current depth -#if defined (__3Zoo2Det) -! calc_diss2 = calc_diss_rate2 ! Dissolution rate of CaCO3 scaled by the sinking velocity at the current depth seczoo - calc_diss2 = calc_diss_rate2* Sink_Vel/20.d0 -#endif - calc_diss_ben = calc_diss_rate * Sink_Vel/20.d0 ! DISS added the variable calc_diss_ben to keep the calcite dissolution in the benthos with the old formulation + - exp(-c_co2_dia * CO2_watercolumn(k) * Cunits) & + - d_co2_dia * 10.d0**(-pH_watercolumn(k)) + + ! Apply constraints + DiaCO2 = min(DiaCO2, 3.d0) ! Upper limit: 3x enhancement + DiaCO2 = max(0.d0, DiaCO2) ! Lower limit: no negative effect + + ! Store for diagnostics + VTDiaCO2(k) = DiaCO2 + + if (enable_coccos) then + + !--------------------------------------------------------------------------- + ! Coccolithophores CO2 Response + !--------------------------------------------------------------------------- + ! Calcifying phytoplankton - highly sensitive to ocean acidification + ! Both photosynthesis and calcification affected by carbonate chemistry + ! May be disadvantaged under future high-CO2 conditions + + CoccoCO2 = a_co2_cocco * HCO3_watercolumn(k) * Cunits / (b_co2_cocco + HCO3_watercolumn(k) * Cunits) & + - exp(-c_co2_cocco * CO2_watercolumn(k) * Cunits) & + - d_co2_cocco * 10.d0**(-pH_watercolumn(k)) + + ! Apply constraints + CoccoCO2 = min(CoccoCO2, 3.d0) ! Upper limit: 3x enhancement + CoccoCO2 = max(0.d0, CoccoCO2) ! Lower limit: no negative effect + + ! Store for diagnostics + VTCoccoCO2(k) = CoccoCO2 + + !--------------------------------------------------------------------------- + ! Phaeocystis CO2 Response + !--------------------------------------------------------------------------- + ! Colonial phytoplankton with variable CO2 sensitivity + ! Response may depend on bloom stage and environmental conditions + + PhaeoCO2 = a_co2_phaeo * HCO3_watercolumn(k) * Cunits / (b_co2_phaeo + HCO3_watercolumn(k) * Cunits) & + - exp(-c_co2_phaeo * CO2_watercolumn(k) * Cunits) & + - d_co2_phaeo * 10.d0**(-pH_watercolumn(k)) + + ! Apply constraints + PhaeoCO2 = min(PhaeoCO2, 3.d0) ! Upper limit: 3× enhancement + PhaeoCO2 = max(0.d0, PhaeoCO2) ! Lower limit: no negative effect + + ! Store for diagnostics + VTPhaeoCO2(k) = PhaeoCO2 + endif -!------------------------------------------------------------------------------- -!> Photosynthesis section, light parameters and rates -!------------------------------------------------------------------------------- -!< Schourup 2013 Appendix A6.2 -!< Intracellular regulation of C uptake -!< qlimitFac, qlimitFacTmp: Factor that regulates photosynthesis -!< NMinSlope: 50.d0 -!< NCmin: 0.04d0 -!< quota: PhyN/PhyC -!< qlimitFac [0.0, 1.0] -!< if quota < NCmin qlimitFac=0 -!< if quota > ≈ 9 * NCmin qlimitFac=1 -!< P_cm: 3.0d0 [1/day], Rate of C-specific photosynthesis - -!< pMax = The carbon-specific, light-saturated rate of photosynthesis [day^-1] -!< Nutrient limited environment -!< Small pyhtoplankton is limited by iron and nitrogen -!< Diatoms are additionally limited by silicon - -!< *** Small phytoplankton *** -!< *************************** - qlimitFac = recom_limiter(NMinSlope, NCmin, quota) ! Eqn A55 - feLimitFac = Fe/(k_Fe + Fe) ! Use Michaelis–Menten kinetics - qlimitFac = min(qlimitFac, feLimitFac) ! Liebig law of the minimum - pMax = P_cm * qlimitFac * arrFunc ! Maximum value of C-specific rate of photosynthesis - -!< *** Diatoms *** -!< *************** - qlimitFac = recom_limiter(NMinSlope, NCmin_d, quota_dia) + + !=============================================================================== + ! CALCITE DISSOLUTION + !=============================================================================== + ! Calculates dissolution rates of calcium carbonate (CaCO3) in seawater. + ! Dissolution depends on carbonate saturation state or depth (two modes). + ! + ! Carbonate Saturation State (Omega): + ! Ω = [CO3²⁻] / [CO3²⁻]sat + ! - Ω > 1: Supersaturated (favors precipitation, slow dissolution) + ! - Ω < 1: Undersaturated (favors dissolution) + ! + ! Variables (Saturation-dependent mode): + ! calc_diss : Primary detritus dissolution rate [day-1] + ! calc_diss2 : Secondary detritus dissolution rate [day-1] + ! calc_diss_ben : Benthic dissolution rate [day-1] + ! calc_diss_omegac : Base dissolution rate coefficient [day-1] + ! calc_diss_exp : Dissolution order exponent [-] + ! Ca : Calcium ion concentration [mol kg-1] + ! CO3_sat : Saturated carbonate concentration [mol m-3] + ! CO3_watercolumn(k) : Actual carbonate concentration [mol m-3] + ! kspc_watercolumn(k) : Solubility product for calcite [mol2 kg-2] + ! rhoSW_watercolumn(k): Seawater density [kg m-3] + ! Sali_depth(k) : Salinity [psu] + ! + ! Variables (Depth-dependent mode): + ! calc_diss_rate : Primary dissolution rate constant [day-1] + ! calc_diss_rate2 : Secondary dissolution rate constant [day-1] + ! Sink_Vel : Particle sinking velocity [m day-1] + ! Vdet_a : Depth-dependent sinking coefficient [day-1] + ! Vdet : Base sinking velocity [m day-1] + ! zF(k) : Depth at layer k [m] + ! + ! Note: Dissolution releases CO2 and alkalinity, affecting carbonate chemistry + !------------------------------------------------------------------------------- + + !------------------------------------------------------------------------------- + ! Calculate Sinking Velocity + !------------------------------------------------------------------------------- + ! Sinking velocity increases with depth (particle compaction, reduced drag) + + Sink_Vel = Vdet_a * abs(zF(k)) + Vdet + + if (OmegaC_diss) then + + !=========================================================================== + ! SATURATION-STATE DEPENDENT DISSOLUTION + !=========================================================================== + ! Thermodynamically-based dissolution using carbonate saturation state + ! Based on Aumont et al. (2015) parameterization + !--------------------------------------------------------------------------- + + !--------------------------------------------------------------------------- + ! Calculate Calcium Ion Concentration + !--------------------------------------------------------------------------- + ! Conservative element: scales linearly with salinity + ! Reference: 0.02128 mol/kg at salinity 35 psu + + Ca = (0.02128d0 / 40.078d0) * Sali_depth(k) / 1.80655d0 + + !--------------------------------------------------------------------------- + ! Calculate Saturated Carbonate Ion Concentration + !--------------------------------------------------------------------------- + ! [CO3²⁻]sat = Ksp / [Ca²+] + ! Where Ksp is the solubility product for calcite + ! Convert from mol/kg to mol/m3 using seawater density + + CO3_sat = (kspc_watercolumn(k) / Ca) * rhoSW_watercolumn(k) + + !--------------------------------------------------------------------------- + ! Calculate Dissolution Rate + !--------------------------------------------------------------------------- + ! Dissolution increases with undersaturation (Ω < 1) + ! Power law relationship: rate ∝ (1 - Ω)^n + ! Exponent (n) typically 1-4 depending on calcite form + + calc_diss = calc_diss_omegac * max(zero, (1.0 - (CO3_watercolumn(k) / CO3_sat)))**(calc_diss_exp) + + ! Apply same dissolution rate to all detritus types + ! Assumes similar calcite characteristics regardless of source + if (enable_3zoo2det) then + calc_diss2 = calc_diss ! Fast-sinking detritus + endif + calc_diss_ben = calc_diss ! Benthic detritus + + else + + !=========================================================================== + ! DEPTH-DEPENDENT DISSOLUTION + !=========================================================================== + ! Empirical dissolution rates scaled by sinking velocity + ! Simpler approach when carbonate chemistry is not fully resolved + !--------------------------------------------------------------------------- + + !--------------------------------------------------------------------------- + ! Primary Detritus Dissolution + !--------------------------------------------------------------------------- + ! Dissolution rate scales with sinking velocity + ! Faster sinking -> less time for dissolution per unit depth + ! Reference velocity: 20 m/day + + calc_diss = calc_diss_rate * Sink_Vel / 20.d0 + + if (enable_3zoo2det) then + !----------------------------------------------------------------------- + ! Secondary Detritus Dissolution (Fast-sinking) + !----------------------------------------------------------------------- + ! May have different dissolution characteristics than primary detritus + ! (e.g., more compact, different organic coating) + + calc_diss2 = calc_diss_rate2 * Sink_Vel / 20.d0 + endif + + !--------------------------------------------------------------------------- + ! Benthic Dissolution + !--------------------------------------------------------------------------- + ! Calcite reaching the sediment interface + ! Uses same rate as primary detritus + + calc_diss_ben = calc_diss_rate * Sink_Vel / 20.d0 + + endif + + !=============================================================================== + ! PHOTOSYNTHESIS LIMITATION FACTORS + !=============================================================================== + ! Calculates how nutrients, iron, and temperature limit maximum photosynthesis + ! rates using intracellular quota-based regulation (Droop model). + ! + ! Limitation Approach: + ! - Intracellular regulation through N:C, Si:C quotas + ! - Michaelis-Menten iron limitation + ! - Liebig's law: most limiting factor controls growth + ! + ! Variables (Small Phytoplankton): + ! qlimitFac : Combined nutrient limitation factor [0-1, 0=limited, 1=replete] + ! feLimitFac : Iron limitation factor [0-1] + ! quota : Phytoplankton N:C ratio [mmolN mmolC-1] + ! NCmin : Minimum N:C ratio (subsistence quota) [mmolN mmolC-1] + ! NMinSlope : Steepness of limitation curve [-] + ! Fe : Dissolved iron concentration [mmolFe m-3] + ! k_Fe : Half-saturation for Fe uptake [mmolFe m-3] + ! pMax : Maximum photosynthesis rate [day-1] + ! P_cm : Maximum rate constant [day-1] + ! Temp_phyto : Temperature function for small phyto [-] + ! arrFunc : Arrhenius temperature function [-] + ! + ! recom_limiter Function: + ! Returns limitation factor based on quota: + ! - Returns ~0 when quota near minimum (severely limited) + ! - Returns ~1 when quota is high (nutrient replete) + ! - Smooth transition controlled by slope parameter + ! + ! Note: Similar calculations for diatoms, coccolithophores, and Phaeocystis + ! with species-specific parameters and additional Si limitation for diatoms + !------------------------------------------------------------------------------- + + !------------------------------------------------------------------------------- + ! Small Phytoplankton + !------------------------------------------------------------------------------- + ! Limited by nitrogen and iron + ! Represents small flagellates, small cyanobacteria, etc. + + ! Nitrogen limitation based on intracellular N:C quota + qlimitFac = recom_limiter(NMinSlope, NCmin, quota) + + ! Iron limitation using Michaelis-Menten kinetics + ! Iron is often the limiting micronutrient in HNLC regions + feLimitFac = Fe / (k_Fe + Fe) + + ! Apply Liebig's law: most limiting nutrient controls photosynthesis + qlimitFac = min(qlimitFac, feLimitFac) + + ! Calculate maximum photosynthesis rate with temperature correction + if (enable_coccos) then + ! Use species-specific temperature function (when cocco module active) + pMax = qlimitFac * Temp_phyto + else + ! Use standard Arrhenius temperature function + pMax = P_cm * qlimitFac * arrFunc + endif + + !------------------------------------------------------------------------------- + ! Diatoms + !------------------------------------------------------------------------------- + ! Limited by nitrogen, silicon, and iron + ! Large phytoplankton with silica frustules (shells) + + ! Nitrogen limitation + qlimitFac = recom_limiter(NMinSlope, NCmin_d, quota_dia) + + ! Silicon limitation (unique to diatoms) + ! Required for frustule formation - critical for diatom growth qlimitFacTmp = recom_limiter(SiMinSlope, SiCmin, qSiC) - qlimitFac = min(qLimitFac, qlimitFacTmp) - feLimitFac = Fe/(k_Fe_d + Fe) - qlimitFac = min(qlimitFac, feLimitFac) - pMax_dia = P_cm_d * qlimitFac * arrFunc - -!< *** Coccolithophores *** -!< ************************ -#if defined (__coccos) - qlimitFac = recom_limiter(NMinSlope, NCmin_c, quota_cocco) - feLimitFac = Fe/(k_Fe_c + Fe) - qlimitFac = min(qlimitFac, feLimitFac) - pMax_cocco = P_cm_c * qlimitFac * CoccoTFunc ! Here the T dependency is changed -#endif -!------------------------------------------------------------------------------- -!< *** Small phytoplankton photosynthesis rate *** -!< *********************************************** - if (pMax .lt. tiny .OR. PARave /= PARave .OR. CHL2C /= CHL2C) then ! OG in case of only respiration, i.e. darkness?? + qlimitFac = min(qlimitFac, qlimitFacTmp) + + ! Iron limitation + feLimitFac = Fe / (k_Fe_d + Fe) + qlimitFac = min(qlimitFac, feLimitFac) + + ! Calculate maximum photosynthesis rate + if (enable_coccos) then + pMax_dia = qlimitFac * Temp_diatoms + else + pMax_dia = P_cm_d * qlimitFac * arrFunc + endif + + !------------------------------------------------------------------------------- + ! Coccolithophores (Optional) + !------------------------------------------------------------------------------- + ! Limited by nitrogen and iron + ! Calcifying phytoplankton that produce calcite plates + + if (enable_coccos) then + + ! Nitrogen limitation + qlimitFac = recom_limiter(NMinSlope, NCmin_c, quota_cocco) + + ! Iron limitation + feLimitFac = Fe / (k_Fe_c + Fe) + qlimitFac = min(qlimitFac, feLimitFac) + + ! Calculate maximum photosynthesis rate + pMax_cocco = qlimitFac * Temp_cocco + + !--------------------------------------------------------------------------- + ! Phaeocystis (Optional) + !--------------------------------------------------------------------------- + ! Limited by nitrogen and iron + ! Colonial phytoplankton that can form large blooms + + ! Nitrogen limitation + qlimitFac = recom_limiter(NMinSlope, NCmin_p, quota_phaeo) + + ! Iron limitation + feLimitFac = Fe / (k_Fe_p + Fe) + qlimitFac = min(qlimitFac, feLimitFac) + + ! Calculate maximum photosynthesis rate + pMax_phaeo = qlimitFac * Temp_phaeo + + endif + + !=============================================================================== + ! LIGHT-DEPENDENT PHOTOSYNTHESIS RATE CALCULATIONS + !=============================================================================== + ! Calculates actual photosynthesis rates using photosynthesis-irradiance (P-I) + ! curves. Uses exponential saturation model (no photoinhibition). + ! + ! P-I Curve Model: + ! P = Pmax × (1 - exp(-α × Chl:C × PAR / Pmax)) + ! + ! Where: + ! P : Actual photosynthesis rate [day-1] + ! Pmax : Maximum rate (nutrient and temperature limited) [day-1] + ! α : Initial slope of P-I curve (photosynthetic efficiency) [-] + ! Chl:C : Chlorophyll to carbon ratio [mgChl mmolC-1] + ! PAR : Photosynthetically active radiation [W m-2] + ! + ! Variables (Small Phytoplankton): + ! Cphot : Carbon-specific photosynthesis rate [day-1] + ! PARave : Average PAR in mixed layer [W m-2] + ! alfa : Initial slope parameter [-] + ! Chl2C : Chlorophyll:Carbon ratio [mgChl mmolC-1] + ! PhyCO2 : CO2 limitation factor [0-1] + ! VTCphotLigLim_phyto : Light limitation factor for diagnostics [0-1] + ! VTCphot_phyto : Final photosynthesis rate for diagnostics [day-1] + ! + ! Safety Checks: + ! - Check for darkness (pMax < tiny) + ! - Check for NaN values (PARave /= PARave) + ! - Check for valid Chl:C ratios + ! + ! Note: Similar calculations for all phytoplankton types + !------------------------------------------------------------------------------- + + !------------------------------------------------------------------------------- + ! Small Phytoplankton Photosynthesis + !------------------------------------------------------------------------------- + + if (pMax < tiny .OR. PARave /= PARave .OR. CHL2C /= CHL2C) then + ! No photosynthesis in darkness or under invalid conditions Cphot = zero else - Cphot = pMax*(real(one) - exp(-alfa * Chl2C * PARave / pMax)) - if (CO2lim) Cphot = Cphot * PhyCO2 ! Added the CO2 dependence - end if - if (Cphot .lt. tiny) Cphot = zero + ! Calculate photosynthesis using exponential P-I curve + ! Model saturates at high light (no photoinhibition) + Cphot = pMax * (1.0d0 - exp(-alfa * Chl2C * PARave / pMax)) + + ! Store light limitation factor for diagnostics + ! Ratio of actual to maximum rate indicates light limitation severity + VTCphotLigLim_phyto(k) = Cphot / pMax + + ! Apply CO2 limitation if ocean acidification sensitivity is enabled + if (CO2lim) Cphot = Cphot * PhyCO2 + endif + + ! Ensure non-negative values (numerical safety) + if (Cphot < tiny) Cphot = zero -!< *** Diatom photosynthesis rate *** -!< ********************************** - if ( pMax_dia .lt. tiny .OR. PARave /= PARave .OR. CHL2C_dia /= CHL2C_dia) then + ! Store final photosynthesis rate for diagnostics and output + VTCphot_phyto(k) = Cphot + + !------------------------------------------------------------------------------- + ! Diatom Photosynthesis + !------------------------------------------------------------------------------- + + if (pMax_dia < tiny .OR. PARave /= PARave .OR. CHL2C_dia /= CHL2C_dia) then Cphot_dia = zero else - Cphot_dia = pMax_dia * (real(one) - exp(-alfa_d * Chl2C_dia * PARave / pMax_dia)) - if (CO2lim) Cphot_dia = Cphot_dia * DiaCO2 ! Added the CO2 dependence - end if - if (Cphot_dia .lt. tiny) Cphot_dia = zero - -!< *** Coccolithophore photosynthesis rate *** -!< ******************************************* -#if defined (__coccos) - if ( pMax_cocco .lt. tiny .OR. Parave /= Parave .OR. CHL2C_cocco /= CHL2C_cocco) then - Cphot_cocco = zero - else - Cphot_cocco = pMax_cocco * (real(one) - exp( -alfa_c * Chl2C_cocco * PARave / pMax_cocco)) - if (CO2lim) Cphot_cocco = Cphot_cocco * CoccoCO2 ! Added the CO2 dependence - end if - if (Cphot_cocco .lt. tiny) Cphot_cocco = zero -#endif -!------------------------------------------------------------------------------- -!< chlorophyll degradation -!------------------------------------------------------------------------------- - KOchl = deg_Chl - KOchl_dia = deg_Chl_d -#if defined (__coccos) - KOchl_cocco = deg_Chl_c -#endif - + ! Diatom P-I curve with species-specific parameters + Cphot_dia = pMax_dia * (1.0 - exp(-alfa_d * Chl2C_dia * PARave / pMax_dia)) + + ! Store light limitation diagnostic + VTCphotLigLim_diatoms(k) = Cphot_dia / pMax_dia + + ! Apply CO2 limitation + if (CO2lim) Cphot_dia = Cphot_dia * DiaCO2 + endif + + if (Cphot_dia < tiny) Cphot_dia = zero + VTCphot_diatoms(k) = Cphot_dia + + !------------------------------------------------------------------------------- + ! Coccolithophore Photosynthesis (Optional) + !------------------------------------------------------------------------------- + + if (enable_coccos) then + + if (pMax_cocco < tiny .OR. PARave /= PARave .OR. CHL2C_cocco /= CHL2C_cocco) then + Cphot_cocco = zero + else + ! Coccolithophore P-I curve + Cphot_cocco = pMax_cocco * (1.0 - exp(-alfa_c * Chl2C_cocco * PARave / pMax_cocco)) + + ! Store light limitation diagnostic + VTCphotLigLim_cocco(k) = Cphot_cocco / pMax_cocco + + ! Apply CO2 limitation + if (CO2lim) Cphot_cocco = Cphot_cocco * CoccoCO2 + endif + + if (Cphot_cocco < tiny) Cphot_cocco = zero + VTCphot_cocco(k) = Cphot_cocco + + !--------------------------------------------------------------------------- + ! Phaeocystis Photosynthesis (Optional) + !--------------------------------------------------------------------------- + + if (pMax_phaeo < tiny .OR. PARave /= PARave .OR. CHL2C_phaeo /= CHL2C_phaeo) then + Cphot_phaeo = zero + else + ! Phaeocystis P-I curve + Cphot_phaeo = pMax_phaeo * (1.0 - exp(-alfa_p * Chl2C_phaeo * PARave / pMax_phaeo)) + + ! Store light limitation diagnostic + VTCphotLigLim_phaeo(k) = Cphot_phaeo / pMax_phaeo + + ! Apply CO2 limitation + if (CO2lim) Cphot_phaeo = Cphot_phaeo * PhaeoCO2 + endif + + if (Cphot_phaeo < tiny) Cphot_phaeo = zero + VTCphot_phaeo(k) = Cphot_phaeo + + endif + + !=============================================================================== + ! CHLOROPHYLL DEGRADATION + !=============================================================================== + ! Calculates chlorophyll degradation rates with optional photodamage effects. + ! Chlorophyll degrades due to senescence and light-induced damage. + ! + ! Two Modes: + ! A) Base degradation: Constant rate (use_photodamage = FALSE) + ! B) Photodamage-dependent: Light-dependent rate (use_photodamage = TRUE) + ! + ! Variables: + ! KOchl : Chlorophyll degradation rate for small phyto [day-1] + ! KOchl_dia : Chlorophyll degradation rate for diatoms [day-1] + ! KOchl_cocco : Chlorophyll degradation rate for coccos [day-1] + ! KOchl_phaeo : Chlorophyll degradation rate for Phaeocystis [day-1] + ! deg_Chl : Base degradation rate constant [day-1] + ! CHL2C_plast : Chlorophyll:Carbon ratio in plastids [mgChl mmolC-1] + ! alfa : P-I curve initial slope [-] + ! PARave : Average PAR [W m-2] + ! pMax : Maximum photosynthesis rate [day-1] + ! + ! Photodamage Model: + ! - High light damages photosystem II and degrades chlorophyll + ! - Uses same exponential form as P-I curve (saturating damage) + ! - Minimum degradation rate (10% of base) in darkness + ! - No upper cap (commented out safety constraint) + ! + ! Note: Photodamage increases chlorophyll turnover at high light + ! This helps prevent photoinhibition and photooxidative stress + !------------------------------------------------------------------------------- + + !------------------------------------------------------------------------------- + ! Set Base Chlorophyll Degradation Rates + !------------------------------------------------------------------------------- + ! Constant degradation rates independent of light (senescence) + + KOchl = deg_Chl ! Small phytoplankton + KOchl_dia = deg_Chl_d ! Diatoms + + if (enable_coccos) then + KOchl_cocco = deg_Chl_c ! Coccolithophores + KOchl_phaeo = deg_Chl_p ! Phaeocystis + endif + if (use_photodamage) then -!< add a minimum value for photodamage -!< *** Phytoplankton Chla loss *** -!< ******************************* - if (pMax .lt. tiny .OR. PARave /= PARave .OR. CHL2C_plast /= CHL2C_plast) then - KOchl = deg_Chl*0.1d0 + + !=========================================================================== + ! PHOTODAMAGE-DEPENDENT DEGRADATION + !=========================================================================== + ! Light-dependent chlorophyll degradation using saturation model + ! Higher light intensity increases chlorophyll turnover + !--------------------------------------------------------------------------- + + !--------------------------------------------------------------------------- + ! Small Phytoplankton Chlorophyll Loss + !--------------------------------------------------------------------------- + + if (pMax < tiny .OR. PARave /= PARave .OR. CHL2C_plast /= CHL2C_plast) then + ! Minimum degradation in darkness (10% of base rate) + KOchl = deg_Chl * 0.1d0 else - KOchl = deg_Chl*(real(one) - exp(-alfa * CHL2C_plast * PARave / pMax)) - KOchl = max((deg_Chl*0.1d0), KOchl) + ! Saturation model: degradation increases with light + ! Uses same exponential form as P-I curve + KOchl = deg_Chl * (real(one) - exp(-alfa * CHL2C_plast * PARave / pMax)) + + !< Alternative linear model (commented out): + !< Degradation directly proportional to light intensity + !KOchl = deg_Chl * CHL2C_plast * PARave + + ! Ensure minimum degradation rate (10% of base) + KOchl = max((deg_Chl * 0.1d0), KOchl) + + !< Safety constraint (commented out): + !< Caps maximum degradation at 0.3 day-1 + !KOchl = min(KOchl, 0.3d0) end if -!< *** Diatoms Chla loss *** -!< ************************* - if (pMax_dia .lt. tiny .OR. PARave /= PARave .OR. CHL2C_plast_dia /= CHL2C_plast_dia) then - KOchl_dia = deg_Chl_d*0.1d0 + + !--------------------------------------------------------------------------- + ! Diatom Chlorophyll Loss + !--------------------------------------------------------------------------- + + if (pMax_dia < tiny .OR. PARave /= PARave .OR. CHL2C_plast_dia /= CHL2C_plast_dia) then + KOchl_dia = deg_Chl_d * 0.1d0 else - KOchl_dia = deg_Chl_d * (real(one) - exp(-alfa_d * CHL2C_plast_dia * PARave / pMax_dia )) - KOchl_dia = max((deg_Chl_d*0.1d0), KOchl_dia) - end if -!< *** Coccolithophores chla loss *** -!< ********************************** -#if defined (__coccos) - if (pMax_cocco .lt. tiny .OR. PARave /= Parave .OR. CHL2C_plast_cocco /= CHL2C_plast_cocco) then - KOchl_cocco = deg_Chl_c*0.1d0 - else - KOchl_cocco = deg_Chl_c * (real(one) - exp( -alfa_c * CHL2C_plast_cocco * PARave / pMax_cocco )) - KOchl_cocco = max((deg_Chl_c*0.1d0), KOchl_cocco) - end if -#endif - if (KOchl /= KOchl) then - print*,' KOchl is ', KOchl - print*,' deg_Chl is ', deg_Chl - print*,' alfa is ', alfa - print*,' CHL2C is ', CHL2C_plast - print*,' PARave is ', PARave - print*,' pMax is ', pMax - stop + ! Diatom-specific photodamage model + KOchl_dia = deg_Chl_d * (real(one) - exp(-alfa_d * CHL2C_plast_dia * PARave / pMax_dia)) + + !KOchl_dia = deg_Chl_d * CHL2C_plast_dia * PARave + + KOchl_dia = max((deg_Chl_d * 0.1d0), KOchl_dia) + !KOchl_dia = min(KOchl_dia, 0.3d0) end if - if (KOchl_dia /= KOchl_dia) then - print*,' KOchl_dia is ', KOchl_dia - print*,' deg_Chl_d is ', deg_Chl_d - print*,' alfa_d is ', alfa_d - print*,' CHL2C_d is ', CHL2C_plast_dia - print*,' PARave is ', PARave - print*,' pMax_d is ', pMax_dia + + if (enable_coccos) then + + !----------------------------------------------------------------------- + ! Coccolithophore Chlorophyll Loss + !----------------------------------------------------------------------- + + if (pMax_cocco < tiny .OR. PARave /= PARave .OR. CHL2C_plast_cocco /= CHL2C_plast_cocco) then + KOchl_cocco = deg_Chl_c * 0.1d0 + else + ! Coccolithophore-specific photodamage model + KOchl_cocco = deg_Chl_c * (real(one) - exp(-alfa_c * CHL2C_plast_cocco * PARave / pMax_cocco)) + + !KOchl_cocco = deg_Chl_c * CHL2C_plast_cocco * PARave + + KOchl_cocco = max((deg_Chl_c * 0.1d0), KOchl_cocco) + !KOchl_cocco = min(KOchl_cocco, 0.3d0) + end if + + !----------------------------------------------------------------------- + ! Phaeocystis Chlorophyll Loss + !----------------------------------------------------------------------- + + if (pMax_phaeo < tiny .OR. PARave /= PARave .OR. CHL2C_plast_phaeo /= CHL2C_plast_phaeo) then + KOchl_phaeo = deg_Chl_p * 0.1d0 + else + ! Phaeocystis-specific photodamage model + KOchl_phaeo = deg_Chl_p * (real(one) - exp(-alfa_p * CHL2C_plast_phaeo * PARave / pMax_phaeo)) + + !KOchl_phaeo = deg_Chl_p * CHL2C_plast_phaeo * PARave + + KOchl_phaeo = max((deg_Chl_p * 0.1d0), KOchl_phaeo) + !KOchl_phaeo = min(KOchl_phaeo, 0.3d0) + end if + + endif ! enable_coccos + + endif ! use_photodamage + + !--------------------------------------------------------------------------- + ! ERROR CHECKING AND DEBUGGING + ! Check for NaN values in chlorophyll degradation rates + !--------------------------------------------------------------------------- + + ! Small phytoplankton + if (KOchl /= KOchl) then + print*, 'ERROR: KOchl is NaN' + print*, ' deg_Chl =', deg_Chl + print*, ' alfa =', alfa + print*, ' CHL2C_plast =', CHL2C_plast + print*, ' PARave =', PARave + print*, ' pMax =', pMax + stop + end if + + ! Diatoms + if (KOchl_dia /= KOchl_dia) then + print*, 'ERROR: KOchl_dia is NaN' + print*, ' deg_Chl_d =', deg_Chl_d + print*, ' alfa_d =', alfa_d + print*, ' CHL2C_plast_dia =', CHL2C_plast_dia + print*, ' PARave =', PARave + print*, ' pMax_dia =', pMax_dia + stop + end if + + ! Additional species (if enabled) + if (enable_coccos) then + if (KOchl_cocco /= KOchl_cocco) then + print*, 'ERROR: KOchl_cocco is NaN' + print*, ' deg_Chl_c =', deg_Chl_c + print*, ' alfa_c =', alfa_c + print*, ' CHL2C_plast_cocco =', CHL2C_plast_cocco + print*, ' PARave =', PARave + print*, ' pMax_cocco =', pMax_cocco stop end if -#if defined (__coccos) - if (KOchl_cocco /= KOchl_cocco) then - print*,' KOchl_cocco is ', KOchl_cocco - print*,' deg_Chl_c is ', deg_Chl_c - print*,' alfa_c is ', alfa_c - print*,' CHL2C_c is ', CHL2C_plast_cocco - print*,' PARave is ', PARave - print*,' pMax_c is ', pMax_cocco + + if (KOchl_phaeo /= KOchl_phaeo) then + print*, 'ERROR: KOchl_phaeo is NaN' + print*, ' deg_Chl_p =', deg_Chl_p + print*, ' alfa_p =', alfa_p + print*, ' CHL2C_plast_phaeo =', CHL2C_plast_phaeo + print*, ' PARave =', PARave + print*, ' pMax_phaeo =', pMax_phaeo stop - end if -#endif - end if ! photodamage - -!------------------------------------------------------------------------------- -!> Assimilation section -!------------------------------------------------------------------------------- + end if + endif -!< Nitrogen and silicon part -!< Compute assimilation from Geider et al 1998 -!< V_cm: Scaling factor for C-specific N uptake, dimensionless -!< NCmax: Maximum cell quota of nitrogen (N:C) [mmol N/mmol C] -!< NMaxSlope: Max slope for limiting function -!< NCuptakeRatio: Maximum uptake ratio N:C [mmol N mmol C−1] -!< SiCUptakeRatio: Maximum uptake ratio Si : C [mmol Si mmol C−1 ] -!< The N:C ratio is taken into account, as a -!! too high ratio indicates that the intracellular -!! concentration of energy rich carbon molecules becomes too low to -!! use energy on silicon uptake. - - V_cm = V_cm_fact - limitFacN = recom_limiter(NMaxSlope, quota, NCmax) - N_assim = V_cm * pMax * NCuptakeRatio & ! [mmol N / (mmol C * day)] - * limitFacN * (DIN/(DIN + k_din)) ! Michaelis–Menten kinetics - - V_cm = V_cm_fact_d - limitFacN_dia = recom_limiter(NMaxSlope, quota_dia, NCmax_d) - N_assim_dia = V_cm * pMax_dia * NCUptakeRatio_d & - * limitFacN_dia * DIN/(DIN + k_din_d) - -#if defined (__coccos) - V_cm = V_cm_fact_c + !=============================================================================== + ! PHYTOPLANKTON ASSIMILATION SECTION + !=============================================================================== + ! Computes nutrient uptake, chlorophyll synthesis, and respiration rates + ! for multiple phytoplankton functional types following Geider et al. 1998 + !=============================================================================== + + !=============================================================================== + ! NITROGEN ASSIMILATION + !=============================================================================== + ! Calculates nitrogen uptake rates for all phytoplankton groups based on + ! nutrient availability, cell quota status, and maximum uptake capacity + ! + ! Key Parameters: + ! V_cm_fact : Scaling factor for C-specific N uptake [-] + ! NCmax : Maximum cell quota of nitrogen (N:C) [mmolN mmolC-1] + ! NMaxSlope : Maximum slope for quota limiting function [-] + ! NCuptakeRatio : Maximum uptake ratio N:C [mmolN mmolC-1] + ! k_din : Half-saturation constant for DIN uptake [mmolN m-3] + ! pMax : Maximum photosynthesis rate [day-1] + ! + ! Note: Cell quota limiting function prevents luxury N uptake when internal + ! N:C ratio approaches maximum capacity + !------------------------------------------------------------------------------- + + ! --- Small phytoplankton Nitrogen Uptake --- + V_cm = V_cm_fact + limitFacN = recom_limiter(NMaxSlope, quota, NCmax) + N_assim = V_cm * pMax * NCuptakeRatio * limitFacN * (DIN/(DIN + k_din)) + + ! --- Diatom Nitrogen Uptake --- + V_cm = V_cm_fact_d + limitFacN_dia = recom_limiter(NMaxSlope, quota_dia, NCmax_d) + N_assim_dia = V_cm * pMax_dia * NCUptakeRatio_d * limitFacN_dia * DIN/(DIN + k_din_d) + + ! --- Optional Coccolithophore and Phaeocystis Groups --- + if (enable_coccos) then + ! Coccolithophore nitrogen uptake + V_cm = V_cm_fact_c limitFacN_cocco = recom_limiter(NMaxSlope, quota_cocco, NCmax_c) - N_assim_cocco = V_cm * pMax_cocco * NCUptakeRatio_c & - * limitFacN_cocco * DIN/(DIN + k_din_c) -#endif + N_assim_cocco = V_cm * pMax_cocco * NCUptakeRatio_c * limitFacN_cocco * & + DIN/(DIN + k_din_c) + + ! Phaeocystis nitrogen uptake + V_cm = V_cm_fact_p + limitFacN_phaeo = recom_limiter(NMaxSlope, quota_phaeo, NCmax_p) + N_assim_phaeo = V_cm * pMax_phaeo * NCUptakeRatio_p * limitFacN_phaeo * & + DIN/(DIN + k_din_p) + endif - limitFacSi = recom_limiter(SiMaxSlope, qSiC, SiCmax) & - * limitFacN_dia - Si_assim = V_cm_fact_d * P_cm_d * arrFunc * SiCUptakeRatio & - * limitFacSi * Si/(Si + k_si) + !=============================================================================== + ! SILICON ASSIMILATION (DIATOMS ONLY) + !=============================================================================== + ! Calculates silicate uptake for diatom frustule formation + ! + ! Key Parameters: + ! SiCUptakeRatio : Maximum uptake ratio Si:C [mmolSi mmolC-1] + ! SiCmax : Maximum cell quota of silicon (Si:C) [mmolSi mmolC-1] + ! SiMaxSlope : Maximum slope for Si quota limiting function [-] + ! k_si : Half-saturation constant for Si uptake [mmolSi m-3] + ! P_cm_d : Maximum photosynthesis rate for diatoms [day-1] + ! + ! Note: Silicon uptake is coupled to nitrogen status - high N:C ratios indicate + ! low intracellular energy reserves, limiting energy-intensive Si uptake + !------------------------------------------------------------------------------- + + limitFacSi = recom_limiter(SiMaxSlope, qSiC, SiCmax) * limitFacN_dia + + if (.NOT. enable_coccos) then + ! Standard silicon assimilation formulation + Si_assim = V_cm_fact_d * P_cm_d * arrFunc * SiCUptakeRatio * limitFacSi * & + Si/(Si + k_si) + else + ! Alternative formulation with temperature dependence + Si_assim = V_cm_fact_d * Temp_diatoms * SiCUptakeRatio * limitFacSi * & + Si/(Si + k_si) + VTSi_assimDia(k) = Si_assim + endif -!------------------------------------------------------------------------------- -!< *** Iron chemistry *** -!< ********************** -! select the method to calculate freeFe - freeFe = iron_chemistry(Fe,totalligand,ligandStabConst) -!------------------------------------------------------------------------------- -!< *** Chlorophyll synthesis *** -!< ***************************** + !=============================================================================== + ! 3. IRON CHEMISTRY + !=============================================================================== + ! Computes free (bioavailable) iron concentration from total dissolved iron + ! accounting for complexation with organic ligands + ! + ! Variables: + ! Fe : Total dissolved iron [µmol m-3] + ! totalligand : Total organic ligand concentration [µmol m-3] + ! ligandStabConst : Conditional stability constant [M-1] + ! freeFe : Free (inorganic) iron concentration [µmol m-3] + !------------------------------------------------------------------------------- + + freeFe = iron_chemistry(Fe, totalligand, ligandStabConst) + + !=============================================================================== + ! 4. CHLOROPHYLL SYNTHESIS + !=============================================================================== + ! Calculates chlorophyll production coupled to nitrogen assimilation + ! following photoacclimation theory (Geider et al. 1998) + ! + ! Key Parameters: + ! Chl2N_max : Maximum Chl:N ratio [mg Chl mmolN-1] + ! Chl2C : Chlorophyll to carbon ratio [mg Chl mmolC-1] + ! alfa : Initial slope of P-I curve [mmolC (mg Chl)-1 m2 µmol-1 day-1] + ! Cphot : Carbon-specific photosynthesis rate [day-1] + ! PARave : Depth-averaged photosynthetically available radiation [µmol m-2 s-1] + ! + ! Note: Chlorophyll synthesis is down-regulated when light is sufficient, + ! preventing over-investment in light-harvesting machinery + !------------------------------------------------------------------------------- + + ! --- Small phytoplankton Chlorophyll Synthesis --- + chlSynth = zero + if (PARave >= tiny .AND. PARave == PARave) then + chlSynth = N_assim * Chl2N_max * & + min(real(one), Cphot/(alfa * Chl2C * PARave)) + endif -!< Coupled to N uptake -!< Converted to chlorophyll units with a maximum Chl:N ratio, Chl2N_max -!< Chl2N_max: Maximum Chl:N ratio for phytoplankton [mg Chl mmol N−1 ] + ! --- Diatom Chlorophyll Synthesis --- + ChlSynth_dia = zero + if (PARave >= tiny .AND. PARave == PARave) then + ChlSynth_dia = N_assim_dia * Chl2N_max_d * & + min(real(one), Cphot_dia / (alfa_d * Chl2C_dia * PARave)) + end if - chlSynth = zero - if (PARave .ge. tiny .AND. PARave .eq. PARave) then - chlSynth = N_assim * Chl2N_max & - * min(real(one),Cphot/(alfa * Chl2C * PARave)) - end if - ChlSynth_dia = zero - if (PARave .ge. tiny .AND. PARave .eq. PARave) then - ChlSynth_dia = N_assim_dia * Chl2N_max_d & - * min(real(one),Cphot_dia /(alfa_d * Chl2C_dia * PARave)) - end if + ! --- Optional Coccolithophore and Phaeocystis Chlorophyll Synthesis --- + if (enable_coccos) then + ! Coccolithophore chlorophyll synthesis ChlSynth_cocco = zero -#if defined (__coccos) - if (PARave .ge. tiny .AND. PARave .eq. PARave) then - ChlSynth_cocco = N_assim_cocco * Chl2N_max_c & - * min(real(one),Cphot_cocco /(alfa_c * Chl2C_cocco * PARave)) - end if -#endif -!------------------------------------------------------------------------------- -!< *** Phytoplankton respiraion rate *** -!< ************************************* + if (PARave >= tiny .AND. PARave == PARave) then + ChlSynth_cocco = N_assim_cocco * Chl2N_max_c * & + min(real(one), Cphot_cocco / (alfa_c * Chl2C_cocco * PARave)) + end if -!< res_phy: Maintenance respiration rate constant [day−1 ] -!< biosynth: The cost of biosynthesis of N [mmol C mmol N−1 ] + ! Phaeocystis chlorophyll synthesis + ChlSynth_phaeo = zero + if (PARave >= tiny .AND. PARave == PARave) then + ChlSynth_phaeo = N_assim_phaeo * Chl2N_max_p * & + min(real(one), Cphot_phaeo/(alfa_p * Chl2C_phaeo * PARave)) + end if + endif - phyRespRate = res_phy * limitFacN + biosynth * N_assim - phyRespRate_dia = res_phy_d * limitFacN_dia + biosynth * N_assim_dia + biosynthSi * Si_assim -#if defined (__coccos) + !=============================================================================== + ! 5. PHYTOPLANKTON RESPIRATION RATES + !=============================================================================== + ! Computes carbon loss through maintenance respiration and biosynthetic costs + ! + ! Key Parameters: + ! res_phy : Maintenance respiration rate constant [day-1] + ! biosynth : Biosynthetic cost of nitrogen assimilation [mmolC mmolN-1] + ! biosynthSi : Biosynthetic cost of silicon assimilation [mmolC mmolSi-1] + ! + ! Components: + ! 1. Maintenance respiration: Quota-dependent baseline metabolic cost + ! 2. Biosynthetic costs: Additional respiration for nutrient assimilation + ! + ! Equation: R = res_phy * limitFacN + biosynth * N_assim + biosynthSi * Si_assim + !------------------------------------------------------------------------------- + + ! --- Small phytoplankton Respiration --- + phyRespRate = res_phy * limitFacN + biosynth * N_assim + + ! --- Diatom Respiration (includes silicon biosynthesis cost) --- + phyRespRate_dia = res_phy_d * limitFacN_dia + biosynth * N_assim_dia + & + biosynthSi * Si_assim + + ! --- Optional Coccolithophore and Phaeocystis Respiration --- + if (enable_coccos) then phyRespRate_cocco = res_phy_c * limitFacN_cocco + biosynth * N_assim_cocco -#endif + phyRespRate_phaeo = res_phy_p * limitFacN_phaeo + biosynth * N_assim_phaeo + endif -!------------------------------------------------------------------------------- -! Mesozooplankton -!------------------------------------------------------------------------------- -!< Grazing on small phytoplankton, diatoms, coccolithophore (optional), -!< microzooplankton (optional), slow- and fast-sinking detritus - -!< *** Food availability *** -!< ************************* -!< pzPhy: Maximum nanophytoplankton preference -!< pzDia: Maximum diatom preference -!< pzCocco: Maximum coccolithophore preference -!< pzDet: Maximum slow-sinking detritus prefence by first zooplankton -!< pzDetZ2: Maximum fast-sinking detritus preference by first zooplankton -!< pzMicZoo: Maximum microzooplankton preference by first zooplankton - - if (REcoM_Grazing_Variable_Preference) then ! CHECK ONUR - aux = pzPhy*PhyN + pzDia*DiaN - if (Grazing_detritus) aux = aux + PzDet*DetN -#if defined (__3Zoo2Det) - if (Grazing_detritus) aux = aux + pzDetZ2*DetZ2N ! 2Det - aux = aux + pzMicZoo*MicZooN ! 3Zoo -#endif -#if defined (__coccos) - aux = aux + pzCocco*CoccoN -#endif -! ****************************************************************************** - varpzPhy = (pzPhy*PhyN)/aux - varpzDia = (pzDia*DiaN)/aux - if (Grazing_detritus) varpzDet = (pzDet*DetN)/aux -#if defined (__3Zoo2Det) - if (Grazing_detritus) varpzDetZ2 = (pzDetZ2*DetZ2N)/aux ! 2Det - varpzMicZoo = (pzMicZoo*MicZooN)/aux ! 3Zoo -#endif -#if defined (__coccos) - varpzCocco = (pzCocco*CoccoN)/aux -#endif -! ****************************************************************************** - fDiaN = varpzDia * DiaN - fPhyN = varpzPhy * PhyN - if (Grazing_detritus) fDetN = varpzDet * DetN -#if defined (__3Zoo2Det) - if (Grazing_detritus) fDetZ2N = varpzDetZ2 * DetZ2N ! 2Det - fMicZooN = varpzMicZoo * MicZooN ! 3Zoo -#endif -#if defined (__coccos) - fCoccoN = varpzCocco * CoccoN -#endif - else ! REcoM_Grazing_Variable_Preference = .false. - fPhyN = pzPhy * PhyN - fDiaN = pzDia * DiaN - if (Grazing_detritus) fDetN = pzDet * DetN -#if defined (__3Zoo2Det) - if (Grazing_detritus) fDetZ2N = pzDetZ2 * DetZ2N ! 2Det - fMicZooN = pzMicZoo * MicZooN ! 3Zoo -#endif -#if defined (__coccos) - fCoccoN = pzCocco * CoccoN -#endif - end if ! REcoM_Grazing_Variable_Preference + !=============================================================================== + ! MESOZOOPLANKTON GRAZING + !=============================================================================== + ! Simulates mesozooplankton grazing on multiple prey types using a Holling + ! Type III functional response with food-dependent preferences and efficiency. + ! + ! This module calculates: + ! 1. Food availability and grazing preferences (fixed or variable) + ! 2. Total grazing flux with Holling Type III response + ! 3. Distribution of grazing among prey types + ! 4. Food-dependent grazing efficiency + ! 5. Carbon flux from grazed prey to mesozooplankton + ! + ! Key Features: + ! - Variable or fixed prey preferences + ! - Optional prey types (coccolithophores, microzooplankton, detritus) + ! - Temperature-dependent grazing rate (Q10 or Arrhenius) + ! - Food-dependent assimilation efficiency + ! + ! References: + ! - Schourup-Kristensen et al. (2013) - REcoM model description + !=============================================================================== + + !=============================================================================== + ! 1. FOOD AVAILABILITY AND GRAZING PREFERENCES + !=============================================================================== + ! Calculates which prey types are available and their relative preferences. + ! Two modes: + ! - Variable preferences: Adjust based on relative prey abundance + ! - Fixed preferences: Use constant maximum preference values + ! + ! Variables: + ! pzPhy, pzDia : Max preference for small phyto and diatoms [-] + ! pzCocco, pzPhaeo: Max preference for coccoliths and Phaeocystis [-] + ! pzDet, pzDetZ2 : Max preference for slow/fast sinking detritus [-] + ! pzMicZoo : Max preference for microzooplankton [-] + ! PhyN, DiaN : Small phytoplankton and diatom nitrogen [mmolN m-3] + ! CoccoN, PhaeoN : Coccolithophore and Phaeocystis nitrogen [mmolN m-3] + ! DetN, DetZ2N : Slow and fast sinking detritus nitrogen [mmolN m-3] + ! MicZooN : Microzooplankton nitrogen [mmolN m-3] + ! varpz* : Variable preferences (calculated from availability) [-] + ! f*N : Available food pools (preference × concentration) [mmolN m-3] + ! aux : Total weighted food availability [mmolN m-3] + ! + ! Logic: + ! IF variable preferences: varpz_i = (pz_i × prey_i) / Σ(pz_j × prey_j) + ! ELSE: Use fixed maximum preferences (pz_i) + ! Food pools: f_i = preference_i × prey_i + !------------------------------------------------------------------------------- + + if (REcoM_Grazing_Variable_Preference) then + !--------------------------------------------------------------------------- + ! VARIABLE PREFERENCE MODE + ! Preferences scale with relative abundance of each prey type + !--------------------------------------------------------------------------- + + ! Calculate total weighted food availability (denominator) + aux = pzPhy * PhyN + pzDia * DiaN -!< *** Grazing fluxes *** -!< ********************** - food = fPhyN + fDiaN - if (Grazing_detritus) food = food + fDetN -#if defined (__3Zoo2Det) - if (Grazing_detritus) food = food + fDetZ2N - food = food + fMicZooN ! 3Zoo -#endif -#if defined (__coccos) - food = food + fCoccoN -#endif -! ****************************************************************************** - foodsq = food**2 - grazingFlux = (Graz_max * foodsq)/(epsilonr + foodsq) * HetN * arrFunc -#if defined (__3Zoo2Det) - grazingFlux = (Graz_max * foodsq)/(epsilonr + foodsq) * HetN * q10_mes -#endif - grazingFlux_phy = grazingFlux * fphyN / food - grazingFlux_Dia = grazingFlux * fDiaN / food - if (Grazing_detritus) grazingFlux_Det = grazingFlux * fDetN / food -#if defined (__3Zoo2Det) - if (Grazing_detritus) grazingFlux_DetZ2 = grazingFlux * fDetZ2N / food - grazingFlux_miczoo = grazingFlux * fMicZooN / food ! 3Zoo -#endif -#if defined (__coccos) - grazingFlux_Cocco = grazingFlux * fCoccoN / food -#endif - -!< *** Grazing efficiency *** -!< ************************** - grazEff = gfin + 1/(0.2*food + 2) - - grazingFluxcarbon_mes = (grazingFlux_phy * recipQuota * grazEff) & - + (grazingFlux_Dia * recipQuota_Dia * grazEff) - - if (Grazing_detritus) grazingFluxcarbon_mes = grazingFluxcarbon_mes & - + (grazingFlux_Det * recipDet * grazEff) -#if defined (__3Zoo2Det) - if (Grazing_detritus) grazingFluxcarbon_mes = grazingFluxcarbon_mes & - + (grazingFlux_DetZ2 * recipDet2 * grazEff) - grazingFluxcarbon_mes = grazingFluxcarbon_mes & - + (grazingFlux_miczoo * recipQZoo3 * grazEff) ! 3Zoo -#endif -#if defined (__coccos) - grazingFluxcarbon_mes = grazingFluxcarbon_mes & - + (grazingFlux_Cocco * recipQuota_Cocco * grazEff) -#endif + if (Grazing_detritus) then + aux = aux + pzDet * DetN + endif -!------------------------------------------------------------------------------- -! Second Zooplankton -!------------------------------------------------------------------------------- -!< Grazing on small phytoplankton, diatoms, coccolithophore (optional), -!< heterotrophs, slow- and fast-sinking detritus - -!< *** Food availability *** -!< ************************* -!< pzPhy2: Maximum nanophytoplankton preference -!< pzDia2: Maximum diatom preference -!< pzCocco2: Maximum coccolithophore preference -!< pzDet2: Maximum slow-sinking detritus prefence -!< pzDetZ22: Maximum fast-sinking detritus preference -!< pzHet: Maximum mesozooplankton preference -!< pzMicZoo2: Maximum microzooplankton preference - -#if defined (__3Zoo2Det) - if (REcoM_Grazing_Variable_Preference) then - aux = pzPhy2 * PhyN + PzDia2 * DiaN + pzHet * HetN - if (Grazing_detritus) aux = aux + pzDet2 * DetN + pzDetZ22 * DetZ2N - aux = aux + pzMicZoo2 * MicZooN ! 3Zoo -#if defined (__coccos) - aux = aux + pzCocco2 * CoccoN -#endif -! ****************************************************************************** - varpzPhy2 = (pzPhy2 * PhyN)/aux - varpzDia2 = (pzDia2 * DiaN)/aux - varpzMicZoo2 = (pzMicZoo2 * MicZooN)/aux ! 3Zoo - -#if defined (__coccos) - varpzCocco2 = (pzCocco2 * CoccoN)/aux -#endif - varpzHet = (pzHet * HetN)/aux - if (Grazing_detritus) then - varpzDet2 = (pzDet2 * DetN)/aux - varpzDetZ22 = (pzDetZ22 * DetZ2N)/aux - end if -! ****************************************************************************** - fDiaN2 = varpzDia2 * DiaN - fPhyN2 = varpzPhy2 * PhyN - fMicZooN2 = varpzMicZoo2 * MicZooN ! 3Zoo -#if defined (__coccos) - fCoccoN2 = varpzCocco2 * CoccoN -#endif - fHetN = varpzHet * HetN - if (Grazing_detritus) then - fDetN2 = varpzDet2 * DetN - fDetZ2N2 = varpzDetZ22 * DetZ2N - end if - else ! REcoM_Grazing_Variable_Preference = .false. - - fDiaN2 = pzDia2 * DiaN - fPhyN2 = pzPhy2 * PhyN - fMicZooN2 = pzMicZoo2 * MicZooN ! 3Zoo -#if defined (__coccos) - fCoccoN2 = pzCocco2 * CoccoN -#endif - fHetN = pzHet * HetN - if (Grazing_detritus) then - fDetN2 = pzDet2 * DetN - fDetZ2N2 = pzDetZ22 * DetZ2N - end if - end if ! REcoM_Grazing_Variable_Preference + if (enable_3zoo2det) then + if (Grazing_detritus) aux = aux + pzDetZ2 * DetZ2N ! Fast-sinking detritus + aux = aux + pzMicZoo * MicZooN ! Microzooplankton + endif -!< *** Grazing fluxes *** -!< ********************** - food2 = fPhyN2 + fDiaN2 + fHetN - if (Grazing_detritus) food2 = food2 + fDetN2 + fDetZ2N2 - food2 = food2 + fMicZooN2 ! 3Zoo -#if defined (__coccos) - food2 = food2 + fCoccoN2 -#endif -! ****************************************************************************** - foodsq2 = food2**2 - grazingFlux2 = (Graz_max2 * foodsq2)/(epsilon2 + foodsq2) * Zoo2N * arrFuncZoo2 + if (enable_coccos) then + aux = aux + pzCocco * CoccoN + pzPhaeo * PhaeoN + endif - grazingFlux_phy2 = (grazingFlux2 * fphyN2)/food2 - grazingFlux_Dia2 = (grazingFlux2 * fDiaN2)/food2 - grazingFlux_miczoo2 = (grazingFlux2 * fMicZooN2)/food2 ! 3Zoo + ! Calculate variable preferences (normalized by total availability) + varpzPhy = (pzPhy * PhyN) / aux + varpzDia = (pzDia * DiaN) / aux -#if defined (__coccos) - grazingFlux_Cocco2 = (grazingFlux2 * fCoccoN2)/food2 -#endif - grazingFlux_het2 = (grazingFlux2 * fHetN)/food2 if (Grazing_detritus) then - grazingFlux_Det2 = (grazingFlux2 * fDetN2)/food2 - grazingFlux_DetZ22 = (grazingFlux2 * fDetZ2N2)/food2 - end if + varpzDet = (pzDet * DetN) / aux + endif + + if (enable_3zoo2det) then + if (Grazing_detritus) varpzDetZ2 = (pzDetZ2 * DetZ2N) / aux + varpzMicZoo = (pzMicZoo * MicZooN) / aux + endif + + if (enable_coccos) then + varpzCocco = (pzCocco * CoccoN) / aux + varpzPhaeo = (pzPhaeo * PhaeoN) / aux + endif + + ! Calculate available food pools (preference × concentration) + fPhyN = varpzPhy * PhyN + fDiaN = varpzDia * DiaN - grazingFluxcarbonzoo2 = (grazingFlux_phy2 * recipQuota * grazEff2) & - + (grazingFlux_Dia2 * recipQuota_Dia * grazEff2) & - + (grazingFlux_het2 * recipQZoo * grazEff2) if (Grazing_detritus) then - grazingFluxcarbonzoo2 = grazingFluxcarbonzoo2 + & - + (grazingFlux_Det2 * recipDet * grazEff2) & - + (grazingFlux_DetZ22 * recipDet2 * grazEff2) - end if - grazingFluxcarbonzoo2 = grazingFluxcarbonzoo2 + & - + (grazingFlux_miczoo2 * recipQZoo3 * grazEff2) ! 3Zoo -#if defined (__coccos) - grazingFluxcarbonzoo2 = grazingFluxcarbonzoo2 + & - + (grazingFlux_Cocco2 * recipQuota_Cocco * grazEff2) -#endif + fDetN = varpzDet * DetN + endif -!------------------------------------------------------------------------------- -! Third Zooplankton (Microzooplankton) -!------------------------------------------------------------------------------- -!< Grazing on small phytoplankton, diatoms and coccolithophore (optional) + if (enable_3zoo2det) then + if (Grazing_detritus) fDetZ2N = varpzDetZ2 * DetZ2N + fMicZooN = varpzMicZoo * MicZooN + endif + + if (enable_coccos) then + fCoccoN = varpzCocco * CoccoN + fPhaeoN = varpzPhaeo * PhaeoN + endif -!< *** Food availability *** -!< ************************* -!< pzPhy3: Maximum nanophytoplankton preference -!< pzDia3: Maximum diatom preference -!< pzCocco3: Maximum coccolithophore preference + else + !--------------------------------------------------------------------------- + ! FIXED PREFERENCE MODE + ! Use constant maximum preference values + !--------------------------------------------------------------------------- - if (REcoM_Grazing_Variable_Preference) then - aux = pzPhy3 * PhyN + pzDia3 * DiaN -#if defined (__coccos) - aux = aux + pzCocco3 * CoccoN -#endif -! ****************************************************************************** - varpzPhy3 = (pzPhy3 * PhyN)/aux - varpzDia3 = (pzDia3 * DiaN)/aux -#if defined (__coccos) - varpzCocco3 = (pzCocco3 * CoccoN)/aux -#endif -! ****************************************************************************** - fPhyN3 = varpzPhy3 * PhyN - fDiaN3 = varpzDia3 * DiaN -#if defined (__coccos) - fCoccoN3 = varpzCocco3 * CoccoN -#endif - else ! REcoM_Grazing_Variable_Preference = .false. - - fPhyN3 = pzPhy3 * PhyN - fDiaN3 = pzDia3 * DiaN -#if defined (__coccos) - fCoccoN3 = pzCocco3 * CoccoN -#endif - endif !REcoM_Grazing_Variable_Preference - -!< *** Grazing fluxes *** -!< ********************** - food3 = fPhyN3 + fDiaN3 -#if defined (__coccos) - food3 = food3 + fCoccoN3 -#endif -! ****************************************************************************** - foodsq3 = food3**2 - grazingFlux3 = (Graz_max3 * foodsq3)/(epsilon3 + foodsq3) * MicZooN * q10_mic - grazingFlux_phy3 = (grazingFlux3 * fphyN3)/food3 - grazingFlux_Dia3 = (grazingFlux3 * fDiaN3)/food3 -#if defined (__coccos) - grazingFlux_Cocco3 = (grazingFlux3 * fCoccoN3)/food3 -#endif -#endif + fPhyN = pzPhy * PhyN + fDiaN = pzDia * DiaN -!------------------------------------------------------------------------------- -!< Heterotrophic respiration is assumed to drive zooplankton back to -!< Redfield C:N if their C:N becomes higher than Redfield -!< res_het: Timescale for zooplankton respiration [day−1 ] - - if (het_resp_noredfield) then -#if defined (__3Zoo2Det) - HetRespFlux = res_het * q10_mes_res * HetC ! 3Zoo -#else - HetRespFlux = res_het * arrFunc * HetC ! tau * f_T [HetC] -#endif - else - HetRespFlux = recip_res_het * arrFunc * (hetC * recip_hetN_plus - redfield) * HetC - HetRespFlux = max(zero, HetRespFlux) !!!!!!!! CHECK Judith Valid for het_resp_noredfield case as well ???????? Then move it below + if (Grazing_detritus) then + fDetN = pzDet * DetN endif + if (enable_3zoo2det) then + if (Grazing_detritus) fDetZ2N = pzDetZ2 * DetZ2N + fMicZooN = pzMicZoo * MicZooN + endif -!------------------------------------------------------------------------------- -!< Zooplanton mortality (Quadratic) + if (enable_coccos) then + fCoccoN = pzCocco * CoccoN + fPhaeoN = pzPhaeo * PhaeoN + endif - hetLossFlux = loss_het * HetN * HetN + endif ! REcoM_Grazing_Variable_Preference + + !=============================================================================== + ! 2. TOTAL GRAZING FLUX (HOLLING TYPE III) + !=============================================================================== + ! Calculates total grazing rate using a sigmoidal (Type III) functional response. + ! This creates a threshold effect where grazing accelerates at higher food levels. + ! + ! Variables: + ! food : Total available food [mmolN m-3] + ! foodsq : Squared food concentration [mmolN2 m-6] + ! grazingFlux : Total N grazing rate [mmolN m-3 day-1] + ! Graz_max : Maximum specific grazing rate [day-1] + ! epsilonr : Half-saturation constant squared [mmolN2 m-6] + ! HetN : Mesozooplankton nitrogen concentration [mmolN m-3] + ! q10_mes : Q10 temperature function for mesozooplankton [-] + ! arrFunc : Arrhenius temperature function [-] + ! + ! Equation: Holling Type III + ! grazingFlux = (Graz_max × food²) / (epsilonr + food²) × HetN × T_func + ! + ! Note: Uses Q10 when 3-zoo/2-detritus enabled, otherwise uses Arrhenius + !------------------------------------------------------------------------------- + + ! Sum all available food pools + food = fPhyN + fDiaN -#if defined (__3Zoo2Det) -!------------------------------------------------------------------------------- -!< Second zooplankton respiration + if (Grazing_detritus) then + food = food + fDetN + endif - call krill_resp(n, partit, mesh) + if (enable_3zoo2det) then + if (Grazing_detritus) food = food + fDetZ2N + food = food + fMicZooN + endif - if((grazingFluxcarbonzoo2/Zoo2C) <= 0.1)then - res_zoo2_f = 0.1*(grazingFluxcarbonzoo2/Zoo2C*100) - else - res_zoo2_f = 1. - end if - recip_res_zoo22 = res_zoo2*(1.+ res_zoo2_f + res_zoo2_a) - Zoo2RespFlux = recip_res_zoo22 * Zoo2C -!------------------------------------------------------------------------------- -!< Second zooplankton mortality (Quadratic) + if (enable_coccos) then + food = food + fCoccoN + fPhaeoN + endif - Zoo2LossFlux = loss_zoo2 * zoo2N * zoo2N + ! Calculate grazing flux with Holling Type III functional response + foodsq = food**2 -!------------------------------------------------------------------------------- -!< Second zooplankton fecal pellets + if (enable_3zoo2det) then + grazingFlux = (Graz_max * foodsq) / (epsilonr + foodsq) * HetN * q10_mes + else + grazingFlux = (Graz_max * foodsq) / (epsilonr + foodsq) * HetN * arrFunc + endif - Zoo2fecalloss_n = fecal_rate_n * grazingFlux2 - Zoo2fecalloss_c = fecal_rate_c * grazingFluxcarbonzoo2 + !=============================================================================== + ! 3. GRAZING FLUX DISTRIBUTION + !=============================================================================== + ! Partitions total grazing among prey types proportional to their availability. + ! + ! Variables: + ! grazingFlux_phy : Grazing on small phytoplankton [mmolN m-3 day-1] + ! grazingFlux_Dia : Grazing on diatoms [mmolN m-3 day-1] + ! grazingFlux_Det : Grazing on slow-sinking detritus [mmolN m-3 day-1] + ! grazingFlux_DetZ2 : Grazing on fast-sinking detritus [mmolN m-3 day-1] + ! grazingFlux_miczoo : Grazing on microzooplankton [mmolN m-3 day-1] + ! grazingFlux_Cocco : Grazing on coccolithophores [mmolN m-3 day-1] + ! grazingFlux_Phaeo : Grazing on Phaeocystis [mmolN m-3 day-1] + ! + ! Equation for each prey type i: + ! grazingFlux_i = grazingFlux × (f_i / total_food) + !------------------------------------------------------------------------------- + + grazingFlux_phy = grazingFlux * fPhyN / food + grazingFlux_Dia = grazingFlux * fDiaN / food -!------------------------------------------------------------------------------- -!< Mesozooplankton fecal pellets + if (Grazing_detritus) then + grazingFlux_Det = grazingFlux * fDetN / food + endif - mesfecalloss_n = fecal_rate_n_mes * grazingFlux - mesfecalloss_c = fecal_rate_c_mes * grazingFluxcarbon_mes + if (enable_3zoo2det) then + if (Grazing_detritus) grazingFlux_DetZ2 = grazingFlux * fDetZ2N / food + grazingFlux_miczoo = grazingFlux * fMicZooN / food + endif -!------------------------------------------------------------------------------- -! Third zooplankton, microzooplankton, respiration ! 3Zoo + if (enable_coccos) then + grazingFlux_Cocco = grazingFlux * fCoccoN / food + grazingFlux_Phaeo = grazingFlux * fPhaeoN / food + endif - MicZooRespFlux = res_miczoo * q10_mic_res * MicZooC -!------------------------------------------------------------------------------- -! Third zooplankton, microzooplankton, mortality (Quadratic) ! 3Zoo + !=============================================================================== + ! 4. GRAZING EFFICIENCY AND CARBON FLUX + !=============================================================================== + ! Calculates food-dependent assimilation efficiency and converts grazed nitrogen + ! to carbon flux using prey-specific C:N ratios. + ! + ! Variables: + ! grazEff : Grazing/assimilation efficiency [-] + ! gfin : Baseline grazing efficiency [-] + ! grazingFluxcarbon_mes : Total carbon flux to mesozooplankton [mmolC m-3 day-1] + ! recipQuota : Small phytoplankton C:N ratio [mmolC mmolN-1] + ! recipQuota_Dia : Diatom C:N ratio [mmolC mmolN-1] + ! recipQuota_Cocco : Coccolithophore C:N ratio [mmolC mmolN-1] + ! recipQuota_phaeo : Phaeocystis C:N ratio [mmolC mmolN-1] + ! recipDet, recipDet2 : Detritus C:N ratios [mmolC mmolN-1] + ! recipQZoo3 : Microzooplankton C:N ratio [mmolC mmolN-1] + ! + ! Grazing Efficiency Equation: + ! grazEff = gfin + 1/(0.2×food + 2) + ! Higher food -> higher efficiency (asymptotes to gfin + 0.5) + ! + ! Carbon Flux Equation: + ! C_flux = Σ(grazingFlux_i × C:N_ratio_i × grazEff) + !------------------------------------------------------------------------------- + + ! Calculate food-dependent grazing efficiency + ! Increases with food availability, representing improved assimilation at higher rations + grazEff = gfin + 1.0 / (0.2 * food + 2.0) + + ! Convert grazed nitrogen to carbon flux using prey C:N ratios + grazingFluxcarbon_mes = (grazingFlux_phy * recipQuota * grazEff) + & + (grazingFlux_Dia * recipQuota_Dia * grazEff) - MicZooLossFlux = loss_miczoo * MicZooN * MicZooN -#endif + if (Grazing_detritus) then + grazingFluxcarbon_mes = grazingFluxcarbon_mes + & + (grazingFlux_Det * recipDet * grazEff) + endif -!------------------------------------------------------------------------------- -! Phytoplankton and detritus aggregation -!------------------------------------------------------------------------------- - if (diatom_mucus) then - qlimitFac = recom_limiter(NMinSlope, NCmin_d, quota_dia) - qlimitFacTmp = recom_limiter(SiMinSlope, SiCmin, qSiC) - qlimitFac = min(qLimitFac, qlimitFacTmp) - feLimitFac= Fe/(k_Fe_d + Fe) - qlimitFac = min(qlimitFac, feLimitFac) - aggregationrate = agg_PP * (1 - qlimitFac) * DiaN - else - aggregationrate = agg_PP * DiaN + if (enable_3zoo2det) then + if (Grazing_detritus) then + grazingFluxcarbon_mes = grazingFluxcarbon_mes + & + (grazingFlux_DetZ2 * recipDet2 * grazEff) endif - - aggregationrate = aggregationrate + agg_PD * DetN + agg_PP * PhyN - -#if defined (__3Zoo2Det) - aggregationrate = aggregationrate + agg_PD * DetZ2N ! 2Det -#endif -#if defined (__coccos) - aggregationrate = aggregationrate + agg_PP * CoccoN -#endif - -!------------------------------------------------------------------------------- -! Calcification -!------------------------------------------------------------------------------- -! Terms required for the formation and dissolution of CaCO3 -! Without this, calcification is performed by a fraction of small phytoplankton + grazingFluxcarbon_mes = grazingFluxcarbon_mes + & + (grazingFlux_miczoo * recipQZoo3 * grazEff) + endif + + if (enable_coccos) then + grazingFluxcarbon_mes = grazingFluxcarbon_mes + & + (grazingFlux_Cocco * recipQuota_Cocco * grazEff) + & + (grazingFlux_Phaeo * recipQuota_phaeo * grazEff) + endif + + !=============================================================================== + ! MACROZOOPLANKTON GRAZING + !=============================================================================== + ! Simulates macrozooplankton (second zooplankton) grazing on multiple prey types + ! using a Holling Type II functional response with food-dependent preferences. + ! + ! This module calculates: + ! 1. Food availability and grazing preferences (fixed or variable) + ! 2. Total grazing flux with Holling Type II response + ! 3. Distribution of grazing among prey types + ! 4. Carbon assimilation from grazed prey using C:N ratios + ! + ! Key Features: + ! - Carnivorous feeding: grazes on mesozooplankton and microzooplankton + ! - Herbivorous feeding: grazes on phytoplankton, diatoms, coccolithophores + ! - Detritivorous feeding: optional grazing on slow/fast-sinking detritus + ! - Variable or fixed prey preferences + ! - Temperature-dependent grazing rate (Arrhenius) + ! - Constant assimilation efficiency (grazEff2) + ! + ! Prey Types: + ! - Primary: Mesozooplankton, microzooplankton, small phyto, diatoms + ! - Optional: Coccolithophores, Phaeocystis, slow/fast-sinking detritus + ! + ! References: + ! - Schourup-Kristensen et al. (2013) - REcoM model description + !=============================================================================== + + if (enable_3zoo2det) then + + !=========================================================================== + ! 1. FOOD AVAILABILITY AND GRAZING PREFERENCES + !=========================================================================== + ! Calculates which prey types are available and their relative preferences. + ! Two modes: + ! - Variable preferences: Adjust based on relative prey abundance + ! - Fixed preferences: Use constant maximum preference values + ! + ! Variables: + ! pzPhy2, pzDia2 : Max preference for small phyto and diatoms [-] + ! pzCocco2, pzPhaeo2: Max preference for coccoliths and Phaeocystis [-] + ! pzHet : Max preference for mesozooplankton [-] + ! pzMicZoo2 : Max preference for microzooplankton [-] + ! pzDet2, pzDetZ22 : Max preference for slow/fast sinking detritus [-] + ! PhyN, DiaN : Small phytoplankton and diatom nitrogen [mmolN m-3] + ! CoccoN, PhaeoN : Coccolithophore and Phaeocystis nitrogen [mmolN m-3] + ! HetN : Mesozooplankton nitrogen [mmolN m-3] + ! MicZooN : Microzooplankton nitrogen [mmolN m-3] + ! DetN, DetZ2N : Slow and fast sinking detritus nitrogen [mmolN m-3] + ! varpz*2, varpzHet: Variable preferences (calculated from availability) [-] + ! f*N2, fHetN : Available food pools (preference × concentration) [mmolN m-3] + ! aux : Total weighted food availability [mmolN m-3] + ! + ! Logic: + ! IF variable preferences: varpz_i = (pz_i × prey_i) / Σ(pz_j × prey_j) + ! ELSE: Use fixed maximum preferences (pz_i) + ! Food pools: f_i = preference_i × prey_i + !--------------------------------------------------------------------------- + + if (REcoM_Grazing_Variable_Preference) then + !----------------------------------------------------------------------- + ! VARIABLE PREFERENCE MODE + ! Preferences scale with relative abundance of each prey type + !----------------------------------------------------------------------- + + ! Calculate total weighted food availability (denominator) + ! Core prey: phytoplankton, diatoms, meso- and microzooplankton + aux = pzPhy2 * PhyN + pzDia2 * DiaN + pzHet * HetN + pzMicZoo2 * MicZooN + + ! Add detritus pools if detrital grazing is enabled + if (Grazing_detritus) then + aux = aux + pzDet2 * DetN + pzDetZ22 * DetZ2N + endif + + ! Add coccolithophores and Phaeocystis if enabled + if (enable_coccos) then + aux = aux + pzCocco2 * CoccoN + pzPhaeo2 * PhaeoN + endif + + ! Calculate variable preferences (normalized by total availability) + ! Each preference = (max_pref × prey_conc) / total_weighted_food + varpzPhy2 = (pzPhy2 * PhyN) / aux + varpzDia2 = (pzDia2 * DiaN) / aux + varpzMicZoo2 = (pzMicZoo2 * MicZooN) / aux + varpzHet = (pzHet * HetN) / aux + + if (enable_coccos) then + varpzCocco2 = (pzCocco2 * CoccoN) / aux + varpzPhaeo2 = (pzPhaeo2 * PhaeoN) / aux + endif + + if (Grazing_detritus) then + varpzDet2 = (pzDet2 * DetN) / aux + varpzDetZ22 = (pzDetZ22 * DetZ2N) / aux + end if + + ! Calculate available food pools (preference × concentration) + fPhyN2 = varpzPhy2 * PhyN + fDiaN2 = varpzDia2 * DiaN + fMicZooN2 = varpzMicZoo2 * MicZooN + fHetN = varpzHet * HetN + + if (enable_coccos) then + fCoccoN2 = varpzCocco2 * CoccoN + fPhaeoN2 = varpzPhaeo2 * PhaeoN + endif + + if (Grazing_detritus) then + fDetN2 = varpzDet2 * DetN + fDetZ2N2 = varpzDetZ22 * DetZ2N + end if -#if defined (__coccos) - if (Temp(k) < 10.6) then ! (PICPOC definition after Krumhardt et al. 2017, 2019; Temp(k) because we need degC here) - PICPOCtemp = 0.104d0 * Temp(k) - 0.108d0 else - PICPOCtemp = 1.0d0 - end if - PICPOCtemp = max(tiny,PICPOCtemp) - - PICPOCCO2 = a_co2_calc * HCO3_watercolumn(k) * Cunits / (b_co2_calc + HCO3_watercolumn(k) * Cunits) - exp(-c_co2_calc * CO2_watercolumn(k) * Cunits) - d_co2_calc * 10.**(-pH_watercolumn(k)) - PICPOCCO2 = min(PICPOCCO2,3.d0) ! April 2022: limitation to 3 - PICPOCCO2 = max(0.d0,PICPOCCO2) ! July 2022: limitation to zero - - PICPOCN = -0.31 * (DIN/(DIN + k_din_c)) + 1.31 - PICPOCN = max(tiny,PICPOCN) - - calcification = 1.d0 * Cphot_cocco * CoccoC * PICPOCtemp * PICPOCN - if (CO2lim) calcification = calcification * PICPOCCO2 - -#else -!< calc_prod_ratio: Calcite production ratio, dimensionless - calcification = calc_prod_ratio * Cphot * PhyC ! Z in equations -#endif - - calc_loss_agg = aggregationrate * PhyCalc - -#if defined (__coccos) -!< *** Coccolithophores *** -!< ************************ - aux = recipQuota_Cocco/(CoccoC + tiny) * PhyCalc - calc_loss_gra = grazingFlux_Cocco * aux -#if defined (__3Zoo2Det) - calc_loss_gra2 = grazingFlux_Cocco2 * aux - calc_loss_gra3 = grazingFlux_Cocco3 * aux ! 3Zoo -#endif - -#else -!< *** Small phytoplankton *** -!< *************************** - aux = recipQuota/(PhyC + tiny) * PhyCalc - calc_loss_gra = grazingFlux_phy * aux -#if defined (__3Zoo2Det) - calc_loss_gra2 = grazingFlux_phy2 * aux - calc_loss_gra3 = grazingFlux_phy3 * aux ! 3Zoo -#endif -#endif -!------------------------------------------------------------------------------- -! Sources minus sinks (SMS) -!------------------------------------------------------------------------------- + !----------------------------------------------------------------------- + ! FIXED PREFERENCE MODE + ! Use constant maximum preference values + !----------------------------------------------------------------------- + + fPhyN2 = pzPhy2 * PhyN + fDiaN2 = pzDia2 * DiaN + fMicZooN2 = pzMicZoo2 * MicZooN + fHetN = pzHet * HetN + + if (enable_coccos) then + fCoccoN2 = pzCocco2 * CoccoN + fPhaeoN2 = pzPhaeo2 * PhaeoN + endif + + if (Grazing_detritus) then + fDetN2 = pzDet2 * DetN + fDetZ2N2 = pzDetZ22 * DetZ2N + end if + + end if ! REcoM_Grazing_Variable_Preference + + !=========================================================================== + ! 2. TOTAL GRAZING FLUX (HOLLING TYPE II) + !=========================================================================== + ! Calculates total grazing rate using a hyperbolic (Type II) functional + ! response. This creates saturating grazing at high food concentrations. + ! + ! Variables: + ! food2 : Total available food [mmolN m-3] + ! foodsq2 : Squared food concentration [mmolN2 m-6] + ! grazingFlux2 : Total N grazing rate [mmolN m-3 day-1] + ! Graz_max2 : Maximum specific grazing rate [day-1] + ! epsilon2 : Half-saturation constant squared [mmolN2 m-6] + ! Zoo2N : Macrozooplankton nitrogen concentration [mmolN m-3] + ! arrFuncZoo2 : Arrhenius temperature function for macrozooplankton [-] + ! + ! Equation: Holling Type II + ! grazingFlux2 = (Graz_max2 × food²) / (epsilon2 + food²) × Zoo2N × T_func + ! + ! Note: Uses Arrhenius temperature dependency (arrFuncZoo2) + !--------------------------------------------------------------------------- + + ! Sum all available food pools + food2 = fPhyN2 + fDiaN2 + fHetN + fMicZooN2 -!< *** DIN *** -!< *********** - -!< N_assim: N assimilation rate for nanophytoplankton [mmolN mmolC-1 day-1] -!< PhyC: Intracellular carbon concentration in nanophytoplankton [mmolC m-3] -!< N_assim_Dia: N assimilation rate for diatoms [mmolN mmolC-1 day-1] -!< DiaC: Intracellular carbon concentration in diatoms [mmolC m-3] -!< N_assim_Cocco: N assimilation rate for coccolithophore [mmolN mmolC-1 day-1] -!< CoccoC: Intracellular carbon concentration in coccolithophore [mmolC m-3] -!< rho_N*arrFunc: Remineralization rate and temperature dependency which is calculated with arrFunc [day^-1] -!< O2Func: O2 dependency of organic matter remineralization -!< DON: Extracellular dissolved organic nitrogen [mmolN m-3] -!< dt_b: REcoM time step [day] - -!! Schourup 2013 Eq. A2 - - sms(k,idin) = ( & - - N_assim * PhyC & ! --> N assimilation Nanophytoplankton, [mmol N/(mmol C * day)] C specific N utilization rate - - N_assim_Dia * DiaC & ! --> N assimilation Diatoms -#if defined (__coccos) - - N_assim_Cocco * CoccoC & ! --> N assimilation Coccolithophore -#endif - + rho_N * arrFunc * O2Func * DON & ! --> DON remineralization, temperature dependent [day^-1 * mmol/m3] ! O2remin - ) * dt_b + sms(k,idin) - -!< *** DIC *** -!< *********** - -!< rho_C1: Temperature dependent C degradation of extracellular organic C (EOC) [day^-1] - - sms(k,idic) = ( & - - Cphot * PhyC & ! --> Small pyhtoplankton photosynthesis - + phyRespRate * PhyC & ! --> Small pyhtoplankton respiration - - Cphot_Dia * DiaC & ! --> Diatom photosynthesis - + phyRespRate_Dia * DiaC & ! --> Diatom respiration -#if defined (__coccos) - - Cphot_Cocco * CoccoC & ! --> Coccolithophore photosynthesis - + phyRespRate_Cocco * CoccoC & ! --> Coccolithophore respiration -#endif - + rho_C1 * arrFunc * O2Func * EOC & ! --> Remineralization of DOC ! NEW O2remin - + HetRespFlux & ! --> Mesozooplankton respiration -#if defined (__3Zoo2Det) - + Zoo2RespFlux & ! --> Macrozooplankton respiration - + MicZooRespFlux & ! --> Microzooplankton respiration -#endif - + calc_diss * DetCalc & ! --> Calcite dissolution from slow-sinking detritus - + calc_loss_gra * calc_diss_guts & ! --> Additional dissolution in mesozooplankton guts -#if defined (__3Zoo2Det) - + calc_loss_gra2 * calc_diss_guts & ! --> Additional dissolution in macrozooplankton guts - + calc_loss_gra3 * calc_diss_guts & ! --> Additional dissolution in microzooplankton guts - + calc_diss2 * DetZ2Calc & ! --> Calcite dissolution from fast-sinking detritus -#endif - - calcification & ! --> Calcification - ) * dt_b + sms(k,idic) + if (Grazing_detritus) then + food2 = food2 + fDetN2 + fDetZ2N2 + endif + + if (enable_coccos) then + food2 = food2 + fCoccoN2 + fPhaeoN2 + endif + + ! Calculate grazing flux with Holling Type II functional response + ! Type II uses squared food (similar to Type III but with different parameters) + foodsq2 = food2**2 + grazingFlux2 = (Graz_max2 * foodsq2) / (epsilon2 + foodsq2) * Zoo2N * arrFuncZoo2 + + !=========================================================================== + ! 3. GRAZING FLUX DISTRIBUTION + !=========================================================================== + ! Partitions total grazing among prey types proportional to their availability. + ! + ! Variables: + ! grazingFlux_phy2 : Grazing on small phytoplankton [mmolN m-3 day-1] + ! grazingFlux_Dia2 : Grazing on diatoms [mmolN m-3 day-1] + ! grazingFlux_miczoo2 : Grazing on microzooplankton [mmolN m-3 day-1] + ! grazingFlux_het2 : Grazing on mesozooplankton [mmolN m-3 day-1] + ! grazingFlux_Cocco2 : Grazing on coccolithophores [mmolN m-3 day-1] + ! grazingFlux_Phaeo2 : Grazing on Phaeocystis [mmolN m-3 day-1] + ! grazingFlux_Det2 : Grazing on slow-sinking detritus [mmolN m-3 day-1] + ! grazingFlux_DetZ22 : Grazing on fast-sinking detritus [mmolN m-3 day-1] + ! + ! Equation for each prey type i: + ! grazingFlux_i = grazingFlux2 × (f_i / total_food) + !--------------------------------------------------------------------------- + + ! Distribute total grazing among prey types proportionally + grazingFlux_phy2 = (grazingFlux2 * fPhyN2) / food2 + grazingFlux_Dia2 = (grazingFlux2 * fDiaN2) / food2 + grazingFlux_miczoo2 = (grazingFlux2 * fMicZooN2) / food2 + grazingFlux_het2 = (grazingFlux2 * fHetN) / food2 + + if (enable_coccos) then + grazingFlux_Cocco2 = (grazingFlux2 * fCoccoN2) / food2 + grazingFlux_Phaeo2 = (grazingFlux2 * fPhaeoN2) / food2 + endif + + if (Grazing_detritus) then + grazingFlux_Det2 = (grazingFlux2 * fDetN2) / food2 + grazingFlux_DetZ22 = (grazingFlux2 * fDetZ2N2) / food2 + end if + + !=========================================================================== + ! 4. CARBON ASSIMILATION + !=========================================================================== + ! Converts grazed nitrogen to assimilated carbon flux using prey-specific + ! C:N ratios and constant grazing efficiency. + ! + ! Variables: + ! grazingFluxcarbonzoo2 : Total carbon flux to macrozooplankton [mmolC m-3 day-1] + ! grazEff2 : Macrozooplankton grazing efficiency (constant) [-] + ! recipQuota : Small phytoplankton C:N ratio [mmolC mmolN-1] + ! recipQuota_Dia : Diatom C:N ratio [mmolC mmolN-1] + ! recipQuota_Cocco : Coccolithophore C:N ratio [mmolC mmolN-1] + ! recipQuota_Phaeo : Phaeocystis C:N ratio [mmolC mmolN-1] + ! recipQZoo : Mesozooplankton C:N ratio [mmolC mmolN-1] + ! recipQZoo3 : Microzooplankton C:N ratio [mmolC mmolN-1] + ! recipDet, recipDet2 : Detritus C:N ratios [mmolC mmolN-1] + ! + ! Carbon Flux Equation: + ! C_flux = Σ(grazingFlux_i × C:N_ratio_i × grazEff2) + ! + ! Note: Unlike mesozooplankton, macrozooplankton uses constant efficiency + ! (grazEff2) rather than food-dependent efficiency + !--------------------------------------------------------------------------- + + ! Convert grazed nitrogen to carbon flux using prey C:N ratios + ! Start with core prey types (always present) + grazingFluxcarbonzoo2 = (grazingFlux_phy2 * recipQuota * grazEff2) + & + (grazingFlux_Dia2 * recipQuota_Dia * grazEff2) + & + (grazingFlux_het2 * recipQZoo * grazEff2) + & + (grazingFlux_miczoo2 * recipQZoo3 * grazEff2) + + ! Add detritus contribution if detrital grazing is enabled + if (Grazing_detritus) then + grazingFluxcarbonzoo2 = grazingFluxcarbonzoo2 + & + (grazingFlux_Det2 * recipDet * grazEff2) + & + (grazingFlux_DetZ22 * recipDet2 * grazEff2) + end if + + ! Add coccolithophore and Phaeocystis contribution if enabled + if (enable_coccos) then + grazingFluxcarbonzoo2 = grazingFluxcarbonzoo2 + & + (grazingFlux_Cocco2 * recipQuota_Cocco * grazEff2) + & + (grazingFlux_Phaeo2 * recipQuota_Phaeo * grazEff2) + endif + + endif ! enable_3zoo2det + + !=============================================================================== + ! MICROZOOPLANKTON GRAZING + !=============================================================================== + ! Simulates microzooplankton (third zooplankton) grazing on phytoplankton prey + ! using a Holling Type II functional response with food-dependent preferences. + ! + ! This module calculates: + ! 1. Food availability and grazing preferences (fixed or variable) + ! 2. Total grazing flux with Holling Type II response + ! 3. Distribution of grazing among prey types + ! 4. Carbon assimilation from grazed prey (calculated elsewhere) + ! + ! Key Features: + ! - Strictly herbivorous: only grazes on phytoplankton groups + ! - No carnivory: does not graze on other zooplankton + ! - No detritivory: does not graze on detritus + ! - Variable or fixed prey preferences + ! - Temperature-dependent grazing rate (Q10) + ! - Smallest zooplankton size class (fastest response to phytoplankton) + ! + ! Prey Types: + ! - Primary: Small phytoplankton, diatoms + ! - Optional: Coccolithophores, Phaeocystis + ! + ! Ecological Role: + ! - Links small phytoplankton to higher trophic levels + ! - Prey for mesozooplankton and macrozooplankton + ! - Rapid response to phytoplankton blooms + ! + ! References: + ! - Schourup-Kristensen et al. (2013) - REcoM model description + !=============================================================================== + + if (enable_3zoo2det) then + + !=========================================================================== + ! 1. FOOD AVAILABILITY AND GRAZING PREFERENCES + !=========================================================================== + ! Calculates which phytoplankton prey types are available and their + ! relative preferences. + ! Two modes: + ! - Variable preferences: Adjust based on relative prey abundance + ! - Fixed preferences: Use constant maximum preference values + ! + ! Variables: + ! pzPhy3, pzDia3 : Max preference for small phyto and diatoms [-] + ! pzCocco3, pzPhaeo3 : Max preference for coccoliths and Phaeocystis [-] + ! PhyN, DiaN : Small phytoplankton and diatom nitrogen [mmolN m-3] + ! CoccoN, PhaeoN : Coccolithophore and Phaeocystis nitrogen [mmolN m-3] + ! varpzPhy3, varpzDia3: Variable preferences (calculated from availability) [-] + ! varpzCocco3, varpzPhaeo3: Variable preferences for coccos/phaeo [-] + ! fPhyN3, fDiaN3 : Available food pools (preference × concentration) [mmolN m-3] + ! fCoccoN3, fPhaeoN3 : Available coccolithophore/Phaeocystis pools [mmolN m-3] + ! aux : Total weighted food availability [mmolN m-3] + ! + ! Logic: + ! IF variable preferences: varpz_i = (pz_i × prey_i) / Σ(pz_j × prey_j) + ! ELSE: Use fixed maximum preferences (pz_i) + ! Food pools: f_i = preference_i × prey_i + ! + ! Note: Microzooplankton have simpler feeding than meso/macrozooplankton + ! - No carnivory (no zooplankton prey) + ! - No detritivory (no detritus grazing) + !--------------------------------------------------------------------------- + + if (REcoM_Grazing_Variable_Preference) then + !----------------------------------------------------------------------- + ! VARIABLE PREFERENCE MODE + ! Preferences scale with relative abundance of each phytoplankton type + !----------------------------------------------------------------------- + + ! Calculate total weighted food availability (denominator) + ! Core phytoplankton prey: small phytoplankton and diatoms + aux = pzPhy3 * PhyN + pzDia3 * DiaN + + ! Add coccolithophores and Phaeocystis if enabled + if (enable_coccos) then + aux = aux + pzCocco3 * CoccoN + pzPhaeo3 * PhaeoN + endif + + ! Calculate variable preferences (normalized by total availability) + ! Each preference = (max_pref × prey_conc) / total_weighted_food + varpzPhy3 = (pzPhy3 * PhyN) / aux + varpzDia3 = (pzDia3 * DiaN) / aux + + if (enable_coccos) then + varpzCocco3 = (pzCocco3 * CoccoN) / aux + varpzPhaeo3 = (pzPhaeo3 * PhaeoN) / aux + endif + + ! Calculate available food pools (preference × concentration) + fPhyN3 = varpzPhy3 * PhyN + fDiaN3 = varpzDia3 * DiaN + + if (enable_coccos) then + fCoccoN3 = varpzCocco3 * CoccoN + fPhaeoN3 = varpzPhaeo3 * PhaeoN + endif + + else + !----------------------------------------------------------------------- + ! FIXED PREFERENCE MODE + ! Use constant maximum preference values + !----------------------------------------------------------------------- + + fPhyN3 = pzPhy3 * PhyN + fDiaN3 = pzDia3 * DiaN + + if (enable_coccos) then + fCoccoN3 = pzCocco3 * CoccoN + fPhaeoN3 = pzPhaeo3 * PhaeoN + endif + + endif ! REcoM_Grazing_Variable_Preference + + !=========================================================================== + ! 2. TOTAL GRAZING FLUX (HOLLING TYPE II) + !=========================================================================== + ! Calculates total grazing rate using a hyperbolic (Type II) functional + ! response. This creates saturating grazing at high phytoplankton + ! concentrations. + ! + ! Variables: + ! food3 : Total available phytoplankton food [mmolN m-3] + ! foodsq3 : Squared food concentration [mmolN2 m-6] + ! grazingFlux3 : Total N grazing rate [mmolN m-3 day-1] + ! Graz_max3 : Maximum specific grazing rate [day-1] + ! epsilon3 : Half-saturation constant squared [mmolN2 m-6] + ! MicZooN : Microzooplankton nitrogen concentration [mmolN m-3] + ! q10_mic : Q10 temperature function for microzooplankton [-] + ! + ! Equation: Holling Type II + ! grazingFlux3 = (Graz_max3 × food³) / (epsilon3 + food²) × MicZooN × T_func + ! + ! Note: Uses Q10 temperature dependency (q10_mic) for rapid metabolic response + ! Smaller organisms typically have higher Q10 sensitivity + !--------------------------------------------------------------------------- + + ! Sum all available phytoplankton food pools + food3 = fPhyN3 + fDiaN3 + + if (enable_coccos) then + food3 = food3 + fCoccoN3 + fPhaeoN3 + endif + + ! Calculate grazing flux with Holling Type II functional response + ! Type II creates hyperbolic saturation: grazing rate increases rapidly + ! at low food, then saturates at high food concentrations + foodsq3 = food3**2 + grazingFlux3 = (Graz_max3 * foodsq3) / (epsilon3 + foodsq3) * MicZooN * q10_mic + + !=========================================================================== + ! 3. GRAZING FLUX DISTRIBUTION + !=========================================================================== + ! Partitions total grazing among phytoplankton prey types proportional + ! to their availability. + ! + ! Variables: + ! grazingFlux_phy3 : Grazing on small phytoplankton [mmolN m-3 day-1] + ! grazingFlux_Dia3 : Grazing on diatoms [mmolN m-3 day-1] + ! grazingFlux_Cocco3 : Grazing on coccolithophores [mmolN m-3 day-1] + ! grazingFlux_Phaeo3 : Grazing on Phaeocystis [mmolN m-3 day-1] + ! + ! Equation for each prey type i: + ! grazingFlux_i = grazingFlux3 × (f_i / total_food) + ! + ! Note: This proportional distribution ensures conservation of mass + ! The sum of all distributed fluxes equals the total grazing flux + !--------------------------------------------------------------------------- + + ! Distribute total grazing among phytoplankton prey types proportionally + grazingFlux_phy3 = (grazingFlux3 * fPhyN3) / food3 + grazingFlux_Dia3 = (grazingFlux3 * fDiaN3) / food3 + + if (enable_coccos) then + grazingFlux_Cocco3 = (grazingFlux3 * fCoccoN3) / food3 + grazingFlux_Phaeo3 = (grazingFlux3 * fPhaeoN3) / food3 + endif + + !=========================================================================== + ! 4. CARBON ASSIMILATION + !=========================================================================== + ! Carbon flux calculation for microzooplankton is handled elsewhere in the + ! model code using the nitrogen grazing fluxes calculated above and + ! prey-specific C:N ratios. + ! + ! The carbon assimilation follows the general pattern: + ! C_flux = Σ(grazingFlux_i × C:N_ratio_i × grazEff3) + ! + ! Where: + ! grazEff3 = Microzooplankton grazing efficiency (constant) [-] + ! C:N ratios for each phytoplankton prey type [mmolC mmolN-1] + ! + ! This calculation is performed in the carbon balance section of the model + ! to maintain consistency with other carbon flux calculations. + !=========================================================================== + + endif ! enable_3zoo2det + + !=============================================================================== + ! MESOZOOPLANKTON RESPIRATION + !=============================================================================== + ! Calculates mesozooplankton carbon respiration using either simple temperature- + ! dependent respiration or Redfield-based respiration that accounts for C:N + ! stoichiometry deviations. + ! + ! Two respiration modes: + ! A) Simple mode: Constant specific rate with temperature correction + ! B) Redfield mode: Respirate excess carbon above Redfield C:N ratio + ! + ! Variables: + ! HetRespFlux : Mesozooplankton respiration rate [mmolC m-3 day-1] + ! res_het : Baseline respiration rate constant [day-1] + ! HetC : Mesozooplankton carbon concentration [mmolC m-3] + ! HetN : Mesozooplankton nitrogen concentration [mmolN m-3] + ! q10_mes_res : Q10 temperature function for meso respiration [-] + ! arrFunc : Arrhenius temperature function [-] + ! recip_hetN_plus : Reciprocal of (HetN + small number) [mmolN-1 m3] + ! redfield : Redfield C:N ratio (106:16 ≈ 6.625) [mmolC mmolN-1] + ! recip_res_het : Reciprocal respiration parameter [day-1] + ! + ! Logic: + ! IF simple mode: RespFlux = res_het × T_func × HetC + ! ELSE Redfield mode: RespFlux = recip_res_het × T_func × (C:N - Redfield) × HetC + ! Redfield mode respirates excess carbon when C:N > Redfield ratio + ! + ! Note: Redfield-based respiration maintains stoichiometric homeostasis + !------------------------------------------------------------------------------- + + if (het_resp_noredfield) then + !--------------------------------------------------------------------------- + ! SIMPLE RESPIRATION MODE + ! Constant specific rate with temperature dependency + !--------------------------------------------------------------------------- + + if (enable_3zoo2det) then + ! Use Q10 temperature function (exponential temperature sensitivity) + HetRespFlux = res_het * q10_mes_res * HetC + else + ! Use Arrhenius temperature function + HetRespFlux = res_het * arrFunc * HetC + endif + + else + !--------------------------------------------------------------------------- + ! REDFIELD-BASED RESPIRATION MODE + ! Respirate excess carbon above Redfield C:N ratio + !--------------------------------------------------------------------------- + + ! Calculate respiration based on deviation from Redfield ratio + ! When C:N > Redfield, organism has excess carbon that must be respired + ! This maintains stoichiometric balance in the organism + HetRespFlux = recip_res_het * arrFunc * (HetC * recip_hetN_plus - redfield) * HetC + + ! Ensure non-negative flux (no respiration when C:N ≤ Redfield) + HetRespFlux = max(zero, HetRespFlux) + + endif + + !=============================================================================== + ! CARBON ISOTOPE TRACKING (OPTIONAL) + !=============================================================================== + ! Tracks respiration fluxes of carbon isotopes (13C and 14C) for paleoclimate + ! and carbon cycle studies. + ! + ! Variables: + ! HetRespFlux_13 : 13C respiration flux [mmol13C m-3 day-1] + ! HetRespFlux_14 : 14C respiration flux [mmol14C m-3 day-1] + ! HetC_13 : Mesozooplankton 13C concentration [mmol13C m-3] + ! HetC_14 : Mesozooplankton 14C concentration [mmol14C m-3] + ! HetC : Total mesozooplankton carbon [mmolC m-3] + ! ciso : Flag for 13C isotope tracking [logical] + ! ciso_14 : Flag for 14C isotope tracking [logical] + ! ciso_organic_14 : Flag for 14C in organic matter [logical] + ! + ! Equation: + ! IsotopeFlux = TotalFlux × (Isotope_C / Total_C) + ! Assumes isotope ratios are conserved during respiration + !------------------------------------------------------------------------------- + + if (ciso) then + ! Track 13C respiration proportional to 13C:12C ratio in biomass + HetRespFlux_13 = HetRespFlux * HetC_13 / HetC + + if (ciso_14 .and. ciso_organic_14) then + ! Track 14C respiration (for radiocarbon dating applications) + ! Used to study carbon residence times and ocean circulation + HetRespFlux_14 = HetRespFlux * HetC_14 / HetC + end if + end if + + !=============================================================================== + ! MESOZOOPLANKTON MORTALITY + !=============================================================================== + ! Calculates density-dependent mortality using quadratic formulation. + ! Higher densities lead to disproportionately higher mortality. + ! + ! Variables: + ! hetLossFlux : Mesozooplankton mortality flux [mmolN m-3 day-1] + ! loss_het : Mortality rate constant [day-1 (mmolN m-3)-1] + ! HetN : Mesozooplankton nitrogen concentration [mmolN m-3] + ! + ! Equation: Quadratic Mortality + ! Mortality = loss_het × HetN² + ! + ! Ecological Rationale: + ! - Linear term represents background mortality (disease, senescence) + ! - Quadratic term represents density-dependent processes: + ! * Increased predation pressure at high densities + ! * Disease transmission (increases with encounter rate) + ! * Intraspecific competition for resources + ! + ! Note: Mortality products go to detritus pool (recycling pathway) + !------------------------------------------------------------------------------- + + hetLossFlux = loss_het * HetN * HetN + + if (enable_3zoo2det) then + + !=========================================================================== + ! MACROZOOPLANKTON RESPIRATION (KRILL) + !=========================================================================== + ! Calculates macrozooplankton respiration with feeding-dependent stress + ! response. Poor feeding conditions increase metabolic costs. + ! + ! Variables: + ! Zoo2RespFlux : Macrozooplankton respiration [mmolC m-3 day-1] + ! res_zoo2 : Baseline respiration rate [day-1] + ! res_zoo2_f : Feeding success modifier [-] + ! res_zoo2_a : Additional respiration factor [-] + ! recip_res_zoo22 : Combined respiration coefficient [day-1] + ! Zoo2C : Macrozooplankton carbon concentration [mmolC m-3] + ! grazingFluxcarbonzoo2: Carbon ingestion rate [mmolC m-3 day-1] + ! + ! Feeding Success Response: + ! - IF specific ingestion < 0.1 day-1: Stress response activated + ! * Increases metabolic costs (searching, maintenance) + ! * res_zoo2_f scales linearly with feeding rate + ! - ELSE: Normal feeding conditions (res_zoo2_f = 1.0) + ! + ! Total Respiration: + ! RespFlux = res_zoo2 × (1 + res_zoo2_f + res_zoo2_a) × Zoo2C + ! + ! Note: Calls external subroutine krill_resp() for detailed metabolism + !--------------------------------------------------------------------------- + + ! Call detailed krill respiration subroutine + ! Handles additional physiological processes (e.g., molting, reproduction) + call krill_resp(n, partit, mesh) + + ! Calculate feeding success modifier + ! Low feeding rates trigger stress response with elevated respiration + if ((grazingFluxcarbonzoo2 / Zoo2C) <= 0.1) then + ! Stress response: metabolic costs increase linearly with feeding deficit + ! Factor of 0.1 converts to percentage basis + res_zoo2_f = 0.1 * (grazingFluxcarbonzoo2 / Zoo2C * 100.0) + else + ! Normal feeding: no additional metabolic stress + res_zoo2_f = 1.0 + end if + + ! Calculate combined respiration coefficient + ! Includes baseline + feeding stress + additional factors + recip_res_zoo22 = res_zoo2 * (1.0 + res_zoo2_f + res_zoo2_a) + + ! Calculate total respiration flux + Zoo2RespFlux = recip_res_zoo22 * Zoo2C + + !=========================================================================== + ! MACROZOOPLANKTON MORTALITY + !=========================================================================== + ! Quadratic density-dependent mortality for macrozooplankton. + ! + ! Variables: + ! Zoo2LossFlux : Macrozooplankton mortality flux [mmolN m-3 day-1] + ! loss_zoo2 : Mortality rate constant [day-1 (mmolN m-3)-1] + ! zoo2N : Macrozooplankton nitrogen concentration [mmolN m-3] + ! + ! Equation: Quadratic Mortality + ! Mortality = loss_zoo2 × zoo2N² + !--------------------------------------------------------------------------- + + Zoo2LossFlux = loss_zoo2 * zoo2N * zoo2N + + !=========================================================================== + ! MICROZOOPLANKTON RESPIRATION AND MORTALITY + !=========================================================================== + ! Calculates microzooplankton respiration and mortality. + ! Simpler than macro/mesozooplankton (no feeding-dependent stress). + ! + ! Variables: + ! MicZooRespFlux : Microzooplankton respiration [mmolC m-3 day-1] + ! MicZooLossFlux : Microzooplankton mortality [mmolN m-3 day-1] + ! res_miczoo : Respiration rate constant [day-1] + ! loss_miczoo : Mortality rate constant [day-1 (mmolN m-3)-1] + ! q10_mic_res : Q10 temperature function for micro respiration [-] + ! MicZooC : Microzooplankton carbon concentration [mmolC m-3] + ! MicZooN : Microzooplankton nitrogen concentration [mmolN m-3] + ! + ! Respiration Equation: + ! RespFlux = res_miczoo × q10_mic_res × MicZooC + ! + ! Mortality Equation: + ! Mortality = loss_miczoo × MicZooN² + !--------------------------------------------------------------------------- + + ! Temperature-dependent respiration (Q10 formulation) + ! Smaller organisms typically have higher temperature sensitivity + MicZooRespFlux = res_miczoo * q10_mic_res * MicZooC + + ! Quadratic density-dependent mortality + MicZooLossFlux = loss_miczoo * MicZooN * MicZooN + + endif ! enable_3zoo2det + + !=============================================================================== + ! FECAL PELLET PRODUCTION + !=============================================================================== + ! Calculates fecal pellet production from mesozooplankton and macrozooplankton. + ! Fecal pellets are key to the biological carbon pump due to fast sinking. + ! + ! Fecal pellets represent: + ! - Undigested/unassimilated food material + ! - Packaged waste with high sinking velocity (100-1000 m/day) + ! - Major pathway for carbon export to deep ocean + ! - Important food source for deep-sea organisms + ! + ! Variables: + ! Zoo2fecalloss_n : Macrozooplankton fecal N [mmolN m-3 day-1] + ! Zoo2fecalloss_c : Macrozooplankton fecal C [mmolC m-3 day-1] + ! mesfecalloss_n : Mesozooplankton fecal N [mmolN m-3 day-1] + ! mesfecalloss_c : Mesozooplankton fecal C [mmolC m-3 day-1] + ! fecal_rate_n : Fecal production rate for N [fraction of ingestion] + ! fecal_rate_c : Fecal production rate for C [fraction of ingestion] + ! fecal_rate_n_mes : Mesozooplankton N fecal rate [-] + ! fecal_rate_c_mes : Mesozooplankton C fecal rate [-] + ! grazingFlux2 : Macrozooplankton N ingestion [mmolN m-3 day-1] + ! grazingFlux : Mesozooplankton N ingestion [mmolN m-3 day-1] + ! grazingFluxcarbonzoo2 : Macro C ingestion [mmolC m-3 day-1] + ! grazingFluxcarbon_mes : Meso C ingestion [mmolC m-3 day-1] + ! + ! Equation: + ! Fecal_flux = fecal_rate × ingestion_flux + ! Fecal rate typically 10-30% of ingestion (remainder is assimilated) + ! + ! Note: Fecal C:N ratio may differ from prey due to selective digestion + !------------------------------------------------------------------------------- + + if (enable_3zoo2det) then + + !--------------------------------------------------------------------------- + ! Macrozooplankton Fecal Pellet Production + !--------------------------------------------------------------------------- + ! Larger zooplankton produce larger, faster-sinking fecal pellets + + Zoo2fecalloss_n = fecal_rate_n * grazingFlux2 ! Nitrogen + Zoo2fecalloss_c = fecal_rate_c * grazingFluxcarbonzoo2 ! Carbon + + !--------------------------------------------------------------------------- + ! Mesozooplankton Fecal Pellet Production + !--------------------------------------------------------------------------- + ! Smaller fecal pellets than macrozooplankton but still fast-sinking + + mesfecalloss_n = fecal_rate_n_mes * grazingFlux ! Nitrogen + mesfecalloss_c = fecal_rate_c_mes * grazingFluxcarbon_mes ! Carbon + + endif ! enable_3zoo2det + + !=============================================================================== + ! PHYTOPLANKTON AND DETRITUS AGGREGATION + !=============================================================================== + ! Calculates particle aggregation that forms larger, faster-sinking particles. + ! Critical process for biological carbon pump and export production. + ! + ! Aggregation mechanisms: + ! - Particle collision and sticking (Brownian motion, shear, settling) + ! - Diatom mucus production enhances aggregation (nutrient stress response) + ! - Transparent exopolymer particles (TEP) glue particles together + ! + ! Variables: + ! aggregationrate : Total particle aggregation rate [mmolN m-3 day-1] + ! agg_PP : Phytoplankton-phytoplankton aggregation rate [day-1] + ! agg_PD : Phytoplankton-detritus aggregation rate [day-1] + ! PhyN, DiaN : Phytoplankton nitrogen concentrations [mmolN m-3] + ! CoccoN, PhaeoN : Coccolithophore and Phaeocystis N [mmolN m-3] + ! DetN, DetZ2N : Slow and fast-sinking detritus N [mmolN m-3] + ! qlimitFac : Nutrient limitation factor (0=replete, 1=limited) [-] + ! feLimitFac : Iron limitation factor [-] + ! quota_dia : Diatom N:C quota [mmolN mmolC-1] + ! qSiC : Diatom Si:C quota [mmolSi mmolC-1] + ! + ! Note: Aggregation products enter fast-sinking detritus pool (DetZ2N) + !------------------------------------------------------------------------------- + + !--------------------------------------------------------------------------- + ! Diatom Mucus-Enhanced Aggregation (Optional) + !--------------------------------------------------------------------------- + ! Nutrient limitation triggers diatom mucus production, enhancing aggregation + ! and forming large, rapidly-sinking marine snow aggregates. + + if (diatom_mucus) then + + !----------------------------------------------------------------------- + ! Calculate nutrient limitation factors + !----------------------------------------------------------------------- + + ! Nitrogen limitation factor + ! Uses limiter function: returns 0 when quota is high (replete) + ! returns 1 when quota is low (limited) + qlimitFac = recom_limiter(NMinSlope, NCmin_d, quota_dia) + + ! Silicon limitation factor + ! Diatoms require silica for frustule (shell) formation + qlimitFacTmp = recom_limiter(SiMinSlope, SiCmin, qSiC) + qlimitFac = min(qlimitFac, qlimitFacTmp) ! Most limiting nutrient + + ! Iron limitation factor + ! Iron is essential for photosynthesis and often limiting in ocean + feLimitFac = Fe / (k_Fe_d + Fe) + qlimitFac = min(qlimitFac, feLimitFac) ! Most limiting of all nutrients + + ! Calculate mucus-enhanced aggregation rate + ! Aggregation increases with nutrient stress (high limitation factor) + ! Factor (1 - qlimitFac): 0 when replete, 1 when severely limited + aggregationrate = agg_PP * (1.0 - qlimitFac) * DiaN + + else + + !----------------------------------------------------------------------- + ! Simple aggregation without nutrient limitation effect + !----------------------------------------------------------------------- + aggregationrate = agg_PP * DiaN + + endif + + !--------------------------------------------------------------------------- + ! Total Aggregation Rate + !--------------------------------------------------------------------------- + ! Sum contributions from all particle types + ! Each particle type can aggregate with itself and other particles + + ! Add small phytoplankton and detritus aggregation + aggregationrate = aggregationrate + agg_PD * DetN + agg_PP * PhyN + + if (enable_3zoo2det) then + ! Add fast-sinking detritus aggregation + aggregationrate = aggregationrate + agg_PD * DetZ2N + endif + + if (enable_coccos) then + ! Add coccolithophore and Phaeocystis aggregation + ! These can form large blooms with high aggregation potential + aggregationrate = aggregationrate + agg_PP * CoccoN + agg_PP * PhaeoN + endif + + !=============================================================================== + ! MARINE CALCIFICATION + !=============================================================================== + ! Simulates the formation and dissolution of calcium carbonate (CaCO3) in + ! marine environments, primarily through phytoplankton calcification. + ! + ! This module calculates: + ! 1. Calcification rates (organism-specific or general) + ! 2. Environmental controls on calcification (temperature, CO2, nutrients) + ! 3. Loss processes (grazing, aggregation) + ! 4. Carbon isotope fractionation (13C, 14C - optional) + ! + ! Key Features: + ! - Explicit coccolithophore calcification (temperature, CO2, nutrient effects) + ! - General small phytoplankton calcification (simplified) + ! - Ocean acidification sensitivity (CO2/carbonate chemistry effects) + ! - PIC:POC ratio variability (environmental controls on calcite production) + ! - Isotope fractionation during calcification + ! + ! Calcification Scenarios: + ! A) enable_coccos = TRUE: Explicit coccolithophore model + ! - Temperature-dependent PIC:POC ratios (Krumhardt et al. 2017, 2019) + ! - CO2/carbonate chemistry effects (ocean acidification) + ! - Nitrogen limitation effects + ! B) enable_coccos = FALSE: General small phytoplankton + ! - Fixed fraction of photosynthesis goes to calcification + ! + ! Ecological/Biogeochemical Significance: + ! - Produces ballast that increases particle sinking (biological pump) + ! - Releases CO2 during calcification (carbonate counter-pump) + ! - Major component of ocean alkalinity cycle + ! - Sensitive to ocean acidification (climate change impact) + ! + ! References: + ! - Krumhardt et al. (2017, 2019) - Coccolithophore parameterization + ! - Gürses et al. (2023) - REcoM2 model description + !=============================================================================== + + !=============================================================================== + ! CALCIFICATION RATE CALCULATION + !=============================================================================== + ! Calculates the rate at which calcium carbonate (CaCO3) is formed by marine + ! organisms, with environmental modulation of the PIC:POC ratio. + ! + ! PIC = Particulate Inorganic Carbon (CaCO3) + ! POC = Particulate Organic Carbon (photosynthetic biomass) + ! + ! Variables (Coccolithophore mode): + ! calcification : CaCO3 formation rate [mmolC m-3 day-1] + ! Cphot_cocco : Coccolithophore C-specific photosynthesis [day-1] + ! CoccoC : Coccolithophore carbon concentration [mmolC m-3] + ! PICPOCtemp : Temperature modifier for PIC:POC ratio [-] + ! PICPOCCO2 : CO2/carbonate chemistry modifier for PIC:POC [-] + ! PICPOCN : Nitrogen limitation modifier for PIC:POC [-] + ! Temp(k) : Temperature at depth k [degC] + ! HCO3_watercolumn: Bicarbonate concentration [mmolC m-3] + ! CO2_watercolumn : Dissolved CO2 concentration [mmolC m-3] + ! pH_watercolumn : Water column pH [-] + ! DIN : Dissolved inorganic nitrogen [mmolN m-3] + ! k_din_c : Half-saturation for DIN effect on calcification [mmolN m-3] + ! a,b,c,d_co2_calc: CO2 effect parameters [-] + ! Cunits : Conversion factor for units [-] + ! + ! Variables (General phytoplankton mode): + ! calc_prod_ratio : Fixed calcification:photosynthesis ratio [-] + ! Cphot : Small phytoplankton photosynthesis rate [day-1] + ! PhyC : Small phytoplankton carbon [mmolC m-3] + !------------------------------------------------------------------------------- + + if (enable_coccos) then + + !=========================================================================== + ! COCCOLITHOPHORE-SPECIFIC CALCIFICATION + !=========================================================================== + ! Coccolithophores are marine phytoplankton that produce calcite plates + ! (coccoliths) as an external protective covering. + ! + ! Environmental Controls: + ! - Temperature: Optimum calcification at warm temperatures (>10.6degC) + ! - CO2: Ocean acidification reduces calcification efficiency + ! - Nitrogen: High nutrient availability reduces PIC:POC ratio + !--------------------------------------------------------------------------- + + !--------------------------------------------------------------------------- + ! Temperature Effect on PIC:POC Ratio + !--------------------------------------------------------------------------- + ! Based on Krumhardt et al. (2017, 2019) parameterization + ! Warmer temperatures favor higher calcification efficiency + + if (Temp(k) < 10.6) then + ! Linear relationship for temperatures below 10.6degC + ! Calcification efficiency increases with temperature + PICPOCtemp = 0.104d0 * Temp(k) - 0.108d0 + else + ! Maximum efficiency at temperatures ≥ 10.6degC + ! Represents optimal conditions for coccolith formation + PICPOCtemp = 1.0d0 + end if + + ! Prevent negative values (can occur at very low temperatures) + PICPOCtemp = max(tiny, PICPOCtemp) + + !--------------------------------------------------------------------------- + ! CO2/Carbonate Chemistry Effect on PIC:POC Ratio + !--------------------------------------------------------------------------- + ! Complex function representing ocean acidification impacts + ! Three components: + ! 1. HCO3- availability (substrate for calcification) + ! 2. High CO2 inhibition (ocean acidification stress) + ! 3. Low pH inhibition (direct pH stress on calcification) + + PICPOCCO2 = a_co2_calc * HCO3_watercolumn(k) * Cunits / (b_co2_calc + HCO3_watercolumn(k) * Cunits) & + - exp(-c_co2_calc * CO2_watercolumn(k) * Cunits) & + - d_co2_calc * 10.d0**(-pH_watercolumn(k)) + + ! Apply empirical constraints to CO2 effect + PICPOCCO2 = min(PICPOCCO2, 3.d0) ! Upper limit (April 2022 modification) + PICPOCCO2 = max(0.d0, PICPOCCO2) ! Lower limit (July 2022 modification) + + !--------------------------------------------------------------------------- + ! Nitrogen Limitation Effect on PIC:POC Ratio + !--------------------------------------------------------------------------- + ! Higher DIN availability reduces calcification efficiency + ! Ecological rationale: Under nutrient replete conditions, organisms + ! allocate resources preferentially to organic carbon (growth) rather + ! than calcite plates (protection) + + PICPOCN = -0.31 * (DIN / (DIN + k_din_c)) + 1.31 + PICPOCN = max(tiny, PICPOCN) ! Prevent negative values + + !--------------------------------------------------------------------------- + ! Calculate Final Coccolithophore Calcification Rate + !--------------------------------------------------------------------------- + ! Combine photosynthesis rate with all environmental modifiers + ! Base rate × Temperature effect × Nutrient effect + + calcification = 1.d0 * Cphot_cocco * CoccoC * PICPOCtemp * PICPOCN + + ! Apply CO2 limitation if ocean acidification sensitivity is enabled + if (CO2lim) then + calcification = calcification * PICPOCCO2 + end if + + else + + !=========================================================================== + ! GENERAL SMALL PHYTOPLANKTON CALCIFICATION + !=========================================================================== + ! Simplified approach: calcification as a fixed fraction of photosynthesis + ! Used when coccolithophores are not explicitly represented + ! Represents calcification by other small calcifying organisms + !--------------------------------------------------------------------------- + + calcification = calc_prod_ratio * Cphot * PhyC + + endif + + !=============================================================================== + ! CALCIFICATION LOSS PROCESSES + !=============================================================================== + ! Calculates removal of calcified material through grazing and aggregation. + ! These processes transfer CaCO3 to zooplankton or sinking particles. + ! + ! Variables: + ! calc_loss_agg : CaCO3 loss through aggregation [mmolC m-3 day-1] + ! calc_loss_gra : CaCO3 loss to primary grazer [mmolC m-3 day-1] + ! calc_loss_gra2 : CaCO3 loss to secondary grazer [mmolC m-3 day-1] + ! calc_loss_gra3 : CaCO3 loss to tertiary grazer [mmolC m-3 day-1] + ! PhyCalc : Phytoplankton calcite content [mmolC m-3] + ! aggregationrate : Particle aggregation rate [mmolN m-3 day-1] + ! recipQuota : Small phytoplankton C:N ratio [mmolC mmolN-1] + ! recipQuota_Cocco: Coccolithophore C:N ratio [mmolC mmolN-1] + ! grazingFlux_* : Grazing rates on different prey [mmolN m-3 day-1] + ! aux : Auxiliary conversion factor [mmolC mmolN-1] + ! + ! Note: CaCO3 in grazed material can dissolve in zooplankton guts or + ! provide ballast for fecal pellets (enhancing sinking) + !------------------------------------------------------------------------------- + + !------------------------------------------------------------------------------- + ! Aggregation Loss + !------------------------------------------------------------------------------- + ! CaCO3 is incorporated into aggregates (marine snow) that sink rapidly + ! Provides ballast effect: increases particle density and sinking velocity + + calc_loss_agg = aggregationrate * PhyCalc + + if (enable_coccos) then + + !--------------------------------------------------------------------------- + ! Coccolithophore Grazing Losses + !--------------------------------------------------------------------------- + ! Calculate CaCO3 consumed by grazers feeding on coccolithophores + ! Requires conversion from nitrogen-based grazing to carbon flux + + ! Calculate auxiliary conversion factor (CaCO3:N ratio in coccolithophores) + aux = recipQuota_Cocco / (CoccoC + tiny) * PhyCalc + + ! Primary grazer (mesozooplankton) consumption + calc_loss_gra = grazingFlux_Cocco * aux + + if (enable_3zoo2det) then + ! Secondary grazer (macrozooplankton) consumption + calc_loss_gra2 = grazingFlux_Cocco2 * aux + + ! Tertiary grazer (microzooplankton) consumption + calc_loss_gra3 = grazingFlux_Cocco3 * aux + endif + + else + + !--------------------------------------------------------------------------- + ! Small Phytoplankton Grazing Losses + !--------------------------------------------------------------------------- + ! Calculate CaCO3 consumed by grazers feeding on calcifying small phytoplankton + + ! Calculate auxiliary conversion factor (CaCO3:N ratio in small phytoplankton) + aux = recipQuota / (PhyC + tiny) * PhyCalc + + ! Primary grazer (mesozooplankton) consumption + calc_loss_gra = grazingFlux_phy * aux + + if (enable_3zoo2det) then + ! Secondary grazer (macrozooplankton) consumption + calc_loss_gra2 = grazingFlux_phy2 * aux + + ! Tertiary grazer (microzooplankton) consumption + calc_loss_gra3 = grazingFlux_phy3 * aux + endif + + endif + + !=============================================================================== + ! CARBON ISOTOPE FRACTIONATION + !=============================================================================== + ! Handles carbon-13 and carbon-14 isotope fractionation during calcification + ! and loss processes. Used for paleoclimate reconstructions and carbon cycle + ! studies. + ! + ! Isotope Fractionation: + ! - Light isotopes (12C) are preferentially incorporated during calcification + ! - Fractionation factors (alpha) quantify this discrimination + ! - Different fractionation for 13C and 14C + ! + ! Variables: + ! calcification_13 : 13C calcification rate [mmol13C m-3 day-1] + ! calcification_14 : 14C calcification rate [mmol14C m-3 day-1] + ! alpha_calc_13 : 13C fractionation factor during calcification [-] + ! alpha_calc_14 : 14C fractionation factor during calcification [-] + ! calc_loss_agg_13/14 : Isotope losses through aggregation [mmol m-3 day-1] + ! calc_loss_gra_13/14 : Isotope losses through grazing [mmol m-3 day-1] + ! PhyCalc_13/14 : Phytoplankton calcite isotope content [mmol m-3] + ! PhyC_13/14 : Phytoplankton organic carbon isotopes [mmol m-3] + ! recipQuota_13/14 : Isotope-specific C:N ratios [mmol mmol-1] + ! + ! Applications: + ! - 13C: Paleoclimate proxies, carbon source tracing + ! - 14C: Radiocarbon dating, carbon residence times + ! + ! Note: Only executed if carbon isotope tracking is enabled (ciso = TRUE) + !------------------------------------------------------------------------------- + + if (ciso) then + + !=========================================================================== + ! Carbon-13 Isotope Calculations + !=========================================================================== + ! Track 13C through calcification and loss processes + !--------------------------------------------------------------------------- + + ! Calcification with isotopic fractionation + ! Alpha factor < 1 means light isotope (12C) is preferentially incorporated + calcification_13 = calcification * alpha_calc_13 + + ! Isotopic losses through aggregation + ! Assumes no fractionation during physical aggregation process + calc_loss_agg_13 = aggregationRate * PhyCalc_13 + + ! Isotopic losses through grazing + ! Requires isotope-specific conversion factor + calc_loss_gra_13 = grazingFlux_phy * recipQuota_13 / (PhyC_13 + tiny) * PhyCalc_13 + + if (ciso_14 .and. ciso_organic_14) then + + !======================================================================= + ! Carbon-14 Isotope Calculations + !======================================================================= + ! Track radiocarbon (14C) through calcification and loss processes + ! Used for determining carbon residence times and age dating + !----------------------------------------------------------------------- + + ! Calcification with 14C fractionation + ! 14C fractionation is approximately twice that of 13C + calcification_14 = calc_prod_ratio * Cphot * PhyC_14 * alpha_calc_14 + + ! 14C losses through aggregation + calc_loss_agg_14 = aggregationRate * PhyCalc_14 + + ! 14C losses through grazing + calc_loss_gra_14 = grazingFlux_phy * recipQuota_14 / (PhyC_14 + tiny) * PhyCalc_14 + + end if ! ciso_14 .and. ciso_organic_14 + + end if ! ciso + + !=============================================================================== + ! 1. DISSOLVED INORGANIC NITROGEN (DIN) + !=============================================================================== + ! Represents the pool of bioavailable nitrogen (nitrate + ammonium) + ! + ! Variables: + ! N_assim : N assimilation rate for small phytoplankton [mmolN mmolC-1 day-1] + ! N_assim_Dia : N assimilation rate for diatoms [mmolN mmolC-1 day-1] + ! N_assim_Cocco : N assimilation rate for coccolithophore [mmolN mmolC-1 day-1] + ! N_assim_Phaeo : N assimilation rate for Phaeocystis [mmolN mmolC-1 day-1] + ! PhyC, DiaC : Intracellular carbon concentration [mmolC m-3] + ! CoccoC, PhaeoC : Intracellular carbon concentration [mmolC m-3] + ! rho_N : Remineralization rate constant [day-1] + ! arrFunc : Arrhenius temperature dependency function [-] + ! O2Func : O2 dependency of organic matter remineralization [-] + ! DON : Dissolved organic nitrogen [mmolN m-3] + ! dt_b : REcoM time step [day] + ! + ! Equation Reference: Schourup-Kristensen 2013, Eq. A2 + + sms(k,idin) = ( & + !--------------------------------------------------------------------------- + ! SINKS: Nitrogen Uptake (decreases DIN) + !--------------------------------------------------------------------------- + ! Phytoplankton assimilation of NO3- and NH4+ + - N_assim * PhyC & ! Small phytoplankton + - N_assim_Dia * DiaC & ! Diatoms + - N_assim_Cocco * CoccoC * is_coccos & ! Coccolithophores + - N_assim_Phaeo * PhaeoC * is_coccos & ! Phaeocystis + !--------------------------------------------------------------------------- + ! SOURCES: Remineralization (increases DIN) + !--------------------------------------------------------------------------- + ! DON remineralization releases bioavailable nitrogen + + rho_N * arrFunc * O2Func * DON & ! Temperature and O2 dependent + ) * dt_b + sms(k,idin) + + !=============================================================================== + ! 2. DISSOLVED INORGANIC CARBON (DIC) + !=============================================================================== + ! Represents the pool of inorganic carbon (CO2 + HCO3- + CO3-2) + ! + ! Variables: + ! Cphot : Small phytoplankton photosynthesis rate [day-1] + ! Cphot_Dia : Diatom photosynthesis rate [day-1] + ! Cphot_Cocco : Coccolithophore photosynthesis rate [day-1] + ! Cphot_Phaeo : Phaeocystis photosynthesis rate [day-1] + ! phyRespRate : Small phytoplankton respiration rate [day-1] + ! phyRespRate_Dia : Diatom respiration rate [day-1] + ! phyRespRate_Cocco : Coccolithophore respiration rate [day-1] + ! phyRespRate_Phaeo : Phaeocystis respiration rate [day-1] + ! rho_C1 : Temperature-dependent DOC degradation rate [day-1] + ! EOC : Extracellular organic carbon [mmolC m-3] + ! HetRespFlux : Mesozooplankton respiration flux [mmolC m-3 day-1] + ! Zoo2RespFlux : Macrozooplankton respiration flux [mmolC m-3 day-1] + ! MicZooRespFlux : Microzooplankton respiration flux [mmolC m-3 day-1] + ! calc_diss : Slow-sinking calcite dissolution rate [day-1] + ! calc_diss2 : Fast-sinking calcite dissolution rate [day-1] + ! DetCalc : Slow-sinking calcite detritus pool [mmolC m-3] + ! DetZ2Calc : Fast-sinking calcite detritus pool [mmolC m-3] + ! calc_loss_gra : Calcite loss via mesozooplankton grazing [mmolC m-3 day-1] + ! calc_loss_gra2 : Calcite loss via macrozooplankton grazing [mmolC m-3 day-1] + ! calc_loss_gra3 : Calcite loss via microzooplankton grazing [mmolC m-3 day-1] + ! calc_diss_guts : Calcite dissolution rate in zooplankton guts [-] + ! calcification : Rate of CaCO3 formation [mmolC m-3 day-1] + + sms(k,idic) = ( & + !--------------------------------------------------------------------------- + ! SINKS: Carbon Fixation (decreases DIC) + !--------------------------------------------------------------------------- + ! Photosynthetic uptake of CO2 by phytoplankton + - Cphot * PhyC & ! Small phytoplankton + - Cphot_Dia * DiaC & ! Diatoms + - Cphot_Cocco * CoccoC * is_coccos & ! Coccolithophores + - Cphot_Phaeo * PhaeoC * is_coccos & ! Phaeocystis + !--------------------------------------------------------------------------- + ! SINKS: Calcification (decreases DIC) + !--------------------------------------------------------------------------- + ! CaCO3 formation: Ca2+ + CO3-2 -> CaCO3 + - calcification & + !--------------------------------------------------------------------------- + ! SOURCES: Phytoplankton Respiration (increases DIC) + !--------------------------------------------------------------------------- + ! Release of CO2 through autotrophic respiration + + phyRespRate * PhyC & ! Small phytoplankton + + phyRespRate_Dia * DiaC & ! Diatoms + + phyRespRate_Cocco * CoccoC * is_coccos & ! Coccolithophores + + phyRespRate_Phaeo * PhaeoC * is_coccos & ! Phaeocystis + !--------------------------------------------------------------------------- + ! SOURCES: DOC Remineralization (increases DIC) + !--------------------------------------------------------------------------- + ! Microbial degradation of dissolved organic carbon + + rho_C1 * arrFunc * O2Func * EOC & ! Temperature and O2 dependent + !--------------------------------------------------------------------------- + ! SOURCES: Zooplankton Respiration (increases DIC) + !--------------------------------------------------------------------------- + ! Release of CO2 through heterotrophic respiration + + HetRespFlux & ! Mesozooplankton + + Zoo2RespFlux * is_3zoo2det & ! Macrozooplankton + + MicZooRespFlux * is_3zoo2det & ! Microzooplankton + !--------------------------------------------------------------------------- + ! SOURCES: Calcite Dissolution (increases DIC) + !--------------------------------------------------------------------------- + ! Reaction: CaCO3 + CO2 + H2O -> Ca2+ + 2HCO3- + + calc_diss * DetCalc & ! Slow-sinking calcite + + calc_loss_gra * calc_diss_guts & ! Mesozooplankton gut + + calc_loss_gra2 * calc_diss_guts * is_3zoo2det & ! Macrozooplankton gut + + calc_loss_gra3 * calc_diss_guts * is_3zoo2det & ! Microzooplankton gut + + calc_diss2 * DetZ2Calc * is_3zoo2det & ! Fast-sinking calcite + ) * dt_b + sms(k,idic) ! if((Latd(1)<-45.0) .and. ((state(k,idic)+sms(k,idic))>2500)) then ! !co2flux(1)=0.0 @@ -1135,1048 +4004,3390 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & ! stop ! endif -!< *** Alk *** -!< *********** - -!< Alkalinity (Assumes that N:P follows a constant Redfield ratio -!< N_assimC: 1.0625 = 1/16 + 1 - - sms(k,ialk) = ( & - + 1.0625 * N_assim * PhyC & - + 1.0625 * N_assim_Dia * DiaC & -#if defined (__coccos) - + 1.0625 * N_assim_Cocco * CoccoC & -#endif - - 1.0625 * rho_N * arrFunc * O2Func * DON & ! O2remin - + 2.d0 * calc_diss * DetCalc & - + 2.d0 * calc_loss_gra * calc_diss_guts & -#if defined (__3Zoo2Det) - + 2.d0 * calc_loss_gra2 * calc_diss_guts & - + 2.d0 * calc_loss_gra3 * calc_diss_guts & ! 3Zoo - + 2.d0 * calc_diss2 * DetZ2Calc & -#endif - - 2.d0 * calcification & - ) * dt_b + sms(k,ialk) -!< *** Small Phytoplankton *** -!< *************************** - -!____________________________________________________________ -!< Small phytoplankton N - -!< lossN: Phytoplankton loss of organic N compounds [day^-1] - - sms(k,iphyn) = ( & - + N_assim * PhyC & ! --> N assimilation - - lossN * limitFacN * PhyN & ! --> DON excretion - - aggregationRate * PhyN & ! --> Aggregation loss - - grazingFlux_phy & ! --> Grazing loss -#if defined (__3Zoo2Det) - - grazingFlux_phy2 & - - grazingFlux_phy3 & ! 3Zoo -#endif - ) * dt_b + sms(k,iphyn) -!____________________________________________________________ -!< Small phytoplankton C - -!< lossC: Phytoplankton loss of carbon [day^-1] -!< When N : C ratio becomes too high, excretion of DOC is downregulated -!< by the limiter function limitFacN -!< aggregationRate transfers C to the detritus pool - - sms(k,iphyc) = ( & - + Cphot * PhyC & ! --> Photosynthesis ---->/ - - lossC * limitFacN * PhyC & ! --> Excretion of DOC / Net photosynthesis - - phyRespRate * PhyC & ! --> Respiration ----->/ - - aggregationRate * PhyC & ! --> Aggregation loss - - grazingFlux_phy * recipQuota & ! --> Grazing loss -#if defined (__3Zoo2Det) - - grazingFlux_phy2 * recipQuota & - - grazingFlux_phy3 * recipQuota & ! 3Zoo -#endif - ) * dt_b + sms(k,iphyc) -!____________________________________________________________ -! Phytoplankton ChlA - -!< Chl2N: Conversion factor from mmolN to mgChla -!< Chl2N = PhyChl/PhyN - - sms(k,ipchl) = ( & - + chlSynth * PhyC & ! --> Chl-a synthesis - - KOchl * PhyChl & ! --> Degradation loss - - aggregationRate * PhyChl & ! --> Aggregation loss - - grazingFlux_phy * Chl2N & ! --> Grazing loss -#if defined (__3Zoo2Det) - - grazingFlux_phy2 * Chl2N & - - grazingFlux_phy3 * Chl2N & ! 3Zoo -#endif - ) * dt_b + sms(k,ipchl) - -!< *** Slow-sinking Detritus *** -!< ***************************** - -!____________________________________________________________ -! Detritus N - if (Grazing_detritus) then -#if defined (__3Zoo2Det) - sms(k,idetn) = ( & - + grazingFlux_phy3 & - - grazingFlux_phy3 * grazEff3 & - + grazingFlux_dia3 & - - grazingFlux_dia3 * grazEff3 & -#if defined (__coccos) - + grazingFlux_Cocco3 & - - grazingFlux_Cocco3 * grazEff3 & - + aggregationRate * CoccoN & -#endif - - grazingFlux_Det * grazEff & - - grazingFlux_Det2 * grazEff2 & ! --> okay, grazing of second zoo on first detritus - + aggregationRate * PhyN & - + aggregationRate * DiaN & - + miczooLossFlux & - - reminN * arrFunc * O2Func * DetN & ! O2remin - ) * dt_b + sms(k,idetn) -#else - sms(k,idetn) = ( & - + grazingFlux_phy & - - grazingFlux_phy * grazEff & - + grazingFlux_dia & - - grazingFlux_dia * grazEff & -#if defined (__coccos) - + grazingFlux_Cocco & - - grazingFlux_Cocco * grazEff & - + aggregationRate * CoccoN & -#endif - - grazingFlux_Det * grazEff & ! Sloppy feeding is thought because of grazing flux multiplied with grazeff - - grazingFlux_Det2 * grazEff2 & !!!!!!!!!!CHECK - + aggregationRate * PhyN & - + aggregationRate * DiaN & - + hetLossFlux & - - reminN * arrFunc * O2Func * DetN & ! O2remin - ) * dt_b + sms(k,idetn) -#endif - else -#if defined (__3Zoo2Det) - sms(k,idetn) = ( & - + grazingFlux_phy3 & - + grazingFlux_dia3 & -#if defined (__coccos) - + grazingFlux_Cocco3 & - + aggregationRate * CoccoN & -#endif - - grazingFlux * grazEff3 & - + aggregationRate * PhyN & - + aggregationRate * DiaN & - + miczooLossFlux & - - reminN * arrFunc * O2Func * DetN & ! O2remin - ) * dt_b + sms(k,idetn) -#else - sms(k,idetn) = ( & - + grazingFlux_phy & - + grazingFlux_dia & -#if defined (__coccos) - + grazingFlux_Cocco & - + aggregationRate * CoccoN & -#endif - - grazingFlux * grazEff & - + aggregationRate * PhyN & - + aggregationRate * DiaN & - + hetLossFlux & - - reminN * arrFunc * O2Func * DetN & ! O2remin - ) * dt_b + sms(k,idetn) -#endif - end if - -!____________________________________________________________ -! Detritus C - if (Grazing_detritus) then -#if defined (__3Zoo2Det) - sms(k,idetc) = ( & - + grazingFlux_phy3 * recipQuota & - - grazingFlux_phy3 * recipQuota * grazEff3 & - + grazingFlux_Dia3 * recipQuota_Dia & - - grazingFlux_Dia3 * recipQuota_Dia * grazEff3 & -#if defined (__coccos) - + grazingFlux_Cocco3 * recipQuota_Cocco & - - grazingFlux_Cocco3 * recipQuota_Cocco * grazEff3 & - + aggregationRate * CoccoC & -#endif - - grazingFlux_Det * recipDet * grazEff & - - grazingFlux_Det2 * recipDet2 * grazEff2 & - + aggregationRate * PhyC & - + aggregationRate * DiaC & - + miczooLossFlux * recipQZoo3 & - - reminC * arrFunc * O2Func * DetC & ! O2remin - ) * dt_b + sms(k,idetc) -#else - sms(k,idetc) = ( & - + grazingFlux_phy * recipQuota & - - grazingFlux_phy * recipQuota * grazEff & - + grazingFlux_Dia * recipQuota_Dia & - - grazingFlux_Dia * recipQuota_Dia * grazEff & -#if defined (__coccos) - + grazingFlux_Cocco * recipQuota_Cocco & - - grazingFlux_Cocco * recipQuota_Cocco * grazEff & - + aggregationRate * CoccoC & -#endif - - grazingFlux_Det * recipDet * grazEff & - - grazingFlux_Det2 * recipDet2 * grazEff & !!!!!! CHECK - + aggregationRate * phyC & - + aggregationRate * DiaC & - + hetLossFlux * recipQZoo & - - reminC * arrFunc * O2Func * DetC & ! O2remin - ) * dt_b + sms(k,idetc) -#endif - else -#if defined (__3Zoo2Det) - sms(k,idetc) = ( & - + grazingFlux_phy3 * recipQuota & - - grazingFlux_phy3 * recipQuota * grazEff3 & - + grazingFlux_Dia3 * recipQuota_Dia & - - grazingFlux_Dia3 * recipQuota_Dia * grazEff3 & -#if defined (__coccos) - + grazingFlux_Cocco3 * recipQuota_Cocco & - - grazingFlux_Cocco3 * recipQuota_Cocco * grazEff3 & - + aggregationRate * CoccoC & -#endif - + aggregationRate * PhyC & - + aggregationRate * DiaC & - + miczooLossFlux * recipQZoo3 & - - reminC * arrFunc * O2Func * DetC & ! O2remin - ) * dt_b + sms(k,idetc) -#else - sms(k,idetc) = ( & - + grazingFlux_phy * recipQuota & - - grazingFlux_phy * recipQuota * grazEff & - + grazingFlux_Dia * recipQuota_Dia & - - grazingFlux_Dia * recipQuota_Dia * grazEff & -#if defined (__coccos) - + grazingFlux_Cocco * recipQuota_Cocco & - - grazingFlux_Cocco * recipQuota_Cocco * grazEff & - + aggregationRate * CoccoC & -#endif - + aggregationRate * phyC & - + aggregationRate * DiaC & - + hetLossFlux * recipQZoo & - - reminC * arrFunc * O2Func * DetC & ! O2remin - ) * dt_b + sms(k,idetc) -#endif - end if - -!< *** Mesozooplankton *** -!< *********************** - -!____________________________________________________________ -!< Heterotrophic N - sms(k,ihetn) = ( & - + grazingFlux * grazEff & ! --> Grazing on phytoplankton -> okay, because of recipQuota -#if defined (__3Zoo2Det) - - grazingFlux_het2 & - - Mesfecalloss_n & ! 3Zoo -#endif - - hetLossFlux & ! --> Mortality - - lossN_z * HetN & ! --> Excretion of DON - ) * dt_b + sms(k,ihetn) -!____________________________________________________________ -!< Heterotrophic C + !=============================================================================== + ! 3. ALKALINITY (Alk) + !=============================================================================== + ! Total alkalinity affects ocean pH and CO2 uptake capacity + ! Assumes constant Redfield N:P ratio + ! + ! Key coefficient: 1.0625 = (1/16) + 1 + ! - Represents the change in alkalinity per mole of nitrogen + ! - Includes both nitrate reduction (+ charge) and phosphate uptake + + sms(k,ialk) = ( & + !--------------------------------------------------------------------------- + ! SOURCES: Nutrient Uptake (increases alkalinity) + !--------------------------------------------------------------------------- + ! Phytoplankton uptake of NO3- increases alkalinity + + 1.0625 * N_assim * PhyC & ! Small phytoplankton + + 1.0625 * N_assim_Dia * DiaC & ! Diatoms + + 1.0625 * N_assim_Cocco * CoccoC * is_coccos & ! Coccolithophores + + 1.0625 * N_assim_Phaeo * PhaeoC * is_coccos & ! Phaeocystis + + !--------------------------------------------------------------------------- + ! SINKS: Remineralization (decreases alkalinity) + !--------------------------------------------------------------------------- + ! DON remineralization releases H+ and decreases alkalinity + - 1.0625 * rho_N * arrFunc * O2Func * DON & + !--------------------------------------------------------------------------- + ! SOURCES: Calcite Dissolution (increases alkalinity) + !--------------------------------------------------------------------------- + ! Reaction: CaCO3 + CO2 + H2O -> Ca2+ + 2HCO3- + ! Increases alkalinity by 2 equivalents per mole CaCO3 + + 2.d0 * calc_diss * DetCalc & ! Slow-sinking calcite + + 2.d0 * calc_loss_gra * calc_diss_guts & ! Mesozooplankton gut + + 2.d0 * calc_loss_gra2 * calc_diss_guts * is_3zoo2det & ! Macrozooplankton gut + + 2.d0 * calc_loss_gra3 * calc_diss_guts * is_3zoo2det & ! Microzooplankton gut + + 2.d0 * calc_diss2 * DetZ2Calc * is_3zoo2det & ! Fast-sinking calcite + + !--------------------------------------------------------------------------- + ! SINKS: Calcification (decreases alkalinity) + !--------------------------------------------------------------------------- + ! CaCO3 formation removes 2 equivalents of alkalinity + - 2.d0 * calcification & + ) * dt_b + sms(k,ialk) + + !=============================================================================== + ! SMALL PHYTOPLANKTON NITROGEN (PhyN) + !=============================================================================== + ! Tracks the nitrogen content of small phytoplankton + ! + ! Variables: + ! N_assim : N assimilation rate [day-1] + ! lossN : N loss rate [day-1] + ! limitFacN : Limiter function for N:C ratio regulation [-] + ! aggregationRate : Aggregation to detritus [day-1] + ! grazingFlux_phy : Mesozooplankton grazing [mmolN m-3 day-1] + ! grazingFlux_phy2 : Macrozooplankton grazing [mmolN m-3 day-1] + ! grazingFlux_phy3 : Microzooplankton grazing [mmolN m-3 day-1] + + sms(k,iphyn) = ( & + !--------------------------------------------------------------------------- + ! SOURCES: Nitrogen Assimilation + !--------------------------------------------------------------------------- + + N_assim * PhyC & + !--------------------------------------------------------------------------- + ! SINKS: Losses + !--------------------------------------------------------------------------- + - lossN * limitFacN * PhyN & ! DON excretion (N:C regulated) + - aggregationRate * PhyN & ! Aggregation to detritus + - grazingFlux_phy & ! Mesozooplankton + - grazingFlux_phy2 * is_3zoo2det & ! Macrozooplankton + - grazingFlux_phy3 * is_3zoo2det & ! Microzooplankton + ) * dt_b + sms(k,iphyn) + + !=============================================================================== + ! 5. SMALL PHYTOPLANKTON CARBON (PhyC) + !=============================================================================== + ! Tracks the carbon content of small phytoplankton. + ! + ! Variables: + ! Cphot : Gross photosynthesis rate [day-1] + ! phyRespRate : Autotrophic respiration rate [day-1] + ! lossC : C loss rate [day-1] + ! recipQuota : Reciprocal of N:C quota (for N->C conversion) [-] + ! + ! Note: DOC excretion is downregulated by limitFacN when N:C ratio is too high + + sms(k,iphyc) = ( & + !--------------------------------------------------------------------------- + ! SOURCES: Net Photosynthesis + !--------------------------------------------------------------------------- + + Cphot * PhyC & ! Gross photosynthesis + - phyRespRate * PhyC & ! Autotrophic respiration + !--------------------------------------------------------------------------- + ! SINKS: Losses + !--------------------------------------------------------------------------- + - lossC * limitFacN * PhyC & ! DOC excretion (regulated) + - aggregationRate * PhyC & ! Aggregation to detritus + - grazingFlux_phy * recipQuota & ! Mesozooplankton (N->C) + - grazingFlux_phy2 * recipQuota * is_3zoo2det & ! Macrozooplankton + - grazingFlux_phy3 * recipQuota * is_3zoo2det & ! Microzooplankton + ) * dt_b + sms(k,iphyc) + + !=============================================================================== + ! 6. PHYTOPLANKTON CHLOROPHYLL-A (PhyChl) + !=============================================================================== + ! Tracks chlorophyll-a content for light harvesting and photoacclimation + ! + ! Variables: + ! chlSynth : Chlorophyll synthesis rate [mgChl mmolC-1 day-1] + ! KOchl : Chlorophyll degradation rate constant [day-1] + ! Chl2N : Chl:N ratio = PhyChl/PhyN [mgChl mmolN-1] + + sms(k,ipchl) = ( & + !--------------------------------------------------------------------------- + ! SOURCES: Chlorophyll Synthesis + !--------------------------------------------------------------------------- + + chlSynth * PhyC & ! Photoacclimation + !--------------------------------------------------------------------------- + ! SINKS: Degradation and Losses + !--------------------------------------------------------------------------- + + - KOchl * PhyChl & ! Natural degradation + - aggregationRate * PhyChl & ! Aggregation to detritus + - grazingFlux_phy * Chl2N & ! Mesozooplankton + - grazingFlux_phy2 * Chl2N * is_3zoo2det & ! Macrozooplankton + - grazingFlux_phy3 * Chl2N * is_3zoo2det & ! Microzooplankton + ) * dt_b + sms(k,ipchl) + + !=============================================================================== + ! 7. DETRITUS NITROGEN (DetN) + !=============================================================================== + ! Tracks nitrogen content in slow-sinking organic particles. + ! + ! Key Concepts: + ! - Sloppy Feeding: Not all grazed material is assimilated + ! Net detritus = Total grazing × (1 - grazing efficiency) + ! - Four Configurations: Based on Grazing_detritus and enable_3zoo2det flags + ! + ! Variables: + ! grazEff, grazEff2, grazEff3 : Grazing efficiency (assimilation) [-] + ! aggregationRate : Aggregation rate [day-1] + ! hetLossFlux, miczooLossFlux : Zooplankton mortality [mmolN m-3 day-1] + ! reminN : Remineralization rate [day-1] + ! arrFunc : Arrhenius temperature function [-] + ! O2Func : Oxygen limitation function [-] + ! grazingFlux_phy3, grazingFlux_dia3 : Grazing by microzooplankton [mmolN m-3 day-1] + ! grazingFlux_phy, grazingFlux_dia : Grazing by mesozooplankton [mmolN m-3 day-1] + ! DetN : Detrital nitrogen concentration [mmolN m-3] + ! dt_b : Time step [day] + !------------------------------------------------------------------------------- + + !------------------------------------------------------------------------------- + ! Configuration 1: WITH Detritus Grazing + 3 Zooplankton Types + !------------------------------------------------------------------------------- + if (Grazing_detritus) then - sms(k,ihetc) = ( & - + grazingFlux_phy * recipQuota * grazEff & ! --> Grazing on small phytoplankton - + grazingFlux_Dia * recipQuota_Dia * grazEff & ! --> Grazing on diatom -#if defined (__coccos) - + grazingFlux_Cocco * recipQuota_Cocco * grazEff & -#endif -#if defined (__3Zoo2Det) - + grazingFlux_miczoo * recipQZoo3 * grazEff & ! 3Zoo - + grazingFlux_DetZ2 * recipDet2 * grazEff & - - grazingFlux_het2 * recipQZoo & - - Mesfecalloss_c & ! 3Zoo -#endif - + grazingFlux_Det * recipDet * grazEff & ! --> Grazing on detritus - - hetLossFlux * recipQZoo & ! --> Mortality loss - - lossC_z * HetC & ! --> Excretion loss - - hetRespFlux & ! --> REspiration loss - ) * dt_b + sms(k,ihetc) + if (enable_3zoo2det) then + sms(k,idetn) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Sloppy Feeding by Microzooplankton + !----------------------------------------------------------------------- + ! Net flux = Total grazing - Assimilated portion + + grazingFlux_phy3 - grazingFlux_phy3 * grazEff3 & ! Small phytoplankton + + grazingFlux_dia3 - grazingFlux_dia3 * grazEff3 & ! Diatoms + + (grazingFlux_Cocco3 - grazingFlux_Cocco3 * grazEff3) * is_coccos & ! Coccolithophores + + (grazingFlux_Phaeo3 - grazingFlux_Phaeo3 * grazEff3) * is_coccos & ! Phaeocystis + !----------------------------------------------------------------------- + ! SOURCES: Phytoplankton Aggregation + !----------------------------------------------------------------------- + + aggregationRate * PhyN & + + aggregationRate * DiaN & + + aggregationRate * CoccoN * is_coccos & + + aggregationRate * PhaeoN * is_coccos & + !----------------------------------------------------------------------- + ! SOURCES: Zooplankton Mortality + !----------------------------------------------------------------------- + + miczooLossFlux & + !----------------------------------------------------------------------- + ! SINKS: Detritus Consumption + !----------------------------------------------------------------------- + - grazingFlux_Det * grazEff & ! Mesozooplankton + - grazingFlux_Det2 * grazEff2 & ! Macrozooplankton + !----------------------------------------------------------------------- + ! SINKS: Remineralization + !----------------------------------------------------------------------- + - reminN * arrFunc * O2Func * DetN & ! Bacterial decomposition + ) * dt_b + sms(k,idetn) + !------------------------------------------------------------------------------- + ! Configuration 2: WITH Detritus Grazing + 2 Zooplankton Types (Standard) + !------------------------------------------------------------------------------- + else + sms(k,idetn) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Sloppy Feeding by Mesozooplankton + !----------------------------------------------------------------------- + + grazingFlux_phy - grazingFlux_phy * grazEff & ! Small phytoplankton + + grazingFlux_dia - grazingFlux_dia * grazEff & ! Diatoms + + (grazingFlux_Cocco - grazingFlux_Cocco * grazEff) * is_coccos & ! Coccolithophores + + (grazingFlux_Phaeo - grazingFlux_Phaeo * grazEff) * is_coccos & ! Phaeocystis + !----------------------------------------------------------------------- + ! SOURCES: Phytoplankton Aggregation + !----------------------------------------------------------------------- + + aggregationRate * PhyN & + + aggregationRate * DiaN & + + aggregationRate * CoccoN * is_coccos & + + aggregationRate * PhaeoN * is_coccos & + !----------------------------------------------------------------------- + ! SOURCES: Zooplankton Mortality + !----------------------------------------------------------------------- + + hetLossFlux & + !----------------------------------------------------------------------- + ! SINKS: Detritus Consumption + !----------------------------------------------------------------------- + - grazingFlux_Det * grazEff & ! Mesozooplankton + - grazingFlux_Det2 * grazEff2 & ! Macrozooplankton + !----------------------------------------------------------------------- + ! SINKS: Remineralization + !----------------------------------------------------------------------- + - reminN * arrFunc * O2Func * DetN & + ) * dt_b + sms(k,idetn) + endif + !------------------------------------------------------------------------------- + ! Configuration 3: WITHOUT Detritus Grazing + 3 Zooplankton Types + !------------------------------------------------------------------------------- else - sms(k,ihetc) = ( & - + grazingFlux_phy * recipQuota * grazEff & - + grazingFlux_Dia * recipQuota_Dia * grazEff & -#if defined (__coccos) - + grazingFlux_Cocco * recipQuota_Cocco * grazEff & -#endif -#if defined (__3Zoo2Det) - + grazingFlux_miczoo * recipQZoo3 * grazEff & ! 3Zoo - - grazingFlux_het2 * recipQZoo & - - Mesfecalloss_c & ! 3Zoo -#endif - - hetLossFlux * recipQZoo & - - lossC_z * HetC & - - hetRespFlux & - ) * dt_b + sms(k,ihetc) - endif - -!< *** Macrozooplankton *** -!< ************************ - -#if defined (__3Zoo2Det) -!____________________________________________________________ -!< Second Zooplankton N - sms(k,izoo2n) = ( & - + grazingFlux2 * grazEff2 & - - Zoo2LossFlux & - - lossN_z2 * Zoo2N & - - Zoo2fecalloss_n & - ) * dt_b + sms(k,izoo2n) - -!____________________________________________________________ -!< Second Zooplankton C - if (Grazing_detritus) then - - sms(k,izoo2c) = ( & - + grazingFlux_phy2 * recipQuota * grazEff2 & - + grazingFlux_Dia2 * recipQuota_Dia * grazEff2 & -#if defined (__coccos) - + grazingFlux_Cocco2 * recipQuota_Cocco * grazEff2 & -#endif - + grazingFlux_het2 * recipQZoo * grazEff2 & - + grazingFlux_miczoo2* recipQZoo3 * grazEff2 & ! 3Zoo - + grazingFlux_Det2 * recipDet * grazEff2 & - + grazingFlux_DetZ22 * recipDet2 * grazEff2 & - - zoo2LossFlux * recipQZoo2 & - - lossC_z2 * Zoo2C & - - Zoo2RespFlux & - - Zoo2fecalloss_c & - ) * dt_b + sms(k,izoo2c) - else - sms(k,izoo2c) = ( & - + grazingFlux_phy2 * recipQuota * grazEff2 & - + grazingFlux_Dia2 * recipQuota_Dia * grazEff2 & -#if defined (__coccos) - + grazingFlux_Cocco2 * recipQuota_Cocco * grazEff2 & -#endif - + grazingFlux_het2 * recipQZoo * grazEff2 & - + grazingFlux_miczoo2* recipQZoo3 * grazEff2 & ! 3Zoo - - zoo2LossFlux * recipQZoo2 & - - lossC_z2 * Zoo2C & - - Zoo2RespFlux & - - Zoo2fecalloss_c & - ) * dt_b + sms(k,izoo2c) - end if - -!< *** Microzooplankton *** -!< ************************ - -!____________________________________________________________ -!< Third Zooplankton N - sms(k,imiczoon) = ( & - + grazingFlux3 * grazEff3 & - - grazingFlux_miczoo & - - grazingFlux_miczoo2 & - - MicZooLossFlux & - - lossN_z3 * MicZooN & - ) * dt_b + sms(k,imiczoon) - -!____________________________________________________________ -!< Third Zooplankton C - sms(k,imiczooc) = ( & - + grazingFlux_phy3 * recipQuota * grazEff3 & - + grazingFlux_Dia3 * recipQuota_Dia * grazEff3 & -#if defined (__coccos) - + grazingFlux_Cocco3 * recipQuota_Cocco * grazEff3 & -#endif - - MicZooLossFlux * recipQZoo3 & - - grazingFlux_miczoo * recipQZoo3 & - - grazingFlux_miczoo2 * recipQZoo3 & - - lossC_z3 * MicZooC & - - MicZooRespFlux & - ) * dt_b + sms(k,imiczooc) - -!< *** Fast-sinking Detritus *** -!< ***************************** - -!____________________________________________________________ -!< Second Zooplankton Detritus N - if (Grazing_detritus) then - sms(k,idetz2n) = ( & - + grazingFlux_phy2 & - - grazingFlux_phy2 * grazEff2 & - + grazingFlux_dia2 & - - grazingFlux_dia2 * grazEff2 & -#if defined (__coccos) - + grazingFlux_Cocco & - - grazingFlux_Cocco * grazEff & - + grazingFlux_Cocco2 & - - grazingFlux_Cocco2 * grazEff2 & -#endif - + grazingFlux_het2 & - - grazingFlux_het2 * grazEff2 & - + grazingFlux_miczoo2 & - - grazingFlux_miczoo2 * grazEff2 & - + grazingFlux_phy & - - grazingFlux_phy * grazEff & - + grazingFlux_dia & - - grazingFlux_dia * grazEff & - + grazingFlux_miczoo & - - grazingFlux_miczoo * grazEff & - - grazingFlux_DetZ2 * grazEff & - - grazingFlux_DetZ22 * grazEff2 & - + Zoo2LossFlux & - + hetLossFlux & - + Zoo2fecalloss_n & - + Mesfecalloss_n & - - reminN * arrFunc * O2Func * DetZ2N & ! O2remin - ) * dt_b + sms(k,idetz2n) - else - sms(k,idetz2n) = ( & - + grazingFlux_phy2 & - + grazingFlux_dia2 & -#if defined (__coccos) - + grazingFlux_Cocco & - + grazingFlux_Cocco2 & -#endif - + grazingFlux_het2 & - + grazingFlux_miczoo2 & - - grazingFlux2 * grazEff2 & - + grazingFlux_phy & - + grazingFlux_dia & - + grazingFlux_miczoo & - - grazingFlux * grazEff & - + Zoo2LossFlux & - + hetLossFlux & - + Zoo2fecalloss_n & - + Mesfecalloss_n & - - reminN * arrFunc * O2Func * DetZ2N & ! O2remin - ) * dt_b + sms(k,idetz2n) - end if - -!____________________________________________________________ -!< Second Zooplankton Detritus C - if (Grazing_detritus) then - sms(k,idetz2c) = ( & - + grazingFlux_phy2 * recipQuota & - - grazingFlux_phy2 * recipQuota * grazEff2 & - + grazingFlux_Dia2 * recipQuota_Dia & - - grazingFlux_Dia2 * recipQuota_Dia * grazEff2 & -#if defined (__coccos) - + grazingFlux_Cocco * recipQuota_Cocco & - - grazingFlux_Cocco * recipQuota_Cocco * grazEff & - + grazingFlux_Cocco2 * recipQuota_Cocco & - - grazingFlux_Cocco2 * recipQuota_Cocco * grazEff2 & -#endif - + grazingFlux_het2 * recipQZoo & - - grazingFlux_het2 * recipQZoo * grazEff2 & - + grazingFlux_miczoo2 * recipQZoo3 & - - grazingFlux_miczoo2 * recipQZoo3 * grazEff2 & - + grazingFlux_phy * recipQuota & - - grazingFlux_phy * recipQuota * grazEff & - + grazingFlux_Dia * recipQuota_Dia & - - grazingFlux_Dia * recipQuota_Dia * grazEff & - + grazingFlux_miczoo * recipQZoo3 & - - grazingFlux_miczoo * recipQZoo3 * grazEff & - - grazingFlux_DetZ2 * recipDet2 * grazEff & - - grazingFlux_DetZ22 * recipDet2 * grazEff2 & - + Zoo2LossFlux * recipQZoo2 & - + hetLossFlux * recipQZoo & - + Zoo2fecalloss_c & - + Mesfecalloss_c & - - reminC * arrFunc * O2Func * DetZ2C & ! O2remin - ) * dt_b + sms(k,idetz2c) - else - sms(k,idetz2c) = ( & - + grazingFlux_phy2 * recipQuota & - - grazingFlux_phy2 * recipQuota * grazEff2 & - + grazingFlux_Dia2 * recipQuota_Dia & - - grazingFlux_Dia2 * recipQuota_Dia * grazEff2 & -#if defined (__coccos) - + grazingFlux_Cocco * recipQuota_Cocco & - - grazingFlux_Cocco * recipQuota_Cocco * grazEff & - + grazingFlux_Cocco2 * recipQuota_Cocco & - - grazingFlux_Cocco2 * recipQuota_Cocco * grazEff2 & -#endif - + grazingFlux_het2 * recipQZoo & - - grazingFlux_het2 * recipQZoo * grazEff2 & - + grazingFlux_miczoo2 * recipQZoo3 & - - grazingFlux_miczoo2 * recipQZoo3 * grazEff2 & - + grazingFlux_phy * recipQuota & - - grazingFlux_phy * recipQuota * grazEff & - + grazingFlux_Dia * recipQuota_Dia & - - grazingFlux_Dia * recipQuota_Dia * grazEff & - + grazingFlux_miczoo * recipQZoo3 & - - grazingFlux_miczoo * recipQZoo3 * grazEff & - + Zoo2LossFlux * recipQZoo2 & - + hetLossFlux * recipQZoo & - + Zoo2fecalloss_c & - + Mesfecalloss_c & - - reminC * arrFunc * O2Func * DetZ2C & ! O2remin - ) * dt_b + sms(k,idetz2c) - end if - -!____________________________________________________________ -!< Second Zooplankton Detritus Si - sms(k,idetz2si) = ( & - + grazingFlux_dia2 * qSiN & ! --> qSin convert N to Si - + grazingFlux_dia * qSiN & - - reminSiT * DetZ2Si & - ) * dt_b + sms(k,idetz2si) - -!____________________________________________________________ -!< Second Zooplankton Detritus calcite - sms(k,idetz2calc) = ( & - + calc_loss_gra2 & - - calc_loss_gra2 * calc_diss_guts & - + calc_loss_gra & - - calc_loss_gra * calc_diss_guts & - - calc_diss2 * DetZ2Calc & - ) * dt_b + sms(k,idetz2calc) -#endif - -!< *** DOM *** -!< *********** - -!____________________________________________________________ -!< DON (Extracellular organic N) - - sms(k,idon) = ( & - + lossN * limitFacN * phyN & - + lossN_d * limitFacN_Dia * DiaN & -#if defined (__coccos) - + lossN_c * limitFacN_Cocco * CoccoN & -#endif - + reminN * arrFunc * O2Func * DetN & - + lossN_z * HetN & -#if defined (__3Zoo2Det) - + reminN * arrFunc * O2Func * DetZ2N & - + lossN_z2 * Zoo2N & - + lossN_z3 * MicZooN & ! 3Zoo -#endif - - rho_N * arrFunc * O2Func * DON & ! O2remin - ) * dt_b + sms(k,idon) - -!____________________________________________________________ -!< EOC - - sms(k,idoc) = ( & - + lossC * limitFacN * phyC & - + lossC_d * limitFacN_dia * DiaC & -#if defined (__coccos) - + lossC_c * limitFacN_cocco * CoccoC & -#endif - + reminC * arrFunc * O2Func * DetC & - + lossC_z * HetC & -#if defined (__3Zoo2Det) - + reminC * arrFunc * O2Func * DetZ2C & - + lossC_z2 * Zoo2C & - + lossC_z3 * MicZooC & ! 3Zoo -#endif - - rho_c1 * arrFunc * O2Func * EOC & ! O2remin - ) * dt_b + sms(k,idoc) - -!< *** Diatoms *** -!< *************** - -!____________________________________________________________ -!< Diatom N - -!< lossN: Diatom loss of organic N compounds [day^-1] -!< When N : C ratio becomes too high, excretion of DON is downregulated -!< by the limiter function limitFacN_dia -!< aggregationRate transfers N to the detritus pool - - sms(k,idian) = ( & - + N_assim_dia * DiaC & ! --> N assimilation - - lossN_d * limitFacN_dia * DiaN & ! --> DON excretion - - aggregationRate * DiaN & ! --> Aggregation loss - - grazingFlux_Dia & ! --> Grazing loss -#if defined (__3Zoo2Det) - - grazingFlux_Dia2 & - - grazingFlux_Dia3 & ! 3Zoo -#endif - ) * dt_b + sms(k,idian) - -!____________________________________________________________ -!< Diatom C - -!< lossC_d: Diatom loss of carbon [day^-1] -!< When N : C ratio becomes too high, excretion of DOC is downregulated -!< by the limiter function limitFacN_dia -!< aggregationRate transfers C to the detritus pool - - sms(k,idiac) = ( & - + Cphot_dia * DiaC & ! -- Photosynthesis ---->/ - - lossC_d * limitFacN_dia * DiaC & ! -- Excretion of DOC --/ Net Photosynthesis - - phyRespRate_dia * DiaC & ! -- Respiration ----->/ - - aggregationRate * DiaC & - - grazingFlux_dia * recipQuota_dia & -#if defined (__3Zoo2Det) - - grazingFlux_dia2 * recipQuota_dia & - - grazingFlux_dia3 * recipQuota_dia & ! 3Zoo -#endif - ) * dt_b + sms(k,idiac) - -!____________________________________________________________ -!< Diatom Chl - - sms(k,idchl) = ( & - + chlSynth_dia * DiaC & ! --> Chl a synthesis - - KOchl_dia * DiaChl & ! --> Degradation loss - - aggregationRate * DiaChl & ! --> Aggregation loss - - grazingFlux_dia * Chl2N_dia & ! --> Grazing loss -#if defined (__3Zoo2Det) - - grazingFlux_dia2 * Chl2N_dia & - - grazingFlux_dia3 * Chl2N_dia & ! 3Zoo -#endif - ) * dt_b + sms(k,idchl) - -!____________________________________________________________ -!< Diatom Si - -!< lossN_d: Diatom loss of organic nitrogen compunds [day^-1] -!< When N : C ratio becomes too high, excretion is downregulated -!< by the limiter function limitFacN_dia -!< aggregationRate transfers Si to the detritus pool - - sms(k,idiasi) = ( & - + Si_assim * DiaC & ! -- Diatom silicon assimilation - - lossN_d * limitFacN_dia * DiaSi & ! -- Excretion to detritus - - aggregationRate * DiaSi & ! -- Aggregation loss - - grazingFlux_dia * qSiN & ! -- Grazing loss -#if defined (__3Zoo2Det) - - grazingFlux_dia2 * qSiN & - - grazingFlux_dia3 * qSiN & ! 3Zoo -#endif - ) * dt_b + sms(k,idiasi) - -!< *** Coccolithophore *** -!< *********************** - -#if defined (__coccos) -!____________________________________________________________ -!< Coccolithophore N - sms(k,icocn) = ( & - + N_assim_cocco * CoccoC & - - lossN_c * limitFacN_cocco * CoccoN & - - aggregationRate * CoccoN & - - grazingFlux_Cocco & -#if defined (__3Zoo2Det) - - grazingFlux_Cocco2 & - - grazingFlux_Cocco3 & ! 3Zoo -#endif - ) * dt_b + sms(k,icocn) - -!____________________________________________________________ -!< Coccolithophore C - - sms(k,icocc) = ( & - + Cphot_cocco * CoccoC & - - lossC_c * limitFacN_cocco * CoccoC & - - phyRespRate_cocco * CoccoC & - - aggregationRate * CoccoC & - - grazingFlux_cocco * recipQuota_cocco & -#if defined (__3Zoo2Det) - - grazingFlux_Cocco2 * recipQuota_cocco & - - grazingFlux_Cocco3 * recipQuota_cocco & ! 3Zoo -#endif - ) * dt_b + sms(k,icocc) - - if(sms(k,icocc)>100) then - print*,'ERROR: strange CoccoC !' - print*,'k= ', k - print*,'dt= ', dt - print*,'dt_b= ', dt_b - print*,'state(k,icocc): ', state(k,icocc) - print*,'sms CoccoC: ', CoccoC - print*,'sms CoccoN: ', CoccoN - print*,'sms Cphot cocco: ', Cphot_cocco*CoccoC - print*,'sms lossC_c: ', lossC_c - print*,'sms limitFacN_cocco: ', limitFacN_cocco - print*,'sms phyRespRate_cocco: ', phyRespRate_cocco - print*,'sms grazingFlux_cocco: ', grazingFlux_cocco - print*,'sms grazingFlux_cocco2: ', grazingFlux_Cocco2 - print*,'sms grazingFlux_cocco3: ', grazingFlux_Cocco3 - print*,'sms recipQuota_cocco: ', recipQuota_cocco - - print*,'sms recipQuota_cocco: ', recipQuota_cocco - call par_ex(partit%MPI_COMM_FESOM, partit%mype) - stop - endif - -!____________________________________________________________ -!< Coccolithophore Chl - - sms(k,icchl) = ( & - + ChlSynth_cocco * CoccoC & - - KOchl_cocco * CoccoChl & - - aggregationRate * CoccoChl & - - grazingFlux_cocco * Chl2N_cocco & -#if defined (__3Zoo2Det) - - grazingFlux_Cocco2 * Chl2N_cocco & - - grazingFlux_Cocco3 * Chl2N_cocco & ! 3Zoo -#endif - ) * dt_b + sms(k,icchl) -#endif - -!< *** Silicate *** -!< **************** - -!____________________________________________________________ -!< Detritus Si -#if defined (__3Zoo2Det) - sms(k,idetsi) = ( & - + aggregationRate * DiaSi & - + lossN_d * limitFacN_dia * DiaSi & - + grazingFlux_dia3 * qSiN & - - reminSiT * DetSi & - ) * dt_b + sms(k,idetsi) -#else - sms(k,idetsi) = ( & - + aggregationRate * DiaSi & - + lossN_d * limitFacN_dia * DiaSi & - + grazingFlux_dia * qSiN & - - reminSiT * DetSi & - ) * dt_b + sms(k,idetsi) -#endif -!____________________________________________________________ -!< DSi, Silicate - -!< DiaC: Intracellular carbon concentration in diatoms [mmolC m-3] -!< DetSi: Detritus silicon concentration [mmolSi m-3] -!< Si_assim: Si assimilation rate for diatoms [mmolSi mmolC-1 day-1] -!< reminSiT: Remineralization rate of silicon, temperature dependency [day-1] -!< dt_b: REcoM time step [day] - -!! Schourup 2013 Eq. A3 - - sms(k,isi) = ( & - - Si_assim * DiaC & ! --> Si assimilation of diatoms - + reminSiT * DetSi & ! --> Remineralization of detritus, temperature dependent -#if defined (__3Zoo2Det) - + reminSiT * DetZ2Si & -#endif - ) * dt_b + sms(k,isi) -!< *** Iron *** -!< ************ - -!____________________________________________________________ -!< Fe - -!< Fe2N: Intracellular Fe : N ratio [μmol Fe mmol N^-1] Fe2N = Fe2C * 6.625 -!< PhyC: Intracellular carbon concentration in nanophytoplankton [mmolCm^-3] -!< Cphot: C-specific actual rate of photosynthesis for nanopyhtoplankton [day^-1] -!< DiaC: Intracellular carbon concentration in diatoms [mmol C m^-3 ] -!< Cphot_dia: C-specific actual rate of photosynthesis for diatom [day^-1] -!< phyRespRate: Nanopyhtoplankton respiration rate [day^-1] -!< phyRespRate_dia: Diatom respiration rate [day^-1] -!< lossC: Nanopyhtoplankton excretion of organic C [day^-1] -!< limitFacN: limiting factor -!< lossC_d: Diatom excretion of organic C [day^-1] -!< limitFacN_dia: limiting factor -!< detC: Detritus carbon concentration [mmol C m^-3] -!< reminC: Temperature dependent remineralisation rate of detritus [day^-1] -!< arrFunc: Arrhenius function -!< hetC: Zooplankton carbon concentration [mmol C m^-3 ] -!< lossC_z: Zooplankton excretion of organic C [day^-1 ] -!< hetRespFlux: Zooplankton respiration rate [day^-1] -!< kScavFe: Scavenging rate of iron [m3 mmol C^-1 day^-1] - - sms(k,ife) = ( Fe2N * ( & - - N_assim * PhyC & ! --> N assimilation Nanophytoplankton, [mmol N/(mmol C * day)] C specific N utilization rate - - N_assim_dia * DiaC & ! --> N assimilation Diatom -#if defined (__coccos) - - N_assim_cocco * CoccoC & - + lossN_c * limitFacN_cocco * CoccoN & -#endif - + lossN * limitFacN * PhyN & ! --> Excretion from small pythoplankton - + lossN_d * limitFacN_dia * DiaN & ! --> Excretion from diatom - + reminN * arrFunc * O2Func * DetN & ! --> Remineralization of detritus ! NEW O2remin - + lossN_z * HetN & ! --> Excretion from zooplankton -#if defined (__3Zoo2Det) - + reminN * arrFunc * O2Func * DetZ2N & ! O2remin - + lossN_z2 * Zoo2N & - + lossN_z3 * MicZooN & ! 3Zoo -#endif - ) & - - kScavFe * DetC * FreeFe & -#if defined (__3Zoo2Det) - - kScavFe * DetZ2C * FreeFe & -#endif - ) * dt_b + sms(k,ife) - -!< *** Calcification *** -!< ********************* - -!____________________________________________________________ -!< Small phytoplankton calcite - -#if defined (__coccos) - sms(k,iphycal) = ( & - + calcification & ! --> Calcification - - lossC_c * limitFacN_cocco * PhyCalc & ! --> Excretion loss - - phyRespRate_cocco * PhyCalc & ! --> Respiration - - calc_loss_agg & ! --> Aggregation loss - - calc_loss_gra & ! --> Grazing loss -#if defined (__3Zoo2Det) - - calc_loss_gra2 & - - calc_loss_gra3 & ! 3Zoo -#endif - ) * dt_b + sms(k,iphycal) -#else - sms(k,iphycal) = ( & - + calcification & ! --> Calcification - - lossC * limitFacN * PhyCalc & ! --> Excretion loss - - phyRespRate * PhyCalc & ! --> Respiration - - calc_loss_agg & ! --> Aggregation loss - - calc_loss_gra & ! --> Grazing loss -#if defined (__3Zoo2Det) - - calc_loss_gra2 & - - calc_loss_gra3 & ! 3Zoo -#endif - ) * dt_b + sms(k,iphycal) -#endif - -!____________________________________________________________ -! Detritus calcite -#if defined (__coccos) - -#if defined (__3Zoo2Det) - sms(k,idetcal) = ( & - + lossC_c * limitFacN_cocco * PhyCalc & - + phyRespRate_cocco * PhyCalc & - + calc_loss_agg & - + calc_loss_gra3 & - - calc_loss_gra3 * calc_diss_guts & - - calc_diss * DetCalc & - ) * dt_b + sms(k,idetcal) - -#else - sms(k,idetcal) = ( & - + lossC_c * limitFacN_cocco * PhyCalc & - + phyRespRate_cocco * PhyCalc & - + calc_loss_agg & - + calc_loss_gra & - - calc_loss_gra * calc_diss_guts & - - calc_diss * DetCalc & - ) * dt_b + sms(k,idetcal) - -#endif - -#else - -#if defined (__3Zoo2Det) - sms(k,idetcal) = ( & - + lossC * limitFacN * PhyCalc & - + phyRespRate * PhyCalc & - + calc_loss_agg & - + calc_loss_gra3 & - - calc_loss_gra3 * calc_diss_guts & - - calc_diss * DetCalc & - ) * dt_b + sms(k,idetcal) -#else - sms(k,idetcal) = ( & - + lossC * limitFacN * PhyCalc & - + phyRespRate * PhyCalc & - + calc_loss_agg & - + calc_loss_gra & - - calc_loss_gra * calc_diss_guts & - - calc_diss * DetCalc & - ) * dt_b + sms(k,idetcal) -#endif -#endif - -!____________________________________________________________ -! Oxygen - - sms(k,ioxy) = ( & - + Cphot * phyC & - - phyRespRate * phyC & - + Cphot_dia * diaC & - - phyRespRate_dia * diaC & -#if defined (__coccos) - + Cphot_cocco * CoccoC & - - phyRespRate_cocco * CoccoC & -#endif - - rho_C1 * arrFunc * O2Func * EOC & ! O2remin - - hetRespFlux & -#if defined (__3Zoo2Det) - - Zoo2RespFlux & - - MicZooRespFlux & ! 3Zoo -#endif - ) * redO2C * dt_b + sms(k,ioxy) -! -!------------------------------------------------------------------------------- -! Diagnostics: Averaged rates - - recipbiostep = 1.d0/real(biostep) -if (Diags) then -!*** Net primary production [mmol C /(m3 * day)] - vertNPPn(k) = vertNPPn(k) + ( & - + Cphot * PhyC & - - PhyRespRate * PhyC & - ) * recipbiostep - - vertNPPd(k) = vertNPPd(k) + ( & - + Cphot_dia * DiaC & - - PhyRespRate_dia * DiaC & - ) * recipbiostep + if (enable_3zoo2det) then + sms(k,idetn) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Direct Transfer from Grazing + !----------------------------------------------------------------------- + ! All grazed material enters detritus (no detritus grazing) + + grazingFlux_phy3 & ! Microzooplankton->small phyto !OG added + + grazingFlux_dia3 & ! Microzooplankton->diatoms + + grazingFlux_Cocco3 * is_coccos & ! Microzooplankton->coccoliths + + grazingFlux_Phaeo3 * is_coccos & ! Microzooplankton->Phaeocystis + !----------------------------------------------------------------------- + ! SOURCES: Phytoplankton Aggregation + !----------------------------------------------------------------------- + + aggregationRate * PhyN & + + aggregationRate * DiaN & + + aggregationRate * CoccoN * is_coccos & + + aggregationRate * PhaeoN * is_coccos & + !----------------------------------------------------------------------- + ! SOURCES: Zooplankton Mortality + !----------------------------------------------------------------------- + + miczooLossFlux & + !----------------------------------------------------------------------- + ! SINKS: Generic Zooplankton Consumption + !----------------------------------------------------------------------- + - grazingFlux * grazEff3 & + !----------------------------------------------------------------------- + ! SINKS: Remineralization + !----------------------------------------------------------------------- + - reminN * arrFunc * O2Func * DetN & + ) * dt_b + sms(k,idetn) + + !------------------------------------------------------------------------------- + ! Configuration 4: WITHOUT Detritus Grazing + 2 Zooplankton Types + !------------------------------------------------------------------------------- + else + sms(k,idetn) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Direct Transfer from Grazing + !----------------------------------------------------------------------- + + grazingFlux_phy & ! Mesozooplankton->small phyto + + grazingFlux_dia & ! Mesozooplankton->diatoms + + grazingFlux_Cocco * is_coccos & ! Mesozooplankton->coccoliths + + grazingFlux_Phaeo * is_coccos & ! Mesozooplankton->Phaeocystis + !----------------------------------------------------------------------- + ! SOURCES: Phytoplankton Aggregation + !----------------------------------------------------------------------- + + aggregationRate * PhyN & + + aggregationRate * DiaN & + + aggregationRate * CoccoN * is_coccos & + + aggregationRate * PhaeoN * is_coccos & + !----------------------------------------------------------------------- + ! SOURCES: Zooplankton Mortality + !----------------------------------------------------------------------- + + hetLossFlux & + !----------------------------------------------------------------------- + ! SINKS: Generic Zooplankton Consumption + !----------------------------------------------------------------------- + - grazingFlux * grazEff & + !----------------------------------------------------------------------- + ! SINKS: Remineralization + !----------------------------------------------------------------------- + - reminN * arrFunc * O2Func * DetN & + ) * dt_b + sms(k,idetn) + endif + end if + + !=============================================================================== + ! 8. DETRITUS CARBON (DetC) + !=============================================================================== + ! Tracks carbon content in slow-sinking organic particles + ! + ! Key Concepts: + ! - Stoichiometric Conversion: N-based fluxes -> C-based fluxes + ! Uses reciprocal quotas (recipQuota = C:N ratio) for conversion + ! - Sloppy Feeding: Net detritus = Total grazing × (1 - efficiency) + ! + ! Variables: + ! recipQuota, recipQuota_Dia, etc. : C:N quotas for phytoplankton [-] + ! recipDet, recipDet2 : C:N ratios in detritus [-] + ! recipQZoo, recipQZoo2, recipQZoo3: C:N ratios in zooplankton [-] + ! reminC : C remineralization rate [day-1] + ! +!=============================================================================== +! KEY CONCEPTS: +!=============================================================================== +! 1. SLOPPY FEEDING: Not all grazed material is assimilated +! - Net detritus production = Total grazing × (1 - grazing efficiency) +! - Represents fecal pellets and inefficient consumption +! +! 2. STOICHIOMETRIC CONVERSION: N-based fluxes -> C-based fluxes +! - recipQuota = C:N ratio of phytoplankton +! - recipDet = C:N ratio of detritus +! - recipQZoo = C:N ratio of zooplankton +! +! 3. FOOD WEB CONFIGURATIONS: +! - Grazing_detritus ON: Zooplankton can feed on detritus (coprophagy) +! - Grazing_detritus OFF: Detritus only forms from grazing/mortality +! - enable_3zoo2det: Adds microzooplankton + fast-sinking detritus +! +! 4. REMINERALIZATION: Temperature and oxygen dependent +! - arrFunc: Increases with temperature (Arrhenius kinetics) +! - O2Func: Decreases under low oxygen (anaerobic conditions) +!=============================================================================== + !------------------------------------------------------------------------------- + ! Configuration 1: WITH Detritus Grazing + 3 Zooplankton Types + !------------------------------------------------------------------------------- + if (Grazing_detritus) then + if (enable_3zoo2det) then + sms(k,idetc) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Sloppy Feeding by Microzooplankton (C-basis) + !----------------------------------------------------------------------- + + grazingFlux_phy3 * recipQuota * (1.d0 - grazEff3) & ! Small phyto + + grazingFlux_Dia3 * recipQuota_Dia * (1.d0 - grazEff3) & ! Diatoms + + grazingFlux_Cocco3 * recipQuota_Cocco * (1.d0 - grazEff3) * is_coccos & ! Coccoliths + + grazingFlux_Phaeo3 * recipQuota_Phaeo * (1.d0 - grazEff3) * is_coccos & ! Phaeocystis + !----------------------------------------------------------------------- + ! SOURCES: Phytoplankton Aggregation (C-basis) + !----------------------------------------------------------------------- + + aggregationRate * PhyC & + + aggregationRate * DiaC & + + aggregationRate * CoccoC * is_coccos & + + aggregationRate * PhaeoC * is_coccos & + !----------------------------------------------------------------------- + ! SOURCES: Zooplankton Mortality (C-basis) + !----------------------------------------------------------------------- + + miczooLossFlux * recipQZoo3 & ! N->C conversion + !----------------------------------------------------------------------- + ! SINKS: Detritus Consumption (C-basis) + !----------------------------------------------------------------------- + - grazingFlux_Det * recipDet * grazEff & ! Mesozooplankton + - grazingFlux_Det2 * recipDet * grazEff2 & ! Macrozooplankton ! corrected recipDet2 -> recipDet + !----------------------------------------------------------------------- + ! SINKS: Remineralization + !----------------------------------------------------------------------- + - reminC * arrFunc * O2Func * DetC & ! Bacterial respiration + ) * dt_b + sms(k,idetc) + + !------------------------------------------------------------------------------- + ! Configuration 2: WITH Detritus Grazing + 2 Zooplankton Types (Standard) + !------------------------------------------------------------------------------- + else + sms(k,idetc) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Sloppy Feeding by Mesozooplankton (C-basis) + !----------------------------------------------------------------------- + + grazingFlux_phy * recipQuota * (1.d0 - grazEff) & + + grazingFlux_Dia * recipQuota_Dia * (1.d0 - grazEff) & + + grazingFlux_Cocco * recipQuota_Cocco * (1.d0 - grazEff) * is_coccos & + + grazingFlux_Phaeo * recipQuota_Phaeo * (1.d0 - grazEff) * is_coccos & + !----------------------------------------------------------------------- + ! SOURCES: Phytoplankton Aggregation (C-basis) + !----------------------------------------------------------------------- + + aggregationRate * phyC & + + aggregationRate * DiaC & + + aggregationRate * CoccoC * is_coccos & + + aggregationRate * PhaeoC * is_coccos & + !----------------------------------------------------------------------- + ! SOURCES: Zooplankton Mortality (C-basis) + !----------------------------------------------------------------------- + + hetLossFlux * recipQZoo & + !----------------------------------------------------------------------- + ! SINKS: Detritus Consumption (C-basis) + !----------------------------------------------------------------------- + - grazingFlux_Det * recipDet * grazEff & + ! - grazingFlux_Det2 * recipDet2 * grazEff & !!!!!! CHECK + !----------------------------------------------------------------------- + ! SINKS: Remineralization + !----------------------------------------------------------------------- + - reminC * arrFunc * O2Func * DetC & + ) * dt_b + sms(k,idetc) -#if defined (__coccos) - vertNPPc(k) = vertNPPc(k) + ( & - + Cphot_cocco * CoccoC & - - PhyRespRate_cocco * CoccoC & - ) * recipbiostep -#endif + endif -!*** Gross primary production [mmol C /(m3 * day)] - vertGPPn(k) = vertGPPn(k) + ( & - + Cphot * PhyC & - ) * recipbiostep + !------------------------------------------------------------------------------- + ! Configuration 3: WITHOUT Detritus Grazing + 3 Zooplankton Types + !------------------------------------------------------------------------------- + else + if (enable_3zoo2det) then + sms(k,idetc) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Sloppy Feeding by Microzooplankton (C-basis) + !----------------------------------------------------------------------- + + grazingFlux_phy3 * recipQuota * (1.d0 - grazEff3) & + + grazingFlux_Dia3 * recipQuota_Dia * (1.d0 - grazEff3) & + + grazingFlux_Cocco3 * recipQuota_Cocco * (1.d0 - grazEff3) * is_coccos & + + grazingFlux_Phaeo3 * recipQuota_Phaeo * (1.d0 - grazEff3) * is_coccos & + !----------------------------------------------------------------------- + ! SOURCES: Phytoplankton Aggregation (C-basis) + !----------------------------------------------------------------------- + + aggregationRate * PhyC & + + aggregationRate * DiaC & + + aggregationRate * CoccoC * is_coccos & + + aggregationRate * PhaeoC * is_coccos & + !----------------------------------------------------------------------- + ! SOURCES: Zooplankton Mortality (C-basis) + !----------------------------------------------------------------------- + + miczooLossFlux * recipQZoo3 & + !----------------------------------------------------------------------- + ! SINKS: Remineralization + !----------------------------------------------------------------------- + - reminC * arrFunc * O2Func * DetC & + ) * dt_b + sms(k,idetc) + + !------------------------------------------------------------------------------- + ! Configuration 4: WITHOUT Detritus Grazing + 2 Zooplankton Types + !------------------------------------------------------------------------------- + else + sms(k,idetc) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Sloppy Feeding by Mesozooplankton (C-basis) + !----------------------------------------------------------------------- + + grazingFlux_phy * recipQuota * (1.d0 - grazEff) & + + grazingFlux_Dia * recipQuota_Dia * (1.d0 - grazEff) & + + grazingFlux_Cocco * recipQuota_Cocco * (1.d0 - grazEff) * is_coccos & + + grazingFlux_Phaeo * recipQuota_Phaeo * (1.d0 - grazEff) * is_coccos & + !----------------------------------------------------------------------- + ! SOURCES: Phytoplankton Aggregation (C-basis) + !----------------------------------------------------------------------- + + aggregationRate * phyC & + + aggregationRate * DiaC & + + aggregationRate * CoccoC * is_coccos & + + aggregationRate * PhaeoC * is_coccos & + !----------------------------------------------------------------------- + ! SOURCES: Zooplankton Mortality (C-basis) + !----------------------------------------------------------------------- + + hetLossFlux * recipQZoo & + !----------------------------------------------------------------------- + ! SINKS: Remineralization + !----------------------------------------------------------------------- + - reminC * arrFunc * O2Func * DetC & + ) * dt_b + sms(k,idetc) - vertGPPd(k) = vertGPPd(k) + ( & - + Cphot_dia * DiaC & - ) * recipbiostep + endif + end if + + !=============================================================================== + ! 9. MESOZOOPLANKTON NITROGEN (HetN) + !=============================================================================== + ! Primary herbivorous/omnivorous grazers that feed on phytoplankton and + ! smaller prey items. + ! + ! Variables: + ! grazingFlux : Total N grazing rate [mmolN m-3 day-1] + ! grazEff : Grazing/assimilation efficiency [-] + ! grazingFlux_het2 : Predation by macrozooplankton [mmolN m-3 day-1] + ! Mesfecalloss_n : Fecal pellet production [mmolN m-3 day-1] + ! hetLossFlux : Mortality flux [mmolN m-3 day-1] + ! lossN_z : DON excretion rate [day-1] + !------------------------------------------------------------------------------- + + sms(k,ihetn) = ( & + !--------------------------------------------------------------------------- + ! SOURCES: Grazing + !--------------------------------------------------------------------------- + + grazingFlux * grazEff & ! Assimilated N + !--------------------------------------------------------------------------- + ! SINKS: Predation, Mortality, Excretion + !--------------------------------------------------------------------------- + - grazingFlux_het2 * is_3zoo2det & ! Predation by macrozooplankton + - Mesfecalloss_n * is_3zoo2det & ! Fecal pellets + - hetLossFlux & ! Mortality + - lossN_z * HetN & ! DON excretion + ) * dt_b + sms(k,ihetn) + + !=============================================================================== + ! 10. MESOZOOPLANKTON CARBON (HetC) + !=============================================================================== + ! Carbon budget uses reciprocal quotas (C:N ratios) to convert N-based + ! grazing rates to carbon equivalents. + ! + ! Variables: + ! recipQuota, recipQuota_Dia, etc. : C:N ratios of prey items [-] + ! recipDet, recipDet2 : C:N ratios of detritus [-] + ! recipQZoo, recipQZoo3 : C:N ratios of zooplankton [-] + ! hetRespFlux : Respiration to CO2 [mmolC m-3 day-1] + ! lossC_z : DOC excretion rate [day-1] + !------------------------------------------------------------------------------- + + !------------------------------------------------------------------------------- + ! Configuration: Mesozooplankton CAN Graze on Detritus + !------------------------------------------------------------------------------- + if (Grazing_detritus) then + sms(k,ihetc) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Grazing (C-basis) + !----------------------------------------------------------------------- + + grazingFlux_phy * recipQuota * grazEff & ! Small phytoplankton + + grazingFlux_Dia * recipQuota_Dia * grazEff & ! Diatoms + + grazingFlux_Cocco * recipQuota_Cocco * grazEff * is_coccos & ! Coccolithophores + + grazingFlux_Phaeo * recipQuota_Phaeo * grazEff * is_coccos & ! Phaeocystis + + grazingFlux_miczoo * recipQZoo3 * grazEff * is_3zoo2det & ! Microzooplankton + + grazingFlux_DetZ2 * recipDet2 * grazEff * is_3zoo2det & ! Fast-sinking detritus + + grazingFlux_Det * recipDet * grazEff & ! Slow-sinking detritus + !----------------------------------------------------------------------- + ! SINKS: Predation, Mortality, Respiration, Excretion + !----------------------------------------------------------------------- + - grazingFlux_het2 * recipQZoo * is_3zoo2det & ! Predation + - Mesfecalloss_c * is_3zoo2det & ! Fecal pellets + - hetLossFlux * recipQZoo & ! Mortality + - lossC_z * HetC & ! DOC excretion + - hetRespFlux & ! Respiration to CO2 + ) * dt_b + sms(k,ihetc) + + !------------------------------------------------------------------------------- + ! Configuration: Mesozooplankton CANNOT Graze on Detritus + !------------------------------------------------------------------------------- + else + sms(k,ihetc) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Grazing (C-basis, herbivorous diet only) + !----------------------------------------------------------------------- + + grazingFlux_phy * recipQuota * grazEff & + + grazingFlux_Dia * recipQuota_Dia * grazEff & + + grazingFlux_Cocco * recipQuota_Cocco * grazEff * is_coccos & + + grazingFlux_Phaeo * recipQuota_Phaeo * grazEff * is_coccos & + + grazingFlux_miczoo * recipQZoo3 * grazEff * is_3zoo2det & + !----------------------------------------------------------------------- + ! SINKS: Predation, Mortality, Respiration, Excretion + !----------------------------------------------------------------------- + - grazingFlux_het2 * recipQZoo * is_3zoo2det & + - Mesfecalloss_c * is_3zoo2det & + - hetLossFlux * recipQZoo & + - lossC_z * HetC & + - hetRespFlux & + ) * dt_b + sms(k,ihetc) + endif -#if defined (__coccos) - vertGPPc(k) = vertGPPc(k) + ( & - + Cphot_cocco * CoccoC & - ) * recipbiostep -#endif + !=============================================================================== + ! 11. MACROZOOPLANKTON NITROGEN (Zoo2N) + !=============================================================================== + ! Larger predatory zooplankton that feed on mesozooplankton, microzooplankton, + ! and phytoplankton. Only active when enable_3zoo2det = .true. + ! + ! Variables: + ! grazingFlux2 : Total N grazing rate [mmolN m-3 day-1] + ! grazEff2 : Grazing/assimilation efficiency [-] + ! Zoo2LossFlux : Mortality flux [mmolN m-3 day-1] + ! lossN_z2 : DON excretion rate [day-1] + ! Zoo2fecalloss_n : Fecal pellet production [mmolN m-3 day-1] + !------------------------------------------------------------------------------- + + if (enable_3zoo2det) then + sms(k,izoo2n) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Grazing + !----------------------------------------------------------------------- + + grazingFlux2 * grazEff2 & ! Assimilated N + !----------------------------------------------------------------------- + ! SINKS: Mortality, Excretion, Fecal Pellets + !----------------------------------------------------------------------- + - Zoo2LossFlux & ! Mortality + - lossN_z2 * Zoo2N & ! DON excretion + - Zoo2fecalloss_n & ! Fecal pellets + ) * dt_b + sms(k,izoo2n) + + !=============================================================================== + ! 12. MACROZOOPLANKTON CARBON (Zoo2C) + !=============================================================================== + ! Carbon budget for macrozooplankton with stoichiometric conversions. + ! + ! Variables: + ! recipQuota, recipQuota_Dia, etc. : C:N ratios of prey [-] + ! recipDet, recipDet2 : C:N ratios of detritus [-] + ! recipQZoo, recipQZoo2, recipQZoo3: C:N ratios of zooplankton [-] + ! Zoo2RespFlux : Respiration to CO2 [mmolC m-3 day-1] + ! lossC_z2 : DOC excretion rate [day-1] + !------------------------------------------------------------------------------- + + !--------------------------------------------------------------------------- + ! Configuration: Macrozooplankton CAN Graze on Detritus + !--------------------------------------------------------------------------- -!*** Net N-assimilation [mmol N/(m3 * day)] - vertNNAn(k) = vertNNAn(k) + ( & - + N_assim * PhyC & - - lossN * limitFacN * PhyN & - ) * recipbiostep + if (Grazing_detritus) then + sms(k,izoo2c) = ( & + !------------------------------------------------------------------- + ! SOURCES: Grazing (C-basis) + !------------------------------------------------------------------- + + grazingFlux_phy2 * recipQuota * grazEff2 & ! Small phytoplankton + + grazingFlux_Dia2 * recipQuota_Dia * grazEff2 & ! Diatoms + + grazingFlux_Cocco2 * recipQuota_Cocco * grazEff2 * is_coccos & ! Coccolithophores + + grazingFlux_Phaeo2 * recipQuota_Phaeo * grazEff2 * is_coccos & ! Phaeocystis + + grazingFlux_het2 * recipQZoo * grazEff2 & ! Mesozooplankton (predation) + + grazingFlux_miczoo2* recipQZoo3 * grazEff2 & ! Microzooplankton + + grazingFlux_Det2 * recipDet * grazEff2 & ! Slow-sinking detritus + + grazingFlux_DetZ22 * recipDet2 * grazEff2 & ! Fast-sinking detritus + !------------------------------------------------------------------- + ! SINKS: Mortality, Respiration, Excretion, Fecal Pellets + !------------------------------------------------------------------- + - zoo2LossFlux * recipQZoo2 & ! Mortality + - lossC_z2 * Zoo2C & ! DOC excretion + - Zoo2RespFlux & ! Respiration to CO2 + - Zoo2fecalloss_c & ! Fecal pellets + ) * dt_b + sms(k,izoo2c) + + !--------------------------------------------------------------------------- + ! Configuration: Macrozooplankton CANNOT Graze on Detritus + !--------------------------------------------------------------------------- + else + sms(k,izoo2c) = ( & + !------------------------------------------------------------------- + ! SOURCES: Grazing (C-basis, no detritus feeding) + !------------------------------------------------------------------- + + grazingFlux_phy2 * recipQuota * grazEff2 & + + grazingFlux_Dia2 * recipQuota_Dia * grazEff2 & + + grazingFlux_Cocco2 * recipQuota_Cocco * grazEff2 * is_coccos & + + grazingFlux_Phaeo2 * recipQuota_Phaeo * grazEff2 * is_coccos & + + grazingFlux_het2 * recipQZoo * grazEff2 & + + grazingFlux_miczoo2* recipQZoo3 * grazEff2 & + !------------------------------------------------------------------- + ! SINKS: Mortality, Respiration, Excretion, Fecal Pellets + !------------------------------------------------------------------- + - zoo2LossFlux * recipQZoo2 & + - lossC_z2 * Zoo2C & + - Zoo2RespFlux & + - Zoo2fecalloss_c & + ) * dt_b + sms(k,izoo2c) - vertNNAd(k) = vertNNAd(k) + ( & - + N_assim_dia * DiaC & - - lossN * limitFacN_dia * DiaN & - ) * recipbiostep + end if -#if defined (__coccos) - vertNNAc(k) = vertNNAc(k) + ( & - + N_assim_cocco * CoccoC & - - lossN * limitFacN_cocco * CoccoN & - ) * recipbiostep -#endif + !=============================================================================== + ! 13. MICROZOOPLANKTON NITROGEN (MicZooN) + !=============================================================================== + ! Small heterotrophic protists that graze on phytoplankton and are prey for + ! meso- and macrozooplankton. + ! + ! Variables: + ! grazingFlux3 : Total N grazing rate [mmolN m-3 day-1] + ! grazEff3 : Grazing/assimilation efficiency [-] + ! grazingFlux_miczoo : Predation by mesozooplankton [mmolN m-3 day-1] + ! grazingFlux_miczoo2: Predation by macrozooplankton [mmolN m-3 day-1] + ! MicZooLossFlux : Mortality flux [mmolN m-3 day-1] + ! lossN_z3 : DON excretion rate [day-1] + !------------------------------------------------------------------------------- + + sms(k,imiczoon) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Grazing + !----------------------------------------------------------------------- + + grazingFlux3 * grazEff3 & ! Assimilated N + !----------------------------------------------------------------------- + ! SINKS: Predation, Mortality, Excretion + !----------------------------------------------------------------------- + - grazingFlux_miczoo & ! Predation by mesozooplankton + - grazingFlux_miczoo2 & ! Predation by macrozooplankton + - MicZooLossFlux & ! Mortality + - lossN_z3 * MicZooN & ! DON excretion + ) * dt_b + sms(k,imiczoon) + + !=============================================================================== + ! 14. MICROZOOPLANKTON CARBON (MicZooC) + !=============================================================================== + ! Carbon budget for microzooplankton with stoichiometric conversions. + ! + ! Variables: + ! recipQuota, recipQuota_Dia, etc. : C:N ratios of prey [-] + ! recipQZoo3 : C:N ratio of microzooplankton [-] + ! MicZooRespFlux : Respiration to CO2 [mmolC m-3 day-1] + ! lossC_z3 : DOC excretion rate [day-1] + !------------------------------------------------------------------------------- + + sms(k,imiczooc) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Grazing (C-basis) + !----------------------------------------------------------------------- + + grazingFlux_phy3 * recipQuota * grazEff3 & ! Small phytoplankton + + grazingFlux_Dia3 * recipQuota_Dia * grazEff3 & ! Diatoms + + grazingFlux_Cocco3 * recipQuota_Cocco * grazEff3 * is_coccos & ! Coccolithophores + + grazingFlux_Phaeo3 * recipQuota_Phaeo * grazEff3 * is_coccos & ! Phaeocystis + !----------------------------------------------------------------------- + ! SINKS: Predation, Mortality, Respiration, Excretion + !----------------------------------------------------------------------- + - MicZooLossFlux * recipQZoo3 & ! Mortality + - grazingFlux_miczoo * recipQZoo3 & ! Predation by mesozooplankton + - grazingFlux_miczoo2 * recipQZoo3 & ! Predation by macrozooplankton + - lossC_z3 * MicZooC & ! DOC excretion + - MicZooRespFlux & ! Respiration to CO2 + ) * dt_b + sms(k,imiczooc) + + end if + + !=============================================================================== + ! 15. FAST-SINKING DETRITUS NITROGEN (DetZ2N) + !=============================================================================== + ! Particulate organic matter produced from zooplankton mortality, fecal pellets, + ! and unassimilated grazing. Sinks faster than regular detritus. + ! Only active when enable_3zoo2det = .true. + ! + ! Variables: + ! grazingFlux_phy, grazingFlux_phy2 : Grazing on small phyto [mmolN m-3 day-1] + ! grazingFlux_dia, grazingFlux_dia2 : Grazing on diatoms [mmolN m-3 day-1] + ! grazingFlux_het2 : Predation on mesozooplankton [mmolN m-3 day-1] + ! grazingFlux_miczoo, grazingFlux_miczoo2 : Grazing on microzooplankton [mmolN m-3 day-1] + ! grazingFlux_DetZ2, grazingFlux_DetZ22 : Grazing on fast detritus [mmolN m-3 day-1] + ! Zoo2LossFlux, hetLossFlux : Zooplankton mortality [mmolN m-3 day-1] + ! Zoo2fecalloss_n, Mesfecalloss_n : Fecal pellet production [mmolN m-3 day-1] + ! reminN : Remineralization rate [day-1] + !------------------------------------------------------------------------------- + + if (enable_3zoo2det) then + + !--------------------------------------------------------------------------- + ! Configuration: Zooplankton CAN Graze on Fast-Sinking Detritus + !--------------------------------------------------------------------------- + if (Grazing_detritus) then + sms(k,idetz2n) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Sloppy Feeding by Macrozooplankton + !----------------------------------------------------------------------- + + grazingFlux_phy2 * (1.d0 - grazEff2) & ! Small phytoplankton + + grazingFlux_dia2 * (1.d0 - grazEff2) & ! Diatoms + + grazingFlux_Cocco * (1.d0 - grazEff) * is_coccos & ! Coccoliths (meso) ! grazEff2 --> grazEff + + grazingFlux_Cocco2 * (1.d0 - grazEff2) * is_coccos & ! Coccoliths (macro) + + grazingFlux_Phaeo * (1.d0 - grazEff) * is_coccos & ! Phaeocystis (meso) + + grazingFlux_Phaeo2 * (1.d0 - grazEff2) * is_coccos & ! Phaeocystis (macro) + + grazingFlux_het2 * (1.d0 - grazEff2) & ! Mesozooplankton (predation) + + grazingFlux_miczoo2 * (1.d0 - grazEff2) & ! Microzooplankton + !----------------------------------------------------------------------- + ! SOURCES: Sloppy Feeding by Mesozooplankton + !----------------------------------------------------------------------- + + grazingFlux_phy * (1.d0 - grazEff) & ! Small phytoplankton + + grazingFlux_dia * (1.d0 - grazEff) & ! Diatoms + + grazingFlux_miczoo * (1.d0 - grazEff) & ! Microzooplankton + !----------------------------------------------------------------------- + ! SOURCES: Zooplankton Mortality + !----------------------------------------------------------------------- + + Zoo2LossFlux & ! Macrozooplankton + + hetLossFlux & ! Mesozooplankton + !----------------------------------------------------------------------- + ! SOURCES: Fecal Pellet Production + !----------------------------------------------------------------------- + + Zoo2fecalloss_n & ! Macrozooplankton + + Mesfecalloss_n & ! Mesozooplankton + !----------------------------------------------------------------------- + ! SINKS: Detritus Consumption (Coprophagy) + !----------------------------------------------------------------------- + - grazingFlux_DetZ2 * grazEff & ! Mesozooplankton + - grazingFlux_DetZ22 * grazEff2 & ! Macrozooplankton + !----------------------------------------------------------------------- + ! SINKS: Remineralization + !----------------------------------------------------------------------- + - reminN * arrFunc * O2Func * DetZ2N & ! Bacterial decomposition + ) * dt_b + sms(k,idetz2n) + + !--------------------------------------------------------------------------- + ! Configuration: Zooplankton CANNOT Graze on Fast-Sinking Detritus + !--------------------------------------------------------------------------- + else + sms(k,idetz2n) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Sloppy Feeding by Macrozooplankton + !----------------------------------------------------------------------- + + grazingFlux_phy2 & ! All grazing enters detritus + + grazingFlux_dia2 & + + grazingFlux_Cocco * is_coccos & + + grazingFlux_Cocco2 * is_coccos & + + grazingFlux_Phaeo * is_coccos & + + grazingFlux_Phaeo2 * is_coccos & + + grazingFlux_het2 & + + grazingFlux_miczoo2 & + - grazingFlux2 * grazEff2 & ! Minus assimilated portion + !----------------------------------------------------------------------- + ! SOURCES: Sloppy Feeding by Mesozooplankton + !----------------------------------------------------------------------- + + grazingFlux_phy & + + grazingFlux_dia & + + grazingFlux_miczoo & + - grazingFlux * grazEff & ! Minus assimilated portion + !----------------------------------------------------------------------- + ! SOURCES: Zooplankton Mortality + !----------------------------------------------------------------------- + + Zoo2LossFlux & + + hetLossFlux & + !----------------------------------------------------------------------- + ! SOURCES: Fecal Pellet Production + !----------------------------------------------------------------------- + + Zoo2fecalloss_n & + + Mesfecalloss_n & + !----------------------------------------------------------------------- + ! SINKS: Remineralization + !----------------------------------------------------------------------- + - reminN * arrFunc * O2Func * DetZ2N & + ) * dt_b + sms(k,idetz2n) + end if + !=============================================================================== + ! 16. FAST-SINKING DETRITUS CARBON (DetZ2C) + !=============================================================================== + ! Carbon budget for fast-sinking detritus with stoichiometric conversions. + ! + ! Variables: + ! recipQuota, recipQuota_Dia, etc. : C:N ratios of phytoplankton [-] + ! recipQZoo, recipQZoo2, recipQZoo3: C:N ratios of zooplankton [-] + ! recipDet2 : C:N ratio of fast-sinking detritus [-] + ! reminC : C remineralization rate [day-1] + !------------------------------------------------------------------------------- + + !--------------------------------------------------------------------------- + ! Configuration: Zooplankton CAN Graze on Fast-Sinking Detritus + !--------------------------------------------------------------------------- + if (Grazing_detritus) then + sms(k,idetz2c) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Sloppy Feeding by Macrozooplankton (C-basis) + !----------------------------------------------------------------------- + + grazingFlux_phy2 * recipQuota * (1.d0 - grazEff2) & ! Small phyto + + grazingFlux_Dia2 * recipQuota_Dia * (1.d0 - grazEff2) & ! Diatoms + + grazingFlux_Cocco * recipQuota_Cocco * (1.d0 - grazEff) * is_coccos & ! Coccoliths (meso) + + grazingFlux_Cocco2 * recipQuota_Cocco * (1.d0 - grazEff2) * is_coccos & ! Coccoliths (macro) + + grazingFlux_Phaeo * recipQuota_Phaeo * (1.d0 - grazEff) * is_coccos & ! Phaeocystis (meso) + + grazingFlux_Phaeo2 * recipQuota_Phaeo * (1.d0 - grazEff2) * is_coccos & ! Phaeocystis (macro) + + grazingFlux_het2 * recipQZoo * (1.d0 - grazEff2) & ! Mesozooplankton + + grazingFlux_miczoo2 * recipQZoo3 * (1.d0 - grazEff2) & ! Microzooplankton + !----------------------------------------------------------------------- + ! SOURCES: Sloppy Feeding by Mesozooplankton (C-basis) + !----------------------------------------------------------------------- + + grazingFlux_phy * recipQuota * (1.d0 - grazEff) & ! Small phyto + + grazingFlux_Dia * recipQuota_Dia * (1.d0 - grazEff) & ! Diatoms + + grazingFlux_miczoo * recipQZoo3 * (1.d0 - grazEff) & ! Microzooplankton + !----------------------------------------------------------------------- + ! SOURCES: Zooplankton Mortality (C-basis) + !----------------------------------------------------------------------- + + Zoo2LossFlux * recipQZoo2 & ! Macrozooplankton (N->C) + + hetLossFlux * recipQZoo & ! Mesozooplankton (N->C) + !----------------------------------------------------------------------- + ! SOURCES: Fecal Pellet Production (C-basis) + !----------------------------------------------------------------------- + + Zoo2fecalloss_c & ! Macrozooplankton + + Mesfecalloss_c & ! Mesozooplankton + !----------------------------------------------------------------------- + ! SINKS: Detritus Consumption (C-basis) + !----------------------------------------------------------------------- + - grazingFlux_DetZ2 * recipDet2 * grazEff & ! Mesozooplankton + - grazingFlux_DetZ22 * recipDet2 * grazEff2 & ! Macrozooplankton + !----------------------------------------------------------------------- + ! SINKS: Remineralization + !----------------------------------------------------------------------- + - reminC * arrFunc * O2Func * DetZ2C & ! Bacterial respiration + ) * dt_b + sms(k,idetz2c) + + !--------------------------------------------------------------------------- + ! Configuration: Zooplankton CANNOT Graze on Fast-Sinking Detritus + !--------------------------------------------------------------------------- + else + sms(k,idetz2c) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Sloppy Feeding by Macrozooplankton (C-basis) + !----------------------------------------------------------------------- + + grazingFlux_phy2 * recipQuota * (1.d0 - grazEff2) & + + grazingFlux_Dia2 * recipQuota_Dia * (1.d0 - grazEff2) & + + grazingFlux_Cocco * recipQuota_Cocco * (1.d0 - grazEff) * is_coccos & + + grazingFlux_Cocco2 * recipQuota_Cocco * (1.d0 - grazEff2) * is_coccos & ! grazEff -> grazEff2 + + grazingFlux_Phaeo * recipQuota_Phaeo * (1.d0 - grazEff) * is_coccos & + + grazingFlux_Phaeo2 * recipQuota_Phaeo * (1.d0 - grazEff2) * is_coccos & + + grazingFlux_het2 * recipQZoo * (1.d0 - grazEff2) & + + grazingFlux_miczoo2 * recipQZoo3 * (1.d0 - grazEff2) & + !----------------------------------------------------------------------- + ! SOURCES: Sloppy Feeding by Mesozooplankton (C-basis) + !----------------------------------------------------------------------- + + grazingFlux_phy * recipQuota * (1.d0 - grazEff) & + + grazingFlux_Dia * recipQuota_Dia * (1.d0 - grazEff) & + + grazingFlux_miczoo * recipQZoo3 * (1.d0 - grazEff) & + !----------------------------------------------------------------------- + ! SOURCES: Zooplankton Mortality (C-basis) + !----------------------------------------------------------------------- + + Zoo2LossFlux * recipQZoo2 & + + hetLossFlux * recipQZoo & + !----------------------------------------------------------------------- + ! SOURCES: Fecal Pellet Production (C-basis) + !----------------------------------------------------------------------- + + Zoo2fecalloss_c & + + Mesfecalloss_c & + !----------------------------------------------------------------------- + ! SINKS: Remineralization + !----------------------------------------------------------------------- + - reminC * arrFunc * O2Func * DetZ2C & + ) * dt_b + sms(k,idetz2c) + end if -!*** Changed to chlorophyll degradation (commented out gross N-assimilation below) - vertChldegn(k) = vertChldegn(k) + ( & - + KOchl & - ) * recipbiostep + !=============================================================================== + ! 17. FAST-SINKING DETRITUS SILICA (DetZ2Si) + !=============================================================================== + ! Biogenic silica from diatom frustules in fast-sinking detritus. + ! + ! Variables: + ! grazingFlux_dia, grazingFlux_dia2 : Grazing on diatoms [mmolN m-3 day-1] + ! qSiN : Si:N ratio in diatoms [mmolSi mmolN-1] + ! reminSiT : Temperature-dependent dissolution [day-1] + !------------------------------------------------------------------------------- + + sms(k,idetz2si) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Grazing on Diatoms + !----------------------------------------------------------------------- + + grazingFlux_dia2 * qSiN & ! Macrozooplankton grazing + + grazingFlux_dia * qSiN & ! Mesozooplankton grazing + !----------------------------------------------------------------------- + ! SINKS: Dissolution + !----------------------------------------------------------------------- + - reminSiT * DetZ2Si & ! Temperature-dependent + ) * dt_b + sms(k,idetz2si) + + !=============================================================================== + ! 18. FAST-SINKING DETRITUS CALCITE (DetZ2Calc) + !=============================================================================== + ! Calcite particles from coccolithophore shells in fast-sinking detritus. + ! + ! Variables: + ! calc_loss_gra, calc_loss_gra2 : Calcite from grazing [mmolCaCO3 m-3 day-1] + ! calc_diss_guts : Gut dissolution fraction [-] + ! calc_diss2 : Water column dissolution rate [day-1] + !------------------------------------------------------------------------------- + + sms(k,idetz2calc) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Grazing on Calcifying Phytoplankton + !----------------------------------------------------------------------- + + calc_loss_gra2 * (1.d0 - calc_diss_guts) & ! Macrozooplankton (net) + + calc_loss_gra * (1.d0 - calc_diss_guts) & ! Mesozooplankton (net) + !----------------------------------------------------------------------- + ! SINKS: Dissolution in Water Column + !----------------------------------------------------------------------- + - calc_diss2 * DetZ2Calc & ! CaCO3 dissolution + ) * dt_b + sms(k,idetz2calc) + + endif ! enable_3zoo2det + + !=============================================================================== + ! 19. DISSOLVED ORGANIC NITROGEN (DON) + !=============================================================================== + ! Dissolved organic nitrogen pool from phytoplankton excretion, zooplankton + ! metabolism, and detrital remineralization. + ! + ! Variables: + ! lossN, lossN_d, lossN_c, lossN_p : Phytoplankton DON excretion rates [day-1] + ! limitFacN, limitFacN_Dia, etc. : N:C ratio limiters (regulate excretion) [-] + ! reminN : Detrital N remineralization rate [day-1] + ! rho_N : DON remineralization rate [day-1] + ! lossN_z, lossN_z2, lossN_z3 : Zooplankton DON excretion rates [day-1] + ! arrFunc : Arrhenius temperature function [-] + ! O2Func : Oxygen limitation function [-] + !------------------------------------------------------------------------------- + + sms(k,idon) = ( & + !--------------------------------------------------------------------------- + ! SOURCES: Phytoplankton Excretion + !--------------------------------------------------------------------------- + + lossN * limitFacN * phyN & ! Small phytoplankton + + lossN_d * limitFacN_Dia * DiaN & ! Diatoms + + lossN_c * limitFacN_Cocco * CoccoN * is_coccos & ! Coccolithophores + + lossN_p * limitFacN_Phaeo * PhaeoN * is_coccos & ! Phaeocystis + !--------------------------------------------------------------------------- + ! SOURCES: Detrital Remineralization + !--------------------------------------------------------------------------- + + reminN * arrFunc * O2Func * DetN & ! Slow-sinking detritus + + reminN * arrFunc * O2Func * DetZ2N * is_3zoo2det & ! Fast-sinking detritus + !--------------------------------------------------------------------------- + ! SOURCES: Zooplankton Excretion + !--------------------------------------------------------------------------- + + lossN_z * HetN & ! Mesozooplankton + + lossN_z2 * Zoo2N * is_3zoo2det & ! Macrozooplankton + + lossN_z3 * MicZooN * is_3zoo2det & ! Microzooplankton + !--------------------------------------------------------------------------- + ! SINKS: Remineralization to NH4 + !--------------------------------------------------------------------------- + - rho_N * arrFunc * O2Func * DON & ! Bacterial remineralization + ) * dt_b + sms(k,idon) + + !=============================================================================== + ! 20. EXTRACELLULAR ORGANIC CARBON (EOC / DOC) + !=============================================================================== + ! Dissolved organic carbon pool from phytoplankton excretion, zooplankton + ! metabolism, and detrital remineralization. + ! + ! Variables: + ! lossC, lossC_d, lossC_c, lossC_p : Phytoplankton DOC excretion rates [day-1] + ! limitFacN, limitFacN_dia, etc. : N:C ratio limiters (regulate excretion) [-] + ! reminC : Detrital C remineralization rate [day-1] + ! rho_c1 : DOC remineralization rate [day-1] + ! lossC_z, lossC_z2, lossC_z3 : Zooplankton DOC excretion rates [day-1] + !------------------------------------------------------------------------------- + + sms(k,idoc) = ( & + !--------------------------------------------------------------------------- + ! SOURCES: Phytoplankton Excretion + !--------------------------------------------------------------------------- + + lossC * limitFacN * phyC & ! Small phytoplankton + + lossC_d * limitFacN_dia * DiaC & ! Diatoms + + lossC_c * limitFacN_cocco * CoccoC * is_coccos & ! Coccolithophores + + lossC_p * limitFacN_Phaeo * PhaeoC * is_coccos & ! Phaeocystis + !--------------------------------------------------------------------------- + ! SOURCES: Detrital Remineralization + !--------------------------------------------------------------------------- + + reminC * arrFunc * O2Func * DetC & ! Slow-sinking detritus + + reminC * arrFunc * O2Func * DetZ2C * is_3zoo2det & ! Fast-sinking detritus + !--------------------------------------------------------------------------- + ! SOURCES: Zooplankton Excretion + !--------------------------------------------------------------------------- + + lossC_z * HetC & ! Mesozooplankton + + lossC_z2 * Zoo2C * is_3zoo2det & ! Macrozooplankton + + lossC_z3 * MicZooC * is_3zoo2det & ! Microzooplankton + !--------------------------------------------------------------------------- + ! SINKS: Remineralization to CO2 + !--------------------------------------------------------------------------- + - rho_c1 * arrFunc * O2Func * EOC & ! Bacterial respiration + ) * dt_b + sms(k,idoc) + + !=============================================================================== + ! 21. DIATOM NITROGEN (DiaN) + !=============================================================================== + ! Tracks nitrogen content of diatoms (large phytoplankton with silica frustules). + ! + ! Variables: + ! N_assim_dia : N assimilation rate [day-1] + ! lossN_d : N loss rate [day-1] + ! limitFacN_dia : Limiter function for N:C ratio regulation [-] + ! aggregationRate : Aggregation to detritus [day-1] + ! grazingFlux_Dia : Mesozooplankton grazing [mmolN m-3 day-1] + ! grazingFlux_Dia2 : Macrozooplankton grazing [mmolN m-3 day-1] + ! grazingFlux_Dia3 : Microzooplankton grazing [mmolN m-3 day-1] + !------------------------------------------------------------------------------- + + sms(k,idian) = ( & + !--------------------------------------------------------------------------- + ! SOURCES: Nitrogen Assimilation + !--------------------------------------------------------------------------- + + N_assim_dia * DiaC & + !--------------------------------------------------------------------------- + ! SINKS: DON Excretion + !--------------------------------------------------------------------------- + - lossN_d * limitFacN_dia * DiaN & + !--------------------------------------------------------------------------- + ! SINKS: Aggregation + !--------------------------------------------------------------------------- + - aggregationRate * DiaN & + !--------------------------------------------------------------------------- + ! SINKS: Grazing + !--------------------------------------------------------------------------- + - grazingFlux_Dia & ! Mesozooplankton + - grazingFlux_Dia2 * is_3zoo2det & ! Macrozooplankton + - grazingFlux_Dia3 * is_3zoo2det & ! Microzooplankton + ) * dt_b + sms(k,idian) + + !=============================================================================== + ! 22. DIATOM CARBON (DiaC) + !=============================================================================== + ! Tracks carbon content of diatoms. + ! + ! Variables: + ! Cphot_dia : Gross photosynthesis rate [day-1] + ! phyRespRate_dia : Autotrophic respiration rate [day-1] + ! lossC_d : C loss rate [day-1] + ! recipQuota_dia : Reciprocal of N:C quota (for N->C conversion) [-] + !------------------------------------------------------------------------------- + + sms(k,idiac) = ( & + !--------------------------------------------------------------------------- + ! SOURCES: Net Photosynthesis + !--------------------------------------------------------------------------- + + Cphot_dia * DiaC & ! Gross photosynthesis + !--------------------------------------------------------------------------- + ! SINKS: DOC Excretion + !--------------------------------------------------------------------------- + - lossC_d * limitFacN_dia * DiaC & + !--------------------------------------------------------------------------- + ! SINKS: Respiration + !--------------------------------------------------------------------------- + - phyRespRate_dia * DiaC & + !--------------------------------------------------------------------------- + ! SINKS: Aggregation + !--------------------------------------------------------------------------- + - aggregationRate * DiaC & + !--------------------------------------------------------------------------- + ! SINKS: Grazing (C-basis) + !--------------------------------------------------------------------------- + - grazingFlux_dia * recipQuota_dia & ! Mesozooplankton (N->C) + - grazingFlux_dia2 * recipQuota_dia * is_3zoo2det & ! Macrozooplankton + - grazingFlux_dia3 * recipQuota_dia * is_3zoo2det & ! Microzooplankton + ) * dt_b + sms(k,idiac) + + !=============================================================================== + ! 23. DIATOM CHLOROPHYLL-A (DiaChl) + !=============================================================================== + ! Tracks chlorophyll-a content for light harvesting and photoacclimation. + ! + ! Variables: + ! chlSynth_dia : Chlorophyll synthesis rate [mgChl mmolC-1 day-1] + ! KOchl_dia : Chlorophyll degradation rate [day-1] + ! Chl2N_dia : Chl:N ratio = DiaChl/DiaN [mgChl mmolN-1] + !------------------------------------------------------------------------------- + + sms(k,idchl) = ( & + !--------------------------------------------------------------------------- + ! SOURCES: Chlorophyll Synthesis + !--------------------------------------------------------------------------- + + chlSynth_dia * DiaC & ! Photoacclimation + !--------------------------------------------------------------------------- + ! SINKS: Photo-oxidation + !--------------------------------------------------------------------------- + - KOchl_dia * DiaChl & + !--------------------------------------------------------------------------- + ! SINKS: Aggregation + !--------------------------------------------------------------------------- + - aggregationRate * DiaChl & + !--------------------------------------------------------------------------- + ! SINKS: Grazing (Chl-basis) + !--------------------------------------------------------------------------- + - grazingFlux_dia * Chl2N_dia & ! Mesozooplankton (N->Chl) + - grazingFlux_dia2 * Chl2N_dia * is_3zoo2det & ! Macrozooplankton + - grazingFlux_dia3 * Chl2N_dia * is_3zoo2det & ! Microzooplankton + ) * dt_b + sms(k,idchl) + + !=============================================================================== + ! 24. DIATOM SILICA (DiaSi) + !=============================================================================== + ! Tracks biogenic silica content in diatom frustules. + ! + ! Variables: + ! Si_assim : Silicic acid assimilation rate [day-1] + ! qSiN : Si:N ratio in diatoms [mmolSi mmolN-1] + !------------------------------------------------------------------------------- + + sms(k,idiasi) = ( & + !--------------------------------------------------------------------------- + ! SOURCES: Silicon Assimilation + !--------------------------------------------------------------------------- + + Si_assim * DiaC & + !--------------------------------------------------------------------------- + ! SINKS: Silicon Excretion + !--------------------------------------------------------------------------- + - lossN_d * limitFacN_dia * DiaSi & + !--------------------------------------------------------------------------- + ! SINKS: Aggregation + !--------------------------------------------------------------------------- + - aggregationRate * DiaSi & + !--------------------------------------------------------------------------- + ! SINKS: Grazing (Si-basis) + !--------------------------------------------------------------------------- + - grazingFlux_dia * qSiN & ! Mesozooplankton (N->Si) + - grazingFlux_dia2 * qSiN * is_3zoo2det & ! Macrozooplankton + - grazingFlux_dia3 * qSiN * is_3zoo2det & ! Microzooplankton + ) * dt_b + sms(k,idiasi) + + !=============================================================================== + ! 25. COCCOLITHOPHORE NITROGEN (CoccoN) + !=============================================================================== + ! Tracks nitrogen content of coccolithophores (calcifying small phytoplankton). + ! Only active when enable_coccos = .true. + ! + ! Variables: + ! N_assim_cocco : N assimilation rate [day-1] + ! lossN_c : N loss rate [day-1] + ! limitFacN_cocco : Limiter function for N:C ratio regulation [-] + ! aggregationRate : Aggregation to detritus [day-1] + ! grazingFlux_Cocco : Mesozooplankton grazing [mmolN m-3 day-1] + ! grazingFlux_Cocco2 : Macrozooplankton grazing [mmolN m-3 day-1] + ! grazingFlux_Cocco3 : Microzooplankton grazing [mmolN m-3 day-1] + !------------------------------------------------------------------------------- + + if (enable_coccos) then + sms(k,icocn) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Nitrogen Assimilation + !----------------------------------------------------------------------- + + N_assim_cocco * CoccoC & + !----------------------------------------------------------------------- + ! SINKS: DON Excretion + !----------------------------------------------------------------------- + - lossN_c * limitFacN_cocco * CoccoN & + !----------------------------------------------------------------------- + ! SINKS: Aggregation + !----------------------------------------------------------------------- + - aggregationRate * CoccoN & + !----------------------------------------------------------------------- + ! SINKS: Grazing + !----------------------------------------------------------------------- + - grazingFlux_Cocco & ! Mesozooplankton + - grazingFlux_Cocco2 * is_3zoo2det & ! Macrozooplankton + - grazingFlux_Cocco3 * is_3zoo2det & ! Microzooplankton + ) * dt_b + sms(k,icocn) + + !=============================================================================== + ! 26. COCCOLITHOPHORE CARBON (CoccoC) + !=============================================================================== + ! Tracks carbon content of coccolithophores. + ! + ! Variables: + ! Cphot_cocco : Gross photosynthesis rate [day-1] + ! phyRespRate_cocco : Autotrophic respiration rate [day-1] + ! lossC_c : C loss rate [day-1] + ! recipQuota_cocco : Reciprocal of N:C quota (for N->C conversion) [-] + !------------------------------------------------------------------------------- + + sms(k,icocc) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Net Photosynthesis + !----------------------------------------------------------------------- + + Cphot_cocco * CoccoC & ! Gross photosynthesis + !----------------------------------------------------------------------- + ! SINKS: DOC Excretion + !----------------------------------------------------------------------- + - lossC_c * limitFacN_cocco * CoccoC & + !----------------------------------------------------------------------- + ! SINKS: Respiration + !----------------------------------------------------------------------- + - phyRespRate_cocco * CoccoC & + !----------------------------------------------------------------------- + ! SINKS: Aggregation + !----------------------------------------------------------------------- + - aggregationRate * CoccoC & + !----------------------------------------------------------------------- + ! SINKS: Grazing (C-basis) + !----------------------------------------------------------------------- + - grazingFlux_cocco * recipQuota_cocco & ! Mesozooplankton (N->C) + - grazingFlux_Cocco2 * recipQuota_cocco * is_3zoo2det & ! Macrozooplankton + - grazingFlux_Cocco3 * recipQuota_cocco * is_3zoo2det & ! Microzooplankton + ) * dt_b + sms(k,icocc) + + !--------------------------------------------------------------------------- + ! Error Check: Unrealistic CoccoC Growth + !--------------------------------------------------------------------------- + if(sms(k,icocc) > 100) then + print*,'ERROR: Unrealistic CoccoC growth detected!' + print*,'k= ', k + print*,'dt= ', dt + print*,'dt_b= ', dt_b + print*,'state(k,icocc): ', state(k,icocc) + print*,'CoccoC: ', CoccoC + print*,'CoccoN: ', CoccoN + print*,'Cphot_cocco: ', Cphot_cocco*CoccoC + print*,'lossC_c: ', lossC_c + print*,'limitFacN_cocco: ', limitFacN_cocco + print*,'phyRespRate_cocco: ', phyRespRate_cocco + print*,'grazingFlux_cocco: ', grazingFlux_cocco + print*,'grazingFlux_Cocco2: ', grazingFlux_Cocco2 + print*,'grazingFlux_Cocco3: ', grazingFlux_Cocco3 + print*,'recipQuota_cocco: ', recipQuota_cocco + call par_ex(partit%MPI_COMM_FESOM, partit%mype) + stop + endif - vertChldegd(k) = vertChldegd(k) + ( & - + KOchl_dia & - ) * recipbiostep + !=============================================================================== + ! 27. COCCOLITHOPHORE CHLOROPHYLL-A (CoccoChl) + !=============================================================================== + ! Tracks chlorophyll-a content for light harvesting and photoacclimation. + ! + ! Variables: + ! ChlSynth_cocco : Chlorophyll synthesis rate [mgChl mmolC-1 day-1] + ! KOchl_cocco : Chlorophyll degradation rate [day-1] + ! Chl2N_cocco : Chl:N ratio = CoccoChl/CoccoN [mgChl mmolN-1] + !------------------------------------------------------------------------------- + + sms(k,icchl) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Chlorophyll Synthesis + !----------------------------------------------------------------------- + + ChlSynth_cocco * CoccoC & ! Photoacclimation + !----------------------------------------------------------------------- + ! SINKS: Photo-oxidation + !----------------------------------------------------------------------- + - KOchl_cocco * CoccoChl & + !----------------------------------------------------------------------- + ! SINKS: Aggregation + !----------------------------------------------------------------------- + - aggregationRate * CoccoChl & + !----------------------------------------------------------------------- + ! SINKS: Grazing (Chl-basis) + !----------------------------------------------------------------------- + - grazingFlux_cocco * Chl2N_cocco & ! Mesozooplankton (N->Chl) + - grazingFlux_Cocco2 * Chl2N_cocco * is_3zoo2det & ! Macrozooplankton + - grazingFlux_Cocco3 * Chl2N_cocco * is_3zoo2det & ! Microzooplankton + ) * dt_b + sms(k,icchl) + + !=============================================================================== + ! 28. PHAEOCYSTIS NITROGEN (PhaeoN) + !=============================================================================== + ! Tracks nitrogen content of Phaeocystis (colony-forming phytoplankton). + ! Only active when enable_coccos = .true. + ! + ! Variables: + ! N_assim_phaeo : N assimilation rate [day-1] + ! lossN_p : N loss rate [day-1] + ! limitFacN_phaeo : Limiter function for N:C ratio regulation [-] + ! aggregationRate : Aggregation to detritus [day-1] + ! grazingFlux_phaeo : Mesozooplankton grazing [mmolN m-3 day-1] + ! grazingFlux_phaeo2 : Macrozooplankton grazing [mmolN m-3 day-1] + ! grazingFlux_phaeo3 : Microzooplankton grazing [mmolN m-3 day-1] + !------------------------------------------------------------------------------- + + sms(k,iphan) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Nitrogen Assimilation + !----------------------------------------------------------------------- + + N_assim_phaeo * PhaeoC & + !----------------------------------------------------------------------- + ! SINKS: DON Excretion + !----------------------------------------------------------------------- + - lossN_p * limitFacN_phaeo * PhaeoN & + !----------------------------------------------------------------------- + ! SINKS: Aggregation + !----------------------------------------------------------------------- + - aggregationRate * PhaeoN & + !----------------------------------------------------------------------- + ! SINKS: Grazing + !----------------------------------------------------------------------- + - grazingFlux_phaeo & ! Mesozooplankton + - grazingFlux_phaeo2 * is_3zoo2det & ! Macrozooplankton + - grazingFlux_phaeo3 * is_3zoo2det & ! Microzooplankton + ) * dt_b + sms(k,iphan) + + !=============================================================================== + ! 29. PHAEOCYSTIS CARBON (PhaeoC) + !=============================================================================== + ! Tracks carbon content of Phaeocystis. + ! + ! Variables: + ! Cphot_phaeo : Gross photosynthesis rate [day-1] + ! phyRespRate_phaeo : Autotrophic respiration rate [day-1] + ! lossC_p : C loss rate [day-1] + ! recipQuota_phaeo : Reciprocal of N:C quota (for N->C conversion) [-] + !------------------------------------------------------------------------------- + + sms(k,iphac) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Net Photosynthesis + !----------------------------------------------------------------------- + + Cphot_phaeo * PhaeoC & ! Gross photosynthesis + !----------------------------------------------------------------------- + ! SINKS: DOC Excretion + !----------------------------------------------------------------------- + - lossC_p * limitFacN_phaeo * PhaeoC & + !----------------------------------------------------------------------- + ! SINKS: Respiration + !----------------------------------------------------------------------- + - phyRespRate_phaeo * PhaeoC & + !----------------------------------------------------------------------- + ! SINKS: Aggregation + !----------------------------------------------------------------------- + - aggregationRate * PhaeoC & + !----------------------------------------------------------------------- + ! SINKS: Grazing (C-basis) + !----------------------------------------------------------------------- + - grazingFlux_phaeo * recipQuota_phaeo & ! Mesozooplankton (N->C) + - grazingFlux_phaeo2 * recipQuota_phaeo * is_3zoo2det & ! Macrozooplankton + - grazingFlux_phaeo3 * recipQuota_phaeo * is_3zoo2det & ! Microzooplankton + ) * dt_b + sms(k,iphac) + + !=============================================================================== + ! 30. PHAEOCYSTIS CHLOROPHYLL-A (PhaeoChl) + !=============================================================================== + ! Tracks chlorophyll-a content for light harvesting and photoacclimation. + ! + ! Variables: + ! chlSynth_phaeo : Chlorophyll synthesis rate [mgChl mmolC-1 day-1] + ! KOchl_phaeo : Chlorophyll degradation rate [day-1] + ! Chl2N_phaeo : Chl:N ratio = PhaeoChl/PhaeoN [mgChl mmolN-1] + !------------------------------------------------------------------------------- + + sms(k,iphachl) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Chlorophyll Synthesis + !----------------------------------------------------------------------- + + chlSynth_phaeo * PhaeoC & ! Photoacclimation + !----------------------------------------------------------------------- + ! SINKS: Photo-oxidation + !----------------------------------------------------------------------- + - KOchl_phaeo * PhaeoChl & + !----------------------------------------------------------------------- + ! SINKS: Aggregation + !----------------------------------------------------------------------- + - aggregationRate * PhaeoChl & + !----------------------------------------------------------------------- + ! SINKS: Grazing (Chl-basis) + !----------------------------------------------------------------------- + - grazingFlux_phaeo * Chl2N_phaeo & ! Mesozooplankton (N->Chl) + - grazingFlux_phaeo2 * Chl2N_phaeo * is_3zoo2det & ! Macrozooplankton + - grazingFlux_phaeo3 * Chl2N_phaeo * is_3zoo2det & ! Microzooplankton + ) * dt_b + sms(k,iphachl) + + endif ! enable_coccos + + !=============================================================================== + ! 31. DETRITAL SILICA (DetSi) + !=============================================================================== + ! Biogenic silica from diatom frustules in slow-sinking detritus. + ! + ! Variables: + ! aggregationRate : Diatom aggregation rate [day-1] + ! lossN_d : Diatom mortality/excretion rate [day-1] + ! grazingFlux_dia, grazingFlux_dia3 : Grazing on diatoms [mmolN m-3 day-1] + ! qSiN : Si:N ratio in diatoms [mmolSi mmolN-1] + ! reminSiT : Temperature-dependent dissolution [day-1] + !------------------------------------------------------------------------------- + + sms(k,idetsi) = ( & + !--------------------------------------------------------------------------- + ! SOURCES: Diatom Aggregation + !--------------------------------------------------------------------------- + + aggregationRate * DiaSi & + !--------------------------------------------------------------------------- + ! SOURCES: Diatom Excretion/Mortality + !--------------------------------------------------------------------------- + + lossN_d * limitFacN_dia * DiaSi & + !--------------------------------------------------------------------------- + ! SOURCES: Grazing on Diatoms (Si-basis) + !--------------------------------------------------------------------------- + + grazingFlux_dia3 * qSiN * is_3zoo2det & ! Microzooplankton + + grazingFlux_dia * qSiN * (1.0 - is_3zoo2det) & ! Mesozooplankton (when 3zoo disabled) + !--------------------------------------------------------------------------- + ! SINKS: Dissolution + !--------------------------------------------------------------------------- + - reminSiT * DetSi & ! Temperature-dependent + ) * dt_b + sms(k,idetsi) + + !=============================================================================== + ! 32. DISSOLVED SILICATE (DSi) + !=============================================================================== + ! Dissolved silicate available for diatom uptake. + ! Based on Schourup 2013 Eq. A3 + ! + ! Variables: + ! Si_assim : Silicic acid assimilation by diatoms [day-1] + ! reminSiT : Temperature-dependent dissolution [day-1] + ! DetSi, DetZ2Si : Detrital silica pools [mmolSi m-3] + !------------------------------------------------------------------------------- + + sms(k,isi) = ( & + !--------------------------------------------------------------------------- + ! SINKS: Biological Uptake + !--------------------------------------------------------------------------- + - Si_assim * DiaC & + !--------------------------------------------------------------------------- + ! SOURCES: Remineralization + !--------------------------------------------------------------------------- + + reminSiT * DetSi & ! Slow-sinking detritus + + reminSiT * DetZ2Si * is_3zoo2det & ! Fast-sinking detritus + ) * dt_b + sms(k,isi) + + !=============================================================================== + ! 33. DISSOLVED IRON (Fe) + !=============================================================================== + ! Tracks dissolved iron, a limiting micronutrient for phytoplankton growth. + ! + ! Key Concept: Iron cycling is coupled to nitrogen via the Fe:N ratio (Fe2N) + ! All N-based fluxes are converted to Fe equivalents + ! + ! Variables: + ! Fe2N : Intracellular Fe:N ratio [μmol Fe mmol N-1] + ! Note: Fe2N = Fe2C × 6.625 (Redfield conversion) + ! N_assim, N_assim_dia, etc. : N assimilation rates [mmol N mmol C-1 day-1] + ! lossN, lossN_d, etc. : N excretion rates [day-1] + ! limitFacN, etc. : Nutrient limitation factors [-] + ! reminN : Temperature-dependent remineralization [day-1] + ! kScavFe : Iron scavenging rate [m3 mmol C-1 day-1] + ! FreeFe : Free dissolved iron [μmol Fe m-3] + !------------------------------------------------------------------------------- + + sms(k,ife) = ( & + !--------------------------------------------------------------------------- + ! Iron Uptake/Release Coupled to Nitrogen Cycling (via Fe:N ratio) + !--------------------------------------------------------------------------- + Fe2N * ( & + !----------------------------------------------------------------------- + ! SINKS: Phytoplankton Assimilation + !----------------------------------------------------------------------- + - N_assim * PhyC & ! Small phytoplankton + - N_assim_dia * DiaC & ! Diatoms + - N_assim_cocco * CoccoC * is_coccos & ! Coccolithophores + - N_assim_phaeo * PhaeoC * is_coccos & ! Phaeocystis + !----------------------------------------------------------------------- + ! SOURCES: Phytoplankton Excretion + !----------------------------------------------------------------------- + + lossN * limitFacN * PhyN & ! Small phytoplankton + + lossN_d * limitFacN_dia * DiaN & ! Diatoms + + lossN_c * limitFacN_cocco * CoccoN * is_coccos & ! Coccolithophores + + lossN_p * limitFacN_phaeo * PhaeoN * is_coccos & ! Phaeocystis + !----------------------------------------------------------------------- + ! SOURCES: Detrital Remineralization + !----------------------------------------------------------------------- + + reminN * arrFunc * O2Func * DetN & ! Slow-sinking detritus + + reminN * arrFunc * O2Func * DetZ2N * is_3zoo2det & ! Fast-sinking detritus + !----------------------------------------------------------------------- + ! SOURCES: Zooplankton Excretion + !----------------------------------------------------------------------- + + lossN_z * HetN & ! Mesozooplankton + + lossN_z2 * Zoo2N * is_3zoo2det & ! Macrozooplankton + + lossN_z3 * MicZooN * is_3zoo2det & ! Microzooplankton + ) & + !--------------------------------------------------------------------------- + ! SINKS: Abiotic Iron Scavenging onto Particles + !--------------------------------------------------------------------------- + - kScavFe * DetC * FreeFe & ! Slow-sinking detritus + - kScavFe * DetZ2C * FreeFe * is_3zoo2det & ! Fast-sinking detritus + ) * dt_b + sms(k,ife) + + !=============================================================================== + ! 34. PHYTOPLANKTON CALCITE (PhyCalc) + !=============================================================================== + ! Tracks calcium carbonate in living phytoplankton (coccoliths). + ! + ! Variables: + ! calcification : CaCO3 production rate [mmolCaCO3 m-3 day-1] + ! calc_loss_agg : Calcite loss to aggregation [mmolCaCO3 m-3 day-1] + ! calc_loss_gra, calc_loss_gra2, calc_loss_gra3 : Calcite loss to grazing [mmolCaCO3 m-3 day-1] + ! lossC, lossC_c : C excretion rates [day-1] + ! phyRespRate, phyRespRate_cocco : Respiration rates [day-1] + ! limitFacN, limitFacN_cocco : N:C ratio limiters [-] + !------------------------------------------------------------------------------- + + if (enable_coccos) then + !--------------------------------------------------------------------------- + ! Configuration: Coccolithophore-Specific Calcite Dynamics + !--------------------------------------------------------------------------- + sms(k,iphycal) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Calcification + !----------------------------------------------------------------------- + + calcification & ! New CaCO3 production + !----------------------------------------------------------------------- + ! SINKS: Losses from Living Cells + !----------------------------------------------------------------------- + - lossC_c * limitFacN_cocco * PhyCalc & ! Excretion/exudation + - phyRespRate_cocco * PhyCalc & ! Respiration-associated loss + - calc_loss_agg & ! Aggregation/sinking + - calc_loss_gra & ! Mesozooplankton grazing + - calc_loss_gra2 * is_3zoo2det & ! Macrozooplankton grazing + - calc_loss_gra3 * is_3zoo2det & ! Microzooplankton grazing + ) * dt_b + sms(k,iphycal) + else + !--------------------------------------------------------------------------- + ! Configuration: Generic Phytoplankton Calcite (Small Calcifiers) + !--------------------------------------------------------------------------- + sms(k,iphycal) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Calcification + !----------------------------------------------------------------------- + + calcification & + !----------------------------------------------------------------------- + ! SINKS: Losses from Living Cells + !----------------------------------------------------------------------- + - lossC * limitFacN * PhyCalc & + - phyRespRate * PhyCalc & + - calc_loss_agg & + - calc_loss_gra & + - calc_loss_gra2 * is_3zoo2det & + - calc_loss_gra3 * is_3zoo2det & + ) * dt_b + sms(k,iphycal) + endif -#if defined (__coccos) - vertChldegc(k) = vertChldegc(k) + ( & - + KOchl_cocco & - ) * recipbiostep -#endif + !=============================================================================== + ! 35. DETRITAL CALCITE (DetCalc) + !=============================================================================== + ! Tracks calcium carbonate in slow-sinking organic particles. + ! + ! Variables: + ! calc_loss_agg : Calcite from aggregation [mmolCaCO3 m-3 day-1] + ! calc_loss_gra, calc_loss_gra3 : Calcite from grazing [mmolCaCO3 m-3 day-1] + ! calc_diss_guts : Gut dissolution fraction [-] + ! calc_diss : Water column dissolution rate [day-1] + !------------------------------------------------------------------------------- + + if (enable_coccos) then + if (enable_3zoo2det) then + !----------------------------------------------------------------------- + ! Configuration: Coccolithophore Calcite with 3-Zooplankton Model + !----------------------------------------------------------------------- + sms(k,idetcal) = ( & + !------------------------------------------------------------------- + ! SOURCES: Transfer from Living Cells + !------------------------------------------------------------------- + + lossC_c * limitFacN_cocco * PhyCalc & ! Excretion + + phyRespRate_cocco * PhyCalc & ! Respiration products + + calc_loss_agg & ! Aggregation products + + calc_loss_gra3 & ! Microzooplankton grazing + !------------------------------------------------------------------- + ! SINKS: Dissolution + !------------------------------------------------------------------- + - calc_loss_gra3 * calc_diss_guts & ! Gut dissolution + - calc_diss * DetCalc & ! Water column dissolution + ) * dt_b + sms(k,idetcal) + else + !----------------------------------------------------------------------- + ! Configuration: Coccolithophore Calcite with Standard Zooplankton + !----------------------------------------------------------------------- + sms(k,idetcal) = ( & + !------------------------------------------------------------------- + ! SOURCES: Transfer from Living Cells + !------------------------------------------------------------------- + + lossC_c * limitFacN_cocco * PhyCalc & + + phyRespRate_cocco * PhyCalc & + + calc_loss_agg & + + calc_loss_gra & + !------------------------------------------------------------------- + ! SINKS: Dissolution + !------------------------------------------------------------------- + - calc_loss_gra * calc_diss_guts & + - calc_diss * DetCalc & + ) * dt_b + sms(k,idetcal) + endif + else + if (enable_3zoo2det) then + !----------------------------------------------------------------------- + ! Configuration: Generic Phytoplankton Calcite with 3-Zooplankton + !----------------------------------------------------------------------- + sms(k,idetcal) = ( & + !------------------------------------------------------------------- + ! SOURCES: Transfer from Living Cells + !------------------------------------------------------------------- + + lossC * limitFacN * PhyCalc & + + phyRespRate * PhyCalc & + + calc_loss_agg & + + calc_loss_gra3 & + !------------------------------------------------------------------- + ! SINKS: Dissolution + !------------------------------------------------------------------- + - calc_loss_gra3 * calc_diss_guts & + - calc_diss * DetCalc & + ) * dt_b + sms(k,idetcal) + else + !----------------------------------------------------------------------- + ! Configuration: Generic Phytoplankton Calcite with Standard Zooplankton + !----------------------------------------------------------------------- + sms(k,idetcal) = ( & + !------------------------------------------------------------------- + ! SOURCES: Transfer from Living Cells + !------------------------------------------------------------------- + + lossC * limitFacN * PhyCalc & + + phyRespRate * PhyCalc & + + calc_loss_agg & + + calc_loss_gra & + !------------------------------------------------------------------- + ! SINKS: Dissolution + !------------------------------------------------------------------- + - calc_loss_gra * calc_diss_guts & + - calc_diss * DetCalc & + ) * dt_b + sms(k,idetcal) + endif + endif -!*** zooplankton1 respiration - vertrespmeso(k) = vertrespmeso(k) + ( & - + HetRespFlux & - ) * recipbiostep -#if defined (__3Zoo2Det) -!*** zooplankton2 respiration - vertrespmacro(k) = vertrespmacro(k) + ( & - + Zoo2RespFlux & - ) * recipbiostep + !=============================================================================== + ! 36. DISSOLVED OXYGEN (O2) + !=============================================================================== + ! Tracks oxygen production (photosynthesis) and consumption (respiration, + ! remineralization). + ! + ! Variables: + ! Cphot, Cphot_dia, etc. : Gross photosynthesis rates [day-1] + ! phyRespRate, phyRespRate_dia, etc. : Autotrophic respiration rates [day-1] + ! rho_C1 : DOC remineralization rate [day-1] + ! hetRespFlux, Zoo2RespFlux, MicZooRespFlux : Zooplankton respiration [mmolC m-3 day-1] + ! redO2C : O2:C stoichiometric ratio (Redfield) [-] + ! Typically ~170/122 = 1.39 mol O2/mol C + !------------------------------------------------------------------------------- + + sms(k,ioxy) = ( & + !--------------------------------------------------------------------------- + ! SOURCES: Photosynthetic Oxygen Production + !--------------------------------------------------------------------------- + + Cphot * phyC & ! Small phytoplankton + + Cphot_dia * diaC & ! Diatoms + + Cphot_cocco * CoccoC * is_coccos & ! Coccolithophores + + Cphot_phaeo * PhaeoC * is_coccos & ! Phaeocystis + !--------------------------------------------------------------------------- + ! SINKS: Autotrophic Respiration + !--------------------------------------------------------------------------- + - phyRespRate * phyC & ! Small phytoplankton + - phyRespRate_dia * diaC & ! Diatoms + - phyRespRate_cocco * CoccoC * is_coccos & ! Coccolithophores + - phyRespRate_phaeo * PhaeoC * is_coccos & ! Phaeocystis + !--------------------------------------------------------------------------- + ! SINKS: Heterotrophic Respiration and Remineralization + !--------------------------------------------------------------------------- + - rho_C1 * arrFunc * O2Func * EOC & ! DOC remineralization + - hetRespFlux & ! Mesozooplankton + - Zoo2RespFlux * is_3zoo2det & ! Macrozooplankton + - MicZooRespFlux * is_3zoo2det & ! Microzooplankton + ) * redO2C * dt_b + sms(k,ioxy) + ! Note: redO2C converts carbon-based rates to oxygen equivalents + ! using the Redfield ratio (typically ~170/122 = 1.39 mol O2/mol C) + + if (ciso) then + + !=========================================================================== + ! 1. CARBON-13 (13C) BUDGETS + !=========================================================================== + ! Calculates 13C budgets for all carbon pools with isotope fractionation. + ! Parallel structure to total carbon budgets. + !--------------------------------------------------------------------------- + + !=========================================================================== + ! DISSOLVED INORGANIC CARBON (DIC_13) + !=========================================================================== + ! Source-minus-sink budget for 13C in dissolved inorganic carbon pool. + ! + ! SOURCES (+): + ! - Phytoplankton respiration (returns 13C to DIC) + ! - Diatom respiration + ! - DOC remineralization (aerobic respiration) + ! - Heterotroph respiration + ! - Calcite dissolution (releases 13C from CaCO3) + ! - Calcite dissolution in grazer guts + ! + ! SINKS (-): + ! - Phytoplankton photosynthesis (fixes 13C into organic matter) + ! - Diatom photosynthesis + ! - Calcification (removes 13C for CaCO3 formation) + ! + ! Variables: + ! Cphot, Cphot_Dia : Photosynthesis rates [day-1] + ! PhyC_13, DiaC_13 : Phytoplankton 13C pools [mmol13C m-3] + ! phyRespRate : Phytoplankton respiration rates [day-1] + ! rho_C1 : DOC remineralization rate [day-1] + ! arrFunc : Temperature function [-] + ! EOC_13 : Dissolved organic 13C [mmol13C m-3] + ! HetRespFlux_13 : Heterotroph respiration flux [mmol13C m-3 day-1] + ! calc_diss_13 : Calcite dissolution rate [day-1] + ! DetCalc_13 : Detrital calcite 13C [mmol13C m-3] + ! calc_loss_gra_13 : Calcite grazing flux [mmol13C m-3 day-1] + ! calc_diss_guts : Gut dissolution fraction [-] + ! calcification_13 : Calcification flux [mmol13C m-3 day-1] + ! dt_b : Biogeochemistry time step [day] + ! + ! Note: Photosynthesis preferentially takes up 12C, leaving DIC enriched in 13C + ! Respiration returns carbon with original isotopic composition + !--------------------------------------------------------------------------- + + sms(k, idic_13) = ( & + !----------------------------------------------------------------------- + ! SINKS: Carbon fixation (removes 13C-DIC) + !----------------------------------------------------------------------- + - Cphot * PhyC_13 & ! Small phyto photosynthesis + - Cphot_Dia * DiaC_13 & ! Diatom photosynthesis + ! + !----------------------------------------------------------------------- + ! SOURCES: Respiration and remineralization (returns 13C to DIC) + !----------------------------------------------------------------------- + + phyRespRate * PhyC_13 & ! Small phyto respiration + + phyRespRate_Dia * DiaC_13 & ! Diatom respiration + + rho_C1 * arrFunc * EOC_13 & ! DOC remineralization + + HetRespFlux_13 & ! Heterotroph respiration + ! + !----------------------------------------------------------------------- + ! SOURCES: Calcite dissolution (releases 13C from CaCO3) + !----------------------------------------------------------------------- + + calc_diss_13 * DetCalc_13 & ! Water column dissolution + + calc_loss_gra_13 * calc_diss_guts & ! Gut dissolution + ! + !----------------------------------------------------------------------- + ! SINKS: Calcification (removes 13C for CaCO3 formation) + !----------------------------------------------------------------------- + - calcification_13 & ! CaCO3 precipitation + ! + ) * dt_b + sms(k, idic_13) + + !=========================================================================== + ! SMALL PHYTOPLANKTON ORGANIC CARBON (PhyC_13) + !=========================================================================== + ! 13C budget for small phytoplankton biomass. + ! + ! SOURCES (+): + ! - Photosynthesis (fixes 13C-DIC into biomass) + ! + ! SINKS (-): + ! - Nutrient-stress mortality (lysis) + ! - Respiration (maintenance costs) + ! - Aggregation (particle formation) + ! - Grazing by zooplankton + ! + ! Variables: + ! lossC : Mortality rate constant [day-1] + ! limitFacN : Nutrient limitation factor [0-1] + ! aggregationRate : Aggregation rate [day-1] + ! grazingFlux_phy : Grazing flux on small phyto [mmolN m-3 day-1] + ! recipQuota_13 : 13C:N ratio [mmol13C mmolN-1] + ! + ! Note: Grazing uses recipQuota_13 to convert N-based flux to 13C flux + !--------------------------------------------------------------------------- + + sms(k, iphyc_13) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Photosynthetic production + !----------------------------------------------------------------------- + + Cphot * PhyC_13 & ! 13C fixation + ! + !----------------------------------------------------------------------- + ! SINKS: Mortality, respiration, and losses + !----------------------------------------------------------------------- + - lossC * limitFacN * PhyC_13 & ! Nutrient-stress mortality + - phyRespRate * PhyC_13 & ! Respiration + - aggregationRate * PhyC_13 & ! Aggregation loss + - grazingFlux_phy * recipQuota_13 & ! Grazing loss (N->C conversion) + ! + ) * dt_b + sms(k, iphyc_13) + + !=========================================================================== + ! DETRITAL ORGANIC CARBON (DetC_13) + !=========================================================================== + ! 13C budget for dead organic matter (detritus pool). + ! + ! SOURCES (+): + ! - Unassimilated grazing (sloppy feeding + egestion) + ! - Phytoplankton aggregation + ! - Diatom aggregation + ! - Heterotroph mortality + ! + ! SINKS (-): + ! - Remineralization (aerobic respiration) + ! - Assimilated grazing (efficient consumption) + ! + ! Variables: + ! grazEff : Grazing efficiency (fraction assimilated) [-] + ! hetLossFlux : Heterotroph mortality flux [mmolN m-3 day-1] + ! recipQZoo_13 : Heterotroph 13C:N ratio [mmol13C mmolN-1] + ! reminC : Detritus remineralization rate [day-1] + ! + ! Grazing Partitioning: + ! Total ingestion = Assimilated + Unassimilated + ! Assimilated: Goes to heterotroph biomass (grazEff × flux) + ! Unassimilated: Goes to detritus ((1-grazEff) × flux) + !--------------------------------------------------------------------------- + + sms(k, idetc_13) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Unassimilated grazing (sloppy feeding) + !----------------------------------------------------------------------- + + grazingFlux_phy * recipQuota_13 & ! Total small phyto grazing + - grazingFlux_phy * recipQuota_13 * grazEff & ! Minus assimilated portion + + grazingFlux_Dia * recipQuota_dia_13 & ! Total diatom grazing + - grazingFlux_Dia * recipQuota_dia_13 * grazEff & ! Minus assimilated portion + ! + !----------------------------------------------------------------------- + ! SOURCES: Aggregation and mortality + !----------------------------------------------------------------------- + + aggregationRate * phyC_13 & ! Small phyto aggregation + + aggregationRate * DiaC_13 & ! Diatom aggregation + + hetLossFlux * recipQZoo_13 & ! Heterotroph mortality + ! + !----------------------------------------------------------------------- + ! SINKS: Remineralization + !----------------------------------------------------------------------- + - reminC * arrFunc * DetC_13 & ! Aerobic respiration + ! + ) * dt_b + sms(k, idetc_13) + + !=========================================================================== + ! HETEROTROPH ORGANIC CARBON (HetC_13) + !=========================================================================== + ! 13C budget for zooplankton biomass. + ! + ! SOURCES (+): + ! - Assimilated grazing on phytoplankton + ! - Assimilated grazing on diatoms + ! + ! SINKS (-): + ! - Mortality (density-dependent) + ! - Non-predatory losses (diseases, senescence) + ! - Respiration (metabolic costs) + ! + ! Variables: + ! lossC_z : Non-predatory loss rate [day-1] + ! hetRespFlux_13: Heterotroph respiration flux [mmol13C m-3 day-1] + ! + ! Note: Grazing efficiency (grazEff) determines assimilation fraction + ! Typical values: 0.6-0.8 (60-80% assimilated) + !--------------------------------------------------------------------------- + + sms(k, ihetc_13) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Assimilated food + !----------------------------------------------------------------------- + + grazingFlux_phy * recipQuota_13 * grazEff & ! Small phyto consumption + + grazingFlux_Dia * recipQuota_dia_13 * grazEff & ! Diatom consumption + ! + !----------------------------------------------------------------------- + ! SINKS: Mortality and respiration + !----------------------------------------------------------------------- + - hetLossFlux * recipQZoo_13 & ! Mortality flux + - lossC_z * HetC_13 & ! Non-predatory losses + - hetRespFlux_13 & ! Respiration + ! + ) * dt_b + sms(k, ihetc_13) + + !=========================================================================== + ! DISSOLVED ORGANIC CARBON (EOC_13) + !=========================================================================== + ! 13C budget for dissolved organic carbon pool. + ! + ! SOURCES (+): + ! - Phytoplankton exudation (nutrient-stress losses) + ! - Diatom exudation + ! - Detritus remineralization (solubilization) + ! - Heterotroph exudation (sloppy feeding, excretion) + ! - River input (terrestrial DOC) + ! + ! SINKS (-): + ! - Remineralization (microbial respiration) + ! + ! Variables: + ! lossC, lossC_d : Exudation rate constants [day-1] + ! limitFacN : Nutrient limitation factors [0-1] + ! LocRiverDOC : River DOC input flux [mmolC m-3 day-1] + ! r_iorg_13 : River 13C:12C ratio (isotopic signature) [-] + ! + ! DOC Pool Characteristics: + ! - Labile fraction: Days to weeks turnover + ! - Semi-labile fraction: Months to years turnover + ! - Model uses bulk DOC with single remineralization rate + ! + ! River Isotope Signature: + ! - Terrestrial organic matter typically depleted in 13C + ! - δ13C ≈ -27‰ for C3 plants, -13‰ for C4 plants + ! - Marine phytoplankton: δ13C ≈ -20 to -22‰ + !--------------------------------------------------------------------------- + + sms(k, idoc_13) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Exudation and solubilization + !----------------------------------------------------------------------- + + lossC * limitFacN * phyC_13 & ! Small phyto exudation + + lossC_d * limitFacN_dia * DiaC_13 & ! Diatom exudation + + reminC * arrFunc * DetC_13 & ! Detritus solubilization + + lossC_z * HetC_13 & ! Heterotroph exudation + ! + !----------------------------------------------------------------------- + ! SOURCES: River input (terrestrial DOC) + !----------------------------------------------------------------------- + + LocRiverDOC * r_iorg_13 & ! River 13C input + ! + !----------------------------------------------------------------------- + ! SINKS: Remineralization + !----------------------------------------------------------------------- + - rho_c1 * arrFunc * EOC_13 & ! Microbial respiration + ! + ) * dt_b + sms(k, idoc_13) + + !=========================================================================== + ! DIATOM ORGANIC CARBON (DiaC_13) + !=========================================================================== + ! 13C budget for diatom biomass (large phytoplankton). + ! + ! Structure identical to small phytoplankton (section 1.2) + ! with diatom-specific parameters and fluxes. + !--------------------------------------------------------------------------- + + sms(k, idiac_13) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Photosynthetic production + !----------------------------------------------------------------------- + + Cphot_dia * DiaC_13 & ! 13C fixation + ! + !----------------------------------------------------------------------- + ! SINKS: Mortality, respiration, and losses + !----------------------------------------------------------------------- + - lossC_d * limitFacN_dia * DiaC_13 & ! Nutrient-stress mortality + - phyRespRate_dia * DiaC_13 & ! Respiration + - aggregationRate * DiaC_13 & ! Aggregation loss + - grazingFlux_dia * recipQuota_dia_13 & ! Grazing loss + ! + ) * dt_b + sms(k, idiac_13) + + !=========================================================================== + ! PHYTOPLANKTON CALCITE (PhyCalc_13) + !=========================================================================== + ! 13C budget for calcium carbonate associated with living phytoplankton. + ! + ! SOURCES (+): + ! - Calcification (CaCO3 precipitation on cells) + ! + ! SINKS (-): + ! - Nutrient-stress mortality (CaCO3 to detritus) + ! - Cell death respiration (CaCO3 to detritus) + ! - Aggregation (CaCO3 incorporated in aggregates) + ! - Grazing (CaCO3 consumed with cells) + ! + ! Variables: + ! calcification_13 : 13C calcification flux [mmol13C m-3 day-1] + ! phyCalc_13 : Phytoplankton calcite 13C [mmol13C m-3] + ! calc_loss_agg_13 : Aggregation loss flux [mmol13C m-3 day-1] + ! calc_loss_gra_13 : Grazing loss flux [mmol13C m-3 day-1] + ! + ! Calcite Isotope Fractionation: + ! - Small enrichment in 13C relative to DIC (~+1‰) + ! - Temperature-dependent fractionation + ! - Important for paleoclimate proxies (foraminifera, coccoliths) + !--------------------------------------------------------------------------- + + sms(k, iphycal_13) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Calcification + !----------------------------------------------------------------------- + + calcification_13 & ! CaCO3 precipitation + ! + !----------------------------------------------------------------------- + ! SINKS: Mortality and losses + !----------------------------------------------------------------------- + - lossC * limitFacN * phyCalc_13 & ! Mortality to detritus + - phyRespRate * phyCalc_13 & ! Death to detritus + - calc_loss_agg_13 & ! Aggregation + - calc_loss_gra_13 & ! Grazing + ! + ) * dt_b + sms(k, iphycal_13) + + !=========================================================================== + ! DETRITAL CALCITE (DetCalc_13) + !=========================================================================== + ! 13C budget for calcium carbonate in detritus/particles. + ! + ! SOURCES (+): + ! - Phytoplankton mortality (CaCO3 from dead cells) + ! - Cell death (respiratory loss to detritus) + ! - Aggregation (CaCO3 in aggregates) + ! - Grazing (CaCO3 in fecal pellets) + ! + ! SINKS (-): + ! - Dissolution in water column + ! - Dissolution in grazer guts + ! + ! Variables: + ! calc_diss_guts : Fraction dissolved in guts (typically 0.1-0.5) [-] + ! + ! Calcite Dissolution: + ! - Thermodynamically driven (saturation state dependent) + ! - Faster in undersaturated waters (deep ocean, high CO2) + ! - Gut dissolution: Acidic environment accelerates dissolution + ! - Returns 13C to DIC pool (source for DIC_13 budget) + !--------------------------------------------------------------------------- + + sms(k, idetcal_13) = ( & + !----------------------------------------------------------------------- + ! SOURCES: Mortality and transfer from living cells + !----------------------------------------------------------------------- + + lossC * limitFacN * phyCalc_13 & ! Mortality + + phyRespRate * phyCalc_13 & ! Death + + calc_loss_agg_13 & ! Aggregation + + calc_loss_gra_13 & ! Grazing (to fecal pellets) + ! + !----------------------------------------------------------------------- + ! SINKS: Dissolution + !----------------------------------------------------------------------- + - calc_loss_gra_13 * calc_diss_guts & ! Gut dissolution + - calc_diss_13 * DetCalc_13 & ! Water column dissolution + ! + ) * dt_b + sms(k, idetcal_13) + + if (ciso_14) then + + if (ciso_organic_14) then + + !=================================================================== + ! CARBON-14 (14C) BUDGETS + !=================================================================== + ! Calculates 14C budgets for radiocarbon applications. + ! Structure identical to 13C budgets (sections 1.1-1.8). + ! + ! Additional Consideration: + ! - Radioactive decay (half-life 5,730 years) + ! - Decay term handled separately in forcing module + ! - Bomb radiocarbon (anthropogenic 14C pulse) + ! + ! Applications: + ! - Ocean ventilation age (Δ14C) + ! - Carbon residence time + ! - Mixing timescales + ! - Model validation (WOCE/CLIVAR 14C data) + ! + ! Notation: + ! All variables end in _14 (e.g., PhyC_14, DiaC_14) + ! Structure parallels 13C budgets exactly + !------------------------------------------------------------------- + + !=================================================================== + ! DIC_14 + !=================================================================== + sms(k, idic_14) = ( & + - Cphot * PhyC_14 & + + phyRespRate * PhyC_14 & + - Cphot_Dia * DiaC_14 & + + phyRespRate_Dia * DiaC_14 & + + rho_C1 * arrFunc * EOC_14 & + + HetRespFlux_14 & + + calc_diss_14 * DetCalc_14 & + + calc_loss_gra_14 * calc_diss_guts & + - calcification_14 & + ) * dt_b + sms(k, idic_14) + + !=================================================================== + ! PhyC_14 + !=================================================================== + sms(k, iphyc_14) = ( & + + Cphot * PhyC_14 & + - lossC * limitFacN * PhyC_14 & + - phyRespRate * PhyC_14 & + - aggregationRate * PhyC_14 & + - grazingFlux_phy * recipQuota_14 & + ) * dt_b + sms(k, iphyc_14) + + !=================================================================== + ! DetC_14 + !=================================================================== + sms(k, idetc_14) = ( & + + grazingFlux_phy * recipQuota_14 & + - grazingFlux_phy * recipQuota_14 * grazEff & + + grazingFlux_Dia * recipQuota_dia_14 & + - grazingFlux_Dia * recipQuota_dia_14 * grazEff & + + aggregationRate * phyC_14 & + + aggregationRate * DiaC_14 & + + hetLossFlux * recipQZoo_14 & + - reminC * arrFunc * DetC_14 & + ) * dt_b + sms(k, idetc_14) + + !=================================================================== + ! HetC_14 + !=================================================================== + sms(k, ihetc_14) = ( & + + grazingFlux_phy * recipQuota_14 * grazEff & + + grazingFlux_Dia * recipQuota_dia_14 * grazEff & + - hetLossFlux * recipQZoo_14 & + - lossC_z * HetC_14 & + - hetRespFlux_14 & + ) * dt_b + sms(k, ihetc_14) + + !=================================================================== + ! EOC_14 + !=================================================================== + sms(k, idoc_14) = ( & + + lossC * limitFacN * phyC_14 & + + lossC_d * limitFacN_dia * DiaC_14 & + + reminC * arrFunc * DetC_14 & + + lossC_z * HetC_14 & + - rho_c1 * arrFunc * EOC_14 & + + LocRiverDOC * r_iorg_14 & + ) * dt_b + sms(k, idoc_14) + + !=================================================================== + ! DiaC_14 + !=================================================================== + sms(k, idiac_14) = ( & + + Cphot_dia * DiaC_14 & + - lossC_d * limitFacN_dia * DiaC_14 & + - phyRespRate_dia * DiaC_14 & + - aggregationRate * DiaC_14 & + - grazingFlux_dia * recipQuota_dia_14 & + ) * dt_b + sms(k, idiac_14) + + !=================================================================== + ! PhyCalc_14 + !=================================================================== + sms(k, iphycal_14) = ( & + + calcification_14 & + - lossC * limitFacN * phyCalc_14 & + - phyRespRate * phyCalc_14 & + - calc_loss_agg_14 & + - calc_loss_gra_14 & + ) * dt_b + sms(k, iphycal_14) + + !=================================================================== + ! DetCalc_14 + !=================================================================== + sms(k, idetcal_14) = ( & + + lossC * limitFacN * phyCalc_14 & + + phyRespRate * phyCalc_14 & + + calc_loss_agg_14 & + + calc_loss_gra_14 & + - calc_loss_gra_14 * calc_diss_guts & + - calc_diss_14 * DetCalc_14 & + ) * dt_b + sms(k, idetcal_14) + + else + + !=================================================================== + ! ABIOTIC DIC_14 (SIMPLIFIED MODE) + !=================================================================== + ! "Abiotic" 14C tracking without explicit organic pools + ! DIC_14 tracks total carbon with radioactive decay only + ! + ! Use Case: + ! - Simplified radiocarbon tracer + ! - Tracks ventilation/mixing without biology + ! - Computationally efficient + ! - Decay handled in forcing module (recom_forcing) + ! + ! Equation: + ! DIC_14 changes identically to DIC (conservative tracer) + ! Plus: Radioactive decay (handled separately) + ! + ! Limitation: + ! - No isotope fractionation during biological processes + ! - Cannot capture biological isotope signals + ! - Suitable only for physical circulation studies + !------------------------------------------------------------------- + + sms(k, idic_14) = sms(k, idic) + + end if ! ciso_organic_14 + + end if ! ciso_14 + + end if ! ciso + + !------------------------------------------------------------------------------- + ! DIAGNOSTIC ACCUMULATION INITIALIZATION + !------------------------------------------------------------------------------- + ! Calculate averaging weight for accumulating diagnostics over biogeochemical + ! sub-time steps. + ! + ! Variables: + ! recipbiostep : Reciprocal of number of bio sub-steps (averaging weight) [-] + ! biostep : Number of biogeochemistry steps per physics step [-] + ! + ! Averaging Approach: + ! Each sub-step contributes: (1/biostep) × rate + ! After biostep iterations: average rate over physics time step + ! + ! Example: + ! If biostep = 4 (4 bio steps per physics step) + ! recipbiostep = 0.25 + ! Each contribution weighted by 0.25 + ! Sum of 4 contributions = time-averaged rate + !------------------------------------------------------------------------------- + + recipbiostep = 1.d0 / real(biostep) + + if (Diags) then + + !=========================================================================== + ! PRIMARY PRODUCTION DIAGNOSTICS + !=========================================================================== + ! Net Primary Production (NPP) = Gross Production - Autotrophic Respiration + ! Gross Primary Production (GPP) = Photosynthetic carbon fixation only + ! + ! NPP represents carbon available for: + ! - Growth (biomass increase) + ! - Exudation (DOC production) + ! - Grazing by herbivores + ! + ! Units: mmolC m-3 day-1 + !--------------------------------------------------------------------------- + + !=========================================================================== + ! NET PRIMARY PRODUCTION (NPP) + !=========================================================================== + ! NPP = Photosynthesis - Respiration + ! Carbon available after meeting metabolic maintenance costs + ! + ! Variables (Small phytoplankton): + ! vertNPPn(k) : Time-averaged NPP for small phyto [mmolC m-3 day-1] + ! Cphot : Carbon-specific photosynthesis rate [day-1] + ! PhyC : Small phytoplankton carbon [mmolC m-3] + ! PhyRespRate : Respiration rate [day-1] + ! + ! Ecological Interpretation: + ! High NPP: Nutrient replete, optimal growth conditions + ! Low NPP: Nutrient/light limited, high respiration costs + ! Negative NPP: Respiration exceeds photosynthesis (rare, stress) + ! + ! Validation Targets: + ! - 14C uptake measurements + ! - Satellite-based NPP estimates (VGPM, CbPM, CAFE) + ! - Time series stations (HOT, BATS) + ! - Typical range: 0.1-10 mmolC m-3 day-1 (surface) + !--------------------------------------------------------------------------- + + ! Small phytoplankton NPP + vertNPPn(k) = vertNPPn(k) + ( & + + Cphot * PhyC & ! Photosynthetic production + - PhyRespRate * PhyC & ! Minus respiration costs + ) * recipbiostep + + ! Diatom NPP + vertNPPd(k) = vertNPPd(k) + ( & + + Cphot_dia * DiaC & + - PhyRespRate_dia * DiaC & + ) * recipbiostep + + if (enable_coccos) then + ! Coccolithophore NPP + vertNPPc(k) = vertNPPc(k) + ( & + + Cphot_cocco * CoccoC & + - PhyRespRate_cocco * CoccoC & + ) * recipbiostep + + ! Phaeocystis NPP + vertNPPp(k) = vertNPPp(k) + ( & + + Cphot_phaeo * PhaeoC & + - PhyRespRate_phaeo * PhaeoC & + ) * recipbiostep + endif + + !=========================================================================== + ! GROSS PRIMARY PRODUCTION (GPP) + !=========================================================================== + ! GPP = Total photosynthetic carbon fixation (before respiration) + ! Represents maximum potential carbon uptake + ! + ! Relationship: + ! GPP = NPP + Respiration + ! Growth efficiency = NPP / GPP (typically 0.6-0.8) + ! + ! Uses: + ! - Calculate carbon use efficiency + ! - Compare to oxygen evolution (photosynthetic quotient) + ! - Understand temperature effects (GPP and R differ) + ! + ! Typical Values: + ! Surface: 1-20 mmolC m-3 day-1 + ! Deep chlorophyll max: 0.1-5 mmolC m-3 day-1 + ! Below euphotic zone: <0.01 mmolC m-3 day-1 + !--------------------------------------------------------------------------- + + ! Small phytoplankton GPP + vertGPPn(k) = vertGPPn(k) + ( & + + Cphot * PhyC & ! Total photosynthetic fixation + ) * recipbiostep + + ! Diatom GPP + vertGPPd(k) = vertGPPd(k) + ( & + + Cphot_dia * DiaC & + ) * recipbiostep + + if (enable_coccos) then + ! Coccolithophore GPP + vertGPPc(k) = vertGPPc(k) + ( & + + Cphot_cocco * CoccoC & + ) * recipbiostep + + ! Phaeocystis GPP + vertGPPp(k) = vertGPPp(k) + ( & + + Cphot_phaeo * PhaeoC & + ) * recipbiostep + endif + + !=========================================================================== + ! NET NITROGEN ASSIMILATION + !=========================================================================== + ! Net nitrogen uptake = Assimilation - Exudation losses + ! Represents nitrogen incorporation into biomass + ! + ! Variables (Small phytoplankton): + ! vertNNAn(k) : Net N assimilation for small phyto [mmolN m-3 day-1] + ! N_assim : N-specific assimilation rate [mmolN mmolC-1 day-1] + ! PhyC : Small phytoplankton carbon [mmolC m-3] + ! lossN : N exudation rate constant [day-1] + ! limitFacN : Nutrient limitation factor [0-1] + ! PhyN : Small phytoplankton nitrogen [mmolN m-3] + ! + ! Ecological Interpretation: + ! Positive: Net nitrogen accumulation (growth) + ! Negative: Net nitrogen loss (stress-induced exudation) + ! Zero: Balanced uptake and loss (steady state) + ! + ! Relationship to C:N Ratio: + ! Net N assimilation / NPP = change in N:C quota + ! High ratio -> decreasing C:N (N accumulation) + ! Low ratio -> increasing C:N (N limitation) + ! + ! Validation: + ! - 15N tracer studies + ! - Nutrient depletion experiments + ! - Typical range: 0.01-2 mmolN m-3 day-1 + !--------------------------------------------------------------------------- + + ! Small phytoplankton net N assimilation + vertNNAn(k) = vertNNAn(k) + ( & + + N_assim * PhyC & ! Nitrogen uptake from DIN + - lossN * limitFacN * PhyN & ! Minus exudation (stress-induced) + ) * recipbiostep + + ! Diatom net N assimilation + vertNNAd(k) = vertNNAd(k) + ( & + + N_assim_dia * DiaC & + - lossN * limitFacN_dia * DiaN & + ) * recipbiostep + + if (enable_coccos) then + ! Coccolithophore net N assimilation + vertNNAc(k) = vertNNAc(k) + ( & + + N_assim_cocco * CoccoC & + - lossN * limitFacN_cocco * CoccoN & + ) * recipbiostep + + ! Phaeocystis net N assimilation + vertNNAp(k) = vertNNAp(k) + ( & + + N_assim_phaeo * PhaeoC & + - lossN * limitFacN_phaeo * PhaeoN & + ) * recipbiostep + endif + + !=========================================================================== + ! CHLOROPHYLL DEGRADATION RATES + !=========================================================================== + ! Tracks chlorophyll turnover rates (photodamage + senescence) + ! Important for understanding chlorophyll:carbon dynamics + ! + ! Variables: + ! vertChldegn(k) : Small phyto Chl degradation rate [day-1] + ! KOchl : Chlorophyll degradation rate coefficient [day-1] + ! + ! Rate Components: + ! - Base degradation: Constant senescence (~0.01-0.05 day-1) + ! - Photodamage: Light-dependent additional degradation + ! - Total: KOchl = base + photodamage component + ! + ! Ecological Significance: + ! - High rates: Photodamage stress, high light + ! - Low rates: Low light, minimal photoinhibition + ! - Affects Chl:C ratio and satellite retrievals + ! + ! Applications: + ! - Understand Chl:C variability + ! - Validate photoacclimation dynamics + ! - Interpret satellite chlorophyll trends + ! + ! Note: Changed from gross N-assimilation diagnostic (previous version) + !--------------------------------------------------------------------------- + + ! Small phytoplankton Chl degradation + vertChldegn(k) = vertChldegn(k) + ( & + + KOchl & ! Degradation rate [day-1] + ) * recipbiostep + + ! Diatom Chl degradation + vertChldegd(k) = vertChldegd(k) + ( & + + KOchl_dia & + ) * recipbiostep + + if (enable_coccos) then + ! Coccolithophore Chl degradation + vertChldegc(k) = vertChldegc(k) + ( & + + KOchl_cocco & + ) * recipbiostep + + ! Phaeocystis Chl degradation + vertChldegp(k) = vertChldegp(k) + ( & + + KOchl_phaeo & + ) * recipbiostep + endif + +!-------------------------------------------------------------------------------------------------------------------------------------- + +! GRAZING FLUXES +! Only for the case with detritus grazing, not without detritus grazing, because this output is probably anyway not needed as a default. +! diagnostics, combined from Onur and Cara, modified by Miriam -!*** zooplankton3 respiration - vertrespmicro(k) = vertrespmicro(k) + ( & - + MicZooRespFlux & - ) * recipbiostep -#endif -!*** calc_diss - vertcalcdiss(k) = vertcalcdiss(k) + ( & - + calc_diss * DetCalc & - ) * recipbiostep + if (Grazing_detritus) then -!*** aggregation by small phytoplankton - vertaggn(k) = vertaggn(k) + ( & - + aggregationrate * PhyC & +!=========================================================================== +! MESOZOOPLANKTON GRAZING +!=========================================================================== +! Tracks grazing by mesozooplankton (100-2000 μm) on multiple prey types +! Central trophic link connecting primary producers to higher consumers +! +! Variables: +! vertgrazmeso_tot(k) : Total assimilated grazing [mmolC m-3 day-1] +! vertgrazmeso_n(k) : Grazing on nanophytoplankton [mmolC m-3 day-1] +! vertgrazmeso_d(k) : Grazing on diatoms [mmolC m-3 day-1] +! vertgrazmeso_c(k) : Grazing on coccolithophores [mmolC m-3 day-1] +! vertgrazmeso_p(k) : Grazing on Phaeocystis [mmolC m-3 day-1] +! vertgrazmeso_det(k) : Grazing on detritus 1 [mmolC m-3 day-1] +! vertgrazmeso_det2(k) : Grazing on detritus 2 [mmolC m-3 day-1] +! vertgrazmeso_mic(k) : Grazing on microzooplankton [mmolC m-3 day-1] +! +! Prey Composition: +! PHY : Nanophytoplankton (2-20 μm) - primary prey +! DIA : Diatoms (>20 μm) - silicified cells +! COCCO : Coccolithophores - calcifying cells (optional) +! PHAEO : Phaeocystis colonies (optional) +! DET : Detritus type 1 - particulate organic matter +! DET2 : Detritus type 2 - larger particles (optional) +! MICZOO : Microzooplankton - intraguild predation (optional) +! +! Ecological Significance: +! - Grazing efficiency (grazEff): 30-70%, rest to fecal pellets +! - Prey selection via Holling Type II/III functional response +! - Major pathway for carbon export via fecal pellets +! - Controls phytoplankton bloom magnitude/duration +! +! Validation: +! - Gut content analysis & pigment measurements +! - Dilution experiments (Landry-Hassett method) +! - Typical rates: 0.01-10 mmolC m-3 day-1 +! - Clearance rates: 1-100 mL ind-1 day-1 +!--------------------------------------------------------------------------- + + ! Total assimilated grazing (with efficiency applied) + vertgrazmeso_tot(k) = vertgrazmeso_tot(k) + ( & + + grazingFlux_phy * recipQuota * grazEff & ! Nanophytoplankton + + grazingFlux_Dia * recipQuota_Dia * grazEff & ! Diatoms + + grazingFlux_Det * recipDet * grazEff & ! Detritus 1 ) * recipbiostep + + if (enable_coccos) then + vertgrazmeso_tot(k) = vertgrazmeso_tot(k) + ( & + + grazingFlux_Cocco * recipQuota_Cocco * grazEff & ! Coccolithophores + + grazingFlux_Phaeo * recipQuota_Phaeo * grazEff & ! Phaeocystis + ) * recipbiostep + endif -!*** aggregation by diatoms - vertaggd(k) = vertaggd(k) + ( & - + aggregationrate * DiaC & - ) * recipbiostep + if (enable_3zoo2det) then + vertgrazmeso_tot(k) = vertgrazmeso_tot(k) + ( & + + GrazingFlux_DetZ2 * recipDet2 * grazEff & ! Detritus 2 + + grazingFlux_miczoo * recipQZoo3 * grazEff & ! Microzooplankton + ) * recipbiostep + endif -#if defined (__coccos) -!*** aggregation by coccolithophores - vertaggc(k) = vertaggc(k) + ( & - + aggregationrate * CoccoC & + ! Prey-specific mortality (loss terms, no efficiency applied) + ! These track carbon removal from each prey population + + ! Small phytoplankton mortality + vertgrazmeso_n(k) = vertgrazmeso_n(k) + ( & + + grazingFlux_phy * recipQuota & ) * recipbiostep -#endif - -!*** excrection of DOC by phytoplankton - vertdocexn(k) = vertdocexn(k) + ( & - + lossC * limitFacN * phyC & + + ! Diatom mortality + vertgrazmeso_d(k) = vertgrazmeso_d(k) + ( & + + grazingFlux_dia * recipQuota_dia & ) * recipbiostep -!*** excrection of DOC by diatoms - vertdocexd(k) = vertdocexd(k) + ( & - + lossC_d * limitFacN_dia * DiaC & - ) * recipbiostep + if (enable_coccos) then + ! Coccolithophore mortality + vertgrazmeso_c(k) = vertgrazmeso_c(k) + ( & + + grazingFlux_Cocco * recipQuota_cocco & + ) * recipbiostep -#if defined (__coccos) -!*** excretion of DOC by coccolithophores - vertdocexc(k) = vertdocexc(k) + ( & - + lossC_c * limitFacN_cocco * CoccoC & - ) * recipbiostep -#endif - -!*** calcification - vertcalcif(k) = vertcalcif(k) + ( & - + calcification & - ) * recipbiostep + ! Phaeocystis mortality + vertgrazmeso_p(k) = vertgrazmeso_p(k) + ( & + + grazingFlux_Phaeo * recipQuota_Phaeo & + ) * recipbiostep + endif -! phy respiration - vertrespn(k) = vertrespn(k) + ( & - + PhyRespRate * PhyC & + ! Detritus 1 consumption + vertgrazmeso_det(k) = vertgrazmeso_det(k) + ( & + + grazingFlux_Det * recipDet & ) * recipbiostep + + if (enable_3zoo2det) then + ! Microzooplankton mortality (intraguild predation) + vertgrazmeso_mic(k) = vertgrazmeso_mic(k) + ( & + + grazingFlux_miczoo * recipQZoo3 & + ) * recipbiostep + + ! Detritus 2 consumption + vertgrazmeso_det2(k) = vertgrazmeso_det2(k) + ( & + + GrazingFlux_DetZ2 * recipDet2 & + ) * recipbiostep + endif -! dia respiration - vertrespd(k) = vertrespd(k) + ( & - + PhyRespRate_dia * DiaC & - ) * recipbiostep - -#if defined (__coccos) -! cocco resipration - vertrespc(k) = vertrespc(k) + ( & - + PhyRespRate_cocco * CoccoC & - ) * recipbiostep -#endif -endif - end do ! Main vertikal loop ends -!------------------------------------------------------------------------------- -! Remineralization from the sediments into the bottom layer -!*** DIN *** -!< decayRateBenN: Remineralization rate for benthic N [day^-1] -!< LocBenthos(1): Vertically integrated N concentration in benthos (1 layer) [mmolN/m^2] - decayBenthos(1) = decayRateBenN * LocBenthos(1) - LocBenthos(1) = LocBenthos(1) - decaybenthos(1) * dt_b ! remove from benthos (flux) +!=========================================================================== +! MACROZOOPLANKTON GRAZING (KRILL) +!=========================================================================== +! Tracks grazing by macrozooplankton (2-20 mm), often dominated by krill +! Top mesozooplankton predator with omnivorous feeding strategy +! +! Variables: +! vertgrazmacro_tot(k) : Total assimilated grazing [mmolC m-3 day-1] +! vertgrazmacro_n(k) : Grazing on small phytoplankton [mmolC m-3 day-1] +! vertgrazmacro_d(k) : Grazing on diatoms [mmolC m-3 day-1] +! vertgrazmacro_c(k) : Grazing on coccolithophores [mmolC m-3 day-1] +! vertgrazmacro_p(k) : Grazing on Phaeocystis [mmolC m-3 day-1] +! vertgrazmacro_mes(k) : Grazing on mesozooplankton [mmolC m-3 day-1] +! vertgrazmacro_mic(k) : Grazing on microzooplankton [mmolC m-3 day-1] +! vertgrazmacro_det(k) : Grazing on detritus 1 [mmolC m-3 day-1] +! vertgrazmacro_det2(k) : Grazing on detritus 2 [mmolC m-3 day-1] +! +! Prey Composition: +! PHY : Small phytoplankton - supplementary prey +! DIA : Diatoms - preferred prey in productive waters +! COCCO : Coccolithophores (optional) +! PHAEO : Phaeocystis colonies (optional) +! HET : Mesozooplankton - carnivory/cannibalism +! MICZOO : Microzooplankton - smaller zooplankton +! DET : Detritus 1 - opportunistic feeding +! DET2 : Detritus 2 - larger particles +! +! Ecological Significance: +! - Grazing efficiency (grazEff2): typically 30-60% +! - Major prey for fish, seabirds, marine mammals +! - Produces large, fast-sinking fecal pellets +! - Vertical migration enhances carbon export +! - Key species: Antarctic krill (Euphausia superba) +! +! Validation: +! - Net tows & acoustic surveys for biomass +! - Feeding experiments with size-fractionated prey +! - Typical rates: 0.1-50 mmolC m-3 day-1 +! - Individual ingestion: 10-100% body C day-1 +!--------------------------------------------------------------------------- + + if (enable_3zoo2det) then + + ! Total assimilated grazing (with efficiency applied) + vertgrazmacro_tot(k) = vertgrazmacro_tot(k) + ( & + + grazingFlux_phy2 * recipQuota * grazEff2 & ! Small phytoplankton + + grazingFlux_Dia2 * recipQuota_Dia * grazEff2 & ! Diatoms + + grazingFlux_het2 * recipQZoo * grazEff2 & ! Mesozooplankton + + grazingFlux_miczoo2 * recipQZoo3 * grazEff2 & ! Microzooplankton + + grazingFlux_Det2 * recipDet * grazEff2 & ! Detritus 1 + + grazingFlux_DetZ22 * recipDet2 * grazEff2 & ! Detritus 2 + ) * recipbiostep + + if (enable_coccos) then + vertgrazmacro_tot(k) = vertgrazmacro_tot(k) + ( & + + grazingFlux_Cocco2 * recipQuota_Cocco * grazEff2 & ! Coccolithophores + + grazingFlux_Phaeo2 * recipQuota_Phaeo * grazEff2 & ! Phaeocystis + ) * recipbiostep + endif -!*** DIC *** -!< decayRateBenC: Remineralization rate for benthic C [day^-1] -!< LocBenthos(2): Vertically integrated C concentration in benthos (1 layer) [mmolC/m^2] - decayBenthos(2) = decayRateBenC * LocBenthos(2) - LocBenthos(2) = LocBenthos(2) - decaybenthos(2) * dt_b + ! Prey-specific mortality (loss terms, no efficiency applied) + ! These track carbon removal from each prey population + + ! Small phytoplankton mortality + vertgrazmacro_n(k) = vertgrazmacro_n(k) + ( & + + grazingFlux_phy2 * recipQuota & + ) * recipbiostep + + ! Diatom mortality + vertgrazmacro_d(k) = vertgrazmacro_d(k) + ( & + + grazingFlux_Dia2 * recipQuota_Dia & + ) * recipbiostep + + if (enable_coccos) then + ! Coccolithophore mortality + vertgrazmacro_c(k) = vertgrazmacro_c(k) + ( & + + grazingFlux_Cocco2 * recipQuota_cocco & + ) * recipbiostep + + ! Phaeocystis mortality + vertgrazmacro_p(k) = vertgrazmacro_p(k) + ( & + + grazingFlux_Phaeo2 * recipQuota_Phaeo & + ) * recipbiostep + endif + + ! Mesozooplankton mortality (carnivory) + vertgrazmacro_mes(k) = vertgrazmacro_mes(k) + ( & + + grazingFlux_het2 * recipQZoo & + ) * recipbiostep + + ! Detritus 1 consumption + vertgrazmacro_det(k) = vertgrazmacro_det(k) + ( & + + grazingFlux_Det2 * recipDet & + ) * recipbiostep + + ! Microzooplankton mortality + vertgrazmacro_mic(k) = vertgrazmacro_mic(k) + ( & + + grazingFlux_miczoo2 * recipQZoo3 & + ) * recipbiostep + + ! Detritus 2 consumption + vertgrazmacro_det2(k) = vertgrazmacro_det2(k) + ( & + + GrazingFlux_DetZ22 * recipDet2 & + ) * recipbiostep + + endif -!*** Si *** -!< decayRateBenSi: Remineralization rate for benthic Si [day^-1] -!< LocBenthos(3) : Vertically integrated N concentration in benthos (1 layer) [mmolSi/m^2] - decayBenthos(3) = decayRateBenSi * LocBenthos(3) ! [1/day] * [mmolSi/m2] -> [mmolSi/m2/day] - LocBenthos(3) = LocBenthos(3) - decaybenthos(3) * dt_b +!=========================================================================== +! MICROZOOPLANKTON GRAZING +!=========================================================================== +! Tracks grazing by microzooplankton (20-200 μm), mainly ciliates/dinoflagellates +! Critical link between picoplankton and mesozooplankton +! +! Variables: +! vertgrazmicro_tot(k) : Total assimilated grazing [mmolC m-3 day-1] +! vertgrazmicro_n(k) : Grazing on nanophytoplankton [mmolC m-3 day-1] +! vertgrazmicro_d(k) : Grazing on diatoms [mmolC m-3 day-1] +! vertgrazmicro_c(k) : Grazing on coccolithophores [mmolC m-3 day-1] +! vertgrazmicro_p(k) : Grazing on Phaeocystis [mmolC m-3 day-1] +! +! Prey Composition: +! PHY : Snall phytoplankton (2-20 μm) - primary prey +! DIA : Small diatoms - when available +! COCCO : Coccolithophores - calcifying prey (optional) +! PHAEO : Phaeocystis colonies/single cells (optional) +! +! Ecological Significance: +! - Grazing efficiency (grazEff3): typically 40-70% +! - Consumes 60-100% of primary production in oligotrophic waters +! - High growth rates (1-2 doublings day-1 at 20°C) +! - Size-selective feeding (optimal prey 10-50% predator size) +! - Regenerates nutrients in upper water column +! +! Validation: +! - Dilution experiments (most common method) +! - Epifluorescence microscopy for biomass +! - Typical rates: 0.01-5 mmolC m-3 day-1 +! - Clearance rates: 10-10,000 nL ind-1 hour-1 +!--------------------------------------------------------------------------- + + if (enable_3zoo2det) then + + ! Total assimilated grazing (with efficiency applied) + vertgrazmicro_tot(k) = vertgrazmicro_tot(k) + ( & + + grazingFlux_phy3 * recipQuota * grazEff3 & ! Small phytoplankton + + grazingFlux_Dia3 * recipQuota_Dia * grazEff3 & ! Diatoms + ) * recipbiostep + + if (enable_coccos) then + vertgrazmicro_tot(k) = vertgrazmicro_tot(k) + ( & + + grazingFlux_Cocco3 * recipQuota_Cocco * grazEff3 & ! Coccolithophores + + grazingFlux_Phaeo3 * recipQuota_Phaeo * grazEff3 & ! Phaeocystis + ) * recipbiostep + endif + + ! Prey-specific mortality (loss terms, no efficiency applied) + ! These track carbon removal from each prey population + + ! Small phytoplankton mortality + vertgrazmicro_n(k) = vertgrazmicro_n(k) + ( & + + grazingFlux_phy3 * recipQuota & + ) * recipbiostep + + ! Diatom mortality + vertgrazmicro_d(k) = vertgrazmicro_d(k) + ( & + + grazingFlux_Dia3 * recipQuota_Dia & + ) * recipbiostep + + if (enable_coccos) then + ! Coccolithophore mortality + vertgrazmicro_c(k) = vertgrazmicro_c(k) + ( & + + grazingFlux_Cocco3 * recipQuota_cocco & + ) * recipbiostep + + ! Phaeocystis mortality + vertgrazmicro_p(k) = vertgrazmicro_p(k) + ( & + + grazingFlux_Phaeo3 * recipQuota_Phaeo & + ) * recipbiostep + endif + + endif + + end if ! Grazing_detritus + + !=========================================================================== + ! ZOOPLANKTON RESPIRATION + !=========================================================================== + ! Tracks heterotrophic respiration (metabolic CO2 release) + ! Key component of carbon cycling and food web energetics + ! + ! Variables: + ! vertrespmeso(k) : Mesozooplankton respiration [mmolC m-3 day-1] + ! HetRespFlux : Meso respiration flux [mmolC m-3 day-1] + ! + ! Ecological Significance: + ! - Represents metabolic carbon loss + ! - Typically 20-40% of ingested carbon + ! - Temperature-dependent (Q10 ≈ 2-3) + ! - Increases with activity level + ! + ! Validation: + ! - Incubation experiments (O2 consumption) + ! - ETS (electron transport system) measurements + ! - Typical range: 0.01-1 mmolC m-3 day-1 + !--------------------------------------------------------------------------- + + ! Mesozooplankton respiration + vertrespmeso(k) = vertrespmeso(k) + ( & + + HetRespFlux & ! Carbon respiration flux + ) * recipbiostep + + if (enable_3zoo2det) then + ! Macrozooplankton (krill) respiration + vertrespmacro(k) = vertrespmacro(k) + ( & + + Zoo2RespFlux & + ) * recipbiostep + + ! Microzooplankton respiration + vertrespmicro(k) = vertrespmicro(k) + ( & + + MicZooRespFlux & + ) * recipbiostep + endif + + !=========================================================================== + ! CALCITE DISSOLUTION + !=========================================================================== + ! Tracks calcium carbonate dissolution in water column + ! Critical for carbonate counter-pump and alkalinity cycling + ! + ! Variables: + ! vertcalcdiss(k) : Calcite dissolution rate [mmolC m-3 day-1] + ! calc_diss : Dissolution rate coefficient [day-1] + ! DetCalc : Detrital calcite concentration [mmolC m-3] + ! + ! Process: + ! CaCO3 -> Ca²⁺ + CO3²⁻ + ! Releases DIC (+1) and alkalinity (+2) + ! + ! Controls: + ! - Saturation state (Ω < 1 favors dissolution) + ! - Temperature (higher T -> faster kinetics) + ! - Pressure (higher P -> lower Ω) + ! + ! Depth Pattern: + ! - Surface: Minimal (supersaturated, Ω > 1) + ! - Intermediate: Moderate (Ω ≈ 1) + ! - Deep: High (undersaturated, Ω < 1) + ! + ! Applications: + ! - Ocean acidification impacts + ! - Carbon export efficiency + ! - Sediment CaCO3 preservation + !--------------------------------------------------------------------------- + + vertcalcdiss(k) = vertcalcdiss(k) + ( & + + calc_diss * DetCalc & ! Dissolution flux + ) * recipbiostep + + !=========================================================================== + ! PARTICLE AGGREGATION + !=========================================================================== + ! Tracks formation of large particles through aggregation + ! Key process for biological pump and carbon export + ! + ! Variables: + ! vertaggn(k) : Small phyto aggregation [mmolC m-3 day-1] + ! aggregationrate : Aggregation rate coefficient [day-1] + ! PhyC : Small phytoplankton carbon [mmolC m-3] + ! + ! Aggregation Mechanisms: + ! - Brownian motion (small particles) + ! - Differential settling (size-dependent) + ! - Shear aggregation (turbulence) + ! - Mucus/TEP gluing (especially diatoms) + ! + ! Enhancement Factors: + ! - High phytoplankton concentration + ! - Nutrient limitation (mucus production) + ! - Turbulence (increased collision rate) + ! - Sticky exudates (TEP, polysaccharides) + ! + ! Ecological Significance: + ! - Increases sinking velocity (export) + ! - Forms marine snow + ! - Provides food for deep-sea organisms + ! - Removes surface biomass + ! + ! Typical Rates: + ! - Low aggregation: <0.01 day-1 + ! - Moderate: 0.01-0.1 day-1 + ! - High (bloom collapse): >0.1 day-1 + !--------------------------------------------------------------------------- + + ! Small phytoplankton aggregation + vertaggn(k) = vertaggn(k) + ( & + + aggregationrate * PhyC & ! Aggregate formation + ) * recipbiostep + + ! Diatom aggregation + vertaggd(k) = vertaggd(k) + ( & + + aggregationrate * DiaC & + ) * recipbiostep + + if (enable_coccos) then + ! Coccolithophore aggregation + vertaggc(k) = vertaggc(k) + ( & + + aggregationrate * CoccoC & + ) * recipbiostep + + ! Phaeocystis aggregation + vertaggp(k) = vertaggp(k) + ( & + + aggregationrate * PhaeoC & + ) * recipbiostep + endif + + !=========================================================================== + ! DOC EXCRETION + !=========================================================================== + ! Tracks dissolved organic carbon release by phytoplankton + ! Important for microbial loop and carbon cycling + ! + ! Variables: + ! vertdocexn(k) : Small phyto DOC excretion [mmolC m-3 day-1] + ! lossC : Carbon exudation rate constant [day-1] + ! limitFacN : Nutrient limitation factor [0-1] + ! phyC : Small phytoplankton carbon [mmolC m-3] + ! + ! Exudation Mechanisms: + ! - Passive leakage (diffusion across membranes) + ! - Overflow metabolism (excess photosynthate) + ! - Stress response (nutrient limitation) + ! - Viral lysis (cell breakage) + ! + ! Nutrient Stress Effect: + ! - High limitFacN (replete): Low exudation + ! - Low limitFacN (limited): High exudation + ! - C:N imbalance drives carbon overflow + ! + ! DOC Fate: + ! - Labile fraction: Rapid bacterial uptake (hours-days) + ! - Semi-labile: Slower degradation (weeks-months) + ! - Refractory: Accumulates (years-millennia) + ! + ! Ecological Role: + ! - Fuels microbial loop + ! - Carbon loss without grazing + ! - Nutrient regeneration (after remineralization) + ! + ! Typical Rates: + ! - Percent of GPP: 5-30% + ! - Higher under nutrient stress + ! - Lower for healthy, growing cells + !--------------------------------------------------------------------------- + + ! Small phytoplankton DOC excretion + vertdocexn(k) = vertdocexn(k) + ( & + + lossC * limitFacN * phyC & ! Stress-induced exudation + ) * recipbiostep + + ! Diatom DOC excretion + vertdocexd(k) = vertdocexd(k) + ( & + + lossC_d * limitFacN_dia * DiaC & + ) * recipbiostep + + if (enable_coccos) then + ! Coccolithophore DOC excretion + vertdocexc(k) = vertdocexc(k) + ( & + + lossC_c * limitFacN_cocco * CoccoC & + ) * recipbiostep + + ! Phaeocystis DOC excretion + vertdocexp(k) = vertdocexp(k) + ( & + + lossC_p * limitFacN_phaeo * PhaeoC & + ) * recipbiostep + endif + + !=========================================================================== + ! CALCIFICATION + !=========================================================================== + ! Tracks calcium carbonate precipitation by phytoplankton + ! Key process for carbonate counter-pump + ! + ! Variables: + ! vertcalcif(k) : Calcification rate [mmolC m-3 day-1] + ! calcification : CaCO3 precipitation flux [mmolC m-3 day-1] + ! + ! Process: + ! Ca²⁺ + 2HCO3⁻ -> CaCO3 + CO2 + H2O + ! Consumes DIC (-1) and alkalinity (-2) + ! Releases CO2 (carbonate counter-pump) + ! + ! Organisms: + ! - Coccolithophores (calcite plates) + ! - Foraminifera (calcite shells) + ! - Pteropods (aragonite shells - not in this model) + ! + ! Environmental Controls: + ! - Temperature (warmer favors calcification) + ! - Carbonate saturation (Ω > 1 required) + ! - pH/CO2 (ocean acidification reduces rate) + ! - Nutrient availability (affects PIC:POC ratio) + ! + ! Ecological Significance: + ! - Ballast for sinking (increases export) + ! - Protection from grazers + ! - CO2 source (opposite to photosynthesis) + ! - Sensitive to ocean acidification + ! + ! Typical Rates: + ! - Surface (bloom): 0.1-2 mmolC m-3 day-1 + ! - Background: 0.001-0.05 mmolC m-3 day-1 + !--------------------------------------------------------------------------- + + vertcalcif(k) = vertcalcif(k) + ( & + + calcification & ! CaCO3 precipitation + ) * recipbiostep + + !=========================================================================== + ! PHYTOPLANKTON RESPIRATION + !=========================================================================== + ! Tracks autotrophic respiration (maintenance costs) + ! Component of community respiration, complement to GPP + ! + ! Variables: + ! vertrespn(k) : Small phyto respiration [mmolC m-3 day-1] + ! PhyRespRate : Respiration rate coefficient [day-1] + ! PhyC : Small phytoplankton carbon [mmolC m-3] + ! + ! Respiration Components: + ! - Basal metabolism: Maintenance of cellular machinery + ! - Biosynthesis: Costs of growth (protein synthesis, etc.) + ! - Active transport: Nutrient uptake against gradients + ! - Photorespiration: Oxygenase activity of Rubisco + ! + ! Temperature Dependence: + ! - Q10 ≈ 2-3 (doubles per 10degC increase) + ! - Often higher than photosynthesis Q10 + ! - Creates temperature-dependent growth efficiency + ! + ! Relationship to NPP: + ! GPP = NPP + Respiration + ! Growth efficiency = NPP/GPP = 1 - (Resp/GPP) + ! Typical: 0.6-0.8 (60-80% efficiency) + ! + ! Ecological Patterns: + ! - Increases with biomass (proportional) + ! - Higher in warm waters (temperature effect) + ! - Lower in nutrient-replete conditions (efficient growth) + ! - Higher during stress (maintenance costs) + !--------------------------------------------------------------------------- + + ! Small phytoplankton respiration + vertrespn(k) = vertrespn(k) + ( & + + PhyRespRate * PhyC & ! Maintenance respiration + ) * recipbiostep + + ! Diatom respiration + vertrespd(k) = vertrespd(k) + ( & + + PhyRespRate_dia * DiaC & + ) * recipbiostep + + if (enable_coccos) then + ! Coccolithophore respiration + vertrespc(k) = vertrespc(k) + ( & + + PhyRespRate_cocco * CoccoC & + ) * recipbiostep + + ! Phaeocystis respiration + vertrespp(k) = vertrespp(k) + ( & + + PhyRespRate_phaeo * PhaeoC & + ) * recipbiostep + endif + + endif ! Diags + + end do ! Main vertikal loop ends + + !=============================================================================== + ! BENTHIC REMINERALIZATION + !=============================================================================== + ! Simulates nutrient return from sediments to the bottom water layer through + ! remineralization of organic matter and calcite dissolution. + ! + ! This part calculates: + ! 1. Remineralization of benthic organic matter (N, C, Si) + ! 2. Dissolution of benthic calcite (CaCO3) + ! 3. Carbon isotope remineralization (13C, 14C - optional) + ! 4. Nutrient flux from sediments to bottom water + ! + ! Key Features: + ! - Single benthic layer (vertically integrated) + ! - First-order decay kinetics for remineralization + ! - Separate rates for N, C, Si, and calcite + ! - Optional MEDUSA sediment flux forcing + ! - Isotope fractionation during remineralization + ! - Conservative tracer return to water column + ! + ! Benthic Processes: + ! - Aerobic respiration: Organic matter -> DIN + DIC + ! - Silica dissolution: Biogenic SiO2 -> Si(OH)4 + ! - Calcite dissolution: CaCO3 -> Ca²⁺ + CO3²⁻ (affects DIC + Alk) + ! - Denitrification: In anoxic sediments (not explicitly modeled) + ! + ! Model Structure: + ! - Benthos as single well-mixed compartment + ! - Area-integrated concentrations [mmol m-2] + ! - Decay rates calibrated to observations + ! - Instant return to bottom water layer + ! + ! Ecological/Biogeochemical Significance: + ! - Closes nutrient cycles (prevents accumulation in benthos) + ! - Critical for shallow shelf ecosystems + ! - Supports benthic-pelagic coupling + ! - Affects bottom water oxygen and pH + ! - Important for coastal carbon budgets + ! + ! Limitations: + ! - No explicit burial (all material eventually remineralized) + ! - No bioturbation or bioirrigation + ! - No redox zonation in sediments + ! - Simplified single-layer representation + ! + ! References: + ! - Schourup-Kristensen et al. (2013) - REcoM benthic module + ! - MEDUSA forcing for data-constrained sediment fluxes + !=============================================================================== + + !=============================================================================== + ! REMINERALIZATION MODE SELECTION + !=============================================================================== + ! Determines whether to use MEDUSA sediment flux forcing or internal + ! benthic remineralization calculations. + ! + ! Variables: + ! use_MEDUSA : Flag to enable MEDUSA sediment forcing [logical] + ! sedflx_num : Number of MEDUSA sediment flux entries [-] + ! mype : Processor ID for parallel output [integer] + ! + ! MEDUSA Mode: + ! - Uses observationally-constrained sediment fluxes + ! - Overrides internal benthic calculations + ! - Typically used for hindcast simulations + ! - Requires external data file + ! + ! Internal Mode: + ! - Uses prognostic benthic compartment + ! - First-order decay kinetics + ! - Suitable for future projections + ! - No external data required + !------------------------------------------------------------------------------- + + if (use_MEDUSA .and. (sedflx_num /= 0)) then + + !=========================================================================== + ! MEDUSA SEDIMENT FLUX FORCING MODE + !=========================================================================== + ! Use externally prescribed sediment nutrient fluxes + ! This overrides all internal benthic calculations + !--------------------------------------------------------------------------- + + if (mype == 0) then + ! Print message only on master processor (parallel computing) + write(*, *) ' --> Sedimentary input of nutrients through MEDUSA' + endif -!*** Calc: DIC, Alk *** ! OG calc_diss_ben is taken from the deepest level - decayBenthos(4) = calc_diss_ben * LocBenthos(4) ! NEW DISS changed calc_diss to calc_diss_ben to not make the dissolution omega dependent when using the switch OmegaC_diss - LocBenthos(4) = LocBenthos(4) - decayBenthos(4) * dt_b + ! Note: MEDUSA fluxes are applied elsewhere in the code + ! This section simply skips internal benthic calculations - end do ! Main time loop ends + else + !=========================================================================== + ! INTERNAL BENTHIC REMINERALIZATION (DEFAULT MODE) + !=========================================================================== + ! Calculates nutrient return from benthic compartment using first-order + ! decay kinetics for each element. + !--------------------------------------------------------------------------- + + !=========================================================================== + ! DISSOLVED INORGANIC NITROGEN (DIN) REMINERALIZATION + !=========================================================================== + ! Aerobic remineralization of organic nitrogen in sediments releases + ! bioavailable nitrogen (NH4+ and NO3-) back to the water column. + ! + ! Variables: + ! decayBenthos(1) : N remineralization flux [mmolN m-2 day-1] + ! decayRateBenN : Benthic N remineralization rate [day-1] + ! LocBenthos(1) : Benthic N pool (area-integrated) [mmolN m-2] + ! dt_b : REcoM time step [day] + ! + ! Equation: + ! Flux = decayRateBenN × LocBenthos(1) + ! LocBenthos(1)_new = LocBenthos(1)_old - Flux × dt_b + ! + ! Process Representation: + ! Organic N (proteins, amino acids, etc.) -> NH4+ -> NO3- + ! First-order decay: rate proportional to benthic N pool + ! + ! Typical Values: + ! decayRateBenN ~ 0.01-0.1 day-1 (10-100 day turnover) + ! Higher rates in warm, oxygenated sediments + !--------------------------------------------------------------------------- + + ! Calculate N remineralization flux [mmolN m-2 day-1] + decayBenthos(1) = decayRateBenN * LocBenthos(1) + + ! Update benthic N pool (remove remineralized N) + LocBenthos(1) = LocBenthos(1) - decayBenthos(1) * dt_b + + !=========================================================================== + ! DISSOLVED INORGANIC CARBON (DIC) REMINERALIZATION + !=========================================================================== + ! Aerobic respiration of organic carbon releases CO2 to bottom water. + ! Affects carbonate system (pH, pCO2, saturation state). + ! + ! Variables: + ! decayBenthos(2) : C remineralization flux [mmolC m-2 day-1] + ! decayRateBenC : Benthic C remineralization rate [day-1] + ! LocBenthos(2) : Benthic C pool (area-integrated) [mmolC m-2] + ! + ! Process Representation: + ! Organic C (carbohydrates, lipids, etc.) + O2 -> CO2 + H2O + ! Releases DIC and consumes O2 (not explicitly tracked) + ! + ! Stoichiometry: + ! C:N remineralization ratio typically near Redfield (6.6:1) + ! Can vary with organic matter source and degradation state + ! + ! Typical Values: + ! decayRateBenC ~ 0.01-0.1 day-1 + ! May differ from N rate due to preferential degradation + !--------------------------------------------------------------------------- + + ! Calculate C remineralization flux [mmolC m-2 day-1] + decayBenthos(2) = decayRateBenC * LocBenthos(2) + + ! Update benthic C pool + LocBenthos(2) = LocBenthos(2) - decayBenthos(2) * dt_b + + !=========================================================================== + ! SILICATE (Si) DISSOLUTION + !=========================================================================== + ! Dissolution of biogenic silica (diatom frustules) releases Si(OH)4. + ! Temperature-dependent process (faster in warm water). + ! + ! Variables: + ! decayBenthos(3) : Si dissolution flux [mmolSi m-2 day-1] + ! decayRateBenSi : Benthic Si dissolution rate [day-1] + ! LocBenthos(3) : Benthic Si pool (area-integrated) [mmolSi m-2] + ! + ! Process Representation: + ! Biogenic SiO2 (opal) + H2O -> Si(OH)4 (silicic acid) + ! Thermodynamically driven dissolution (opal undersaturated in seawater) + ! + ! Typical Values: + ! decayRateBenSi ~ 0.001-0.01 day-1 (100-1000 day turnover) + ! Slower than organic matter (opal is recalcitrant) + ! Temperature-dependent (see reminSiT calculation earlier) + ! + ! Ecological Significance: + ! - Returns Si to support diatom production + ! - Critical in Si-limited regions + ! - Permanent burial in deep sediments affects long-term Si cycle + !--------------------------------------------------------------------------- + + ! Calculate Si dissolution flux [mmolSi m-2 day-1] + decayBenthos(3) = decayRateBenSi * LocBenthos(3) + + ! Update benthic Si pool + LocBenthos(3) = LocBenthos(3) - decayBenthos(3) * dt_b + + !=========================================================================== + ! CALCITE (CaCO3) DISSOLUTION + !=========================================================================== + ! Dissolution of calcium carbonate affects both DIC and alkalinity. + ! Rate depends on saturation state (calculated in deepest water layer). + ! + ! Variables: + ! decayBenthos(4) : Calcite dissolution flux [mmolC m-2 day-1] + ! calc_diss_ben : Benthic calcite dissolution rate [day-1] + ! LocBenthos(4) : Benthic calcite pool [mmolC m-2] + ! + ! Process Representation: + ! CaCO3 + CO2 + H2O ⇌ Ca²⁺ + 2HCO3- + ! Increases DIC (+1) and alkalinity (+2) + ! + ! Rate Determination: + ! calc_diss_ben taken from deepest water layer + ! Uses either saturation-state or depth-dependent formulation + ! (see calcite dissolution module earlier in code) + ! + ! Carbonate Chemistry Effect: + ! - Raises pH (consumes CO2) + ! - Increases carbonate saturation + ! - Buffers ocean acidification locally + ! + ! Note: Changed from calc_diss to calc_diss_ben to allow independent + ! control when using OmegaC_diss switch + !--------------------------------------------------------------------------- + + ! Calculate calcite dissolution flux [mmolC m-2 day-1] + decayBenthos(4) = calc_diss_ben * LocBenthos(4) + + ! Update benthic calcite pool + LocBenthos(4) = LocBenthos(4) - decayBenthos(4) * dt_b + + if (ciso) then + + !======================================================================= + ! CARBON ISOTOPE REMINERALIZATION (OPTIONAL) + !======================================================================= + ! Tracks 13C and 14C through benthic remineralization processes. + ! Important for paleoclimate reconstructions and carbon cycle studies. + !----------------------------------------------------------------------- + + !======================================================================= + ! Carbon-13 (13C) Remineralization + !======================================================================= + ! Organic matter remineralization with isotopic fractionation + ! + ! Variables: + ! decayBenthos(5) : 13C remineralization flux [mmol13C m-2 day-1] + ! alpha_dcal_13 : 13C fractionation factor for remineralization [-] + ! LocBenthos(5) : Benthic 13C pool [mmol13C m-2] + ! + ! Note: Assumes same decay rate as total carbon (decayRateBenC) + ! Fractionation factor typically near 1.0 (minimal fractionation) + !----------------------------------------------------------------------- + + ! Calculate 13C remineralization flux + ! Ignores isotopic fractionation during remineralization (alpha ≈ 1) + decayBenthos(5) = alpha_dcal_13 * decayRateBenC * LocBenthos(5) + + ! Update benthic 13C pool + LocBenthos(5) = LocBenthos(5) - decayBenthos(5) * dt_b + + !======================================================================= + ! Carbon-13 Calcite Dissolution + !======================================================================= + ! Dissolution of 13C-containing calcite + ! + ! Variables: + ! decayBenthos(6) : 13C calcite dissolution flux [mmol13C m-2 day-1] + ! calc_diss_13 : 13C calcite dissolution rate [day-1] + ! LocBenthos(6) : Benthic 13C-calcite pool [mmol13C m-2] + !----------------------------------------------------------------------- + + ! Calculate 13C calcite dissolution flux + decayBenthos(6) = calc_diss_13 * LocBenthos(6) + + ! Update benthic 13C-calcite pool + LocBenthos(6) = LocBenthos(6) - decayBenthos(6) * dt_b + + if (ciso_14) then + + if (ciso_organic_14) then + + !=============================================================== + ! Carbon-14 (14C) Remineralization + !=============================================================== + ! Radiocarbon remineralization for age dating and residence times + ! + ! Variables: + ! decayBenthos(7) : 14C remineralization flux [mmol14C m-2 day-1] + ! alpha_dcal_14 : 14C fractionation factor [-] + ! LocBenthos(7) : Benthic 14C pool [mmol14C m-2] + ! + ! Note: 14C also subject to radioactive decay (half-life ~5730 years) + ! This is typically handled separately in full carbon cycle models + !--------------------------------------------------------------- + + ! Calculate 14C remineralization flux + ! Ignores isotopic fractionation during remineralization + decayBenthos(7) = alpha_dcal_14 * decayRateBenC * LocBenthos(7) + + ! Update benthic 14C pool + LocBenthos(7) = LocBenthos(7) - decayBenthos(7) * dt_b + + !=============================================================== + ! 3.4 Carbon-14 Calcite Dissolution + !=============================================================== + ! Dissolution of 14C-containing calcite + ! + ! Variables: + ! decayBenthos(8) : 14C calcite dissolution flux [mmol14C m-2 day-1] + ! calc_diss_14 : 14C calcite dissolution rate [day-1] + ! LocBenthos(8) : Benthic 14C-calcite pool [mmol14C m-2] + !--------------------------------------------------------------- + + ! Calculate 14C calcite dissolution flux + decayBenthos(8) = calc_diss_14 * LocBenthos(8) + + ! Update benthic 14C-calcite pool + LocBenthos(8) = LocBenthos(8) - decayBenthos(8) * dt_b + + else + !--------------------------------------------------------------- + ! Alternative 14C handling + !--------------------------------------------------------------- + ! When ciso_organic_14 = FALSE: + ! 14C defined as proportional to total DIC elsewhere in code + ! No separate remineralization calculation needed + ! (sms(idic_14) = sms(idic) × isotope_ratio) + !--------------------------------------------------------------- + + end if ! ciso_organic_14 + + end if ! ciso_14 + + end if ! ciso + + endif ! use_MEDUSA + + end do ! Main time loop ends end subroutine REcoM_sms @@ -2190,7 +7401,7 @@ function recom_limiter(slope,qa,qb) Real(kind=8) :: recom_limiter Real(kind=8) :: slope, qa, qb Real(kind=8) :: dq - + dq = qa - qb if (REcoM_Geider_limiter) then recom_limiter = max(min( -slope*dq, 1.d0),0.d0) @@ -2259,7 +7470,7 @@ function iron_chemistry(Fe, totalLigand, ligandStabConst) b = ligandstabConst * (Fe - totalLigand) + 1.d0 c = -totalLigand discrim = b*b - 4.d0 * a * c - + if (a .ne. 0.d0 .and. discrim .ge. 0.d0) then ligand = ( -b + sqrt(discrim) ) / (2.d0 * a) FeL = totalLigand - ligand diff --git a/src/oce_adv_tra_driver.F90 b/src/oce_adv_tra_driver.F90 index 9b9606ea8..f6fe26202 100644 --- a/src/oce_adv_tra_driver.F90 +++ b/src/oce_adv_tra_driver.F90 @@ -209,6 +209,27 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, #endif #endif + +! O:G - tra_diag +! LO solution +! fct_LO is zero before adv_flux_hor +! Up to now only horizontal +! contribution + + +!#if defined (__recom) + if (tracers%data(tr_num)%ltra_diag) then + do n=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(n) + nl1 = nlevels_nod2D(n) + do nz = nu1, nl1-1 + ! Horizontal advection part for LO (FCT is .TRUE.) + tracers%work%tra_advhoriz(nz,n,tr_num) = fct_LO(nz,n) * dt/areasvol(nz,n)/hnode_new(nz,n) + end do + end do + end if +!#endif + ! compute the low order upwind vertical flux (explicit part only) ! zero the input/output flux before computation call adv_tra_ver_upw1(we, ttf, partit, mesh, adv_flux_ver, o_init_zero=.true.) @@ -301,7 +322,7 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, ! do horizontal tracer advection, in case of FCT high order solution SELECT CASE(trim(tracers%data(tr_num)%tra_adv_hor)) CASE('MUSCL') - ! compute the untidiffusive horizontal flux (o_init_zero=.false.: input is the LO horizontal flux computed above) + ! compute the antidiffusive horizontal flux (o_init_zero=.false.: input is the LO horizontal flux computed above) call adv_tra_hor_muscl(vel, ttfAB, partit, mesh, opth, adv_flux_hor, edge_up_dn_grad, nboundary_lay, o_init_zero=do_zero_flux) CASE('MFCT') call adv_tra_hor_mfct(vel, ttfAB, partit, mesh, opth, adv_flux_hor, edge_up_dn_grad, o_init_zero=do_zero_flux) @@ -416,6 +437,36 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, end if end if !-->if ((ldiag_DVD) .and. (tr_num<=2)) then + + +! O:G - tra_diag +!#if defined (__recom) + if (tracers%data(tr_num)%ltra_diag) then + !_______________________________________________________________________ + if (trim(tracers%data(tr_num)%tra_adv_lim)=='FCT') then + do n=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(n) + nl1 = nlevels_nod2D(n) + do nz = nu1, nl1-1 + ! part for LO + antidiffusive (FCT is .TRUE.) + tracers%work%tra_advhoriz(nz,n,tr_num) = tracers%work%tra_advhoriz(nz,n,tr_num) + dttf_h(nz,n)/hnode_new(nz,n) + tracers%work%tra_advvert(nz,n,tr_num) = tracers%work%tra_advvert(nz,n,tr_num) + dttf_v(nz,n)/hnode_new(nz,n) + end do + end do + else + do n=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(n) + nl1 = nlevels_nod2D(n) + do nz = nu1, nl1-1 + ! (FCT .FALSE.) + tracers%work%tra_advhoriz(nz,n,tr_num) = dttf_h(nz,n)/hnode_new(nz,n) + tracers%work%tra_advvert (nz,n,tr_num) = dttf_v(nz,n)/hnode_new(nz,n) + end do + end do + end if + end if +!#endif + end subroutine do_oce_adv_tra ! ! diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index dd4ce9101..f7afc342a 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -165,6 +165,8 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) type(t_mesh) , intent(in) , target :: mesh !___________________________________________________________________________ integer :: i, tr_num, node, elem, nzmax, nzmin + real(kind=WP) :: ttf_rhs_bak (mesh%nl-1, partit%myDim_nod2D+partit%eDim_elem2D) ! local variable + integer :: nz, n, nu1, nl1 !___________________________________________________________________________ ! pointer on necessary derived types real(kind=WP), dimension(:,:,:), pointer :: UV, fer_UV @@ -190,7 +192,7 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) call cal_rejected_salt(ice, partit, mesh) if (flag_debug .and. mype==0) print *, achar(27)//'[37m'//' --> call app_rejected_salt'//achar(27)//'[0m' call app_rejected_salt(tracers%data(2)%values, partit, mesh) - end if + end if !___________________________________________________________________________ ! update 3D velocities with the bolus velocities: @@ -210,6 +212,14 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) !$OMP END PARALLEL DO end if + ! Set advective and diffusive components of total tracer fluxes to zero + ! Before tr_num loop +!#if defined (__recom) ! not necessarily should belong to recom case +! tracers%work%tra_advhoriz = 0.0 ! O:G - tra_diag +! tracers%work%tra_advvert = 0.0 + ttf_rhs_bak = 0.0 +!#endif + !___________________________________________________________________________ ! loop over all tracers !$ACC UPDATE DEVICE(dynamics%w, dynamics%w_e, dynamics%uv) !!! async(1) @@ -217,11 +227,17 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) !$ACC UPDATE DEVICE (mesh%helem, mesh%hnode, mesh%hnode_new, mesh%zbar_3d_n, mesh%z_3d_n) do tr_num=1, tracers%num_tracers +#if defined(__recom) +!YY: sinkflx needs to be reset at each time step + if(use_MEDUSA) then + SinkFlx = 0.0d0 + endif +#endif ! do tracer AB (Adams-Bashfort) interpolation only for advectiv part ! needed if (flag_debug .and. mype==0) print *, achar(27)//'[37m'//' --> call init_tracers_AB'//achar(27)//'[0m' call init_tracers_AB(tr_num, tracers, partit, mesh) - + ! advect tracers if (flag_debug .and. mype==0) print *, achar(27)//'[37m'//' --> call adv_tracers_ale'//achar(27)//'[0m' !here update only those initialized in the init_tracers. (values, valuesAB, edge_up_dn_grad, ...) @@ -246,6 +262,7 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) if (flag_debug .and. mype==0) print *, achar(27)//'[37m'//' --> call diff_tracers_ale'//achar(27)//'[0m' call diff_tracers_ale(tr_num, dynamics, tracers, ice, partit, mesh) + !___________________________________________________________________________ ! Radioactive decay of 14C and 39Ar if (tracers%data(tr_num)%ID == 14) tracers%data(tr_num)%values(:,:) = tracers%data(tr_num)%values(:,:) * exp(-decay14 * dt) if (tracers%data(tr_num)%ID == 39) tracers%data(tr_num)%values(:,:) = tracers%data(tr_num)%values(:,:) * exp(-decay39 * dt) @@ -254,7 +271,7 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) ! relax to salt and temp climatology if (flag_debug .and. mype==0) print *, achar(27)//'[37m'//' --> call relax_to_clim'//achar(27)//'[0m' ! if ((toy_ocean) .AND. ((tr_num==1) .AND. (TRIM(which_toy)=="soufflet"))) then - if ((toy_ocean) .AND. ((TRIM(which_toy)=="soufflet"))) then + if ((toy_ocean) .AND. ((TRIM(which_toy)=="soufflet"))) then call relax_zonal_temp(tracers%data(1), partit, mesh) elseif ((toy_ocean) .AND. ((TRIM(which_toy)=="neverworld2"))) then @@ -272,6 +289,17 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) !!! !$ACC UPDATE HOST (tracers%work%fct_ttf_min, tracers%work%fct_ttf_max, tracers%work%fct_plus, tracers%work%fct_minus) & !!! !$ACC HOST (tracers%work%edge_up_dn_grad) +#if defined(__recom) + do tr_num = 1, tracers%num_tracers + if (use_MEDUSA) then + SinkFlx = SinkFlx + SinkFlx_tr(:, :, tr_num) + endif +! Benthos = Benthos + Benthos_tr(:, :, tr_num) + Sinkingvel1(:,:) = Sinkingvel1(:,:) + Sinkvel1_tr(:, :, tr_num) + Sinkingvel2(:,:) = Sinkingvel2(:,:) + Sinkvel2_tr(:, :, tr_num) + end do +#endif + !___________________________________________________________________________ ! 3D restoring for "passive" tracers !!!$OMPTODO: add OpenMP later, not needed right now! @@ -364,6 +392,8 @@ subroutine diff_tracers_ale(tr_num, dynamics, tracers, ice, partit, mesh) type(t_mesh) , intent(in) , target :: mesh !___________________________________________________________________________ integer :: n, nzmax, nzmin + real(kind=WP) :: ttf_rhs_bak (mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + integer :: nz, nu1, nl1 !___________________________________________________________________________ ! pointer on necessary derived types real(kind=WP), pointer :: del_ttf(:,:) @@ -378,21 +408,90 @@ subroutine diff_tracers_ale(tr_num, dynamics, tracers, ice, partit, mesh) vert_sink = 0.0_WP #endif + ttf_rhs_bak = 0.0 + + if (tracers%data(tr_num)%ltra_diag) then + do n=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(n) + nl1 = nlevels_nod2D(n) + do nz = nu1, nl1-1 + ttf_rhs_bak(nz,n) = del_ttf(nz,n) + end do + end do + end if !___________________________________________________________________________ - ! do horizontal diffusiion + ! do horizontal diffusion ! write there also horizontal diffusion rhs to del_ttf which is equal the R_T^n ! in danilovs srcipt ! includes Redi diffusivity if Redi=.true. call diff_part_hor_redi(tracers, partit, mesh) ! seems to be ~9% faster than diff_part_hor - + + if (tracers%data(tr_num)%ltra_diag) then + do n=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(n) + nl1 = nlevels_nod2D(n) + do nz = nu1, nl1-1 + ! horizontal diffusion (w/out Redi) + tracers%work%tra_diff_part_hor_redi(nz,n,tr_num) = (del_ttf(nz,n) - ttf_rhs_bak(nz,n)) / hnode_new(nz,n) ! Unit [Conc] + !if (mype==0) print *, tracers%work%tra_diff_part_hor_redi(nz,n,tr_num) + end do + end do + end if + + if ((.not. tracers%data(tr_num)%i_vert_diff) .and. tracers%data(tr_num)%ltra_diag) then + do n=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(n) + nl1 = nlevels_nod2D(n) + do nz = nu1, nl1-1 + ttf_rhs_bak(nz,n) = del_ttf(nz,n) + end do + end do + end if !___________________________________________________________________________ ! do vertical diffusion: explicit if (.not. tracers%data(tr_num)%i_vert_diff) call diff_ver_part_expl_ale(tr_num, tracers, partit, mesh) - + + ! OG i_vert_diff = TRUE so, we dont call explicit scheme + ! If we use this, check surface forcing for recom variables (They are not updated) + if ((.not. tracers%data(tr_num)%i_vert_diff) .and. tracers%data(tr_num)%ltra_diag) then + do n=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(n) + nl1 = nlevels_nod2D(n) + do nz = nu1, nl1-1 + ! vertical diffusion: explicit + tracers%work%tra_diff_part_ver_expl(nz,n,tr_num) = (del_ttf(nz,n) - ttf_rhs_bak(nz,n)) / hnode_new(nz,n) ! Unit [Conc] + !if (mype==0) print *, tra_diff_part_ver_expl(:,:,tr_num) + end do + end do + end if + ! A projection of horizontal Redi diffussivity onto vertical. This par contains horizontal ! derivatives and has to be computed explicitly! + + if (tracers%data(tr_num)%ltra_diag .and. Redi) then + do n=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(n) + nl1 = nlevels_nod2D(n) + do nz = nu1, nl1-1 + ttf_rhs_bak(nz,n) = del_ttf(nz,n) + end do + end do + end if + if (Redi) call diff_ver_part_redi_expl(tracers, partit, mesh) + if (tracers%data(tr_num)%ltra_diag .and. Redi) then + do n=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(n) + nl1 = nlevels_nod2D(n) + do nz = nu1, nl1-1 + ! Redi diffussivity onto vertical: explicit + tracers%work%tra_diff_part_ver_redi_expl(nz,n,tr_num) = (del_ttf(nz,n) - ttf_rhs_bak(nz,n)) / hnode_new(nz,n) ! Unit [Conc] + !if (mype==0) print *, tra_diff_part_ver_redi_expl(:,:,tr_num) + end do + end do + end if + ! if (recom_debug .and. mype==0) print *, tracers%data(tr_num)%ID #if defined(__recom) @@ -479,7 +578,32 @@ subroutine diff_tracers_ale(tr_num, dynamics, tracers, ice, partit, mesh) !___________________________________________________________________________ if (tracers%data(tr_num)%i_vert_diff) then ! do vertical diffusion: implicite + + if (tracers%data(tr_num)%ltra_diag) then + do n=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(n) + nl1 = nlevels_nod2D(n) + do nz = nu1, nl1-1 + ttf_rhs_bak(nz,n) = tracers%data(tr_num)%values(nz,n) + end do + end do + end if + + ! (w/out Redi) call diff_ver_part_impl_ale(tr_num, dynamics, tracers, ice, partit, mesh) + + ! vertical diffusion: implicit + if (tracers%data(tr_num)%ltra_diag) then + do n=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(n) + nl1 = nlevels_nod2D(n) + do nz = nu1, nl1-1 + tracers%work%tra_diff_part_ver_impl(nz,n,tr_num) = tracers%data(tr_num)%values(nz,n) - ttf_rhs_bak(nz,n) + !if (mype==0) print *, tra_diff_part_ver_impl(:,:,tr_num) + end do + end do + end if + end if !We DO not set del_ttf to zero because it will not be used in this timestep anymore @@ -857,7 +981,7 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, ice, partit, mesh) a(nz)=a(nz)+min(0._WP, Wvel_i(nz, n))*v_adv b(nz)=b(nz)+max(0._WP, Wvel_i(nz, n))*v_adv end if - + !_______________________________________________________________________ ! the rhs (inhomogene part): --> rhs = K_33*dt*d/dz*Tstar --> Tstar...trarr ! solve difference quotient for rhs --> tr @@ -882,7 +1006,7 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, ice, partit, mesh) nz=nzmax-1 dz=hnode_new(nz,n) tr(nz)=-a(nz)*trarr(nz-1,n)-(b(nz)-dz)*trarr(nz,n) - + !_______________________________________________________________________ ! Add KPP nonlocal fluxes to the rhs (only T and S currently) ! use here blmc or kpp_oblmixc instead of Kv, since Kv already contains @@ -985,7 +1109,7 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, ice, partit, mesh) #endif end if end if ! --> if (use_kpp_nonlclflx) then - + !_______________________________________________________________________ ! case of activated shortwave penetration into the ocean, ad 3d contribution if (use_sw_pene .and. tracers%data(tr_num)%ID==1 .and. .not. toy_ocean) then @@ -1067,7 +1191,7 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, ice, partit, mesh) do nz = nzmax-2, nzmin, -1 tr(nz) = tp(nz)-cp(nz)*tr(nz+1) end do - + !_______________________________________________________________________ ! update tracer ! tr ... dTnew = T^(n+0.5) - T* @@ -1482,6 +1606,10 @@ FUNCTION bc_surface(n, id, sval, nzmin, partit, mesh, sst, sss, aice) #if defined (__recom) use recoM_declarations use recom_glovar + use recom_config +#endif +#if defined (__ciso) + use recom_ciso #endif use mod_transit use g_clock @@ -1515,7 +1643,7 @@ FUNCTION bc_surface(n, id, sval, nzmin, partit, mesh, sst, sss, aice) !___temperature_____________________________________________________________ CASE (1) bc_surface=-dt*(heat_flux(n)/vcpw + sval*water_flux(n)*is_nonlinfs) - + !___salinity________________________________________________________________ CASE (2) ! --> real_salt_flux(:): salt flux due to containment/releasing of salt @@ -1609,16 +1737,35 @@ FUNCTION bc_surface(n, id, sval, nzmin, partit, mesh, sst, sss, aice) !--- Done with boundary conditions for transient tracers. #if defined(__recom) CASE (1001) ! DIN + if (use_MEDUSA .and. add_loopback) then ! OG: add is_MEDUSA_loopback flag is_MEDUSA_loopback flag * lb_flux(n,1) + bc_surface= dt*(AtmNInput(n) + RiverDIN2D(n) * is_riverinput & + + ErosionTON2D(n) * is_erosioninput + lb_flux(n,1)) + else bc_surface= dt*(AtmNInput(n) + RiverDIN2D(n) * is_riverinput & + ErosionTON2D(n) * is_erosioninput) + end if + CASE (1002) ! DIC + if (use_MEDUSA .and. add_loopback) then + bc_surface= dt*(GloCO2flux_seaicemask(n) & + + RiverDIC2D(n) * is_riverinput & + + ErosionTOC2D(n) * is_erosioninput & + + lb_flux(n,2) + lb_flux(n,5)) + else bc_surface= dt*(GloCO2flux_seaicemask(n) & + RiverDIC2D(n) * is_riverinput & + ErosionTOC2D(n) * is_erosioninput) + end if + CASE (1003) ! Alk + if (use_MEDUSA .and. add_loopback) then + bc_surface= dt*(virtual_alk(n) + relax_alk(n) & + + RiverAlk2D(n) * is_riverinput & + + lb_flux(n,3) + lb_flux(n,5)*2) !CaCO3:Alk burial=1:2 + else bc_surface= dt*(virtual_alk(n) + relax_alk(n) & + RiverAlk2D(n) * is_riverinput) - !bc_surface=0.0_WP + end if CASE (1004:1010) bc_surface=0.0_WP CASE (1011) ! DON @@ -1628,19 +1775,63 @@ FUNCTION bc_surface(n, id, sval, nzmin, partit, mesh, sst, sss, aice) CASE (1013:1017) bc_surface=0.0_WP CASE (1018) ! DSi - bc_surface=dt*(RiverDSi2D(n) * is_riverinput + ErosionTSi2D(n) * is_erosioninput) + if (use_MEDUSA .and. add_loopback) then + bc_surface=dt*(RiverDSi2D(n) * is_riverinput & + + ErosionTSi2D(n) * is_erosioninput & + + lb_flux(n,4)) + else + bc_surface=dt*(RiverDSi2D(n) * is_riverinput + ErosionTSi2D(n) * is_erosioninput) + end if + CASE (1019) ! Fe + if (useRivFe) then + bc_surface= dt*(AtmFeInput(n) + RiverFe(n)) + else bc_surface= dt*AtmFeInput(n) + end if CASE (1020:1021) ! Cal bc_surface=0.0_WP CASE (1022) ! OXY bc_surface= dt*GloO2flux_seaicemask(n) ! bc_surface=0.0_WP - CASE (1023:1035) + CASE (1023:1036) bc_surface=0.0_WP ! OG added bc for recom fields + CASE (1302) ! Before (1037) ! DIC_13 + +#if defined (__ciso) + if (ciso) then + if (use_MEDUSA .and. add_loopback) then + bc_surface= dt*(GloCO2flux_seaicemask_13(n) & + + lb_flux(n,6) + lb_flux(n,7)) + else + bc_surface= dt*(GloCO2flux_seaicemask_13(n)) + end if + else + bc_surface=0.0_WP + end if +#endif + CASE (1305:1321) + bc_surface=0.0_WP ! organic 13C + CASE (1402) ! Before (1034) ! DIC_14 +#if defined (__ciso) + if (ciso .and. ciso_14) then + if (use_MEDUSA .and. add_loopback .and. ciso_organic_14) then + bc_surface= dt*(GloCO2flux_seaicemask_14(n) & + + lb_flux(n,8) + lb_flux(n,9)) + else + bc_surface= dt*GloCO2flux_seaicemask_14(n) + end if + else + bc_surface=0.0_WP + end if +#endif + CASE (1405:1421) + bc_surface=0.0_WP ! organic 14C #endif CASE (101) ! apply boundary conditions to tracer ID=101 bc_surface= dt*(prec_rain(n))! - real_salt_flux(n)*is_nonlinfs) +!---Transient tracers (case ##6,12,14,39) need additional input parameters +! and are considered in the separate function transit_bc_surface !---wiso-code CASE (102) ! apply boundary conditions to tracer ID=101 (H218O) bc_surface = dt*wiso_flux_oce(n,1) diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index 18900f749..46920a09d 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -314,7 +314,7 @@ SUBROUTINE tracer_init(tracers, partit, mesh) !___________________________________________________________________________ ! define tracer namelist parameter integer :: num_tracers - logical :: i_vert_diff, smooth_bh_tra + logical :: i_vert_diff, smooth_bh_tra , ltra_diag real(kind=WP) :: gamma0_tra, gamma1_tra, gamma2_tra integer :: AB_order = 2 namelist /tracer_listsize/ num_tracers @@ -477,6 +477,7 @@ SUBROUTINE tracer_init(tracers, partit, mesh) tracers%data(n)%valuesAB = 0. tracers%data(n)%valuesold = 0. tracers%data(n)%i_vert_diff = i_vert_diff + tracers%data(n)%ltra_diag = ltra_diag end do allocate(tracers%work%del_ttf(nl-1,node_size)) allocate(tracers%work%del_ttf_advhoriz(nl-1,node_size),tracers%work%del_ttf_advvert(nl-1,node_size)) @@ -489,6 +490,20 @@ SUBROUTINE tracer_init(tracers, partit, mesh) tracers%work%dvd_trflx_hor = 0.0_WP tracers%work%dvd_trflx_ver = 0.0_WP end if + if (ltra_diag) then + allocate(tracers%work%tra_advhoriz(nl-1,node_size,num_tracers),tracers%work%tra_advvert(nl-1,node_size,num_tracers)) + tracers%work%tra_advhoriz = 0.0_WP + tracers%work%tra_advvert = 0.0_WP + allocate(tracers%work%tra_diff_part_hor_redi(nl-1,node_size,num_tracers),tracers%work%tra_diff_part_ver_expl(nl-1,node_size,num_tracers)) + allocate(tracers%work%tra_diff_part_ver_redi_expl(nl-1,node_size,num_tracers),tracers%work%tra_diff_part_ver_impl(nl-1,node_size,num_tracers)) + allocate(tracers%work%tra_recom_sms(nl-1,node_size,num_tracers)) + tracers%work%tra_diff_part_hor_redi = 0.0_WP + tracers%work%tra_diff_part_ver_expl = 0.0_WP + tracers%work%tra_diff_part_ver_redi_expl = 0.0_WP + tracers%work%tra_diff_part_ver_impl = 0.0_WP + tracers%work%tra_recom_sms = 0.0_WP + + end if END SUBROUTINE tracer_init ! ! @@ -1189,7 +1204,7 @@ SUBROUTINE oce_initial_state(tracers, partit, mesh) write (id_string, "(I4)") id write(*,*) 'initializing '//trim(i_string)//'th tracer with ID='//trim(id_string) end if - CASE (1023:1033) + CASE (1023:1036) tracers%data(i)%values(:,:)=0.0_WP if (mype==0) then write (i_string, "(I4)") i From fb3f61b3e186d291736d88e425e0fb665c04529a Mon Sep 17 00:00:00 2001 From: ogurses Date: Tue, 9 Dec 2025 11:49:56 +0100 Subject: [PATCH 02/18] ci(recom): REcoM CI test Add recom initialzation and sbc files for recom. Standard setup for recom is enable_3zoo2det = .true. and enable_coccos = .false. (namelist.recom) --- .../recom/DustClimMonthlyAlbani_pimesh.nc | Bin 0 -> 309140 bytes ...16b.PI_TCO2_fesom2_mmol_fix_z_Fillvalue.nc | Bin 0 -> 705519 bytes test/input/recom/MonthlyAtmCO2_gcb2024.nc | Bin 0 -> 205372 bytes test/input/recom/din5deg.nc | Bin 0 -> 1092120 bytes test/input/recom/fe5deg.nc | Bin 0 -> 686916 bytes test/input/recom/oxy5deg.nc | Bin 0 -> 2141374 bytes test/input/recom/si5deg.nc | Bin 0 -> 1092124 bytes test/input/recom/talk5deg.nc | Bin 0 -> 705485 bytes test/input/recom/tco2_5deg.nc | Bin 0 -> 705898 bytes test/input/recom/woa18_netcdf_5deg.nc | Bin 0 -> 694351 bytes 10 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 test/input/recom/DustClimMonthlyAlbani_pimesh.nc create mode 100644 test/input/recom/GLODAPv2.2016b.PI_TCO2_fesom2_mmol_fix_z_Fillvalue.nc create mode 100644 test/input/recom/MonthlyAtmCO2_gcb2024.nc create mode 100644 test/input/recom/din5deg.nc create mode 100644 test/input/recom/fe5deg.nc create mode 100644 test/input/recom/oxy5deg.nc create mode 100644 test/input/recom/si5deg.nc create mode 100644 test/input/recom/talk5deg.nc create mode 100644 test/input/recom/tco2_5deg.nc create mode 100644 test/input/recom/woa18_netcdf_5deg.nc diff --git a/test/input/recom/DustClimMonthlyAlbani_pimesh.nc b/test/input/recom/DustClimMonthlyAlbani_pimesh.nc new file mode 100644 index 0000000000000000000000000000000000000000..01d17125e28e8282938d7f1a0adfb492c346ce49 GIT binary patch literal 309140 zcmeFZ2T)Z_+bu|xARQYwh=PHrB7y>vgMbnx=bUrS zNrFU4A|NO#hB@d9-<|*7zv|Ylnwgraw-4t$yL)%{?q2KZr{m_ysbeSB&~Kn8TXM9t zWK?8Ke=e7Qe*fbH}dSMV@ecjQphQI{zRap{3qUWKL1tHQ;?A_ zMPd3=jGg~PKlM*4vQ}M9YD;n{B`xWrqie2hrf*`QZ*24@CM)Sz{GXUh0ZPZUjpaqT4ULT~^bD-H zwGH$QwJeMcjIUd98(-tr(ls{F*D~VPH#0Wk*3mUFHrHRui9v>pY^f%Ue;%Q6Mq0tl z*hJUNLSNUMl;zSRmhf0El%=kjIVsU$(OpKm7TP-34vPs(2=Cpcr*lpG@E+kkyM@IV zj*yX2lHxBFn3haW-`v93%<4}*-2X#9(q_6^7P>mzC(QJ@<+ZH1MMb&y9FP#* z3`;&TvSmrhwv?E8>y{PBIcUi^Y)CPvX_xL$P*D6yNXxR6ijsVpbf!H^eljxljeinS zQvE~i^8NovhTTi?$VvP!)n8gp>fAY!e+kDWJ^5QIQh83xA3t;M^w~2S=cJ|Nj{l=X z=Km;B6e;GC`>R?>OI0Sh^1p(N>`x7sJ^xk8O14g(l|CiATvF=)wxoY^=coRg!|~;e zDE?kVhEzr`<-?%4RBCcE>Ob{4BPIVQ;!=H%kiN_HQ6>@1P5RT~Ch3Lru@l@n`i8nj zORBpZdq!X>1$mz&=uzXK)DAwA{4 zYa*muWU0*+5B}HO|3f{g@%(lFr`-P`l$6CXqW{luZ}1Nf|99>uY5tb|e~)|m^XKT7 zIQz>i_djV*{!@Pvz<=DT^-F@BYMHxLe+-5>*Iy$<29-hk|5u3T=H4Uve@OgN(F>kh z(5w(I@TW?D+wKbC%Z+|n0hay$C;~S@Qt2gkgiLHTnb>bqLu9z zbXH_!PTFoy|D!**>Hd_3%;T>hTebviNtTTBf3RS3r_U*qku53Jl7-_SeV3qGw!q5| zTb4`Iu`!Z0o3C0%-& zj+TX%x$fVNl;r(y-Eyf`%+fzG|3m8kI_ZB$#8Ro3+_GFo@NXy?*<*?l-v9sBV!2lO zr>c6FYC+AkRMDlr@jrOIJjp=(wb}H4dIkeyqw5+*T86s+K(N$9ETO)fm(+hV{1E(0 z^WX0BmXW^2QVUp0yrg~0iEkMi8;BT+ikMRkULonlzwTcI{zc$l1jtTGpOyP#BbNFC zl3TVH%VuhMOtaki{MYcM4rj?NhcEY(e?!U0qSh{7{VV@P;9ms(Mc`iq{zc$l1pY{39u~MGkpli;sZ_8Miy0Ta>d}i+Les z>}FnH^9#JW(qTxo6x3jIK4H;e@2hI|)xUrD!|&vLwFzw_G(XVsV9E9oYmHi#D( zc>GWKFF$WNzUCfCx{!NeT=Z24xq&^FG zZ7@0&39^!Y;azd)Fn(fMk`}%aZ_JG)wmT>VBi_DACUYKOi0D+0Pxe^xd%ZrNHL&Q8 z`)B75H!XOs;H7u3zFu9*1K9^2>~LHci1T^0FIeUS0Zs{T304p2W=80!s=YwONA1T~ zCfva3bo%54-WNFjY04)d#eF4wrE)(R8vl`1I_FHxDiU$FD^TW`d?MJ+*d0mQ?1ODW z8*Zypd$0J%X+I@uhD}B4zm(lqa9YM~-$4u2p&559bSd(Uruaa_vG&EM^=?>>A5}-TvDL#J%aU62 zVA5w3A1vcWdsyw4Y>+49vl6#|ogwMVKlhjMTdp^qQsz^GfFy|CT`kW_os4B19a@w` z%A1l`@ElunJ^u2gG%Vw}$&!cr=Hh?wT=pAUY|y?ymx6Mo?wgx0W^+B=+mS_D}bQ zVE&W&#u9IYP9N&Mqv?mS)%s22i!ZT^{{utkdLcJ2ocX#b+5ffg3f_VD#Xfvzc#iL_ zor{78pJVlh$Wr;sZZM)hP{2>(>1I_xow&U>A|8tmeL3WYfUEY}oey0>wUHjLyW9HD!5u2eZ6g57* zL@Spp<&Wi(xfRBtQOuhLmH_oc>kj3=&A4Qg!PY&ypa`2p!AW;~b5gM7+L}&dB=eIH0q3am}eh9M~ z6nLyi4qqLHgr~l^8+u^u%hz1k$RJHOH+u!oXKF9rI-SnJ2L;-wD>j8N$gdWlt?YyP zYWavwg&hbLrAaq(OM}ei29YOU+K`&zZ=0Ce2GOFCC-zp=@RGijfAVS}Se;H(ul|t< z4XzJ1dkZsBCy>16VN3?3&Y6jo-A#wxtTf+e{cc?AFHBy2yBoU|1=~H^-hxW!CI47r z3dU;8?hCET1{?1^E}D}?_@elILG@G>d_+P{Pp#=f+jNdXZ$T}l2uGd|4oS%H>(6!L zPD9CHOn9Gp#tPoce0)sj`cOWeg8amU^xTAi6`ZZ2>0@J#hrmmAWXAbJ02&!C?n|Ex zTEUrRK!Ti0(gSP_Zl9;79M$?dM>ui&ktnl--|lMeOG`;I+0 z-wk8phg$oo9yC0mG(WD=fioJbYn~s=CUG?wM}FK$lG4IAWCG8ou2#-#k!U(0%*jsuJ9|Ipoq?n1$nNwB}!qm4NkEHofs=HeR(!-Et`` zSP7T*A>8&@q^;okwA{lsNv|I#3yOUk9Qx7umMkeNV;HniT07@F`!VfjK>aGOAEg0p z&sQZ6;#>Tb$K~8^uz1{$NF2(?rAg<$y?o7}sXnV}7Sf2V{TJ)YPS=33`jqXJv~q9^ z&4g8q7ec-Hs!48DFW7$k+Shxz3y<C_an#*fNvpY=AE2P3{qJCo-RW?5AUh3u2FTzM~`1cEGRV(~FZqz;F zr<01liDYN4%rp=!M=5{Pry!_6+3Na>P_Sy!R15A10nOJJRhAb*L2vlbNTb{b8sw>2 zzG``BXW3!okn9Ty6`c>iN&Rtj2({j5u`iZ+$W<{vx}}(;|F3QGS4F&li`88Bml_Y; zVWoK!bE6oGKN5+>$LR>Z6fk*_toVQ8gI&jTLU5!I=Nq1wT>e~$k$S;5Sv!j$ac1)U z{JnI1pbZlF|tmhcUk+=VuuE2y}PUsr{T9z#wz; zgQi1$Sd2Ydyf3F8y+W;lTfIk+ypBe9ZeKqvwR{wQKkmSXlJo5mZly??y6}BMr3tkP zh13f~EgB9ao>kga4`*eC_{O`X*w5T%n0TTGpLfly;Wh7osy|;!M12=7(M=q*%kP0~ z9L?M9d9vO`344ultAbzscf8}G7L_@s@$=ErVbjHXQY z4UI9G(6u#HJlC58V?hDez`h*pQCn#C@p^|w`J3Z1UPH*)962r0(T&~*UvpyJhauO` z7$LR39|bv@D&sjV_#)eI(eKj$2G$>Xbc?DJZ#1b6tCDrY%vG_Dl3dT#PAn~?q?%ZM5-;oH5U#nnW69+%%*$+8AF-SOd zjm;p~e}(4~N4utQ&3t$tI_*E1nun*W7;fYdsSu@~O?c~@h7{Y|^NCwRKv|seElJED zVz)Li{5JJn;rXRSO424}Z}2Xx-FU0s8}3ss#p2?H;LD!7?cSEY!f#L@g*e&ITqH6J zUpmNJiR-K?23>(gco#&5qc~b|nkCsxo-5&$N$xL0kQbX<1Ygm>nh~%?cZFW5`>aho=#hvp0Y3KUj$kF7%<-pEY6f z%z2?*lr4B>EW#4{u?6ByH=HD%wIMf2RB7MtF0fU!_G}{A0UcNREsAl2kiPOR|J~|I zv{a@%5qJH7EYTB*<3m%>ikA}hZyH0La$V6$=N8=Y_L0A`x*hSx7viaHli@#glObQd z99p|QKT=#Qf`1xQCA(1?d>@oQrHRc$@R~u>>l``wT2i3lvMw3nKJI%9GLk@Utj9w; zlZ-_zWAn9-QsH(>;S$B}1jJP6=moz{gigKJbKRS<7%|YaJyV|u4PMr+j>bedjK3I7 za7aWwZ&%NT>!J8OU58g0p`g(E-O*271U~-YQ-1e~z}eY(+WBG@9BeYC6B*K1c->)B z+p)7R2%mD__?_4pj3g`3{TF@WsurCYj z#-6jEkJ;_+#`q7)_)DcdID14oPH=5EL}JdH-o4d>Lj5RTi^NVWY&-ob@^lN_)_%RB ztI>qv{1_Ehk7kr;eI&0>>p+-{mEyWHEwFr^=Bi!aiS@6QHlm_6C!t2 z>y+E4!BcN!gqx}e8z*>886ApXo8YxepESR@|4Hb9t#KyoE8b{p*{2{YTUOC4CIue* za!jdfQlRi;N{Y#Vv_3%0N`@UwgcAGK?e~V0aAvkG^|xO#bZcyFayBMG=K8M9Cvy{! zOny`DDsK{)t3+$v?&VD(&DdZKN3X;p*(v5_y z$W(GKe>!;cgtNLy^NE|=sz+Vk=A)m&QcO&%0G~gNSxr{9qSK`*pySE_CO$sVDv_Ch zR#I2X3vx;#ajd|%2Z>*c-opOFcgF*y zcIxftQu;yl9W-@L@4e~JiJvsxT0 zJbu_{W7%sNRnottzdbqe447H62u{E)$qYotZ&HL;<_OX z3vpbW%6kfsX~g!?ku)B23L+NAkqZ7B5jKa7Q$V?PF>~koG<>#sZqYQ6hEslax764E zhaY1-p?3x6k`UYH6YBOX89e(F4#}k@B6=Z4<9Km0>en(2C00elcXYGn1ltv5($P=0b#sbJ5lm+U1n6l< z{drX<_nKQBu&C4AMpoAg#n{fOYxhUM(fIZaKlcnK=*tp+vyl@?#vHFGw=Y6rdvmnh zPb%Wk`W^WLvEBGxx^GVS@+i*l9uc~i@*Z^^FV_2+^&>jWh|a2P5Vb>{DhbctW6h~U z3!d^LFyh*MVbrx3(`>D~w#2j|+wu2gZR7xWwW}wF=7*rP|5- z!ngTdF`DCPlVrKekt%Pn*c4QbY(XXMJnm$;P48!^_*j7uhVCNapCzDqA5LY%SdD#y zay&l|=~N6X=-}_zoEgjwBwYL2UhWFn6kK6snlm-zPN+&xr&by5Iq*XRcLHEE$3J zJ(@k|ct*jLq3rBW--U#8JkEM|TF`fnubAAw2iz|``TXy`L(OH!202oH8uoTbUc6-l z-o2AqlFA<;(;at_jw=&FkposSQ~3yPKfyny-vm<=sa?gqwKyhp3Rf>BgZIFZU4uK5 zu&P;+-)BcE-UzfQe>$21#lvEin;jA${!3<1DLV-t+f*xKcP1iJqT#|lk{zO%vrft# zi-Vo5NUCaKGG@E)KfA{pi?v;TbAqL%P_UDuQ432%h|UEqm9ALC{^rmv|6W9zS9VHf z)MsOtH}#?1r&+lDsncBLRS|Sq*3oaP&cnfDy_p9^iV--omi7y4F=`zHzZ-g%VM=R) zY4UXy)(F?%yYxB}={kuLqMRw%bZh6FXl51O@Aq;&L01V$dp>+kZbpshoYd3E7WlH* zG>kqUKviS=>gK6##A=r^H!}}HG4TY4pz|P(cz>tp>6^mtUk`lOxlhAa!bR((##fYG z7Af1R@E#IHx8@)Cj)H4OY@f%yQOrHE$(nK{wUd|EZ=Y%y!#rnlUylH3yzug{*pc3L ztnXzRO%dvX+EK6JGt6%hMCP~GzOW%U|ZfHb9#26^aix;RC4CJ7fwQ?SQ};y~kd?ddk-L_D*1H?s4K1J{9jhjv87VeP9x-|B!jxat0w z2+}KqO+tG{*XaW6=hsWI3QPtg`K!VoUNI2eme%LuR|s<5lk*g>ve6W?ZO7~Lxv-q7 zO8IfJ5XI*<{>*I4$HT$YFbb0*xcu;q@072A`HAme)(lqS9ktl%dh#;JS}d4tv(Li3 zXi!PzY%Z!JNR{iYfR?J=(Fb!i=zAbCo#Wn*#Bny~ZzXS`^ZT(P<%ePX8V{7-FEWIC z?8b$6EZ^fz2-iB&Mgq)4p7!;87($#eFF(KY2oi}ytihgBF!5|`rPw@$`LNM2e1GC` zDOkeB+AhkLLG?*!e8q-Th*Mfe#TI8{nq73Ao_PW~FG;V7{+5h}%!LbPcaq>pN3p$^ z_6=eTFSKMNy@Az6eYGz_vFIQ#Iy!VY5zYLrDgw%h5MRIM<1NlOv>d+wJ7mKf=-!TJ z@VW2?JNJfGUwRz{pB=lu^31+QPuv^t@1vn;QT;ifw*EE3cTYBUeGY+mLRv94C#x zr586IkE<*~&zr=4?!%;Y5Q+#oU%p1z1PXl1%qvGV*CxZ$LM2$ZQ6J67U5pIkc+L~s z61dGOo~E5?C#{nfISW7T#aoY`S+q9?@T7U6xKeZ&S(+b&>q+D4{YS+(elgDAw73z& zQS%Ql?hIAiqc?-ieUqyz_txY5fhe>62U;l#w}CFEb#o3wKR(nd zoH1M12LV(1^Bisc*d)a9ouwxWUlyzsc;yP=``NH_aI6Ze&y|lP?@mM6{k*ZtnIxQi zb4a+4J`Lx0p0+j9PKNkKmb+Wr5~1QMoh<(=7JD~V9}gu$ zFjE-bnk5v9Vm>G8Ugsug7KjF9vlXF``N1QhJH@!;b7(5{4QV`Z+k#u|V-du%{WN$t z*TN>A>&5_61+Me{ur6XOgPgl=eTN@O-x4Otbr;Lv>FnVwvRDer;X()U;c~E<2#*x7 zm%&f)<0$9DQoOvZl09f!2F{y>?#=pjF!ZnY<#6gmAw9Jn&z^pS-sijC5iy8jM6g%x z9l_U^*6fbc;t{#385a_GS4t#b^S4~HT6z|h!2EfcW{->u99^YLs3((VeSSp6X0^=DB!TzTco zm?hKTv8Y}l!=8cnJG&*jniFC3MqE93IssmrGt&zAlF<^Ky1$ULp59ZGt55km9 ziw`top%Z>av!^@~!5RFGrq9Ch!}ml`{bADhmvUxuI4ul1uYC^OJrWLm;Sc^hZC_z% zK3(LdT{%+rZ=FrDti${@|HBEfouqXhuUe|`8rXaNJXcfMjN!`OhmVb$(45DyLGo$^ zJQV!DKQ?Z_u910}3PIBPO>nvI=_4&je9$E*U0V;LO5bZvRErwP(cJFESz z-{IRcPXCR`eOMU$#?<0PTJKA$bT+y=joRIwEm4o>a4UVPm*LSoIvlB}N3_ZzA$0Bb zvsLw&%N20YrD%cw&Gm9Bokf_q_Tzz%Pc!yi&9J|6s~&|SnpV}b9eBSG$)MConopU@ zroZ7Nt$$SJ-nY-n!H$D`yXqNp5cK<|(u?U-Sh&;iT5cunN1VGK?WmWCz1OwUp6pD) zmwOuY7rw?IIW?hPZ`T{#ZS)996Z zWPK~vMpqs5BJV`Ko6M{!Nl&-3HpMHmeuZko;?`%5!0?SUiU)D2-^|m zFk5K`;$X>K=H%ffyk?3ry+27>N6~!nE#o1nKN89d;Yw|W2+b~$z4u!{BeQth`gSu~ zZ=ZR0;C=x{Ucy(oEDtqIzB{fcSED1xZ+n?sGd62Jv_InBhyX$Qq6-5psFSuT>tyXj z@x+EpDaTu3b!U?|8j_K6?{b>PuXLoPnU)*%C!<}{pRt{Ue~_uH7jJYDejih@g5jS-iRdF|c9TqVTgV z5$8Afy(|`M1hwFe3C8G!aW>LR? zXZGR<-Ou_F#$J$(72XJ+c?ZthFC=Nj24Jf5UW&n_56=$@9J#cmA0GOX>n3#t@S7qlTh8Tq{pjR83hf#=^r;Rt8rMbbLB zw#0L)Qh@;o68qQ(-t<9M;_=~&r1|B7U)~`7ffkU7+j%z3O(QB$x|r_1i&~f^n7KIr~Zb4s??bnD%YW#5xN0D5HiHY@BDBGWG!zk8nd*r);G*8mzvG1Manugh(yKi*#`XJw< zV?|Jm!O-~qOzoFGT)C;fBdc!$>{q&jN*VH&&24}A((75&I-~Tg+zU9QsC4i z*u{F8+eq_zb76tg+8bu@Nj*1Ao`*CaxFaoAK3#=-tB(K7ax26Rl?1Z4S6Wd#8nnha zs~J@9qxVQ@renYPR-v1ueVUI?j-b1ObWY-(LrB4VIyepOpHt?gLf(nnTyioUX9~Pr z)(epKLH!=xsT7QXa9OKS#+N8;E*l89V2dD)6TjyeJbZ&_Cv~4SmNQr{JaR|l;T%{g zdOy#s`w1N;oAKh=_uzeNIW&E67W3Bb>7!fb(6q*6T+M45KXjf7Rh<2f$H}XM?zPXr z@QZzuhTs|^ue{akI`t}I%I4?lua~)qBl3z<+LEjUx9j76$sR7E>q+iYAx1{x+ME6~ zM+z3=H|OIHdUH+*46;AA@Q`W$lQ-3|O_sP8GNO#-m?M zR`DUpP z`8tQ<%I~=L%tF2MI|UJxX3^e!iJ54=eYm%Jik7(QDzoz(-46un-9GdE1vT;JY|&BG z^{a?t|7HfaaT;P~-^nkZBbfA}jd;u?bOO#^`e_)-%T^8eaDe!yXO|go!uH}67;`K+b z3*jtvjmcyr7RlEHZ7sK@fL$)3z-B%L2C|u5KMNDEw%~TR@M1hVJvJ56txrI--O(>e z!I5~A`lEk~L^K{vI!y{a427P4*CpXTR^m5hU9aC+(|CsEX( zye-AJcJ;t=-PZ;0pdb2!@U4I4kDZ{D@2!* zn`klObP}FoBti?c&agFc5xtvElv(pK6T#schc={B6Fr+(6};A?Alwwal%95{xyicf3HP@V<{@W}Qpdaja~@uPkWB^s zi2fEf-Au?3PuDzLn#YOUC|8z9!n4=WU-nfd;#8hrpKDAEc2T!&Xd{hpFH?6Z8Sz9z zaidY)$*&B=ufb2^d2hIhWZBYA3JE&mW8OYjp27{pRp%kss&(s#ce>}@I};d*Z#q`7 z<1~WAWT)|^u_97^Sto|qMQ{^_X)HNhYq^Ozir!~ptGI~+lHJTz?R-Sp0uKY~IS6+8 z#0>jZX5voh7xifKHN;3vgxcT*1|oop|FMWTJ(08Jv&x-Hdg24W?h6l|MR1Q%YQ5zp zC#*I+daGg)4<6Ao<6|6|cwP5&breSu?1Jh!Y}u1>K#u(YIe7}M-1WDxjfuth!`3ao z0=Nl>v|mxDR`C;i$8UQlM{Xoc<=lTUS8x-LWf{pIU*jg)90}d@6h1;>`Xg1)GXX-6 z`$$DPlMs=US2O#6`phc<5Cza1)WtCZ0T3 zHxRrO#}sCBm&ujLiL1V7t3Xgs^Ly&Hnf)20~SrBRON2C}GR@q}%aaE@-TrLcG~Y^X%u@ z0b!Yi*eNe=DW0E?vqER~e~Zb-*py~mEOR=p9{hN2OL`7!Prv0nlmy~M>#kQvxDOL% zv^!9)!#ZOvkwx_hV;G9Sso(F&pnc0cic@JyNnZ?w@45Rdo^KeH+Ai9I**BGby#QECHG&lo6Md7YWCG`aCMu7I6* zDW+hVv`&S~8FFu&Nyb%V5j&#>EzFNZ7xLJ}gJpYpR2=Thn{`;N4)H<*T+ zuLp?K@tN}yrAGcbX)yD|VTMyrQ|2{$7_b!XPlW>B_+n}j*Z|)3nmR{%w`8iSI zr*`3$dSVBW9GDw$=GS(@lwD{vbo~~h>&%tx?r?r0Phm%>cKrrobD+g>+22ycmIZTF z$sLl!!{a{>@%?B<1Gm@cbJF;fFq<;Dw>A$mqlCD$W*O*N>|zP`a+rDrZol!q2&p27 zm_J&IU6_o$wWA6TBiC#S-Q9wPcWe8;6*Yigh~blDa0PTOA6H|QDM$MaW!vhBN(hGD z`B}5E4A$4KQJsHO0o5D7i^$av6VylSSe)n&5-2TvT$F!`uv|M#Qz)PlW}DyTire_t*%c{AA0E{_7wbeJ^=P8yzD2wwdNw zK9wNUoX&FPbrj?C7;VS-=gp*b%yVv6H?-iJq}1Jt!FJS8RSRA4%!77T#q{T^rPy<_ zBY2ZcA)b&Gly9sl!>!f z-I2-0ji9?xWWcB02>V6K5~t5i;H#_inDwlN!hGSilcafUYI&AHa8o(7m0c9~oTx+J zp28Li>uNkZlIgR3f{)-m`m5A1Qkw9oXYAZTdyNn^oEpiK79c9Ox2jeMNfFy;TdbwW zLB#BN``Xn@irAcf`N67uVIuDAxB1SdUBuRB&({vd3lax!Ynu3%y+hfd#_O#ab%;qP z8y7j>hIJp}@`qzvVR}(`F5+|tjQ!%)+_xV>R-DR~u^S`sUw7@YuYMMWM)&6)R;dQh zVNMmo?Sh#zsL!P60&_7H#;!9`5cb&v_N;h_VTTocG5g4#)fK51CGm?Pp->u1MNwn z&HcaYF%%oPI(D!TiVPQ1xdYjVo9&D@UJR@!c=X3ozcEM?a+=l0Wh(X(2J7DzEmZLk z)~CIFi{|zaX>6@Z3bInf@${#~DhKxwRT_bMzAZw8jPn{$$Mep4G zlNO|LlnZ4DH)S`fxW`{BQ&ixTLBPx_?m@KeJ4Jgxu^-91e{v_(4P#Z&R3v}z7@Wj3 zdd{(bz>#&fAEl4yVopAMm8($`dK%2Uy6j8A>0N&#?`9zsnd#hB>q;PRUc;1?kO37_ z<1IW{F*w3IFwDF&0=IHTOfHac4LCAspf8XD_tQxSNGX^X$w(vqA~fr6X41Z12Q@1XBK`m^!TVEW`1%EAVwEY2bZX@{ z(s`0#L5uH{gxQ~iZKJUC>v>P}t`E7Vw(i_h^#!q)#P7$K^kT#~^us=dZk#G@r@A!O z49*jbnj03oAgR{Ak-MM;e1#@qdmFYBz7cB2^oDr|k+b6;kH+jIs^`~!H<{T>)ZP@| zeUplfxJY@j56UB?@!s{CZ@J>ccd?B$VQ2RcygsxulBIiy?)Xnluh;D%&fYKXS3M|7 z@C|$~s6IQ4GmkZ`n4_kVk}};&j5njrdX4ze_93XANLRS(IE6>j(>XBN^5* z_zA(}b@@uR6vU-{2kcaiG7$8aYdeh$AK~hh;ssY$2gp7T3a4>Q!ac5ViPfZi*L5;< z0j@t|kdgUXxLi6NKcffE%0EqpDphA)Yjq9kLfl#Cjtn5G@I=+ME1eL{h>z=aFUBs0 z92&Rhb&$OlFZ}a(3z9YTOI4|p5OjOXVuu1bp-;;qR^v8_y`lT0&iQ8H$Y55af%6Qq z$3;?#7RU)vI;K5Gr-zWC`zqsr;s8RJH>`fr(~f45(XN_fJ*4xIgYoZW+OR)I%f8x^ zhZym=IlXz2mw0vgkovSd=@g(a^65S_8>gUh)-_{gaOHQ22+@9#nMnN1F zJsDdpmjUgPEsFF>zTnW}<9l}|404>?#NLX&MusZm?UApG*i)lddHv`lc8<9R&T5Z? z?GisNqxuYL>||Wn9ll_1^w_Ue`xbHRTcD!q(cgITpnjca0XgB~Wt{%{O&<7p*3Q-? zHNv7@@P#US6=|R0(`t=VzG#y#oV#^378WjHZ|*j^taxAEK5jo?e|3#O`LvUXL72A2rI9O)_4(;uf z3bD2@(ciJp=aN0lql4%A`<~*96z`32GCK%PyX!Fa+2i2Z)y15bn=lkOMxjeyhiLAf z??vurpl!#OnP(YoP)!IuQAs)gf9&Nds7o+TPnde zzJ1gEfGU)VJ-W8%Wd?F5zg{LIt#3STmA%~k&<8Z#+{NzVe&7tAE4XCv63&-3=Zb}* zk$t%QL_{(rk=;S2eaZhlIE#$0eC3@%bnOwIn6vZHboj9~q~RyVWduIlRQimo<}p!` zThnmoXLqocQYGfKEp~d>XF_Kz>0Xhk1up$ewZCcQh^t3kovRHEkw3l1+)dgANspsS z4|m+eg^#J5)}FruYSme{no@HVbI}@e=bD16ny}Owe}WeB7h~n5bN1!~yFUnWJOb6T z_KWoGR#?}{F=I8Y2cBrHm(;^o0nNaT5-+acNv&;B*`f_{J_?jsXJ){4_2;j*1kp1}?kHcF~fb(B<+~_Wi@haGSjP8>es4_{`Au}p`29^-TtUnd4bzD?c^Y6KT``JHpcMfmlbk;-Fp z8tew1Z;E$nLDhY8M_t=y2-!)0a;Bvt$f`bV4I$f2IIpoeCRloeP;*tg5@~fGqkf0t zqM|H-T`XxY2koGt%SNU1!V{kqw0rs1K15$b!rbHI&#>>=__*@(;5=ergu9`9$`G^kUI5`hj^wTLq5^)gtT8-F4krC7=m|aw#hb`;kS|8 z>8cmn_*NPqI-h2O6ZstV9b3(iq;)=6ttA&vzh<1Nkf=a&hA~sc)F4XJcpf%?CY`@b z;~5=n8-fA-?33uPgII0)n_2UsBaHhW+}DZp={rTHmm`3o-OmI;9sk5rqoAB&lcp{X?=+_mPxL~kGzwPJ-Ux<_#w~4bYVmNqcU!2Y$X}on~Omt`g+vCSJ z_9?}JE=uAI&xTUGaVXI<>ubejmxzO=9%bM#TX6X`)QFUH4@J87!T80xwZmUL1VU8y zv{$J8@#&j}-TL4hxZW&0ZX%e9iKD(L{2NSQl5!Q5lqPUAs8dw1bOxpB;@GaPhp1RH z);Y4?9IWnff{&|g;F{Eh&vml0{4T0P z!i#J4ZXqW1r^d67ruf~tm(#by5*+tzzt|g_La2**i@Q@hEG8E+edz=;4~6l zMNUhNbc4tLqGr0zY9e=F!10Pp4L%(^vxDW%9q9PmUw^mmE>v`5zkMjP!~BJ@{U+Ty zs4vs0+Rc6wySUlhqwbqvmFlHh847h!Dy1=QHPZrp>TNa4;Rdwx>+|R;Kf__;fdge5 z?QkZl`dOrPFpB3V?wpLWgu5K~g~z=w@v?MP8`J&Q5ZZP#W{;l}c2=GjULs&+^at3R8K4HV)hTPXSRc$$)TZs?+45^rv*Lt>IPXv z(bcHNU<|x@OfIxH9`~I?OtqyVz|*(=aB5f%F2*~tCv%eClay?6XMGU|L;8i(Q#lb( z%z=Tf;SD(I?E7eNw+SWtns(e1E5;EAK31+l2h=@R51`v^0Z~4^zVn8r(8vtRH8C}Z z{r)}r-S?evzDIqNZ-WzQzu=0J_2(xz#TkA3ew-^V65osHGH)TWoQ=v_$_3-+%*~=o z?6EHH3ccNVYphq-uTQ!55E`nvug)GX#oc54<+{(4uu#9o_{MY?&i1I>iX)vjXXSll zuBRFVn*IZCWy6#(!??KN(6^IVZAo#@T1W}=jJnFckx4i^`= OEK2oYuVdHI^U^1 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�~lu3QrRF%eq` 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%0A;<%FZm*sU<$_LwvO9 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

Cj8x+1b&{8jSS)c@47ThKf07!ZwSu{b?Bsb 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 literal 0 HcmV?d00001 diff --git a/test/input/recom/GLODAPv2.2016b.PI_TCO2_fesom2_mmol_fix_z_Fillvalue.nc b/test/input/recom/GLODAPv2.2016b.PI_TCO2_fesom2_mmol_fix_z_Fillvalue.nc new file mode 100644 index 0000000000000000000000000000000000000000..3c5292ae113743da3bc96bc7bb0c0f4875e1830e GIT binary patch literal 705519 zcmeEu2V9Qp|NqkvDP^QGdm<$5yyRceD>!IuTU#29_l$dqXC4u!1UT)5q&e;QIhV99Ufv-QzKTNJ zr!t(U+{!dj+p%sAW;W_>fq}uZJb820=eGSG1h>2K^@`VycVm@a!Ez2^XncGUR2zOi zK0YgMV;&Tcph(e+F4IN{8jVhq>PC}_N3AYxL=q6<5lNWV$R&d#cUDeZqIK&{bt=G@ zZOrMM&ZEd8>Y7LVuXj0>e)V6`QK0{?R&J}u#p;i31Z#+hse{!RS~nVS?}bNR^4Y^V zHH2xx+^UVj%+Q`asf&x;nG)_34!AmX(ghnctMR<~em^tO!JsisfYt@Wpo57f*5@b)Ucw8)IF*}Tc_a> z9zk9nVP0-Q9)aF%y;In8d!OkS5$WYEDi7wNMR!gMj5_nrYL9>JJ`kzTV|M{WbWH2%X5qdw$;wofAb>{Jsg@l$GiN z7Is#)AU{RJHt}n#@^uax6lL*C=)!?q5#fmn_a@cnul*ol_@DFRXqG%QEL(wh@Aa1# z{1*0578-A4p8oM5ucjc)mKH;UxN$XfI+r()lC~cYUYUJlq=mh`Ic+)Dtnw|O(c;^z zAKxSaTDBZjo39QxD8zW9@IlnZD=?iqls4zmYs%ezls4J6v1v3O@j@mdfdZCQ7Gp z`KtO~jT`0CC>+}y-0zvUwz-4%lzID)#)=a7w)s=eQxyE9%-Roziibg2h>(Z1*)>;1e-A?w)BuN zZzaDVugLI-Fh7r3^f6=2=$^qrQQlz@-d^;GU^*46s03<=4y9WC2ewcXq`KqOo30@` zhU57}Fd0f&Ec|B8n(Q$v(i_pokE%(*ZVYRQoqF-}i`e&OMM@NrRp zt+QDiu@Z;r1zO)!ZNgZ42U0D;{BakU}rJEl#8+$RRfGTJXDTN}|=W zMArT>jBq2kiC;JFJVk*KMyq+R0Ppr(5vM#YYnK;3AI_aMs47A&Q)sT*y< z9gXHKYP^Ovi0V|HGDi6MG56ElsT<%eB}bBPU!0(|$&3m0m`3v~x$?|5^KLcgs`KCf z5ej_oAG5(8>i5k*-Z^>ka+`nT2|6F-?=r+XGLP zxJd9Wf9${g9f;sprE5bBLdHj{?#rnqK;uuYllwmGtmejDq6kztzxd2eLEn?3ntCz9 z?^`Wmcx(>FR?u6P$zMZtA?tSP0{7(!`r1YaBXXUPIeJJ%Tx)?mtmg+C!71V{bb? zwPQ&;v7r4?&f2lEohY;uwxc)3FZ;Mcn|d|s{QWm6U|}`Z^y`Xi8zR|U_rQCx{#}@@&Y4d~?Y1UaQ6~I<=x1qW zGoj5BQ*k$bJl{wKdeo1%?920=y!*VxVy>%f3k<3Hyai_JZ|b*`>%BQwo&R=Hppycf z6zHTtCj~kw&`E(#3UpGSlLDO-=%hd=1v)A4-=F|@J-dY(8;kkW>wMd1B@1d%;OC!} z6gjKazxY{6hUyfn)n7j=c~CcI{mEw~W*UvRCk!<^fB!fI{_c7vR{&^#6d+nVKL1gY zXn$n5`hp26|M+}5JN!KgSXhlQ{kl1_t?7*^gA0CZ(?;9!A)4|a)yvmC6+hn)^mV(- z*KIk}S|hdON$olOjopU7v(K=DZ6wqd0Pe_~{fJ-Z@#lLBzs}*uU4{R~UWos}^-x9!pRxmA_2zHszemKc>OW`94)+;TUoG17+9RTEn{fx~ z|6{cuHtbPf;HaK>JBx#Y!yMUbrk zzUQ@V+4uDej|dK%-L|7Q4t|*u{VCW(Y2z6|SJ$JfY3OTc>1*lI)m7EC^y!{n!E_~C zy1JG&T`9~v&?96vc3mo}c+8sN?G>!z8yx7Z;_2lPlV~@fWS=)%A_3R zNmmN@p5^Tsp-3GMF#6-M5_-EXf@emCg?opq`1l36Mf*kgx*<-$@fEijL0;kixn_u; zTZCt@I&YxvKg>W=gFAyDPmd6FAVT-@_Q9q^`61}Lt>Ynz>LU&4yep$Xj{tAC8Nrbl zQXV%I<#);^z7;jHdkFKV!uc4=}s!dT+jVlW?=oZ?VbZqsc_PL^aMLlIb zZ9R20Zw+nwucAgF^s9B-P2*3H3-SyIrzWCEw2c@WXmmSQ#Jxc#!7%eU%xFT&sNp-ZZcbGRNu*MqNsv{|J zHbPOt1wFz$Fyv3>_8Y@dq{V1Tf#Du*k>O!(VP0X>6fuw@22xhk&{b9D-B72laZ~lr zC{LlqMempGT4%*h3UpH7=M-q~|Ec=%Ql^^)+V;`H-@65QYPeCSC_E$D9|uB3PRuRH z2^7r6jBN`N2p&*Dg4ry;KpY~XkHJ=d`q&_xZt?N(^rqto2DQzfuCA=5tWKBrjfe;d z*H=*q48Z|_2<5<#naW;NjNmtt!k{ezF{93H1Vx|`=eQoVcGxz6g_4@G_SbiQw~1!9 zVZk9d;o*mqOVrt+A>4}GA&t}(IpKzprm~*0x}vX_kCu^|vYMu{h5$Cta}Fp5M}~QF zP9_?1Ter8qZq^Lk`$py~}o{7O!+E?NESQxFZbMW#G_YCt3p(fFW8nqXjn!~p< zDV#p&)WHb4PgrmuJuur*- z1T!N2W_iJEdxy1Q%3Bce^z{pZ5cq~u6*&jSzMX+-cl7f=oP8N>DvtL!uAodbvuW$u zjY|VC#cYfP-3F}lK&To1RYbIuRh8A~@>Yl%Lp)}B(~anqv_M#bJcE_PeU#Bqk!}|3 z^@k@|v+<3bp$sZem8b$a`YNEDaS34PGTG6-b|$_Nxi6g3oW6ay53 zVvaHn#RkOz#TjKfiYJOMN+3!YN;FEG87+Ul8I3FiTnv~5xD;?X;7Y($z_ozu0n-6D z12O?K0Ji{c2iys`2XHT74&VVZ%!cS<~VR7`@JFTx6onzbzF?O^?BzRI;{Vsef_qr z3>{U*{RUm`47vSN$8`Vf*O1)4KJUCmM{OGJwy#eG?0@!a7{#R^7awk>gbtfD#I>(4 z(qT=`gNBm!^?7GDJ8IT2n9Ct9KGgS>Kl?QVx3AAVG2LO4hWz&Re|8+Dp%+&IxcG37 z#dO^NjP~_=by$=0py6Qq`n`WvUyv(dTzt4$F*r4NveqHtjpQ zpZ*%|wXZ+$Piv!pWv<3@@fq~9`tj}S;~4*+{u-{duP^hbwSkW;*CKH7q5rIYSbGa1 z%dIcRg;re1rOHow>wMfvfldl^QlOIp|GOygE}nyLC+wsHMS)H^=#+y_Iq1}bPCM|w z)eh{b)fFhQ%pfaQ=-|uS82P-yt8FV{A+>%YChtT(0+Ox@aqaOV}`Lc;5Ggklh++QF6_zM9? z@6j2=Jk!`ke{2RhYsMG%nq-gU|lIL82|!?_!8$5Ua9Ha(#PdkWp#^ z=K7GA8DrM?-~GTQqs%8nWPD~5(oK@@ObeSx%r@MK1aTrek{E z3-eoU^@UCH-Ij$E-e8mD-G&=Qve-oAu;&On$oWO{M{oANVUx6ozT@+HXOM{4^2~&x z8KjHm^=qyM8RVc@eUDz&8Kk5n>T&N08N^X2{$T>-W%+`E@&k1<$i{}4IirST5aZ|x zsTI(#@SI-fbz9MIaNg(pZ`s6auU)FsYc|=W7H7Kn9h)dh_UWz<$TBjWz~ajwqI0h8 zm@Wdjn-I}hD4ao74P7{6WRDDz@I=~mRj&*pMxvu%0)Jn2oV(2@HhI5RG_&Can~3r$ z%}NIJ&>J+H`H@XlJUg(|R40S%NenI%v&kTz4xQ25D4RiU*{3<>^vNIwmxInM8I(cf z>*Vf;$z+fn-80x*Fs`xNXm54!b;z{vb*F0CBz1x5!+P-VwtkFzaUGisINW83Eanq> z#BaE)cm`3tV=*;JGJ^~`?d-4y^pDS+lKVLybWNPUxN9le=L8Mqy9Iu}-f-yIJvP}h z|9QL;V88gt$ZYV<=AMveGU{)h8vUMrlTBQ87MgVh{(;_C`yWKVT60$EZta&rg!(;~ zdI9JnBl}z$_v58PHEj7a$i9LhYwkW{ldb}x?*t(ao8rf?d!xU%&u1o=9>VxjPo>A? zu*qrZ7Wpej*d$@iHmAdoJBQ%0GSv8bN5eA6%cQ(r zK@u5cT(@Db?m(X+!i9{7puf;#{ro;YXOk}d%1xhw-y*LSPdG!*&a9F;+6DBFOu6kC z4mv1a-f3D7y3h3G|8%#CO*FgQ8h8VAYWaLqt>;TNxv@}bP#5r5ezDV_+xOXIa<^B5 z2H^SeDuYcg-?Pc2e!K2ffWFo@8b{b;{M@qRJ>0;TWXI)YbOFf8uuqAfA-7M@Ml{!> z{l>#Jj=jp*#Q1f{(%I0@9OL`7V+z^iLG;rv!=SfTg7+3}I1RfjH$nLp^m}T$;r2t2 zg8~)3QSPAg<@DL?x!_ylF4m#29c)ST4J9x9_s5<;j&T(lA6l>50KDXq1l>~DL_Jx&@bF?bSzwek z`O_B0r!7UxUC1iRl-gFpjTe@lA$)|*hKffuGa|gDSO4s zGY3JJUPnf!o+yAkObn0nFGBleMJCO_$9eLr$Ytnn@uTjk1FAufB?@U7u-99qW%|v= z{G@a(W+{RmN%J?SmSEm?+9xYR(cjSKkD8g+AUA6+8}MNsLN+N6kD-2n;KG#oS!@z( z=+*EB^jBIkUpOL#O$WckpG#g!4Nk*+XoaJ!mO!8T)$ZsX!zO)q z%81VkVUzI*HB)W|vq|gfmj~TK(a)*5D|`Bbu3H*jwjy2_w<=?Iiv^ol?(iQ^93l5l zsuRZ9LC#hk+!*f0CO!0;F9x8WiAM_^6(d1+|Ek#rL2U9m>r{*RLN=+tW_EGeYUtxf zr`t}D3)g^`TL*#93&yCM6-Bejz*P&+e~x04;OA4Gdql9wzPv*-m4VNTfzG9+h(|0sI^hdSjB#JlKUb;U0aVXZ5F(vceXy$&Pb&cXVfC zytj$c&d|fztUhB@F;C}b!q!_s-#2>$AEsfxD_S2HUIo95HaM5|#`uYoPfh6) zmo|Zpb#u)_H_iMuzpks;yXtVgql@Gb5ijsjsqeBan3rn)*|4|MAs-4K#QOQ6eXT(G z6O5nmq-EkL^gn-QlJzstZ}+g`oU54sf^N30Pd(Y>nd2foyJ_$r_N9FF;P3be7S}?- zUy&Xk4$*BP-^wYkyW{@Um}OrMn6t^MI2}JT1vX*K5qq&p1@TCYz2h3)Z}{=(Uti=A z6+_s>oIg8kqavGZxN=E;T_4arcJP(L9`NrqeMP0DK(Cs#TM|QI$Ihvp7L#War{xDj z9RLrlEe;VeV3Rqfh1X9(4n=%6ZJIq9cKiNSzAY2jWRczWYX{8OWUjlNQlc^BrT^z$ z#rmM%lx_Zfbzqmbsy$A*S}44&Oymk0X9JkD70 z41BN}bZKy(0Qghc{>S%&{@a^Oo2}W12b?wD$!8!w8&zG#tYMM4WXXaf@1PI6wKw?ognT?{){a0u z#olhANuYPs`$6@gz+>xeGVp~qn;c}D483H+Ce7=#rB!SpXQPMjy9zmYK3-^zDCjxL zc1jMPGMj{-vk|r&34gc$vB?$i*)ybQi39MM!`ILh3%QuzFtte>{qpGh$o#!n6Yxl! zw4fkckWKdHnm(rseS6NU$AgYNRvpiN$|ARqS4!-wWD&u2YY$I;z#@4gR@NDypO7Y6 ztw~ol$(lKss}eDeqxd6gm~55T8z&eHd+POa~A82-PIRydcp0Rz2x9Oj@B*^ z9K|M8<7GpikAOXlI+%M0_@7#$HPoP#MaEaMWOKK$$VdH^-Kt|*WO;c-FXl!T>2m8y z>x@7a+4`{DWu+dAFf^5v3Grwdr*-K@ZhURy!m0JBC5^b>aVo*wHmi);w) z-F&YEbZT_nBmsKK?XFTh_=H7fO{!Tv2XwFX73)JE#3on!+`Xs|yYSg+)aWmCHhJ~s z+SO~2uXE+wQo`9g@Q$GC69QC7CQztN-ez4U0w8oZh|>!8MQWJV>MtTx`l^k!8KFzqovk zMb;}NGna$zemy73yoEfy_}nhOzFKZYmbB0qt(DO>qd3c74Y{Wt+zDnh3g})3)T-Y&p~2$=NY-(r!S#q*Did(I+R^CE0pz(?_wUJC}_27jF#?u;#Dkw(7Hm65Z5j*q;iw!8mG z7SS4T_udCL7RgZibZz8v78xfu;7lf)MaC?hyiJ9{BA+9!D{TWESM-{p=?FQ0J8-?^ zsYdAM=FBN6;QNDeQ`URful|Xx0XBdeQi>9ei6eemel^z+c2Ia`Jv{{SKWv#~`X=(pKdZ6WAYVlebeGK;(p z+u7O|&_ga{ZUOGU{%rHG%OVz8t+4#F_&o4abjX@Ww0k)@w0_hI7LlrE5}CMPr$>D= zpQy?P*opO)eUPY3RAo-F+iRe_#=n<-Hv#f8pjnW9HCe7U^zx_vFAb774JQ zyY}Nt7LoL)4GM>z_Fg}5TQAtdg!sE5V_~Ptg;qZueh2vMxMnQf@N<0lyIioERm>zw z^*J_f+n9vMr{@D-&l2tdy{?+zc8ni-MV5Z{5`aD(z7gg$oJIB+PZ<;d`D8r060Qci z#N3qBhpY-fN zfA|k)BMAk_t8AZgWftV@#_Wd*`lndrXx9~QY495hk1f?J1N{d*y7pGM8hk97|FS3S z_6z~{3|ZK>;w2L@WnQp|&OV>gWW>kXb_e?(hu!#Hdhp*1?UexgvB8m)L>$LBgVdB~ zKwgZ5hF#rw6MXont{DQk_!7ii>;ZXc6&(C5-sx#xv@<9$ig{XshX zxIJ0vF&_5mck%eX{^mii&$n!3k|Wj42TlR%^fBG>Vm^~(GFWo!0aGed?pEwzl5TnJ#Vft$%6t9friga^3-julzCW# z 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 z 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 A+5i9m literal 0 HcmV?d00001 diff --git a/test/input/recom/MonthlyAtmCO2_gcb2024.nc b/test/input/recom/MonthlyAtmCO2_gcb2024.nc new file mode 100644 index 0000000000000000000000000000000000000000..1874cf8f3bd50b5bb18712dfb796dde5dd588568 GIT binary patch literal 205372 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

@Y@gh_92r0YuHOZC%&?Ml1pX+XuiZpM%usXvvM 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

Quh4Olj#uU*cutAOll@PSe)kT9 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%0DA4|O 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

<|q!?AH-xUi$)|0R9%+kX0gxBq9%V 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 I|MndCKcz@+SpWb4 literal 0 HcmV?d00001 diff --git a/test/input/recom/fe5deg.nc b/test/input/recom/fe5deg.nc new file mode 100644 index 0000000000000000000000000000000000000000..76d5c8e4b1d90a242f50ee2b530885e23dd028b0 GIT binary patch literal 686916 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