Commit 5f398854ad30a6a45e24257119193216c2fe089d

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

Le modele bio_ismer contient desormais une dependence explicite des flux biologi…

…ques en fonction de la temperature, basee sur la Metabolic Theory of Ecology (MTE) exposee dans Gillooly et al. (2002). Certains parametres restent a ajuster et ce modele n'a pas encore ete teste. Utilisez avec precaution. Pour desactiver cette option, il faut le faire dans le code en fixant les variables amr1, amr2, hmr1 et hmr2 a 1.0.
Showing 1 changed file with 34 additions and 26 deletions   Show diff stats
src/extras/bio/bio_ismer.F90
... ... @@ -542,11 +542,11 @@
542 542 ! Original author(s): Hans Burchard, Karsten Bolding
543 543 !
544 544 ! !LOCAL VARIABLES:
545   - REALTYPE :: amr(1:nlev)
546   - REALTYPE :: hmr(1:nlev)
  545 + REALTYPE :: amr1(1:nlev),amr2(1:nlev)
  546 + REALTYPE :: hmr1(1:nlev),hmr2(1:nlev)
547 547 REALTYPE :: fac1,fac2,minal,qn1,qa1,qn2,qa2
548 548 REALTYPE :: ps1,ps2,ff1,ff2
549   - REALTYPE :: Ea,Eh,kBeV,T0
  549 + REALTYPE :: Ea,Eh,kBeV,T0,ca,ch
550 550 integer :: i,j,ci
551 551 !EOP
552 552 !-----------------------------------------------------------------------
... ... @@ -603,6 +603,8 @@
603 603 Ea = 0.32 ! Activation energy for autotrophs (eV)
604 604 kBeV = 8.62e-5 ! Boltzmann constant (eV K-1)
605 605 T0 = 273.15-1.9 ! Temperature at which metabolism stops
  606 + ca = 1.0
  607 + ch = 1.0
606 608  
607 609 ! The mass ratio between pico-phytoplankton (p1, 1 um) and
608 610 ! nano- and micro-phytoplankton (p2, 10 um) is approximately 1:1e3,
... ... @@ -612,9 +614,15 @@
612 614 ! meso-zooplankton (1000 um).
613 615  
614 616 ! Autotrophs
615   - !amr(ci) = max(0.0,0.25*exp(Ea/(kBeV*T0**2)*(T(ci)/(1+T(ci)/T0))))
  617 + !amr1(ci) = 1.0
  618 + !amr2(ci) = 1.0
  619 + amr1(ci) = max(0.0,ca*0.25*exp(Ea/(kBeV*T0**2)*(T(ci)/(1+T(ci)/T0))))
  620 + amr2(ci) = max(0.0,ca*0.25*exp(Ea/(kBeV*T0**2)*(T(ci)/(1+T(ci)/T0))))/5.62
616 621 ! Heterotrophs
617   - !hmr(ci) = max(0.0,0.25*exp(Eh/(kBeV*T0**2)*(T(ci)/(1+T(ci)/T0))))
  622 + !hmr1(ci) = 1.0
  623 + !hmr2(ci) = 1.0
  624 + hmr1(ci) = max(0.0,ch*0.25*exp(Eh/(kBeV*T0**2)*(T(ci)/(1+T(ci)/T0))))
  625 + hmr2(ci) = max(0.0,ch*0.25*exp(Eh/(kBeV*T0**2)*(T(ci)/(1+T(ci)/T0))))/5.62
618 626  
619 627 ! Light and nutrient limitation factors
620 628 lumlim(ci) =ff1
... ... @@ -622,41 +630,41 @@
622 630 ammlim(ci) =qa1
623 631  
624 632 ! Nutrient uptake by pico- and nano-phytoplankton
625   - dd(n,p1,ci) =ff1*qn1*(cc(p1,ci)+p0)
626   - dd(a,p1,ci) =ff1*qa1*(cc(p1,ci)+p0)
627   - dd(n,p2,ci) =ff2*qn2*(cc(p2,ci)+p0)
628   - dd(a,p2,ci) =ff2*qa2*(cc(p2,ci)+p0)
  633 + dd(n,p1,ci) =amr1(ci)*ff1*qn1*(cc(p1,ci)+p0)
  634 + dd(a,p1,ci) =amr1(ci)*ff1*qa1*(cc(p1,ci)+p0)
  635 + dd(n,p2,ci) =amr2(ci)*ff2*qn2*(cc(p2,ci)+p0)
  636 + dd(a,p2,ci) =amr2(ci)*ff2*qa2*(cc(p2,ci)+p0)
629 637  
630   - dd(p1,l,ci) =gamma*ff1*(qn1+qa1)*cc(p1,ci)
631   - dd(p2,l,ci) =gamma*ff2*(qn2+qa2)*cc(p2,ci)
  638 + dd(p1,l,ci) =amr1(ci)*gamma*ff1*(qn1+qa1)*cc(p1,ci)
  639 + dd(p2,l,ci) =amr2(ci)*gamma*ff2*(qn2+qa2)*cc(p2,ci)
632 640  
633   - dd(p1,d,ci) =mu11*(cc(p1,ci)+p0)/(k5+cc(p1,ci)+p0)*cc(p1,ci) &
  641 + dd(p1,d,ci) =amr1(ci)*mu11*(cc(p1,ci)+p0)/(k5+cc(p1,ci)+p0)*cc(p1,ci) &
634 642 +(1.-beta)*cc(p1,ci)**2*(g1max*r11*fac1+g2max*r21*fac2)
635   - dd(p2,d,ci) =mu12*(cc(p2,ci)+p0)/(k5+cc(p2,ci)+p0)*cc(p2,ci) &
  643 + dd(p2,d,ci) =amr2(ci)*mu12*(cc(p2,ci)+p0)/(k5+cc(p2,ci)+p0)*cc(p2,ci) &
636 644 +(1.-beta)*g2max*r21*cc(p2,ci)**2*fac2
637 645  
638 646 dd(b,d,ci) =(1.-beta)*g1max*r12*cc(b,ci)**2*fac1
639 647  
640   - dd(p1,z1,ci)=beta*g1max*r11*cc(p1,ci)**2*fac1
641   - dd(b,z1,ci) =beta*g1max*r12*cc(b,ci)**2*fac1
642   - dd(d,z1,ci) =beta*g1max*r13*cc(d,ci)**2*fac1
  648 + dd(p1,z1,ci)=hmr1(ci)*beta*g1max*r11*cc(p1,ci)**2*fac1
  649 + dd(b,z1,ci) =hmr1(ci)*beta*g1max*r12*cc(b,ci)**2*fac1
  650 + dd(d,z1,ci) =hmr1(ci)*beta*g1max*r13*cc(d,ci)**2*fac1
643 651  
644   - dd(p1,z2,ci)=beta*g2max*r21*cc(p1,ci)**2*fac2
645   - dd(p2,z2,ci)=beta*g2max*r22*cc(p2,ci)**2*fac2
646   - dd(d,z2,ci) =beta*g2max*r23*cc(d,ci)**2*fac2
647   - dd(z1,z2,ci)=beta*g2max*r24*cc(z1,ci)**2*fac2
  652 + dd(p1,z2,ci)=hmr2(ci)*beta*g2max*r21*cc(p1,ci)**2*fac2
  653 + dd(p2,z2,ci)=hmr2(ci)*beta*g2max*r22*cc(p2,ci)**2*fac2
  654 + dd(d,z2,ci) =hmr2(ci)*beta*g2max*r23*cc(d,ci)**2*fac2
  655 + dd(z1,z2,ci)=hmr2(ci)*beta*g2max*r24*cc(z1,ci)**2*fac2
648 656  
649 657 dd(b,a,ci) =mu3*cc(b,ci)
650 658 dd(d,l,ci) =mu4*cc(d,ci)
651 659 dd(a,n,ci) =mu5*cc(a,ci)
652 660  
653   - dd(z1,d,ci) =(1.-epsi-delta)*mu21*(cc(z1,ci)+z0)/(k6+cc(z1,ci)+z0)*cc(z1,ci)
654   - dd(z1,a,ci) =epsi*mu21*(cc(z1,ci)+z0)/(k6+cc(z1,ci)+z0)*cc(z1,ci)
655   - dd(z1,l,ci) =delta*mu21*(cc(z1,ci)+z0)/(k6+cc(z1,ci)+z0)*cc(z1,ci)
  661 + dd(z1,d,ci) =hmr1(ci)*(1.-epsi-delta)*mu21*(cc(z1,ci)+z0)/(k6+cc(z1,ci)+z0)*cc(z1,ci)
  662 + dd(z1,a,ci) =hmr1(ci)*epsi*mu21*(cc(z1,ci)+z0)/(k6+cc(z1,ci)+z0)*cc(z1,ci)
  663 + dd(z1,l,ci) =hmr1(ci)*delta*mu21*(cc(z1,ci)+z0)/(k6+cc(z1,ci)+z0)*cc(z1,ci)
656 664  
657   - dd(z2,d,ci) =(1.-epsi-delta)*mu22*(cc(z2,ci)+z0)/(k6+cc(z2,ci)+z0)*cc(z2,ci)
658   - dd(z2,a,ci) =epsi*mu22*(cc(z2,ci)+z0)/(k6+cc(z2,ci)+z0)*cc(z2,ci)
659   - dd(z2,l,ci) =delta*mu22*(cc(z2,ci)+z0)/(k6+cc(z2,ci)+z0)*cc(z2,ci)
  665 + dd(z2,d,ci) =hmr2(ci)*(1.-epsi-delta)*mu22*(cc(z2,ci)+z0)/(k6+cc(z2,ci)+z0)*cc(z2,ci)
  666 + dd(z2,a,ci) =hmr2(ci)*epsi*mu22*(cc(z2,ci)+z0)/(k6+cc(z2,ci)+z0)*cc(z2,ci)
  667 + dd(z2,l,ci) =hmr2(ci)*delta*mu22*(cc(z2,ci)+z0)/(k6+cc(z2,ci)+z0)*cc(z2,ci)
660 668  
661 669 dd(a,b,ci) =vb*minal/(k4+minal+cc(l,ci))*(cc(b,ci)+b0)
662 670 dd(l,b,ci) =vb*cc(l,ci)/(k4+minal+cc(l,ci))*(cc(b,ci)+b0)
... ...