Changeset 41d8574 in flexpart.git for src/readwind_mpi.f90


Ignore:
Timestamp:
Jan 15, 2016, 12:35:58 PM (8 years ago)
Author:
Espen Sollum ATMOS <eso@…>
Branches:
master, 10.4.1_pesei, GFS_025, bugfixes+enhancements, dev, release-10, release-10.4.1, scaling-bug, univie
Children:
fdc0f03
Parents:
d8107c2
Message:

bugfix: MPI version gave wrong wet deposition when using ECMWF cloud water fields. Cloud water in ECMWF fields now uses parameter qc, or reads clwc+ciwc. Added minmass variable as limit for terminating particles.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/readwind_mpi.f90

    rd6a0977 r41d8574  
    8383!HSO  end
    8484
    85   real(kind=4), intent(inout) :: uuh(0:nxmax-1,0:nymax-1,nuvzmax)
    86   real(kind=4), intent(inout) :: vvh(0:nxmax-1,0:nymax-1,nuvzmax)
    87   real(kind=4), intent(inout) :: wwh(0:nxmax-1,0:nymax-1,nwzmax)
     85  real(sp), intent(inout) :: uuh(0:nxmax-1,0:nymax-1,nuvzmax)
     86  real(sp), intent(inout) :: vvh(0:nxmax-1,0:nymax-1,nuvzmax)
     87  real(sp), intent(inout) :: wwh(0:nxmax-1,0:nymax-1,nwzmax)
    8888  integer, intent(in) :: indj,n
    8989  integer :: i,j,k,levdiff2,ifield,iumax,iwmax
     
    116116  hflswitch=.false.
    117117  strswitch=.false.
    118 !hg
     118!ZHG test the grib fields that have lcwc without using them
    119119!  readcloud=.false.
    120120!hg end
     
    200200    elseif ((parCat.eq.1).and.(parNum.eq.0).and.(typSurf.eq.105)) then ! Q
    201201      isec1(6)=133         ! indicatorOfParameter
    202 !ZHG ! READ CLOUD FIELD : assume these to be added together to one variable
     202! ESO Cloud water is in a) fields CLWC and CIWC, *or* b) field qc
    203203    elseif ((parCat.eq.1).and.(parNum.eq.83).and.(typSurf.eq.105)) then ! clwc
    204204      isec1(6)=246         ! indicatorOfParameter
    205 ! ICE AND WATER IS ADDED TOGETHER IN NEW WINDFIELDS
    206 !    elseif ((parCat.eq.1).and.(parNum.eq.84).and.(typSurf.eq.105)) then ! ciwc
    207 !      isec1(6)=247         ! indicatorOfParameter
    208 !ZHG end
     205    elseif ((parCat.eq.1).and.(parNum.eq.84).and.(typSurf.eq.105)) then ! ciwc
     206      isec1(6)=247         ! indicatorOfParameter
     207! ESO qc(=clwc+ciwc):
     208    elseif ((parCat.eq.201).and.(parNum.eq.31).and.(typSurf.eq.105)) then ! qc
     209      isec1(6)=201031         ! indicatorOfParameter
    209210    elseif ((parCat.eq.3).and.(parNum.eq.0).and.(typSurf.eq.1)) then !SP
    210211      isec1(6)=134         ! indicatorOfParameter
     
    373374        clwch(i,j,nlev_ec-k+2,n)=zsec4(nxfield*(ny-j-1)+i+1)
    374375        readclouds = .true.
    375 !if (clwch(i,j,nlev_ec-k+2,n) .gt. 0)        write(*,*) 'readwind: found water!', clwch(i,j,nlev_ec-k+2,n)
    376       endif
    377 !      if(isec1(6).eq.247) then  !! CIWC  Cloud ice water content
    378 !        ciwch(i,j,nlev_ec-k+2,n)=zsec4(nxfield*(ny-j-1)+i+1)
    379         !write(*,*) 'found ice!'
    380 !      endif
     376        sumclouds=.false.
     377      endif
     378      if(isec1(6).eq.247) then  !! CIWC  Cloud ice water content
     379        ciwch(i,j,nlev_ec-k+2,n)=zsec4(nxfield*(ny-j-1)+i+1)
     380      endif
    381381!ZHG end
     382!ESO read qc (=clwc+ciwc)
     383      if(isec1(6).eq.201031) then  !! QC  Cloud liquid water content [kg/kg]
     384        clwch(i,j,nlev_ec-k+2,n)=zsec4(nxfield*(ny-j-1)+i+1)
     385        readclouds=.true.
     386        sumclouds=.true.
     387      endif
    382388
    383389    end do
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG