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,11 +542,11 @@
542 ! Original author(s): Hans Burchard, Karsten Bolding 542 ! Original author(s): Hans Burchard, Karsten Bolding
543 ! 543 !
544 ! !LOCAL VARIABLES: 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 REALTYPE :: fac1,fac2,minal,qn1,qa1,qn2,qa2 547 REALTYPE :: fac1,fac2,minal,qn1,qa1,qn2,qa2
548 REALTYPE :: ps1,ps2,ff1,ff2 548 REALTYPE :: ps1,ps2,ff1,ff2
549 - REALTYPE :: Ea,Eh,kBeV,T0 549 + REALTYPE :: Ea,Eh,kBeV,T0,ca,ch
550 integer :: i,j,ci 550 integer :: i,j,ci
551 !EOP 551 !EOP
552 !----------------------------------------------------------------------- 552 !-----------------------------------------------------------------------
@@ -603,6 +603,8 @@ @@ -603,6 +603,8 @@
603 Ea = 0.32 ! Activation energy for autotrophs (eV) 603 Ea = 0.32 ! Activation energy for autotrophs (eV)
604 kBeV = 8.62e-5 ! Boltzmann constant (eV K-1) 604 kBeV = 8.62e-5 ! Boltzmann constant (eV K-1)
605 T0 = 273.15-1.9 ! Temperature at which metabolism stops 605 T0 = 273.15-1.9 ! Temperature at which metabolism stops
  606 + ca = 1.0
  607 + ch = 1.0
606 608
607 ! The mass ratio between pico-phytoplankton (p1, 1 um) and 609 ! The mass ratio between pico-phytoplankton (p1, 1 um) and
608 ! nano- and micro-phytoplankton (p2, 10 um) is approximately 1:1e3, 610 ! nano- and micro-phytoplankton (p2, 10 um) is approximately 1:1e3,
@@ -612,9 +614,15 @@ @@ -612,9 +614,15 @@
612 ! meso-zooplankton (1000 um). 614 ! meso-zooplankton (1000 um).
613 615
614 ! Autotrophs 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 ! Heterotrophs 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 ! Light and nutrient limitation factors 627 ! Light and nutrient limitation factors
620 lumlim(ci) =ff1 628 lumlim(ci) =ff1
@@ -622,41 +630,41 @@ @@ -622,41 +630,41 @@
622 ammlim(ci) =qa1 630 ammlim(ci) =qa1
623 631
624 ! Nutrient uptake by pico- and nano-phytoplankton 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 +(1.-beta)*cc(p1,ci)**2*(g1max*r11*fac1+g2max*r21*fac2) 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 +(1.-beta)*g2max*r21*cc(p2,ci)**2*fac2 644 +(1.-beta)*g2max*r21*cc(p2,ci)**2*fac2
637 645
638 dd(b,d,ci) =(1.-beta)*g1max*r12*cc(b,ci)**2*fac1 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 dd(b,a,ci) =mu3*cc(b,ci) 657 dd(b,a,ci) =mu3*cc(b,ci)
650 dd(d,l,ci) =mu4*cc(d,ci) 658 dd(d,l,ci) =mu4*cc(d,ci)
651 dd(a,n,ci) =mu5*cc(a,ci) 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 dd(a,b,ci) =vb*minal/(k4+minal+cc(l,ci))*(cc(b,ci)+b0) 669 dd(a,b,ci) =vb*minal/(k4+minal+cc(l,ci))*(cc(b,ci)+b0)
662 dd(l,b,ci) =vb*cc(l,ci)/(k4+minal+cc(l,ci))*(cc(b,ci)+b0) 670 dd(l,b,ci) =vb*cc(l,ci)/(k4+minal+cc(l,ci))*(cc(b,ci)+b0)