Commit 4aaa729a57892cea0d1ad749511a03711b14c12c

Authored by dumoda01
1 parent 4e171ca6
Exists in master and in 1 other branch snow

Le dependance en temperature du modele bio_ismer est maintenant activable via un…

…e variable logique (mte) dans la namelist bio_ismer.nml. Quatre nouveaux coefficients peuvent egalement etre modifies dans la namelist (ca1, ca2, ch1, ch2). Une description de ces parametres a ete integree dans nml/bio_ismer.nml.
Showing 2 changed files with 112 additions and 89 deletions   Show diff stats
nml/bio_ismer.nml
... ... @@ -10,19 +10,21 @@
10 10 ! z2_init = initial meso-zooplakton concentration [mmol n/m3]
11 11 ! b_init = initial bacteria concentration [mmol n/m3]
12 12 ! d_init = initial detritus concentration [mmol n/m3]
13   -! n_init = *** see obs.nml *** [mmol n/m3]
14   -! a_init = *** see obs.nml *** [mmol n/m3]
15 13 ! l_init = initial LDON concentration [mmol n/m3]
16 14 ! p0 = minimum phytoplankton concentration [mmol n/m3]
17 15 ! z0 = minimum zooplakton concentration [mmol n/m3]
18 16 ! b0 = minimum bacteria concentration [mmol n/m3]
19   -! theta = phytoplancton buoyancy parameter [m3 day/(mmol N)] !CHG2
  17 +! mte = if .true. use temperature-dependent metabolic rates
  18 +! ca1 = temp-dependence coeff for p1
  19 +! ca2 = temp-dependence coeff for p2
  20 +! ch1 = temp-dependence coeff for z1
  21 +! ch2 = temp-dependence coeff for z2
20 22 ! vp1 = maximum flagellate uptake rate by flagellates [1/day]
21 23 ! vp2 = maximum diatom uptake rate by diatoms [1/day]
22 24 ! alpha1 = slope of the flagellate PI-curve [m2/(W day)]
23 25 ! alpha2 = slope of the diatom PI-curve [m2/(W day)]
24   -! inib1 = inhibition slope of the flagellate PI-curve (pos.) [m2/(W day)] !CHG1
25   -! inib2 = inhibition slope of the PI-curve (pos.) [m2/(W day)] !CHG1
  26 +! inib1 = inhibition slope of the flagellate PI-curve (pos.) [m2/(W day)]
  27 +! inib2 = inhibition slope of the PI-curve (pos.) [m2/(W day)]
26 28 ! kn1 = half sat. constant nitrate uptake by fla [mmol n/m3]
27 29 ! ka1 = half sat. constant ammonium uptake by fla [mmol n/m3]
28 30 ! kn2 = half sat. constant nitrate uptake by diatoms [mmol n/m3]
... ... @@ -33,6 +35,7 @@
33 35 ! gamma = exudation fraction [-]
34 36 ! w_p1 = flagellate settling velocity [m/day]
35 37 ! w_p2 = diatom settling velocity [m/day]
  38 +! theta = phytoplancton buoyancy parameter [m3 day/(mmol N)]
36 39 ! g1max = maximum microzooplankton ingestion rate [1/day]
37 40 ! g2max = maximum mesozooplankton ingestion rate [1/day]
38 41 ! k3 = half saturation constant ingestion [mmol n/m3]
... ... @@ -70,11 +73,16 @@
70 73 p0 = 0.0001
71 74 z0 = 0.0001
72 75 b0 = 0.0001
73   - vp1 = 1.0
  76 + mte = .true.
  77 + ca1 = 3.61
  78 + ca2 = 14.58
  79 + ch1 = 3.265
  80 + ch2 = 24.923
  81 + vp1 = 0.02
74 82 vp2 = 0.8
75   - alpha1 = 0.04
  83 + alpha1 = 0.02
76 84 alpha2 = 0.04
77   - inib1 = 0.006
  85 + inib1 = 0.0
78 86 inib2 = 0.006
79 87 kn1 = 1.0
80 88 ka1 = 0.8
... ... @@ -84,7 +92,7 @@
84 92 mu12 = 0.05
85 93 k5 = 0.2
86 94 gamma = 0.05
87   - w_p1 =-0.00
  95 + w_p1 =-0.38
88 96 w_p2 =-0.00
89 97 theta = 0.0
90 98 w_p1min =-0.01
... ...
src/extras/bio/bio_ismer.F90
... ... @@ -64,6 +64,11 @@
64 64 REALTYPE :: p0 = 0.0
65 65 REALTYPE :: z0 = 0.0
66 66 REALTYPE :: b0 = 0.0
  67 + LOGICAL :: mte = .true.
  68 + REALTYPE :: ca1 = 3.61
  69 + REALTYPE :: ca2 = 14.58
  70 + REALTYPE :: ch1 = 3.265
  71 + REALTYPE :: ch2 = 24.923
67 72 REALTYPE :: vp1 = 1.5
68 73 REALTYPE :: alpha1 = 0.065
69 74 REALTYPE :: inib1 = 0.05
... ... @@ -146,11 +151,13 @@
146 151 p1_init,p2_init,z1_init,z2_init, &
147 152 b_init,d_init,l_init, &
148 153 p0,z0,b0,vp1,alpha1,inib1,vp2,alpha2,inib2, &
149   - kn1,ka1,kn2,ka2,mu11,mu12,k5,gamma,w_p1,w_p2, &
  154 + kn1,ka1,kn2,ka2,mu11,mu12,k5,gamma,w_p1,w_p2, &
150 155 g1max,g2max,k3,beta,mu21,mu22,k6,delta,epsi, &
151 156 r11,r12,r13,r21,r22,r23,r24, &
152 157 vb,k4,mu3,eta,mu4,w_d,kc,mu5, &
153   - theta,w_p1max,w_p1min,w_p2min,w_p2max
  158 + theta,w_p1max,w_p1min,w_p2min,w_p2max, &
  159 + mte,ca1,ca2,ch1,ch2
  160 +
154 161 !EOP
155 162 !-----------------------------------------------------------------------
156 163 !BOC
... ... @@ -207,6 +214,12 @@
207 214 write(10,901) mu5
208 215 write(10,901) w_d
209 216 write(10,901) kc
  217 + if (mte) then
  218 + write(10,901) ca1
  219 + write(10,901) ca2
  220 + write(10,901) ch1
  221 + write(10,901) ch2
  222 + endif
210 223  
211 224  
212 225 900 format (a,f8.5)
... ... @@ -542,8 +555,8 @@
542 555 ! Original author(s): Hans Burchard, Karsten Bolding
543 556 !
544 557 ! !LOCAL VARIABLES:
545   - REALTYPE :: amr1(1:nlev),amr2(1:nlev)
546   - REALTYPE :: hmr1(1:nlev),hmr2(1:nlev)
  558 + REALTYPE :: amr1,amr2
  559 + REALTYPE :: hmr1,hmr2
547 560 REALTYPE :: fac1,fac2,fac3,fac4
548 561 REALTYPE :: minal,qn1,qa1,qn2,qa2
549 562 REALTYPE :: ps1,ps2,ff1,ff2
... ... @@ -559,21 +572,61 @@
559 572  
560 573 do ci=1,nlev
561 574  
562   -!CHG1
563   -! Smith (1936) - saturation (default)
564   -! ff= vp*alpha*par(ci)/sqrt(vp**2+alpha**2*par(ci)**2)
565   -! Blackman (1919)
566   -! if (par(ci) .lt. vp/alpha) then
567   -! ff=alpha*par(ci)
568   -! else
569   -! ff=vp
570   -! endif
571   -! Steele (1962) - inhibition
572   -! ff= vp*((par(ci)/I_opt)*exp(1-(par(ci)/I_opt)))
573   -! Parker (1974) - inhibition
574   -! ff= vp*((par(ci)/I_opt)*exp(1-(par(ci)/I_opt)))**2
575   -! Platt et al. (1980) - inhibition
576   -
  575 + if (mte) then
  576 + ! Temperature-dependent metabolic rates
  577 + ! Gillooly et al. (2002)
  578 + Eh = 0.65 ! Activation energy for heterotrophs (eV)
  579 + Ea = 0.32 ! Activation energy for autotrophs (eV)
  580 + kBeV = 8.62e-5 ! Boltzmann constant (eV K-1)
  581 + T0 = 273.15-1.9 ! Temperature at which metabolism stops
  582 +
  583 + ! metabolic rate coefficient (a(T0) in Gillooly et al. 2002 in kg^1/4 s^-1)
  584 + ! they are tuned to
  585 + ca1 = 3.61 ! pico-phytoplankton
  586 + ca2 = 14.58 ! micro-phytoplankton
  587 + ch1 = 3.265 ! micro-zooplankton
  588 + ch2 = 24.923 ! meso-zooplankton
  589 +
  590 + ! The mass ratio between pico-phytoplankton (p1) and
  591 + ! nano- and micro-phytoplankton (p2) is amratio,
  592 + ! which translates into a ratio of fac3=amratio**0.25 between
  593 + ! their respective metabolic rates, according to the MTE.
  594 + ! The same applies to micro-zooplankton (z1) versus
  595 + ! meso-zooplankton (z2) through fac4=hmratio**0.25.
  596 + amratio = 200.0
  597 + hmratio = 1000.0
  598 +
  599 + fac3 = amratio**0.25
  600 + fac4 = hmratio**0.25
  601 +
  602 + ! Autotroph metabolic rate
  603 + amr1 = max(0.0,ca1*0.25*exp(Ea/(kBeV*T0**2)*(T(ci)/(1+T(ci)/T0))) )
  604 + amr2 = max(0.0,ca2*0.25*exp(Ea/(kBeV*T0**2)*(T(ci)/(1+T(ci)/T0)))/fac3)
  605 +
  606 + ! Heterotroph metabolic rate
  607 + hmr1 = max(0.0,ch1*0.25*exp(Eh/(kBeV*T0**2)*(T(ci)/(1+T(ci)/T0))) )
  608 + hmr2 = max(0.0,ch2*0.25*exp(Eh/(kBeV*T0**2)*(T(ci)/(1+T(ci)/T0)))/fac4)
  609 + else
  610 + amr1 = 1.0
  611 + amr2 = 1.0
  612 + hmr1 = 1.0
  613 + hmr2 = 1.0
  614 + endif
  615 +
  616 + ! Smith (1936) - saturation (default)
  617 + ! ff= vp*alpha*par(ci)/sqrt(vp**2+alpha**2*par(ci)**2)
  618 + ! Blackman (1919)
  619 + ! if (par(ci) .lt. vp/alpha) then
  620 + ! ff=alpha*par(ci)
  621 + ! else
  622 + ! ff=vp
  623 + ! endif
  624 + ! Steele (1962) - inhibition
  625 + ! ff= vp*((par(ci)/I_opt)*exp(1-(par(ci)/I_opt)))
  626 + ! Parker (1974) - inhibition
  627 + ! ff= vp*((par(ci)/I_opt)*exp(1-(par(ci)/I_opt)))**2
  628 +
  629 + ! Platt et al. (1980) - inhibition
577 630 ! Light limitation factor (PI curve)
578 631 ps1= vp1/((alpha1/(alpha1+inib1))*(alpha1/(alpha1+inib1))**(inib1/alpha1))
579 632 ff1= ps1*(1.-exp(-1.*alpha1*par(ci)/ps1))*exp(-1.*inib1*par(ci)/ps1)
... ... @@ -599,88 +652,50 @@
599 652  
600 653 minal=min(cc(a,ci),eta*cc(l,ci))
601 654  
602   - ! Temperature-dependent metabolic rates
603   - ! Gillooly et al. (2002)
604   - Eh = 0.65 ! Activation energy for heterotrophs (eV)
605   - Ea = 0.32 ! Activation energy for autotrophs (eV)
606   - kBeV = 8.62e-5 ! Boltzmann constant (eV K-1)
607   - T0 = 273.15-1.9 ! Temperature at which metabolism stops
608   -
609   - ! metabolic rate coefficient (a(T0) in Gillooly et al. 2002 in kg^1/4 s^-1)
610   - ! they are tuned to
611   - ca1 = 3.61 ! pico-phytoplankton
612   - ca2 = 14.58 ! micro-phytoplankton
613   - ch1 = 3.265 ! micro-zooplankton
614   - ch2 = 24.923 ! meso-zooplankton
615   -
616   - ! The mass ratio between pico-phytoplankton (p1) and
617   - ! nano- and micro-phytoplankton (p2) is amratio,
618   - ! which translates into a ratio of fac3=amratio**0.25 between
619   - ! their respective metabolic rates, according to the MTE.
620   - ! The same applies to micro-zooplankton (z1) versus
621   - ! meso-zooplankton (z2) through fac4=hmratio**0.25.
622   - amratio = 200.0
623   - hmratio = 1000.0
624   -
625   - fac3 = amratio**0.25
626   - fac4 = hmratio**0.25
627   -
628   - ! Autotroph metabolic rate
629   - !amr1(ci) = 1.0
630   - !amr2(ci) = 1.0
631   - amr1(ci) = max(0.0,ca1*0.25*exp(Ea/(kBeV*T0**2)*(T(ci)/(1+T(ci)/T0))) )
632   - amr2(ci) = max(0.0,ca2*0.25*exp(Ea/(kBeV*T0**2)*(T(ci)/(1+T(ci)/T0)))/fac3)
633   -
634   - ! Heterotroph metabolic rate
635   - !hmr1(ci) = 1.0
636   - !hmr2(ci) = 1.0
637   - hmr1(ci) = max(0.0,ch1*0.25*exp(Eh/(kBeV*T0**2)*(T(ci)/(1+T(ci)/T0))) )
638   - hmr2(ci) = max(0.0,ch2*0.25*exp(Eh/(kBeV*T0**2)*(T(ci)/(1+T(ci)/T0)))/fac4)
639   -
640 655 ! Light and nutrient limitation factors
641   - lumlim1(ci) =ff1
  656 + lumlim1(ci) =amr1*ff1
642 657 nitlim1(ci) =qn1
643 658 ammlim1(ci) =qa1
644   - lumlim2(ci) =ff2
  659 + lumlim2(ci) =amr2*ff2
645 660 nitlim2(ci) =qn2
646 661 ammlim2(ci) =qa2
647 662  
648 663 ! Nutrient uptake by pico- and nano-phytoplankton
649   - dd(n,p1,ci) =amr1(ci)*ff1*qn1*(cc(p1,ci)+p0)
650   - dd(a,p1,ci) =amr1(ci)*ff1*qa1*(cc(p1,ci)+p0)
651   - dd(n,p2,ci) =amr2(ci)*ff2*qn2*(cc(p2,ci)+p0)
652   - dd(a,p2,ci) =amr2(ci)*ff2*qa2*(cc(p2,ci)+p0)
  664 + dd(n,p1,ci) =amr1*ff1*qn1*(cc(p1,ci)+p0)
  665 + dd(a,p1,ci) =amr1*ff1*qa1*(cc(p1,ci)+p0)
  666 + dd(n,p2,ci) =amr2*ff2*qn2*(cc(p2,ci)+p0)
  667 + dd(a,p2,ci) =amr2*ff2*qa2*(cc(p2,ci)+p0)
653 668  
654   - dd(p1,l,ci) =amr1(ci)*gamma*ff1*(qn1+qa1)*cc(p1,ci)
655   - dd(p2,l,ci) =amr2(ci)*gamma*ff2*(qn2+qa2)*cc(p2,ci)
  669 + dd(p1,l,ci) =amr1*gamma*ff1*(qn1+qa1)*cc(p1,ci)
  670 + dd(p2,l,ci) =amr2*gamma*ff2*(qn2+qa2)*cc(p2,ci)
656 671  
657   - dd(p1,d,ci) =amr1(ci)*mu11*(cc(p1,ci)+p0)/(k5+cc(p1,ci)+p0)*cc(p1,ci) &
  672 + dd(p1,d,ci) =amr1*mu11*(cc(p1,ci)+p0)/(k5+cc(p1,ci)+p0)*cc(p1,ci) &
658 673 +(1.-beta)*cc(p1,ci)**2*(g1max*r11*fac1+g2max*r21*fac2)
659   - dd(p2,d,ci) =amr2(ci)*mu12*(cc(p2,ci)+p0)/(k5+cc(p2,ci)+p0)*cc(p2,ci) &
  674 + dd(p2,d,ci) =amr2*mu12*(cc(p2,ci)+p0)/(k5+cc(p2,ci)+p0)*cc(p2,ci) &
660 675 +(1.-beta)*g2max*r21*cc(p2,ci)**2*fac2
661 676  
662 677 dd(b,d,ci) =(1.-beta)*g1max*r12*cc(b,ci)**2*fac1
663 678  
664   - dd(p1,z1,ci)=hmr1(ci)*beta*g1max*r11*cc(p1,ci)**2*fac1
665   - dd(b,z1,ci) =hmr1(ci)*beta*g1max*r12*cc(b,ci)**2*fac1
666   - dd(d,z1,ci) =hmr1(ci)*beta*g1max*r13*cc(d,ci)**2*fac1
  679 + dd(p1,z1,ci)=hmr1*beta*g1max*r11*cc(p1,ci)**2*fac1
  680 + dd(b,z1,ci) =hmr1*beta*g1max*r12*cc(b,ci)**2*fac1
  681 + dd(d,z1,ci) =hmr1*beta*g1max*r13*cc(d,ci)**2*fac1
667 682  
668   - dd(p1,z2,ci)=hmr2(ci)*beta*g2max*r21*cc(p1,ci)**2*fac2
669   - dd(p2,z2,ci)=hmr2(ci)*beta*g2max*r22*cc(p2,ci)**2*fac2
670   - dd(d,z2,ci) =hmr2(ci)*beta*g2max*r23*cc(d,ci)**2*fac2
671   - dd(z1,z2,ci)=hmr2(ci)*beta*g2max*r24*cc(z1,ci)**2*fac2
  683 + dd(p1,z2,ci)=hmr2*beta*g2max*r21*cc(p1,ci)**2*fac2
  684 + dd(p2,z2,ci)=hmr2*beta*g2max*r22*cc(p2,ci)**2*fac2
  685 + dd(d,z2,ci) =hmr2*beta*g2max*r23*cc(d,ci)**2*fac2
  686 + dd(z1,z2,ci)=hmr2*beta*g2max*r24*cc(z1,ci)**2*fac2
672 687  
673 688 dd(b,a,ci) =mu3*cc(b,ci)
674 689 dd(d,l,ci) =mu4*cc(d,ci)
675 690 dd(a,n,ci) =mu5*cc(a,ci)
676 691  
677   - dd(z1,d,ci) =hmr1(ci)*(1.-epsi-delta)*mu21*(cc(z1,ci)+z0)/(k6+cc(z1,ci)+z0)*cc(z1,ci)
678   - dd(z1,a,ci) =hmr1(ci)*epsi*mu21*(cc(z1,ci)+z0)/(k6+cc(z1,ci)+z0)*cc(z1,ci)
679   - dd(z1,l,ci) =hmr1(ci)*delta*mu21*(cc(z1,ci)+z0)/(k6+cc(z1,ci)+z0)*cc(z1,ci)
  692 + dd(z1,d,ci) =hmr1*(1.-epsi-delta)*mu21*(cc(z1,ci)+z0)/(k6+cc(z1,ci)+z0)*cc(z1,ci)
  693 + dd(z1,a,ci) =hmr1*epsi*mu21*(cc(z1,ci)+z0)/(k6+cc(z1,ci)+z0)*cc(z1,ci)
  694 + dd(z1,l,ci) =hmr1*delta*mu21*(cc(z1,ci)+z0)/(k6+cc(z1,ci)+z0)*cc(z1,ci)
680 695  
681   - dd(z2,d,ci) =hmr2(ci)*(1.-epsi-delta)*mu22*(cc(z2,ci)+z0)/(k6+cc(z2,ci)+z0)*cc(z2,ci)
682   - dd(z2,a,ci) =hmr2(ci)*epsi*mu22*(cc(z2,ci)+z0)/(k6+cc(z2,ci)+z0)*cc(z2,ci)
683   - dd(z2,l,ci) =hmr2(ci)*delta*mu22*(cc(z2,ci)+z0)/(k6+cc(z2,ci)+z0)*cc(z2,ci)
  696 + dd(z2,d,ci) =hmr2*(1.-epsi-delta)*mu22*(cc(z2,ci)+z0)/(k6+cc(z2,ci)+z0)*cc(z2,ci)
  697 + dd(z2,a,ci) =hmr2*epsi*mu22*(cc(z2,ci)+z0)/(k6+cc(z2,ci)+z0)*cc(z2,ci)
  698 + dd(z2,l,ci) =hmr2*delta*mu22*(cc(z2,ci)+z0)/(k6+cc(z2,ci)+z0)*cc(z2,ci)
684 699  
685 700 dd(a,b,ci) =vb*minal/(k4+minal+cc(l,ci))*(cc(b,ci)+b0)
686 701 dd(l,b,ci) =vb*cc(l,ci)/(k4+minal+cc(l,ci))*(cc(b,ci)+b0)
... ...