/[lmdze]/trunk/phylmd/cv_driver.f
ViewVC logotype

Diff of /trunk/phylmd/cv_driver.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 184 by guez, Wed Mar 16 14:42:58 2016 UTC revision 185 by guez, Wed Mar 16 15:04:46 2016 UTC
# Line 14  contains Line 14  contains
14    
15      ! Several modules corresponding to different physical processes      ! Several modules corresponding to different physical processes
16    
17      use cv3_compress_m, only: cv3_compress      use cv30_compress_m, only: cv30_compress
18      use cv3_feed_m, only: cv3_feed      use cv30_feed_m, only: cv30_feed
19      use cv3_mixing_m, only: cv3_mixing      use cv30_mixing_m, only: cv30_mixing
20      use cv3_param_m, only: cv3_param      use cv30_param_m, only: cv30_param
21      use cv3_prelim_m, only: cv3_prelim      use cv30_prelim_m, only: cv30_prelim
22      use cv3_tracer_m, only: cv3_tracer      use cv30_tracer_m, only: cv30_tracer
23      use cv3_uncompress_m, only: cv3_uncompress      use cv30_uncompress_m, only: cv30_uncompress
24      use cv3_undilute2_m, only: cv3_undilute2      use cv30_undilute2_m, only: cv30_undilute2
25      use cv3_unsat_m, only: cv3_unsat      use cv30_unsat_m, only: cv30_unsat
26      use cv3_yield_m, only: cv3_yield      use cv30_yield_m, only: cv30_yield
27      USE dimphy, ONLY: klev, klon      USE dimphy, ONLY: klev, klon
28    
29      real, intent(in):: t1(klon, klev) ! temperature      real, intent(in):: t1(klon, klev) ! temperature
# Line 248  contains Line 248  contains
248      ! control the rate of approach to quasi-equilibrium)      ! control the rate of approach to quasi-equilibrium)
249      ! (common cvparam)      ! (common cvparam)
250    
251      CALL cv3_param(klev, delt)      CALL cv30_param(klev, delt)
252    
253      ! INITIALIZE OUTPUT ARRAYS AND PARAMETERS      ! INITIALIZE OUTPUT ARRAYS AND PARAMETERS
254    
# Line 286  contains Line 286  contains
286      enddo      enddo
287    
288      ! CALCULATE ARRAYS OF GEOPOTENTIAL, HEAT CAPACITY & STATIC ENERGY      ! CALCULATE ARRAYS OF GEOPOTENTIAL, HEAT CAPACITY & STATIC ENERGY
289      CALL cv3_prelim(klon, klev, klev + 1, t1, q1, p1, ph1, lv1, cpn1, tv1, &      CALL cv30_prelim(klon, klev, klev + 1, t1, q1, p1, ph1, lv1, cpn1, tv1, &
290           gz1, h1, hm1, th1)           gz1, h1, hm1, th1)
291    
292      ! CONVECTIVE FEED      ! CONVECTIVE FEED
293      CALL cv3_feed(klon, klev, t1, q1, qs1, p1, ph1, gz1, nk1, icb1, &      CALL cv30_feed(klon, klev, t1, q1, qs1, p1, ph1, gz1, nk1, icb1, &
294           icbmax, iflag1, tnk1, qnk1, gznk1, plcl1) ! klev->na           icbmax, iflag1, tnk1, qnk1, gznk1, plcl1) ! klev->na
295    
296      ! UNDILUTE (ADIABATIC) UPDRAFT / 1st part      ! UNDILUTE (ADIABATIC) UPDRAFT / 1st part
297      ! (up through ICB for convect4, up through ICB + 1 for convect3)      ! (up through ICB for convect4, up through ICB + 1 for convect3)
298      ! Calculates the lifted parcel virtual temperature at nk, the      ! Calculates the lifted parcel virtual temperature at nk, the
299      ! actual temperature, and the adiabatic liquid water content.      ! actual temperature, and the adiabatic liquid water content.
300      CALL cv3_undilute1(klon, klev, t1, q1, qs1, gz1, plcl1, p1, nk1, icb1, &      CALL cv30_undilute1(klon, klev, t1, q1, qs1, gz1, plcl1, p1, nk1, icb1, &
301           tp1, tvp1, clw1, icbs1) ! klev->na           tp1, tvp1, clw1, icbs1) ! klev->na
302    
303      ! TRIGGERING      ! TRIGGERING
304      CALL cv3_trigger(klon, klev, icb1, plcl1, p1, th1, tv1, tvp1, pbase1, &      CALL cv30_trigger(klon, klev, icb1, plcl1, p1, th1, tv1, tvp1, pbase1, &
305           buoybase1, iflag1, sig1, w01) ! klev->na           buoybase1, iflag1, sig1, w01) ! klev->na
306    
307      ! Moist convective adjustment is necessary      ! Moist convective adjustment is necessary
# Line 317  contains Line 317  contains
317      IF (ncum > 0) THEN      IF (ncum > 0) THEN
318         ! COMPRESS THE FIELDS         ! COMPRESS THE FIELDS
319         ! (-> vectorization over convective gridpoints)         ! (-> vectorization over convective gridpoints)
320         CALL cv3_compress(klon, klon, ncum, klev, iflag1, nk1, icb1, icbs1, &         CALL cv30_compress(klon, klon, ncum, klev, iflag1, nk1, icb1, icbs1, &
321              plcl1, tnk1, qnk1, gznk1, pbase1, buoybase1, t1, q1, qs1, u1, &              plcl1, tnk1, qnk1, gznk1, pbase1, buoybase1, t1, q1, qs1, u1, &
322              v1, gz1, th1, h1, lv1, cpn1, p1, ph1, tv1, tp1, tvp1, clw1, &              v1, gz1, th1, h1, lv1, cpn1, p1, ph1, tv1, tp1, tvp1, clw1, &
323              sig1, w01, iflag, nk, icb, icbs, plcl, tnk, qnk, gznk, pbase, &              sig1, w01, iflag, nk, icb, icbs, plcl, tnk, qnk, gznk, pbase, &
# Line 331  contains Line 331  contains
331         ! FRACTION OF PRECIPITATION FALLING OUTSIDE OF CLOUD         ! FRACTION OF PRECIPITATION FALLING OUTSIDE OF CLOUD
332         ! &         ! &
333         ! FIND THE LEVEL OF NEUTRAL BUOYANCY         ! FIND THE LEVEL OF NEUTRAL BUOYANCY
334         CALL cv3_undilute2(klon, ncum, klev, icb, icbs, nk, tnk, qnk, gznk, &         CALL cv30_undilute2(klon, ncum, klev, icb, icbs, nk, tnk, qnk, gznk, &
335              t, qs, gz, p, h, tv, lv, pbase, buoybase, plcl, inb, tp, &              t, qs, gz, p, h, tv, lv, pbase, buoybase, plcl, inb, tp, &
336              tvp, clw, hp, ep, sigp, buoy) !na->klev              tvp, clw, hp, ep, sigp, buoy) !na->klev
337    
338         ! CLOSURE         ! CLOSURE
339         CALL cv3_closure(klon, ncum, klev, icb, inb, pbase, p, ph, tv, &         CALL cv30_closure(klon, ncum, klev, icb, inb, pbase, p, ph, tv, &
340              buoy, sig, w0, cape, m) ! na->klev              buoy, sig, w0, cape, m) ! na->klev
341    
342         ! MIXING         ! MIXING
343         CALL cv3_mixing(klon, ncum, klev, klev, icb, nk, inb, t, q, qs, u, &         CALL cv30_mixing(klon, ncum, klev, klev, icb, nk, inb, t, q, qs, u, &
344              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, &
345              sij, elij, ments, qents)              sij, elij, ments, qents)
346    
347         ! UNSATURATED (PRECIPITATING) DOWNDRAFTS         ! UNSATURATED (PRECIPITATING) DOWNDRAFTS
348         CALL cv3_unsat(klon, ncum, klev, klev, icb, inb, t, q, qs, gz, u, &         CALL cv30_unsat(klon, ncum, klev, klev, icb, inb, t, q, qs, gz, u, &
349              v, p, ph, th, tv, lv, cpn, ep, sigp, clw, m, ment, elij, delt, &              v, p, ph, th, tv, lv, cpn, ep, sigp, clw, m, ment, elij, delt, &
350              plcl, mp, qp, up, vp, wt, water, evap, b)! na->klev              plcl, mp, qp, up, vp, wt, water, evap, b)! na->klev
351    
352         ! YIELD         ! YIELD
353         ! (tendencies, precipitation, variables of interface with other         ! (tendencies, precipitation, variables of interface with other
354         ! processes, etc)         ! processes, etc)
355         CALL cv3_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, &
356              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, &
357              wt, water, evap, b, ment, qent, uent, vent, nent, elij, sig, &              wt, water, evap, b, ment, qent, uent, vent, nent, elij, sig, &
358              tv, tvp, iflag, precip, VPrecip, ft, fq, fu, fv, upwd, dnwd, &              tv, tvp, iflag, precip, VPrecip, ft, fq, fu, fv, upwd, dnwd, &
359              dnwd0, ma, mike, tls, tps, qcondc, wd)! na->klev              dnwd0, ma, mike, tls, tps, qcondc, wd)! na->klev
360    
361         ! passive tracers         ! passive tracers
362         CALL cv3_tracer(klon, ncum, klev, ment, sij, da, phi)         CALL cv30_tracer(klon, ncum, klev, ment, sij, da, phi)
363    
364         ! UNCOMPRESS THE FIELDS         ! UNCOMPRESS THE FIELDS
365    
# Line 368  contains Line 368  contains
368            iflag1(i) = 42            iflag1(i) = 42
369         end do         end do
370    
371         CALL cv3_uncompress(idcum(:ncum), iflag, precip, VPrecip, sig, w0, &         CALL cv30_uncompress(idcum(:ncum), iflag, precip, VPrecip, sig, w0, &
372              ft, fq, fu, fv, inb, Ma, upwd, dnwd, dnwd0, qcondc, wd, cape, &              ft, fq, fu, fv, inb, Ma, upwd, dnwd, dnwd0, qcondc, wd, cape, &
373              da, phi, mp, iflag1, precip1, VPrecip1, sig1, w01, ft1, fq1, &              da, phi, mp, iflag1, precip1, VPrecip1, sig1, w01, ft1, fq1, &
374              fu1, fv1, inb1, Ma1, upwd1, dnwd1, dnwd01, qcondc1, wd1, &              fu1, fv1, inb1, Ma1, upwd1, dnwd1, dnwd01, qcondc1, wd1, &

Legend:
Removed from v.184  
changed lines
  Added in v.185

  ViewVC Help
Powered by ViewVC 1.1.21