235 |
|
|
236 |
! SET CONSTANTS AND PARAMETERS |
! SET CONSTANTS AND PARAMETERS |
237 |
|
|
|
! set simulation flags: |
|
|
! (common cvflag) |
|
|
CALL cv_flag |
|
|
|
|
238 |
! set thermodynamical constants: |
! set thermodynamical constants: |
239 |
! (common cvthermo) |
! (common cvthermo) |
240 |
CALL cv_thermo |
CALL cv_thermo |
244 |
! control the rate of approach to quasi-equilibrium) |
! control the rate of approach to quasi-equilibrium) |
245 |
! (common cvparam) |
! (common cvparam) |
246 |
|
|
247 |
CALL cv30_param(klev, delt) |
CALL cv30_param(delt) |
248 |
|
|
249 |
! INITIALIZE OUTPUT ARRAYS AND PARAMETERS |
! INITIALIZE OUTPUT ARRAYS AND PARAMETERS |
250 |
|
|
320 |
buoybase, t, q, qs, u, v, gz, th, h, lv, cpn, p, ph, tv, tp, & |
buoybase, t, q, qs, u, v, gz, th, h, lv, cpn, p, ph, tv, tp, & |
321 |
tvp, clw, sig, w0) |
tvp, clw, sig, w0) |
322 |
|
|
323 |
! UNDILUTE (ADIABATIC) UPDRAFT / second part : |
! Undilute (adiabatic) updraft, second part: find the rest of |
324 |
! FIND THE REST OF THE LIFTED PARCEL TEMPERATURES |
! the lifted parcel temperatures; compute the precipitation |
325 |
! & |
! efficiencies and the fraction of precipitation falling |
326 |
! COMPUTE THE PRECIPITATION EFFICIENCIES AND THE |
! outside of cloud; find the level of neutral buoyancy. |
|
! FRACTION OF PRECIPITATION FALLING OUTSIDE OF CLOUD |
|
|
! & |
|
|
! FIND THE LEVEL OF NEUTRAL BUOYANCY |
|
327 |
CALL cv30_undilute2(klon, ncum, klev, icb, icbs, nk, tnk, qnk, gznk, & |
CALL cv30_undilute2(klon, ncum, klev, icb, icbs, nk, tnk, qnk, gznk, & |
328 |
t, qs, gz, p, h, tv, lv, pbase, buoybase, plcl, inb, tp, & |
t, qs, gz, p, h, tv, lv, pbase, buoybase, plcl, inb, tp, & |
329 |
tvp, clw, hp, ep, sigp, buoy) !na->klev |
tvp, clw, hp, ep, sigp, buoy) !na->klev |
337 |
v, h, lv, hp, ep, clw, m, sig, ment, qent, uent, vent, nent, & |
v, h, lv, hp, ep, clw, m, sig, ment, qent, uent, vent, nent, & |
338 |
sij, elij, ments, qents) |
sij, elij, ments, qents) |
339 |
|
|
340 |
! UNSATURATED (PRECIPITATING) DOWNDRAFTS |
! Unsaturated (precipitating) downdrafts |
341 |
CALL cv30_unsat(klon, ncum, klev, klev, icb, inb, t, q, qs, gz, u, & |
CALL cv30_unsat(klon, ncum, klev, klev, icb(:ncum), inb(:ncum), t, q, & |
342 |
v, p, ph, th, tv, lv, cpn, ep, sigp, clw, m, ment, elij, delt, & |
qs, gz, u, v, p, ph, th, tv, lv, cpn, ep, sigp, clw, m, ment, & |
343 |
plcl, mp, qp, up, vp, wt, water, evap, b)! na->klev |
elij, delt, plcl, mp, qp, up, vp, wt, water, evap, b)! na->klev |
344 |
|
|
345 |
! YIELD |
! Yield (tendencies, precipitation, variables of interface with |
346 |
! (tendencies, precipitation, variables of interface with other |
! other processes, etc) |
|
! processes, etc) |
|
347 |
CALL cv30_yield(klon, ncum, klev, klev, icb, inb, delt, t, q, u, v, & |
CALL cv30_yield(klon, ncum, klev, klev, icb, inb, delt, t, q, u, v, & |
348 |
gz, p, ph, h, hp, lv, cpn, th, ep, clw, m, tp, mp, qp, up, vp, & |
gz, p, ph, h, hp, lv, cpn, th, ep, clw, m, tp, mp, qp, up, vp, & |
349 |
wt, water, evap, b, ment, qent, uent, vent, nent, elij, sig, & |
wt, water, evap, b, ment, qent, uent, vent, nent, elij, sig, & |
356 |
! UNCOMPRESS THE FIELDS |
! UNCOMPRESS THE FIELDS |
357 |
|
|
358 |
! set iflag1 = 42 for non convective points |
! set iflag1 = 42 for non convective points |
359 |
do i = 1, klon |
iflag1 = 42 |
|
iflag1(i) = 42 |
|
|
end do |
|
360 |
|
|
361 |
CALL cv30_uncompress(idcum(:ncum), iflag, precip, VPrecip, sig, w0, & |
CALL cv30_uncompress(idcum(:ncum), iflag, precip, VPrecip, sig, w0, & |
362 |
ft, fq, fu, fv, inb, Ma, upwd, dnwd, dnwd0, qcondc, wd, cape, & |
ft, fq, fu, fv, inb, Ma, upwd, dnwd, dnwd0, qcondc, wd, cape, & |