Changeset 2638 for LMDZ5


Ignore:
Timestamp:
Sep 29, 2016, 1:18:14 PM (8 years ago)
Author:
jyg
Message:

Some improvements to commit 2635 concerning wake
variables in physiq_mod.F90.

Location:
LMDZ5/trunk/libf/phylmd
Files:
3 edited

Legend:

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

    r2605 r2638  
    10601060                         p, ph, h, tv, lv, lf, pbase, buoybase, plcl, &
    10611061                         inb, tp, tvp, clw, hp, ep, sigp, buoy, frac)
     1062  USE print_control_mod, ONLY: prt_level
    10621063  IMPLICIT NONE
    10631064
     
    11181119  REAL fracg
    11191120  REAL deltap
     1121
     1122  IF (prt_level >= 10) THEN
     1123    print *,'cv3_undilute2.0. t(1,k), q(1,k), qs(1,k) ', &
     1124                        (k, t(1,k), q(1,k), qs(1,k), k = 1,nl)
     1125  ENDIF
    11201126
    11211127! =====================================================================
     
    13041310    END DO
    13051311  END DO
     1312
     1313  IF (prt_level >= 10) THEN
     1314    print *,'cv3_undilute2.1. tp(1,k), tvp(1,k) ', &
     1315                          (k, tp(1,k), tvp(1,k), k = 1,nl)
     1316  ENDIF
    13061317
    13071318! =====================================================================
  • LMDZ5/trunk/libf/phylmd/cva_driver.F90

    r2628 r2638  
    675675    END IF
    676676! print*,'t1, q1 ',t1,q1
     677        if (prt_level >= 9) &
     678             PRINT *, 'cva_driver -> cv3_prelim'
    677679    CALL cv3_prelim(len, nd, ndp1, t1, q1, p1, ph1, &           ! nd->na
    678680                    lv1, lf1, cpn1, tv1, gz1, h1, hm1, th1)
    679681
    680682
     683        if (prt_level >= 9) &
     684             PRINT *, 'cva_driver -> cv3_prelim'
    681685    CALL cv3_prelim(len, nd, ndp1, t1_wake, q1_wake, p1, ph1, & ! nd->na
    682686                    lv1_wake, lf1_wake, cpn1_wake, tv1_wake, gz1_wake, &
     
    687691  IF (iflag_con==4) THEN
    688692    PRINT *, 'Emanuel version 4 '
     693        if (prt_level >= 9) &
     694             PRINT *, 'cva_driver -> cv_prelim'
    689695    CALL cv_prelim(len, nd, ndp1, t1, q1, p1, ph1, &
    690696                   lv1, cpn1, tv1, gz1, h1, hm1)
     
    730736! write(*,'(64i1)') iflag1(2:klon-1)
    731737
     738        if (prt_level >= 9) &
     739             PRINT *, 'cva_driver -> cv3_feed'
    732740    CALL cv3_feed(len, nd, ok_conserv_q, &                 ! nd->na
    733741                  t1, q1, u1, v1, p1, ph1, hm1, gz1, &
     
    742750
    743751  IF (iflag_con==4) THEN
     752        if (prt_level >= 9) &
     753             PRINT *, 'cva_driver -> cv_feed'
    744754    CALL cv_feed(len, nd, t1, q1, qs1, p1, hm1, gz1, &
    745755                 nk1, icb1, icbmax, iflag1, tnk1, qnk1, gznk1, plcl1)
     
    757767  IF (iflag_con==3) THEN
    758768
     769        if (prt_level >= 9) &
     770             PRINT *, 'cva_driver -> cv3_undilute1'
    759771    CALL cv3_undilute1(len, nd, t1, qs1, gz1, plcl1, p1, icb1, tnk1, qnk1, & ! nd->na
    760772                       gznk1, tp1, tvp1, clw1, icbs1)
     
    763775
    764776  IF (iflag_con==4) THEN
     777        if (prt_level >= 9) &
     778             PRINT *, 'cva_driver -> cv_undilute1'
    765779    CALL cv_undilute1(len, nd, t1, q1, qs1, gz1, p1, nk1, icb1, icbmax, &
    766780                      tp1, tvp1, clw1)
     
    775789  IF (iflag_con==3) THEN
    776790
     791        if (prt_level >= 9) &
     792             PRINT *, 'cva_driver -> cv3_trigger'
    777793    CALL cv3_trigger(len, nd, icb1, plcl1, p1, th1, tv1, tvp1, thnk1, & ! nd->na
    778794                      pbase1, buoybase1, iflag1, sig1, w01)
     
    787803
    788804  IF (iflag_con==4) THEN
     805        if (prt_level >= 9) &
     806             PRINT *, 'cva_driver -> cv_trigger'
    789807    CALL cv_trigger(len, nd, icb1, cbmf1, tv1, tvp1, iflag1)
    790808  END IF
     
    833851!
    834852!>jyg
     853        if (prt_level >= 9) &
     854             PRINT *, 'cva_driver -> cv3a_compress'
    835855      CALL cv3a_compress(len, nloc, ncum, nd, ntra, compress, &
    836856                         iflag1, nk1, icb1, icbs1, &
     
    861881
    862882    IF (iflag_con==4) THEN
     883        if (prt_level >= 9) &
     884             PRINT *, 'cva_driver -> cv_compress'
    863885      CALL cv_compress(len, nloc, ncum, nd, &
    864886                       iflag1, nk1, icb1, &
     
    883905
    884906    IF (iflag_con==3) THEN
     907        if (prt_level >= 9) &
     908             PRINT *, 'cva_driver -> cv3_undilute2'
    885909      CALL cv3_undilute2(nloc, ncum, nd, icb, icbs, nk, &              !na->nd
    886910                         tnk, qnk, gznk, hnk, t, q, qs, gz, &
     
    891915
    892916    IF (iflag_con==4) THEN
     917        if (prt_level >= 9) &
     918             PRINT *, 'cva_driver -> cv_undilute2'
    893919      CALL cv_undilute2(nloc, ncum, nd, icb, nk, &
    894920                        tnk, qnk, gznk, t, q, qs, gz, &
     
    899925    ! epmax_cape
    900926    ! on recalcule ep et hp   
     927        if (prt_level >= 9) &
     928             PRINT *, 'cva_driver -> cv3_epmax_cape'
    901929    call cv3_epmax_fn_cape(nloc,ncum,nd &
    902930                , ep,hp,icb,inb,clw,nk,t,h,hnk,lv,lf,frac &
     
    915943      IF (iflag_mix>=1) THEN
    916944        CALL zilch(supmax, nloc*klev)
     945        if (prt_level >= 9) &
     946             PRINT *, 'cva_driver -> cv3p_mixing'
    917947        CALL cv3p_mixing(nloc, ncum, nd, nd, ntra, icb, nk, inb, &           ! na->nd
    918948                         ph, t, q, qs, u, v, tra, h, lv, lf, frac, qnk, &
     
    933963    IF (iflag_con==3) THEN
    934964      IF (iflag_clos==0) THEN
     965        if (prt_level >= 9) &
     966             PRINT *, 'cva_driver -> cv3_closure'
    935967        CALL cv3_closure(nloc, ncum, nd, icb, inb, &           ! na->nd
    936968                         pbase, p, ph, tv, buoy, &
     
    949981
    950982      IF (iflag_clos==2) THEN
     983        if (prt_level >= 9) &
     984             PRINT *, 'cva_driver -> cv3p1_closure'
    951985        CALL cv3p1_closure(nloc, ncum, nd, icb, inb, &         ! na->nd
    952986                           pbase, plcl, p, ph, tv, tvp, buoy, &
     
    960994
    961995      IF (iflag_clos==3) THEN
     996        if (prt_level >= 9) &
     997             PRINT *, 'cva_driver -> cv3p2_closure'
    962998        CALL cv3p2_closure(nloc, ncum, nd, icb, inb, &         ! na->nd
    963999                           pbase, plcl, p, ph, tv, tvp, buoy, &
     
    9721008
    9731009    IF (iflag_con==4) THEN
     1010        if (prt_level >= 9) &
     1011             PRINT *, 'cva_driver -> cv_closure'
    9741012      CALL cv_closure(nloc, ncum, nd, nk, icb, &
    9751013                         tv, tvp, p, ph, dph, plcl, cpn, &
     
    9851023    IF (iflag_con==3) THEN
    9861024      IF (iflag_mix==0) THEN
     1025        if (prt_level >= 9) &
     1026             PRINT *, 'cva_driver -> cv3_mixing'
    9871027        CALL cv3_mixing(nloc, ncum, nd, nd, ntra, icb, nk, inb, &             ! na->nd
    9881028                        ph, t, q, qs, u, v, tra, h, lv, lf, frac, qnk, &
     
    9991039
    10001040    IF (iflag_con==4) THEN
     1041        if (prt_level >= 9) &
     1042             PRINT *, 'cva_driver -> cv_mixing'
    10011043      CALL cv_mixing(nloc, ncum, nd, icb, nk, inb, inbis, &
    10021044                     ph, t, q, qs, u, v, h, lv, qnk, &
     
    10201062      END IF !(debut) THEN
    10211063
     1064        if (prt_level >= 9) &
     1065             PRINT *, 'cva_driver -> cv3_unsat'
    10221066      CALL cv3_unsat(nloc, ncum, nd, nd, ntra, icb, inb, iflag, &              ! na->nd
    10231067                     t_wake, q_wake, qs_wake, gz, u, v, tra, p, ph, &
     
    10461090
    10471091    IF (iflag_con==4) THEN
     1092        if (prt_level >= 9) &
     1093             PRINT *, 'cva_driver -> cv_unsat'
    10481094      CALL cv_unsat(nloc, ncum, nd, inb, t, q, qs, gz, u, v, p, ph, &
    10491095                     h, lv, ep, sigp, clw, m, ment, elij, &
     
    10651111    IF (iflag_con==3) THEN
    10661112
     1113        if (prt_level >= 9) &
     1114             PRINT *, 'cva_driver -> cv3_yield'
    10671115      CALL cv3_yield(nloc, ncum, nd, nd, ntra, ok_conserv_q, &                      ! na->nd
    10681116                     icb, inb, delt, &
     
    10941142
    10951143    IF (iflag_con==4) THEN
     1144        if (prt_level >= 9) &
     1145             PRINT *, 'cva_driver -> cv_yield'
    10961146      CALL cv_yield(nloc, ncum, nd, nk, icb, inb, delt, &
    10971147                     t, q, u, v, &
     
    11121162    IF (iflag_con==3) THEN
    11131163!RomP >>>
     1164        if (prt_level >= 9) &
     1165             PRINT *, 'cva_driver -> cv3_tracer'
    11141166      CALL cv3_tracer(nloc, len, ncum, nd, nd, &
    11151167                     ment, sigij, da, phi, phi2, d1a, dam, &
     
    11271179
    11281180    IF (iflag_con==3) THEN
     1181        if (prt_level >= 9) &
     1182             PRINT *, 'cva_driver -> cv3a_uncompress'
    11291183      CALL cv3a_uncompress(nloc, len, ncum, nd, ntra, idcum, compress, &
    11301184                           iflag, icb, inb, &
     
    11571211
    11581212    IF (iflag_con==4) THEN
     1213        if (prt_level >= 9) &
     1214             PRINT *, 'cva_driver -> cv_uncompress'
    11591215      CALL cv_uncompress(nloc, len, ncum, nd, idcum, &
    11601216                           iflag, &
  • LMDZ5/trunk/libf/phylmd/physiq_mod.F90

    r2635 r2638  
    11241124    if (first) then
    11251125
     1126     CALL iophys_ini
     1127
    11261128       !CR:nvelles variables convection/poches froides
    11271129
     
    14011403             ! 11/09/06 rajout initialisation ALE et ALP du wake et PBL(YU)
    14021404             !        print*,'apres ini_wake iflag_cld_th=', iflag_cld_th
     1405             !
     1406             ! Initialize tendencies of wake state variables (for some flag values
     1407             ! they are not computed).
     1408             d_deltat_wk(:,:) = 0.
     1409             d_deltaq_wk(:,:) = 0.
     1410             d_deltat_wk_gw(:,:) = 0.
     1411             d_deltaq_wk_gw(:,:) = 0.
     1412             d_deltat_vdf(:,:) = 0.
     1413             d_deltaq_vdf(:,:) = 0.
     1414             d_deltat_the(:,:) = 0.
     1415             d_deltaq_the(:,:) = 0.
     1416             d_deltat_ajs_cv(:,:) = 0.
     1417             d_deltaq_ajs_cv(:,:) = 0.
     1418             d_s_wk(:) = 0.
     1419             d_dens_wk(:) = 0.
    14031420          endif
    14041421
     
    24202437             CALL ajsec(paprs, pplay, t_w, q_w, limbas, &
    24212438                  d_t_adjwk, d_q_adjwk)
    2422           ENDIF
    2423           !
    2424           DO k=1,klev
    2425              DO i=1,klon
    2426                 IF (wake_s(i) .GT. 1.e-3) THEN
    2427                    t_w(i,k) = t_w(i,k) + d_t_adjwk(i,k)
    2428                    q_w(i,k) = q_w(i,k) + d_q_adjwk(i,k)
    2429                    d_deltat_ajs_cv(i,k) = d_t_adjwk(i,k)
    2430                    d_deltaq_ajs_cv(i,k) = d_q_adjwk(i,k)
    2431                 ELSE
    2432                    d_deltat_ajs_cv(i,k) = 0.
    2433                    d_deltaq_ajs_cv(i,k) = 0.
    2434                 ENDIF
     2439             !
     2440             DO k=1,klev
     2441                DO i=1,klon
     2442                   IF (wake_s(i) .GT. 1.e-3) THEN
     2443                      t_w(i,k) = t_w(i,k) + d_t_adjwk(i,k)
     2444                      q_w(i,k) = q_w(i,k) + d_q_adjwk(i,k)
     2445                      d_deltat_ajs_cv(i,k) = d_t_adjwk(i,k)
     2446                      d_deltaq_ajs_cv(i,k) = d_q_adjwk(i,k)
     2447                   ELSE
     2448                      d_deltat_ajs_cv(i,k) = 0.
     2449                      d_deltaq_ajs_cv(i,k) = 0.
     2450                   ENDIF
     2451                ENDDO
    24352452             ENDDO
    2436           ENDDO
    2437           CALL add_wake_tend &
    2438               (d_deltat_ajs_cv, d_deltaq_ajs_cv, dsig0, ddens0, wkoccur1, 'ajs_cv', abortphy)
     2453             CALL add_wake_tend &
     2454                 (d_deltat_ajs_cv, d_deltaq_ajs_cv, dsig0, ddens0, wkoccur1, 'ajs_cv', abortphy)
     2455          ENDIF  ! (ok_adjwk)
    24392456       ENDIF ! (iflag_wake>=1)
    24402457       !>jyg
    24412458       !
     2459       
     2460!!      print *,'physiq. q_w(1,k), q_x(1,k) ', &
     2461!!             (k, q_w(1,k), q_x(1,k),k=1,25)
     2462
    24422463!jyg<
    24432464       CALL alpale( debut, itap, dtime, paprs, omega, t_seri,   &
     
    28852906                ENDDO
    28862907             ENDDO
    2887           ENDIF
    2888 !
    2889           CALL add_wake_tend &
    2890               (d_deltat_the, d_deltaq_the, dsig0, ddens0, wkoccur1, 'the', abortphy)
    2891 !
     2908          !
     2909             CALL add_wake_tend &
     2910                 (d_deltat_the, d_deltaq_the, dsig0, ddens0, wkoccur1, 'the', abortphy)
     2911          !
     2912          ENDIF  ! (mod(iflag_pbl_split/2,2) .EQ. 1)
    28922913          !
    28932914          CALL add_phys_tend(d_u_ajs,d_v_ajs,d_t_ajs,d_q_ajs,  &
Note: See TracChangeset for help on using the changeset viewer.