drydepo_mod Module



Variables

Type Visibility Attributes Name Initial
real, public, allocatable, dimension(:,:,:) :: xlanduse
real, public, allocatable, dimension(:,:,:,:) :: xlandusen
real, public, allocatable, dimension(:,:,:,:) :: vdep
real, public, allocatable, dimension(:,:) :: z0_drydep
real, public, allocatable, dimension(:,:,:) :: z0_drydepn

Functions

public function raerod(l, ust, z0)

Read more…

Arguments

Type IntentOptional Attributes Name
real :: l
real :: ust
real :: z0

Return Value real


Subroutines

public subroutine alloc_drydepo()

Arguments

None

public subroutine dealloc_drydepo()

Arguments

None

public subroutine assignland()

Belward, A.S., Estes, J.E., and Kline, K.D., 1999, * The IGBP-DIS 1-Km Land-Cover Data Set DISCover: * A Project Overview: Photogrammetric Engineering and Remote Sensing , * v. 65, no. 9, p. 1013-1020 * * if there are no data in the inventory * the ECMWF land/sea mask is used to distinguish * between sea (-> ocean) and land (-> grasslands). * * Author: A. Stohl * * 5 December 1996 * 8 February 1999 Additional use of nests, A. Stohl * 29 December 2006 new landuse inventory, S. Eckhardt *

Read more…

Arguments

None

public subroutine drydepo_massloss(ipart, ks, ldeltat, drydepopart)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ipart
integer, intent(in) :: ks
integer, intent(in) :: ldeltat
real(kind=dep_prec), intent(out) :: drydepopart

public subroutine drydepokernel(nunc, deposit, x, y, nage, kp, thread)

Variables: * * nunc uncertainty class of the respective particle * nage age class of the respective particle * deposit amount (kg) to be deposited * *

Read more…

Arguments

Type IntentOptional Attributes Name
integer :: nunc
real(kind=dep_prec), dimension(maxspec) :: deposit
real :: x
real :: y
integer :: nage
integer :: kp
integer, intent(in) :: thread

public subroutine drydepokernel_nest(nunc, deposit, x, y, nage, kp, thread)

Variables: * * nunc uncertainty class of the respective particle * nage age class of the respective particle * deposit amount (kg) to be deposited * *

Read more…

Arguments

Type IntentOptional Attributes Name
integer :: nunc
real(kind=dep_prec), dimension(maxspec) :: deposit
real :: x
real :: y
integer :: nage
integer :: kp
integer, intent(in) :: thread

public subroutine part0(dquer, dsigma, density, ni, fract, schmi, cun, vsh)

Variables: * alpha help variable * cun 'slip-flow' correction after Cunningham * d01 [um] upper diameter * d02 [um] lower diameter * dc [m2/s] coefficient of Brownian diffusion * delta distance given in standard deviation units * density [kg/m3] density of the particle * dmean geometric mean diameter of interval * dquer [um] geometric mass mean particle diameter * dsigma e.g. dsigma=10 or dsigma=0.1 means that 68% of the mass * are between 0.1dquer and 10dquer * fract(ni) mass fraction of each diameter interval * kn Knudsen number * ni number of diameter intervals, for which deposition * is calculated * schmidt Schmidt number * schmi schmidt**2/3 * vsh [m/s] gravitational settling velocity of the particle * x01 normalized upper diameter * x02 normalized lower diameter * * Constants: * g [m/s2] Acceleration of gravity * kb [J/K] Stefan-Boltzmann constant * lam [m] mean free path of air molecules * myl [kg/m/s] dynamical viscosity of air * nyl [m2/s] kinematic viscosity of air * tr reference temperature * * Function: * erf calculates the integral of the Gauss function * *

Read more…

Arguments

Type IntentOptional Attributes Name
real :: dquer
real :: dsigma
real :: density
integer :: ni
real, intent(inout), dimension(ni) :: fract
real, intent(inout), dimension(ni) :: schmi
real :: cun
real, intent(inout), dimension(ni) :: vsh

public subroutine get_vdep_prob(itime, xt, yt, zt, tmpprob, ithread)

Calculation of the probability for dry deposition * * Particle positions are read in - prob returned * *

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: itime
real, intent(in) :: xt
real, intent(in) :: yt
real, intent(in) :: zt
real, intent(out) :: tmpprob(maxspec)
integer, intent(in) :: ithread

public subroutine drydepo_probability(ipart, dt, zts, vdepo, ithread)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ipart
real, intent(in) :: dt
real, intent(in) :: zts
real, intent(out) :: vdepo(maxspec)
integer, intent(in) :: ithread

public subroutine getvdep(n, ix, jy, ust, temp, pa, L, gr, rh, rr, snow, vdepo)

This routine calculates the dry deposition velocities. * * Author: A. Stohl * * 20 December 1996 * Sabine Eckhardt, Jan 07 * if the latitude is negative: add half a year to the julian day * *

Read more…

Arguments

Type IntentOptional Attributes Name
integer :: n
integer :: ix
integer :: jy
real :: ust
real :: temp
real :: pa
real :: L
real :: gr
real :: rh
real :: rr
real :: snow
real :: vdepo(maxspec)

public subroutine getvdep_nest(n, ix, jy, ust, temp, pa, L, gr, rh, rr, snow, vdepo, lnest)

This routine calculates the dry deposition velocities. * * Author: A. Stohl * * 20 December 1996 * Sabine Eckhardt, Jan 07 * if the latitude is negative: add half a year to the julian day * *

Read more…

Arguments

Type IntentOptional Attributes Name
integer :: n
integer :: ix
integer :: jy
real :: ust
real :: temp
real :: pa
real :: L
real :: gr
real :: rh
real :: rr
real :: snow
real :: vdepo(maxspec)
integer :: lnest

public subroutine partdep(nc, density, fract, schmi, vset, ra, ustar, nyl, rhoa, vdep_tmp)

Variables: * alpha help variable * fract(nc,ni) mass fraction of each diameter interval * lpdep(nc) 1 for particle deposition, 0 else * nc actual number of chemical components * ni number of diameter intervals, for which vdepj is calc. rdp [s/m] deposition layer resistance * ra [s/m] aerodynamical resistance * schmi(nc,ni) Schmidt number*2/3 of each diameter interval * stokes Stokes number * ustar [m/s] friction velocity * vdep_tmp(nc) [m/s] deposition velocities of all components * vdepj [m/s] help, deposition velocity of 1 interval * vset(nc,ni) gravitational settling velocity of each interval * * Constants: * nc number of chemical species * ni number of diameter intervals, for which deposition * is calculated * *

Read more…

Arguments

Type IntentOptional Attributes Name
integer :: nc
real, intent(in) :: density(maxspec)
real, intent(in) :: fract(maxspec,maxndia)
real :: schmi(maxspec,maxndia)
real, intent(in) :: vset(maxspec,maxndia)
real, intent(in) :: ra
real, intent(in) :: ustar
real, intent(in) :: nyl
real, intent(in) :: rhoa
real, intent(inout) :: vdep_tmp(maxspec)

public subroutine getrb(nc, ustar, nyl, diffh2o, reldiff, rb)

Calculation of the quasilaminar sublayer resistance to dry deposition. * * AUTHOR: Andreas Stohl, 20 May 1995 * *

Read more…

Arguments

Type IntentOptional Attributes Name
integer :: nc
real :: ustar
real :: nyl
real :: diffh2o
real :: reldiff(maxspec)
real :: rb(maxspec)

public subroutine getrc(nc, i, j, t, gr, rh, rr, rc)

Calculation of the surface resistance according to the procedure given * in: * Wesely (1989): Parameterization of surface resistances to gaseous * dry deposition in regional-scale numerical models. * Atmos. Environ. 23, 1293-1304. * * * AUTHOR: Andreas Stohl, 19 May 1995 * *

Read more…

Arguments

Type IntentOptional Attributes Name
integer :: nc
integer :: i
integer :: j
real :: t
real :: gr
real :: rh
real :: rr
real :: rc(maxspec)

Sabine Eckhardt, Dec 06: use 1E25 instead of 99999. for infinite res.

Read more…