2 : ,pbase,plcl,p,ph,ale,cin
5 ***************************************************************
8 * buoyancy corrections to account for ale *
10 * written
by : moreau cecile, 07/08/2003, 15.55.48 *
12 ***************************************************************
20 integer ncum, nd, nloc
21 integer icb(nloc), inb(nloc)
22 real pbase(nloc),plcl(nloc)
23 real p(nloc,nd), ph(nloc,nd+1)
24 real ale(nloc), cin(nloc)
25 real tv(nloc,nd), tvp(nloc,nd)
33 real bll(nloc), bmx(nloc)
44 data fixed_bll /.true./
45 c$omp threadprivate(fixed_bll)
48 c print *,
' Ale+cin ',ale(1)+cin(1)
49 c--------------------------------------------------------------
50 c recompute buoyancies
51 c--------------------------------------------------------------
54 buoy(il,
k) = tvp(il,
k) - tv(il,
k)
58 c -------------------------------------------------------------
59 c -- compute low level buoyancy(
function of ale+cin )
60 c -------------------------------------------------------------
69 IF (ale(il)+cin(il) .GT. 0.)
THEN
70 gamma(il) = 4.*buoy(il,icb(il))**2
71 : + 8.*dgamma*(ale(il)+cin(il))*tv(il,icb(il))/grav
77 IF (ale(il)+cin(il) .GT. 0.)
THEN
78 bll(il) = 4.*dgamma*(ale(il)+cin(il))*tv(il,icb(il))
79 : /(grav*(abs(buoy(il,icb(il))+0.5*sqrt(
gamma(il)))))
84 IF (ale(il)+cin(il) .GT. 0.)
THEN
85 bll(il) = min(bll(il),buoymin)
92 c -------------------------------------------------------------
93 c --get highest buoyancy among
levels below
lcl-200hpa
94 c -------------------------------------------------------------
104 IF (ale(il)+cin(il) .GT. 0. .AND. ok(il))
THEN
105 IF (
k .GT. icb(il) .AND.
k .LE. inb(il))
THEN
106 cc print *,
'k,p(il,k),plcl(il)-200. ',
k,p(il,
k),plcl(il)-200.
107 IF (p(il,
k) .GT. plcl(il)-200.)
THEN
108 IF (buoy(il,
k) .GT. bmx(il))
THEN
111 IF (bmx(il) .GE. bll(il)) ok(il)=.
false.
119 c print *,
' ==cv3_buoy== bll(1),bmx(1),icb(1),kmx(1) '
120 c $ ,bll(1),bmx(1),icb(1),kmx(1)
122 c -------------------------------------------------------------
123 c --calculate modified buoyancies
124 c -------------------------------------------------------------
127 IF (ale(il)+cin(il) .GT. 0.)
THEN
128 bll(il) = min(bll(il),bmx(il))
134 IF (ale(il)+cin(il) .GT. 0.)
THEN
135 IF (
k .GE. icb(il) .AND.
k .LE. kmx(il)-1)
THEN