Changeset 41d8574 in flexpart.git for src/readwind.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.f90

    rd6a0977 r41d8574  
    190190    elseif ((parCat.eq.1).and.(parNum.eq.0).and.(typSurf.eq.105)) then ! Q
    191191      isec1(6)=133         ! indicatorOfParameter
    192 !ZHG ! READ CLOUD FIELD : assume these to be added together to one variable
     192! ESO Cloud water is in a) fields CLWC and CIWC, *or* b) field qc
    193193    elseif ((parCat.eq.1).and.(parNum.eq.83).and.(typSurf.eq.105)) then ! clwc
    194194      isec1(6)=246         ! indicatorOfParameter
    195 ! ICE AND WATER IS ADDED TOGETHER IN NEW WINDFIELDS
    196 !    elseif ((parCat.eq.1).and.(parNum.eq.84).and.(typSurf.eq.105)) then ! ciwc
    197 !      isec1(6)=247         ! indicatorOfParameter
    198 !ZHG end
     195    elseif ((parCat.eq.1).and.(parNum.eq.84).and.(typSurf.eq.105)) then ! ciwc
     196      isec1(6)=247         ! indicatorOfParameter
     197! ESO qc(=clwc+ciwc):
     198    elseif ((parCat.eq.201).and.(parNum.eq.31).and.(typSurf.eq.105)) then ! qc
     199      isec1(6)=201031         ! indicatorOfParameter
    199200    elseif ((parCat.eq.3).and.(parNum.eq.0).and.(typSurf.eq.1)) then !SP
    200201      isec1(6)=134         ! indicatorOfParameter
     
    360361      if(isec1(6).eq.135) iwmax=max(iwmax,nlev_ec-k+1)
    361362!ZHG READING CLOUD FIELDS ASWELL
     363! ESO TODO: add check for if one of clwc/ciwc missing (error),
     364! also if all 3 cw fields present, use qc and disregard the others
    362365      if(isec1(6).eq.246) then  !! CLWC  Cloud liquid water content [kg/kg]
    363366        clwch(i,j,nlev_ec-k+2,n)=zsec4(nxfield*(ny-j-1)+i+1)
    364         readclouds = .true.
     367        readclouds=.true.
     368        sumclouds=.false.
     369      endif
     370      if(isec1(6).eq.247) then  !! CIWC  Cloud ice water content
     371        ciwch(i,j,nlev_ec-k+2,n)=zsec4(nxfield*(ny-j-1)+i+1)
     372      endif
     373!ZHG end
     374!ESO read qc (=clwc+ciwc)
     375      if(isec1(6).eq.201031) then  !! QC  Cloud liquid water content [kg/kg]
     376        clwch(i,j,nlev_ec-k+2,n)=zsec4(nxfield*(ny-j-1)+i+1)
     377        readclouds=.true.
     378        sumclouds=.true.
    365379!if (clwch(i,j,nlev_ec-k+2,n) .gt. 0)        write(*,*) 'readwind: found water!', clwch(i,j,nlev_ec-k+2,n)
    366380      endif
    367 !      if(isec1(6).eq.247) then  !! CIWC  Cloud ice water content
    368 !        ciwch(i,j,nlev_ec-k+2,n)=zsec4(nxfield*(ny-j-1)+i+1)
    369         !write(*,*) 'found ice!'
    370 !      endif
    371 !ZHG end
    372381
    373382    end do
     
    427436!ZHG
    428437    call shift_field(clwch,nxfield,ny,nuvzmax,nuvz,2,n)
    429     call shift_field(ciwch,nxfield,ny,nuvzmax,nuvz,2,n)
     438    if (.not.sumclouds) call shift_field(ciwch,nxfield,ny,nuvzmax,nuvz,2,n)
    430439!ZHG end
    431440
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG