Changeset c7e771d in flexpart.git


Ignore:
Timestamp:
Mar 1, 2017, 1:06:56 PM (7 years ago)
Author:
Sabine <sabine.eckhardt@…>
Branches:
master, 10.4.1_pesei, GFS_025, bugfixes+enhancements, dev, release-10, release-10.4.1, scaling-bug, univie
Children:
5f53d0e
Parents:
b85b020
Message:

interpolate the rain only in space and not in time

Location:
src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/get_wetscav.f90

    r0539b8f rc7e771d  
    123123    endif
    124124
    125 
    126125! Interpolate large scale precipitation, convective precipitation and
    127126! total cloud cover
    128127! Note that interpolated time refers to itime-0.5*ltsample [PS]
    129128!********************************************************************
    130     interp_time=nint(itime-0.5*ltsample)
     129    interp_time=nint(itime-0.5*ltsample)
     130
     131    n=memind(2)
     132    if (abs(memtime(1)-interp_time).lt.abs(memtime(2)-interp_time)) &
     133         n=memind(1)
    131134
    132135    if (ngrid.eq.0) then
    133136      call interpol_rain(lsprec,convprec,tcc,nxmax,nymax, &
    134            1,nx,ny,memind,real(xtra1(jpart)),real(ytra1(jpart)),1, &
     137           1,nx,ny,n,real(xtra1(jpart)),real(ytra1(jpart)),1, &
    135138           memtime(1),memtime(2),interp_time,lsp,convp,cc)
    136139    else
    137140      call interpol_rain_nests(lsprecn,convprecn,tccn, &
    138            nxmaxn,nymaxn,1,maxnests,ngrid,nxn,nyn,memind,xtn,ytn,1, &
     141           nxmaxn,nymaxn,1,maxnests,ngrid,nxn,nyn,n,xtn,ytn,1, &
    139142           memtime(1),memtime(2),interp_time,lsp,convp,cc)
    140143    endif
     
    153156!26  continue
    154157
    155     n=memind(2)
    156     if (abs(memtime(1)-interp_time).lt.abs(memtime(2)-interp_time)) &
    157          n=memind(1)
    158158
    159159    if (ngrid.eq.0) then
     
    227227        act_temp=tt(ix,jy,hz,n)
    228228      endif
    229 
    230229
    231230!***********************
     
    339338      endif !incloud
    340339
     340
    34134120  continue
    342342
  • src/interpol_rain.f90

    r8a65cb0 rc7e771d  
    2121
    2222subroutine interpol_rain(yy1,yy2,yy3,nxmax,nymax,nzmax,nx, &
    23        ny,memind,xt,yt,level,itime1,itime2,itime,yint1,yint2,yint3)
     23       ny,iwftouse,xt,yt,level,itime1,itime2,itime,yint1,yint2,yint3)
    2424  !                          i   i   i    i    i     i   i
    2525  !i    i    i  i    i     i      i      i     o     o     o
     
    7777  real :: ddx,ddy,rddx,rddy,dt1,dt2,dt,y1(2),y2(2),y3(2)
    7878  real :: xt,yt,yint1,yint2,yint3,p1,p2,p3,p4
     79  integer :: iwftouse
    7980
    8081
     
    113114  !***********************
    114115
    115   do m=1,2
    116     indexh=memind(m)
     116!  do m=1,2
     117    indexh=iwftouse
    117118
    118 
    119     y1(m)=p1*yy1(ix ,jy ,level,indexh) &
     119    y1(1)=p1*yy1(ix ,jy ,level,indexh) &
    120120         + p2*yy1(ixp,jy ,level,indexh) &
    121121         + p3*yy1(ix ,jyp,level,indexh) &
    122122         + p4*yy1(ixp,jyp,level,indexh)
    123     y2(m)=p1*yy2(ix ,jy ,level,indexh) &
     123    y2(1)=p1*yy2(ix ,jy ,level,indexh) &
    124124         + p2*yy2(ixp,jy ,level,indexh) &
    125125         + p3*yy2(ix ,jyp,level,indexh) &
    126126         + p4*yy2(ixp,jyp,level,indexh)
    127     y3(m)=p1*yy3(ix ,jy ,level,indexh) &
     127    y3(1)=p1*yy3(ix ,jy ,level,indexh) &
    128128         + p2*yy3(ixp,jy ,level,indexh) &
    129129         + p3*yy3(ix ,jyp,level,indexh) &
    130130         + p4*yy3(ixp,jyp,level,indexh)
    131   end do
     131!  end do
    132132
    133133
    134134  !************************************
    135   ! 2.) Temporal interpolation (linear)
     135  ! 2.) Temporal interpolation (linear) - skip to be consistent with clouds
    136136  !************************************
    137137
    138   dt1=real(itime-itime1)
    139   dt2=real(itime2-itime)
    140   dt=dt1+dt2
     138!  dt1=real(itime-itime1)
     139!  dt2=real(itime2-itime)
     140!  dt=dt1+dt2
    141141
    142   yint1=(y1(1)*dt2+y1(2)*dt1)/dt
    143   yint2=(y2(1)*dt2+y2(2)*dt1)/dt
    144   yint3=(y3(1)*dt2+y3(2)*dt1)/dt
     142!  yint1=(y1(1)*dt2+y1(2)*dt1)/dt
     143!  yint2=(y2(1)*dt2+y2(2)*dt1)/dt
     144!  yint3=(y3(1)*dt2+y3(2)*dt1)/dt
    145145
     146   yint1=y1(1)
     147   yint2=y2(1)
     148   yint3=y3(1)
    146149
    147150end subroutine interpol_rain
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG