Ignore:
Timestamp:
Jun 23, 2015, 11:33:09 AM (9 years ago)
Author:
jyg
Message:

Improved diagnostics: pmflxr and pmflxs are now
the true vertical profiles of liquid and solid
convective precipitation (previously they where
merely diagnosed through a test on temperature).
The convective scheme internal variable for ice
precipitation is Vprecipi.

File:
1 edited

Legend:

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

    r2259 r2306  
    6060! Ma---------output-R-adiabatic ascent mass flux (kg/m2/s)
    6161! mip--------output-R-mass flux shed by adiabatic ascent (kg/m2/s)
    62 ! Vprecip----output-R-vertical profile of precipitations (kg/m2/s)
     62! Vprecip----output-R-vertical profile of total precipitation (kg/m2/s)
    6363! Tconv------output-R-environment temperature seen by convective scheme (K)
    6464! Cape-------output-R-CAPE (J/kg)
     
    109109!!       REAL Ma(klon,klev), mip(klon,klev),Vprecip(klon,klev)     !jyg
    110110  REAL Ma(klon, klev), mip(klon, klev), Vprecip(klon, klev+1)      !jyg
     111  REAL Vprecipi(klon, klev+1)                                      !jyg
    111112  REAL wght(klon, klev)                                            !RL
    112113
     
    415416                    iflag, d_t, d_q, d_u, d_v, d_tra, rain, kbas, ktop, &
    416417                    cbmf, plcl, plfc, wbeff, sig1, w01, ptop2, sigd, &
    417                     Ma, mip, Vprecip, upwd, dnwd, dnwdbis, qcondc, wd, &
     418                    Ma, mip, Vprecip, Vprecipi, upwd, dnwd, dnwdbis, qcondc, wd, &
    418419                    cape, cin, tvp, &
    419420                    dd_t, dd_q, plim1, plim2, asupmax, supmax0, &
     
    476477    END DO
    477478  END DO
    478 !                                                   !jyg
    479 ! --Separation neige/pluie (pour diagnostics)       !jyg
    480   DO k = 1, klev                                    !jyg
    481     DO i = 1, klon                                  !jyg
    482       IF (t1(i,k)<rtt) THEN                         !jyg
    483         pmflxs(i, k) = Vprecip(i, k)                !jyg
    484       ELSE                                          !jyg
    485         pmflxr(i, k) = Vprecip(i, k)                !jyg
    486       END IF                                        !jyg
    487     END DO                                          !jyg
    488   END DO                                            !jyg
     479!                                                     !jyg
     480  IF (iflag_con == 30 .OR. iflag_ice_thermo ==0) THEN
     481! --Separation neige/pluie (pour diagnostics)         !jyg
     482    DO k = 1, klev                                    !jyg
     483      DO i = 1, klon                                  !jyg
     484        IF (t1(i,k)<rtt) THEN                         !jyg
     485          pmflxs(i, k) = Vprecip(i, k)                !jyg
     486        ELSE                                          !jyg
     487          pmflxr(i, k) = Vprecip(i, k)                !jyg
     488        END IF                                        !jyg
     489      END DO                                          !jyg
     490    END DO                                            !jyg
     491  ELSE
     492    DO k = 1, klev                                    !jyg
     493      DO i = 1, klon                                  !jyg
     494        pmflxs(i, k) = Vprecipi(i, k)                 !jyg
     495        pmflxr(i, k) = Vprecip(i, k)-Vprecipi(i, k)   !jyg
     496      END DO                                          !jyg
     497    END DO                                            !jyg
     498  ENDIF
    489499
    490500! c      IF (if_ebil.ge.2) THEN
Note: See TracChangeset for help on using the changeset viewer.