1 SUBROUTINE cv3_buoy(nloc, ncum, nd, icb, inb, pbase, plcl, p, ph, ale, cin, &
 
   18   INTEGER ncum, nd, nloc
 
   19   INTEGER icb(nloc), inb(nloc)
 
   20   REAL pbase(nloc), plcl(nloc)
 
   21   REAL p(nloc, nd), ph(nloc, nd+1)
 
   22   REAL ale(nloc), cin(nloc)
 
   23   REAL tv(nloc, nd), tvp(nloc, nd)
 
   31   REAL bll(nloc), bmx(nloc)
 
   42   DATA fixed_bll/.
true./
 
   52       buoy(il, k) = tvp(il, k) - tv(il, k)
 
   67       IF (ale(il)+cin(il)>0.) 
THEN 
   68         gamma(il) = 4.*buoy(il, icb(il))**2 + 8.*dgamma*(ale(il)+cin(il))*tv( &
 
   70         gamma(il) = max(gamma(il), 1.e-10)
 
   75       IF (ale(il)+cin(il)>0.) 
THEN 
   76         bll(il) = 4.*dgamma*(ale(il)+cin(il))*tv(il, icb(il))/ &
 
   77           (grav*(abs(buoy(il,icb(il))+0.5*sqrt(gamma(il)))))
 
   82       IF (ale(il)+cin(il)>0.) 
THEN 
   83         bll(il) = min(bll(il), buoymin)
 
  102       IF (ale(il)+cin(il)>0. .AND. ok(il)) 
THEN 
  103         IF (k>icb(il) .AND. k<=inb(il)) 
THEN 
  106           IF (p(il,k)>plcl(il)-200.) 
THEN 
  107             IF (buoy(il,k)>bmx(il)) 
THEN 
  108               bmx(il) = buoy(il, k)
 
  110               IF (bmx(il)>=bll(il)) ok(il) = .
false.
 
  126     IF (ale(il)+cin(il)>0.) 
THEN 
  127       bll(il) = min(bll(il), bmx(il))
 
  133       IF (ale(il)+cin(il)>0.) 
THEN 
  134         IF (k>=icb(il) .AND. k<=kmx(il)-1) 
THEN 
  135           buoy(il, k) = bll(il)
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL false
 
subroutine cv3_buoy(nloc, ncum, nd, icb, inb, pbase, plcl, p, ph, ale, cin, tv, tvp, buoy)
 
!$Header!integer nvarmx parameter(nfmx=10, imx=200, jmx=150, lmx=200, nvarmx=1000) real xd(imx
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL true