Commit 92a74b26 authored by Sabine's avatar Sabine
Browse files

get_vdep_prob instead of advance

parent 7062fab6
......@@ -206,7 +206,7 @@ subroutine conccalc(itime,weight)
endif
endif
else ! attribution via uniform kernel
else ! attribution via uniform kernel
ddx=xl-real(ix) ! distance to left cell border
ddy=yl-real(jy) ! distance to lower cell border
......@@ -325,7 +325,7 @@ subroutine conccalc(itime,weight)
if ((itage.lt.10800).or.(xl.lt.0.5).or.(yl.lt.0.5).or. &
(xl.gt.real(numxgridn-1)-0.5).or. &
(yl.gt.real(numygridn-1)-0.5)) then ! no kernel, direct attribution to grid cell
(yl.gt.real(numygridn-1)-0.5).or.(usekernel.eq.0)) then ! no kernel, direct attribution to grid cell
if ((ix.ge.0).and.(jy.ge.0).and.(ix.le.numxgridn-1).and. &
(jy.le.numygridn-1)) then
if (DRYBKDEP.or.WETBKDEP) then
......
......@@ -19,46 +19,13 @@
! along with FLEXPART. If not, see <http://www.gnu.org/licenses/>. *
!**********************************************************************
subroutine advance_rec(itime,xt,yt,zt,prob)
subroutine get_vdep_prob(itime,xt,yt,zt,prob)
! i i i i o
!*****************************************************************************
! *
! Calculation of turbulent particle trajectories utilizing a *
! zero-acceleration scheme, which is corrected by a numerically more *
! accurate Petterssen scheme whenever possible. *
! Calculation of the probability for dyr deposition *
! *
! Particle positions are read in, incremented, and returned to the calling *
! program. *
! *
! In different regions of the atmosphere (PBL vs. free troposphere), *
! different parameters are needed for advection, parameterizing turbulent *
! velocities, etc. For efficiency, different interpolation routines have *
! been written for these different cases, with the disadvantage that there *
! exist several routines doing almost the same. They all share the *
! included file 'interpol_mod'. The following *
! interpolation routines are used: *
! *
! interpol_all(_nests) interpolates everything (called inside the PBL) *
! interpol_misslev(_nests) if a particle moves vertically in the PBL, *
! additional parameters are interpolated if it *
! crosses a model level *
! interpol_wind(_nests) interpolates the wind and determines the *
! standard deviation of the wind (called outside *
! PBL) also interpolates potential vorticity *
! interpol_wind_short(_nests) only interpolates the wind (needed for the *
! Petterssen scheme) *
! interpol_vdep(_nests) interpolates deposition velocities *
! *
! *
! Author: A. Stohl *
! *
! 16 December 1997 *
! *
! Changes: *
! *
! 8 April 2000: Deep convection parameterization *
! *
! May 2002: Petterssen scheme introduced *
! Particle positions are read in - prob returned *
! *
!*****************************************************************************
! *
......@@ -174,5 +141,5 @@ subroutine advance_rec(itime,xt,yt,zt,prob)
endif
end subroutine advance_rec
end subroutine get_vdep_prob
......@@ -19,7 +19,7 @@
! along with FLEXPART. If not, see <http://www.gnu.org/licenses/>. *
!**********************************************************************
subroutine get_wetscav(itime,ltsample,loutnext,jpart,grfraction,inc_count,blc_count,wetscav)
subroutine get_wetscav(itime,ltsample,loutnext,jpart,ks,grfraction,inc_count,blc_count,wetscav)
! i i i i o o
!*****************************************************************************
! *
......@@ -217,7 +217,6 @@ subroutine get_wetscav(itime,ltsample,loutnext,jpart,grfraction,inc_count,blc_co
! Computation of wet deposition
!**********************************************************
do ks=1,nspec ! loop over species
wetdeposit(ks)=0.
wetscav=0.
......@@ -337,7 +336,6 @@ subroutine get_wetscav(itime,ltsample,loutnext,jpart,grfraction,inc_count,blc_co
endif ! positive in-cloud scavenging parameters given in Species file
endif !incloud
end do ! loop over species
20 continue
end subroutine get_wetscav
......@@ -151,7 +151,8 @@ raerod.o readcommand.o \
drydepokernel.o readreceptors.o \
erf.o readavailable.o \
ew.o readreleases.o \
readdepo.o advance_rec.o \
readdepo.o get_vdep_prob.o \
get_wetscav.o \
psim.o outgrid_init.o \
outgrid_init_nest.o \
photo_O1D.o readlanduse.o \
......@@ -270,7 +271,7 @@ cleanall:
.SUFFIXES = $(SUFFIXES) .f90
## DEPENDENCIES
advance_rec.o: cmapf_mod.o com_mod.o hanna_mod.o interpol_mod.o par_mod.o \
get_vdep_prob.o: cmapf_mod.o com_mod.o hanna_mod.o interpol_mod.o par_mod.o \
point_mod.o random_mod.o
advance.o: cmapf_mod.o com_mod.o hanna_mod.o interpol_mod.o par_mod.o \
point_mod.o random_mod.o
......@@ -425,6 +426,7 @@ unc_mod.o: par_mod.o
verttransform.o: cmapf_mod.o com_mod.o par_mod.o
verttransform_gfs.o: cmapf_mod.o com_mod.o par_mod.o
verttransform_nests.o: com_mod.o par_mod.o
get_wetscav.o: com_mod.o par_mod.o point_mod.o
wetdepo.o: com_mod.o par_mod.o point_mod.o
wetdepokernel.o: com_mod.o par_mod.o unc_mod.o
wetdepokernel_nest.o: com_mod.o par_mod.o unc_mod.o
......
......@@ -566,9 +566,9 @@ subroutine timemanager
if (WETBKDEP) then
do ks=1,nspec
if ((xscav_frac1(j,ks).lt.0)) then
call get_wetscav(itime,lsynctime,loutnext,j,grfraction,idummy,idummy,wetscav)
call get_wetscav(itime,lsynctime,loutnext,j,ks,grfraction,idummy,idummy,wetscav)
if (wetscav(ks).gt.0) then
xscav_frac1(j,ks)=wetscav(ks)*(zpoint2(j)-zpoint1(j))
xscav_frac1(j,ks)=wetscav(ks)*(zpoint2(npoint(j))-zpoint1(npoint(j)))
else
xmass1(j,ks)=0.
xscav_frac1(j,ks)=0.
......
......@@ -102,11 +102,12 @@ subroutine wetdepo(itime,ltsample,loutnext)
end do
33 continue
do ks=1,nspec ! loop over species
!**************************************************
! CALCULATE DEPOSITION
!**************************************************
call get_wetscav(itime,ltsample,loutnext,jpart,grfraction,inc_count,blc_count,wetscav)
call get_wetscav(itime,ltsample,loutnext,jpart,ks,grfraction,inc_count,blc_count,wetscav)
if (wetscav.gt.0.) then
wetdeposit(ks)=xmass1(jpart,ks)* &
......@@ -135,6 +136,8 @@ subroutine wetdepo(itime,ltsample,loutnext)
wetdeposit(ks)=wetdeposit(ks)*exp(abs(ldeltat)*decay(ks))
endif
end do ! loop over species
! Sabine Eckhardt, June 2008 create deposition runs only for forward runs
! Add the wet deposition to accumulated amount on output grid and nested output grid
!*****************************************************************************
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment