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