Ignore:
Timestamp:
Nov 13, 2012 5:11:03 PM (9 years ago)
Author:
hoffmann
Message:

two-moment cloud physics implemented

Location:
palm/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk

  • palm/trunk/SOURCE

  • palm/trunk/SOURCE/flow_statistics.f90

    r1037 r1053  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! necessary additions for two-moment cloud physics scheme:
     23! +nr, qr, qc, prr
    2324!
    2425! Former revisions:
     
    748749
    749750!
    750 !--             Buoyancy flux, water flux, humidity flux and liquid water
    751 !--             content
     751!--             Buoyancy flux, water flux, humidity flux, liquid water
     752!--             content, rain drop concentration and rain water content
    752753                IF ( humidity )  THEN
    753754                   IF ( cloud_physics .OR. cloud_droplets )  THEN
    754                       pts = 0.5 * ( vpt(k,j,i)   - hom(k,1,44,sr) + &
     755                      pts = 0.5 * ( vpt(k,j,i)   - hom(k,1,44,sr) +        &
    755756                                    vpt(k+1,j,i) - hom(k+1,1,44,sr) )
    756757                      sums_l(k,46,tn) = sums_l(k,46,tn) + pts * w(k,j,i) * &
    757758                                                          rmask(j,i,sr)
    758                       sums_l(k,54,tn) = sums_l(k,54,tn) + ql(k,j,i) * &
    759                                                           rmask(j,i,sr)
     759                      IF ( .NOT. cloud_droplets )  THEN
     760                         pts = 0.5 *                                          &
     761                              ( ( q(k,j,i) - ql(k,j,i) ) -                    &
     762                              hom(k,1,42,sr) +                                &
     763                              ( q(k+1,j,i) - ql(k+1,j,i) ) -                  &
     764                              hom(k+1,1,42,sr) )
     765                         sums_l(k,52,tn) = sums_l(k,52,tn) + pts * w(k,j,i) * &
     766                                                             rmask(j,i,sr)
     767                         IF ( icloud_scheme == 0  )  THEN
     768                            sums_l(k,54,tn) = sums_l(k,54,tn) + ( ql(k,j,i) + &
     769                                                                qr(k,j,i) ) * &
     770                                                                rmask(j,i,sr)
     771                            sums_l(k,73,tn) = sums_l(k,73,tn) + nr(k,j,i) *   &
     772                                                                rmask(j,i,sr)
     773                            sums_l(k,74,tn) = sums_l(k,74,tn) + qr(k,j,i) *   &
     774                                                                rmask(j,i,sr)
     775                            sums_l(k,75,tn) = sums_l(k,75,tn) + ql(k,j,i) *   &
     776                                                                rmask(j,i,sr)
     777                            sums_l(k,76,tn) = sums_l(k,76,tn) + prr(k,j,i) *  &
     778                                                                rmask(j,i,sr)
     779                         ELSE
     780                            sums_l(k,54,tn) = sums_l(k,54,tn) + ql(k,j,i) *   &
     781                                                                rmask(j,i,sr)
     782                         ENDIF
     783                      ELSE
     784                         sums_l(k,54,tn) = sums_l(k,54,tn) + ql(k,j,i) *      &
     785                                                             rmask(j,i,sr)
     786                      ENDIF
    760787                   ELSE
    761788                      IF( .NOT. ws_scheme_sca .OR. sr /= 0 )  THEN
     
    765792                                                             rmask(j,i,sr)
    766793                      ELSE IF ( ws_scheme_sca .AND. sr == 0 )  THEN
    767                          sums_l(k,46,tn) = ( 1.0 + 0.61 * hom(k,1,41,sr) ) * &
     794                         sums_l(k,46,tn) = ( 1.0 + 0.61 * hom(k,1,41,sr) ) *  &
    768795                                             sums_l(k,17,tn) +      &
    769796                                          0.61 * hom(k,1,4,sr) * sums_l(k,49,tn)
     
    11051132       hom(:,1,71,sr) = sums(:,71)     ! prho
    11061133       hom(:,1,72,sr) = hyp * 1E-4     ! hyp in dbar
     1134       hom(:,1,73,sr) = sums(:,73)     ! nr
     1135       hom(:,1,74,sr) = sums(:,74)     ! qr
     1136       hom(:,1,75,sr) = sums(:,75)     ! qc
     1137       hom(:,1,76,sr) = sums(:,76)     ! prr (precipitation rate)
    11071138
    11081139       hom(:,1,pr_palm-1,sr) = sums(:,pr_palm-1)
Note: See TracChangeset for help on using the changeset viewer.