Changeset 2374


Ignore:
Timestamp:
Oct 13, 2015, 7:43:21 PM (9 years ago)
Author:
jyg
Message:

Creation of a new closure routine for Emanuel
convective scheme: cv3p2_closure.F90 (called when
iflag_clos=3) is a cleaned up and reordered
version of cv3p1_closure.F90. cv3p1_closure.F90
(called when iflag_clos=2) is kept for numerical
compatibility with earlier versions.

Location:
LMDZ5/trunk/libf/phylmd
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/cva_driver.F90

    r2346 r2374  
    530530  CHARACTER (LEN=80) :: abort_message
    531531
     532  INTEGER,SAVE                                       :: igout=1
     533!$OMP THREADPRIVATE(igout)
     534
    532535
    533536! print *, 't1, t1_wake ',(k,t1(1,k),t1_wake(1,k),k=1,klev)
     
    913916                         pbase, p, ph, tv, buoy, &
    914917                         sig, w0, cape, m, iflag)
    915       END IF
     918      END IF   ! iflag_clos==0
    916919
    917920      ok_inhib = iflag_mix == 2
     
    923926! c    :                       ,supmax
    924927! c    o                       ,sig,w0,ptop2,cape,cin,m)
    925       END IF
     928      END IF   ! iflag_clos==1
     929
    926930      IF (iflag_clos==2) THEN
    927931        CALL cv3p1_closure(nloc, ncum, nd, icb, inb, &         ! na->nd
     
    933937        if (prt_level >= 10) &
    934938             PRINT *, 'cv3p1_closure-> plfc,wbeff ', plfc(1), wbeff(1)
    935       END IF
    936     END IF ! iflag_con.eq.3
     939      END IF   ! iflag_clos==2
     940
     941      IF (iflag_clos==3) THEN
     942        CALL cv3p2_closure(nloc, ncum, nd, icb, inb, &         ! na->nd
     943                           pbase, plcl, p, ph, tv, tvp, buoy, &
     944                           supmax, ok_inhib, Ale, Alp, omega, &
     945                           sig, w0, ptop2, cape, cin, m, iflag, coef_clos, &
     946                           Plim1, plim2, asupmax, supmax0, &
     947                           asupmaxmin, cbmf, plfc, wbeff)
     948        if (prt_level >= 10) &
     949             PRINT *, 'cv3p2_closure-> plfc,wbeff ', plfc(1), wbeff(1)
     950      END IF   ! iflag_clos==3
     951    END IF ! iflag_con==3
    937952
    938953    IF (iflag_con==4) THEN
     
    9931008                     faci, b, sigd, &
    9941009                     wdtrainA, wdtrainM)                                       ! RomP
    995     END IF
     1010!
     1011      IF (prt_level >= 10) THEN
     1012        Print *, 'cva_driver after cv3_unsat:mp , water, ice, evap, fondue '
     1013        DO k = 1,nd
     1014        write (6, '(i4,5(1x,e13.6))'), &
     1015          k, mp(idcum(igout),k), water(idcum(igout),k), ice(idcum(igout),k), &
     1016           evap(idcum(igout),k), fondue(idcum(igout),k)
     1017        ENDDO
     1018        Print *, 'cva_driver after cv3_unsat: wdtrainA, wdtrainM '
     1019        DO k = 1,nd
     1020        write (6, '(i4,2(1x,e13.6))'), &
     1021           k, wdtrainA(idcum(igout),k), wdtrainM(idcum(igout),k)
     1022        ENDDO
     1023      ENDIF
     1024!
     1025    END IF  !(iflag_con==3)
    9961026
    9971027    IF (iflag_con==4) THEN
     
    10291059                     qcondc, wd, &
    10301060                     ftd, fqd, qnk, qtc, sigt, tau_cld_cv, coefw_cld_cv)
    1031     END IF
    1032 
    1033     IF (debut) THEN
    1034       PRINT *, ' cv3_yield -> fqd(1) = ', fqd(1, 1)
    1035     END IF !(debut) THEN
     1061!
     1062      IF (debut) THEN
     1063        PRINT *, ' cv3_yield -> fqd(1) = ', fqd(idcum(igout), 1)
     1064      END IF !(debut) THEN
     1065!   
     1066      IF (prt_level >= 10) THEN
     1067        Print *, 'cva_driver after cv3_yield:ft(1) , ftd(1) ', &
     1068                    ft(idcum(igout),1), ftd(idcum(igout),1)
     1069        Print *, 'cva_driver after cv3_yield:fq(1) , fqd(1) ', &
     1070                    fq(idcum(igout),1), fqd(idcum(igout),1)
     1071      ENDIF
     1072!   
     1073    END IF
    10361074
    10371075    IF (iflag_con==4) THEN
Note: See TracChangeset for help on using the changeset viewer.