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

    rf75967d r41d8574  
    251251!hg adding the cloud water
    252252  clwc(:,:,1,n)=clwch(:,:,1,n)
    253   ciwc(:,:,1,n)=ciwch(:,:,1,n)   
     253  if (.not.sumclouds) ciwc(:,:,1,n)=ciwch(:,:,1,n)   
    254254!hg
    255255  pv(:,:,1,n)=pvh(:,:,1)
     
    262262!hg adding the cloud water
    263263  clwc(:,:,nz,n)=clwch(:,:,nuvz,n)
    264   ciwc(:,:,nz,n)=ciwch(:,:,nuvz,n)
     264  if (.not.sumclouds) ciwc(:,:,nz,n)=ciwch(:,:,nuvz,n)
    265265!hg
    266266  pv(:,:,nz,n)=pvh(:,:,nuvz)
     
    280280!hg adding the cloud water
    281281          clwc(ix,jy,iz,n)=clwc(ix,jy,nz,n)
    282           ciwc(ix,jy,iz,n)=ciwc(ix,jy,nz,n)
     282          if (.not.sumclouds) ciwc(ix,jy,iz,n)=ciwc(ix,jy,nz,n)
    283283!hg
    284284          pv(ix,jy,iz,n)=pv(ix,jy,nz,n)
     
    310310!hg adding the cloud water
    311311          clwc(ix,jy,iz,n)=(clwch(ix,jy,kz-1,n)*dz2+clwch(ix,jy,kz,n)*dz1)/dz
    312           ciwc(ix,jy,iz,n)=(ciwch(ix,jy,kz-1,n)*dz2+ciwch(ix,jy,kz,n)*dz1)/dz
     312          if (.not.sumclouds) &
     313               &ciwc(ix,jy,iz,n)=(ciwch(ix,jy,kz-1,n)*dz2+ciwch(ix,jy,kz,n)*dz1)/dz
    313314!hg
    314315          pv(ix,jy,iz,n)=(pvh(ix,jy,kz-1)*dz2+pvh(ix,jy,kz)*dz1)/dz
     
    578579!***********************************************************************************
    579580    write(*,*) 'using cloud water from ECMWF'
    580     clw(:,:,:,n)=0
    581     icloud_stats(:,:,:,n)=0
     581    clw(:,:,:,n)=0.0
     582    icloud_stats(:,:,:,n)=0.0
    582583    clouds(:,:,:,n)=0
     584! If water/ice are read separately into clwc and ciwc, store sum in clwc
     585    if (.not.sumclouds) then
     586      clwc(:,:,:,n) = clwc(:,:,:,n) + ciwc(:,:,:,n)
     587    end if
    583588    do jy=0,nymin1
    584589      do ix=0,nxmin1
     
    635640!   create a cloud and rainout/washout field, clouds occur where rh>80%
    636641!   total cloudheight is stored at level 0
    637 ! if (.not.readclouds) write(*,*) 'using cloud water from Parameterization'
    638642    write(*,*) 'using cloud water from Parameterization'
    639643    do jy=0,nymin1
     
    676680    end do
    677681  endif !readclouds
     682
     683! eso: copy the relevant data to clw4 to reduce amount of communicated data for MPI
     684  clw4(:,:,n) = icloud_stats(:,:,4,n)
    678685
    679686     !********* TEST ***************
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG