Commit b19e2b848278977574c95642236dcca3d67e6d64

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

Distinction entre les taux de mortalite des differentes classes d'heterotrophes et d'autotrophes.

Showing 2 changed files with 68 additions and 40 deletions   Show diff stats
nml/bio_ismer.nml
... ... @@ -27,8 +27,9 @@
27 27 ! ka1 = half sat. constant ammonium uptake by fla [mmol n/m3]
28 28 ! kn2 = half sat. constant nitrate uptake by diatoms [mmol n/m3]
29 29 ! ka2 = half sat. constant ammonium uptake by diatoms [mmol n/m3]
30   -! mu1 = phytoplankton (fla & dia) mortality rate [1/day]
31   -! k5 = half sat. constant phy. mortality (fla & dia) [mmol n/m3]
  30 +! mu11 = pico-phytoplankton mortality rate [1/day]
  31 +! mu12 = nano-phytoplankton mortality rate [1/day]
  32 +! k5 = half sat. constant phy. mortality [mmol n/m3]
32 33 ! gamma = exudation fraction [-]
33 34 ! w_p1 = flagellate settling velocity [m/day]
34 35 ! w_p2 = diatom settling velocity [m/day]
... ... @@ -36,8 +37,9 @@
36 37 ! g2max = maximum mesozooplankton ingestion rate [1/day]
37 38 ! k3 = half saturation constant ingestion [mmol n/m3]
38 39 ! beta = grazing efficiency [-]
39   -! mu2 = maximum zooplankton loss rate (mcz & msz) [1/day]
40 40 ! k6 = half saturation zooplankton loss (mcz & msz) [mmol n/m3]
  41 +! mu21 = maximum micro-zooplankton loss rate [1/day]
  42 +! mu22 = maximum meso-zooplankton loss rate [1/day]
41 43 ! delta = fractional zooplankton loss to LDON (mcz & msz) [-]
42 44 ! epsi = fractional zooplankton loss to ammonium (mcz & msz) [-]
43 45 ! r11 = mcz grazing preference on flagellates [-]
... ... @@ -78,11 +80,12 @@
78 80 ka1 = 0.8
79 81 kn2 = 1.0
80 82 ka2 = 0.8
81   - mu1 = 0.05
  83 + mu11 = 0.05
  84 + mu12 = 0.05
82 85 k5 = 0.2
83 86 gamma = 0.05
84   - w_p1 =-0.10
85   - w_p2 =-0.38
  87 + w_p1 =-0.00
  88 + w_p2 =-0.00
86 89 theta = 0.0
87 90 w_p1min =-0.01
88 91 w_p1max =-0.10
... ... @@ -92,7 +95,8 @@
92 95 g2max = 1.0
93 96 k3 = 1.0
94 97 beta = 0.625
95   - mu2 = 0.3
  98 + mu21 = 0.3
  99 + mu22 = 0.3
96 100 k6 = 0.2
97 101 delta = 0.1
98 102 epsi = 0.70
... ...
src/extras/bio/bio_ismer.F90
... ... @@ -79,7 +79,8 @@
79 79 REALTYPE :: ka1 = 0.8
80 80 REALTYPE :: kn2 = 0.2
81 81 REALTYPE :: ka2 = 0.8
82   - REALTYPE :: mu1 = 0.05
  82 + REALTYPE :: mu11 = 0.05
  83 + REALTYPE :: mu12 = 0.05
83 84 REALTYPE :: k5 = 0.2
84 85 REALTYPE :: gamma = 0.05
85 86 REALTYPE :: w_p1 = -0.5
... ... @@ -88,7 +89,8 @@
88 89 REALTYPE :: g2max = 1.0
89 90 REALTYPE :: k3 = 1.0
90 91 REALTYPE :: beta = 0.625
91   - REALTYPE :: mu2 = 0.3
  92 + REALTYPE :: mu21 = 0.3
  93 + REALTYPE :: mu22 = 0.3
92 94 REALTYPE :: k6 = 0.2
93 95 REALTYPE :: delta = 0.1
94 96 REALTYPE :: epsi = 0.70
... ... @@ -144,8 +146,8 @@
144 146 p1_init,p2_init,z1_init,z2_init, &
145 147 b_init,d_init,l_init, &
146 148 p0,z0,b0,vp1,alpha1,inib1,vp2,alpha2,inib2, &
147   - kn1,ka1,kn2,ka2,mu1,k5,gamma,w_p1,w_p2, &
148   - g1max,g2max,k3,beta,mu2,k6,delta,epsi, &
  149 + kn1,ka1,kn2,ka2,mu11,mu12,k5,gamma,w_p1,w_p2, &
  150 + g1max,g2max,k3,beta,mu21,mu22,k6,delta,epsi, &
149 151 r11,r12,r13,r21,r22,r23,r24, &
150 152 vb,k4,mu3,eta,mu4,w_d,kc,mu5, &
151 153 theta,w_p1max,w_p1min,w_p2min,w_p2max
... ... @@ -179,8 +181,10 @@
179 181 vp1 = vp1 /secs_pr_day
180 182 vp2 = vp2 /secs_pr_day
181 183 vb = vb /secs_pr_day
182   - mu1 = mu1 /secs_pr_day
183   - mu2 = mu2 /secs_pr_day
  184 + mu11 = mu11 /secs_pr_day
  185 + mu12 = mu12 /secs_pr_day
  186 + mu21 = mu21 /secs_pr_day
  187 + mu22 = mu22 /secs_pr_day
184 188 mu3 = mu3 /secs_pr_day
185 189 mu4 = mu4 /secs_pr_day
186 190 mu5 = mu5 /secs_pr_day
... ... @@ -391,10 +395,10 @@
391 395 zz = _ZERO_
392 396 add = _ZERO_
393 397 do i=nlev,1,-1
394   - add=add+0.5*h(i)*(cc(p1,i)+cc(p2,i)+p0)
  398 + add=add+0.5*h(i)*(cc(p1,i)+cc(p2,i)+2*p0)
395 399 zz=zz+0.5*h(i)
396 400 par(i)=rad(nlev)*(1.-aa)*exp(-zz/g2)*exp(-kc*add)
397   - add=add+0.5*h(i)*(cc(p1,i)+cc(p2,i)+p0)
  401 + add=add+0.5*h(i)*(cc(p1,i)+cc(p2,i)+2*p0)
398 402 zz=zz+0.5*h(i)
399 403 if (bioshade_feedback) bioshade_(i)=exp(-kc*add)
400 404 end do
... ... @@ -503,8 +507,11 @@
503 507 ! Original author(s): Hans Burchard, Karsten Bolding
504 508 !
505 509 ! !LOCAL VARIABLES:
506   - REALTYPE :: fac1,fac2,fac3,minal,qn1,qa1,qn2,qa2
507   - REALTYPE :: ps1,ps2,ff1,ff2 !CHG1
  510 + REALTYPE :: amr(1:nlev)
  511 + REALTYPE :: hmr(1:nlev)
  512 + REALTYPE :: fac1,fac2,minal,qn1,qa1,qn2,qa2
  513 + REALTYPE :: ps1,ps2,ff1,ff2
  514 + REALTYPE :: Ea,Eh,kBeV,T0
508 515 integer :: i,j,ci
509 516 !EOP
510 517 !-----------------------------------------------------------------------
... ... @@ -555,17 +562,31 @@
555 562  
556 563 minal=min(cc(a,ci),eta*cc(l,ci))
557 564  
558   - ! Temperature-dependent function for zooplankton grazing (for test purposes)
559   - ! This function should come from thermodynamical arguments
560   - !fac3 = max(0.0,tanh(0.5*(T(ci)+1.9)))
561   - fac3 = 1.0
  565 + ! Temperature-dependent metabolic rates
  566 + ! Gillooly et al. (2002)
  567 + Eh = 0.65 ! Activation energy for heterotrophs (eV)
  568 + Ea = 0.32 ! Activation energy for autotrophs (eV)
  569 + kBeV = 8.62e-5 ! Boltzmann constant (eV K-1)
  570 + T0 = 273.15-1.9 ! Temperature at which metabolism stops
  571 +
  572 + ! The mass ratio between pico-phytoplankton (p1, 1 um) and
  573 + ! nano- and micro-phytoplankton (p2, 10 um) is approximately 1:1e3,
  574 + ! which translates into a ratio of (1e3)**0.25 = 5.62 between
  575 + ! their respective metabolic rates, according to the MTE. The same
  576 + ! ratio is applied to micro-zooplankton (100 um) versus
  577 + ! meso-zooplankton (1000 um).
  578 +
  579 + ! Autotrophs
  580 + amr(ci) = max(0.0,0.25*exp(Ea/(kBeV*T0**2)*(T(ci)/(1+T(ci)/T0))))
  581 + ! Heterotrophs
  582 + hmr(ci) = max(0.0,0.25*exp(Eh/(kBeV*T0**2)*(T(ci)/(1+T(ci)/T0))))
562 583  
563 584 ! Light and nutrient limitation factors
564 585 lumlim(ci) =ff1
565 586 nitlim(ci) =qn1
566 587 ammlim(ci) =qa1
567 588  
568   - ! Nutrient uptake by flagellates and diatoms
  589 + ! Nutrient uptake by pico- and nano-phytoplankton
569 590 dd(n,p1,ci) =ff1*qn1*(cc(p1,ci)+p0)
570 591 dd(a,p1,ci) =ff1*qa1*(cc(p1,ci)+p0)
571 592 dd(n,p2,ci) =ff2*qn2*(cc(p2,ci)+p0)
... ... @@ -574,37 +595,40 @@
574 595 dd(p1,l,ci) =gamma*ff1*(qn1+qa1)*cc(p1,ci)
575 596 dd(p2,l,ci) =gamma*ff2*(qn2+qa2)*cc(p2,ci)
576 597  
577   - dd(p1,d,ci) =mu1*(cc(p1,ci)+p0)/(k5+cc(p1,ci)+p0)*cc(p1,ci) &
578   - +fac3*(1.-beta)*cc(p1,ci)**2*(g1max*r11*fac1+g2max*r21*fac2)
579   - dd(p2,d,ci) =mu1*(cc(p2,ci)+p0)/(k5+cc(p2,ci)+p0)*cc(p2,ci) &
580   - +fac3*(1.-beta)*g2max*r21*cc(p2,ci)**2*fac2
  598 + dd(p1,d,ci) =mu11*(cc(p1,ci)+p0)/(k5+cc(p1,ci)+p0)*cc(p1,ci) &
  599 + +(1.-beta)*cc(p1,ci)**2*(g1max*r11*fac1+g2max*r21*fac2)
  600 + dd(p2,d,ci) =mu12*(cc(p2,ci)+p0)/(k5+cc(p2,ci)+p0)*cc(p2,ci) &
  601 + +(1.-beta)*g2max*r21*cc(p2,ci)**2*fac2
581 602  
582   - dd(b,d,ci) =fac3*(1.-beta)*g1max*r12*cc(b,ci)**2*fac1
  603 + dd(b,d,ci) =(1.-beta)*g1max*r12*cc(b,ci)**2*fac1
583 604  
584   - dd(p1,z1,ci)=fac3*beta*g1max*r11*cc(p1,ci)**2*fac1
585   - dd(b,z1,ci) =fac3*beta*g1max*r12*cc(b,ci)**2*fac1
586   - dd(d,z1,ci) =fac3*beta*g1max*r13*cc(d,ci)**2*fac1
  605 + dd(p1,z1,ci)=beta*g1max*r11*cc(p1,ci)**2*fac1
  606 + dd(b,z1,ci) =beta*g1max*r12*cc(b,ci)**2*fac1
  607 + dd(d,z1,ci) =beta*g1max*r13*cc(d,ci)**2*fac1
587 608  
588   - dd(p1,z2,ci)=fac3*beta*g2max*r21*cc(p1,ci)**2*fac2
589   - dd(p2,z2,ci)=fac3*beta*g2max*r22*cc(p2,ci)**2*fac2
590   - dd(d,z2,ci) =fac3*beta*g2max*r23*cc(d,ci)**2*fac2
591   - dd(z1,z2,ci)=fac3*beta*g2max*r24*cc(z1,ci)**2*fac2
  609 + dd(p1,z2,ci)=beta*g2max*r21*cc(p1,ci)**2*fac2
  610 + dd(p2,z2,ci)=beta*g2max*r22*cc(p2,ci)**2*fac2
  611 + dd(d,z2,ci) =beta*g2max*r23*cc(d,ci)**2*fac2
  612 + dd(z1,z2,ci)=beta*g2max*r24*cc(z1,ci)**2*fac2
592 613  
593 614 dd(b,a,ci) =mu3*cc(b,ci)
594 615 dd(d,l,ci) =mu4*cc(d,ci)
595 616 dd(a,n,ci) =mu5*cc(a,ci)
596 617  
597   - dd(z1,d,ci) =(1.-epsi-delta)*mu2*(cc(z1,ci)+z0)/(k6+cc(z1,ci)+z0)*cc(z1,ci)
598   - dd(z1,a,ci) =epsi*mu2*(cc(z1,ci)+z0)/(k6+cc(z1,ci)+z0)*cc(z1,ci)
599   - dd(z1,l,ci) =delta*mu2*(cc(z1,ci)+z0)/(k6+cc(z1,ci)+z0)*cc(z1,ci)
  618 + dd(z1,d,ci) =(1.-epsi-delta)*mu21*(cc(z1,ci)+z0)/(k6+cc(z1,ci)+z0)*cc(z1,ci)
  619 + dd(z1,a,ci) =epsi*mu21*(cc(z1,ci)+z0)/(k6+cc(z1,ci)+z0)*cc(z1,ci)
  620 + dd(z1,l,ci) =delta*mu21*(cc(z1,ci)+z0)/(k6+cc(z1,ci)+z0)*cc(z1,ci)
600 621  
601   - dd(z2,d,ci) =(1.-epsi-delta)*mu2*(cc(z2,ci)+z0)/(k6+cc(z2,ci)+z0)*cc(z2,ci)
602   - dd(z2,a,ci) =epsi*mu2*(cc(z2,ci)+z0)/(k6+cc(z2,ci)+z0)*cc(z2,ci)
603   - dd(z2,l,ci) =delta*mu2*(cc(z2,ci)+z0)/(k6+cc(z2,ci)+z0)*cc(z2,ci)
  622 + dd(z2,d,ci) =(1.-epsi-delta)*mu22*(cc(z2,ci)+z0)/(k6+cc(z2,ci)+z0)*cc(z2,ci)
  623 + dd(z2,a,ci) =epsi*mu22*(cc(z2,ci)+z0)/(k6+cc(z2,ci)+z0)*cc(z2,ci)
  624 + dd(z2,l,ci) =delta*mu22*(cc(z2,ci)+z0)/(k6+cc(z2,ci)+z0)*cc(z2,ci)
604 625  
605 626 dd(a,b,ci) =vb*minal/(k4+minal+cc(l,ci))*(cc(b,ci)+b0)
606 627 dd(l,b,ci) =vb*cc(l,ci)/(k4+minal+cc(l,ci))*(cc(b,ci)+b0)
607 628  
  629 + ws(p1,ci) = w_p1
  630 + ws(p2,ci) = w_p2
  631 +
608 632 do i=1,numc
609 633 do j=1,numc
610 634 pp(i,j,ci)=dd(j,i,ci)
... ...