source: flexpart.git/src/part0.f90 @ 3481cc1

10.4.1_peseiGFS_025bugfixes+enhancementsdevrelease-10release-10.4.1scaling-bug
Last change on this file since 3481cc1 was 3481cc1, checked in by Ignacio Pisso <ip@…>, 4 years ago

move license from headers to a different file

  • Property mode set to 100644
File size: 5.8 KB
Line 
1subroutine part0(dquer,dsigma,density,fract,schmi,cun,vsh)
2  !                  i      i       i      o     o    o   o
3  !*****************************************************************************
4  !                                                                            *
5  !      Calculation of time independent factors of the dry deposition of      *
6  !      particles:                                                            *
7  !      Log-Normal-distribution of mass [dM/dlog(dp)], unimodal               *
8  !                                                                            *
9  !      AUTHOR: Matthias Langer, adapted by Andreas Stohl, 13 November 1993   *
10  !                                                                            *
11  !      Literature:                                                           *
12  !      [1]  Scire/Yamartino/Carmichael/Chang (1989),                         *
13  !             CALGRID: A Mesoscale Photochemical Grid Model.                 *
14  !             Vol II: User's Guide. (Report No.A049-1, June, 1989)           *
15  !                                                                            *
16  !*****************************************************************************
17  !                                                                            *
18  ! Variables:                                                                 *
19  ! alpha            help variable                                             *
20  ! cun              'slip-flow' correction after Cunningham                   *
21  ! d01 [um]         upper diameter                                            *
22  ! d02 [um]         lower diameter                                            *
23  ! dc [m2/s]        coefficient of Brownian diffusion                         *
24  ! delta            distance given in standard deviation units                *
25  ! density [kg/m3]  density of the particle                                   *
26  ! dmean            geometric mean diameter of interval                       *
27  ! dquer [um]       geometric mass mean particle diameter                     *
28  ! dsigma           e.g. dsigma=10 or dsigma=0.1 means that 68% of the mass   *
29  !                  are between 0.1*dquer and 10*dquer                        *
30  ! fract(ni)        mass fraction of each diameter interval                   *
31  ! kn               Knudsen number                                            *
32  ! ni               number of diameter intervals, for which deposition        *
33  !                  is calculated                                             *
34  ! schmidt          Schmidt number                                            *
35  ! schmi            schmidt**2/3                                              *
36  ! vsh [m/s]        gravitational settling velocity of the particle           *
37  ! x01              normalized upper diameter                                 *
38  ! x02              normalized lower diameter                                 *
39  !                                                                            *
40  ! Constants:                                                                 *
41  ! g [m/s2]         Acceleration of gravity                                   *
42  ! kb [J/K]         Stefan-Boltzmann constant                                 *
43  ! lam [m]          mean free path of air molecules                           *
44  ! myl [kg/m/s]     dynamical viscosity of air                                *
45  ! nyl [m2/s]       kinematic viscosity of air                                *
46  ! tr               reference temperature                                     *
47  !                                                                            *
48  ! Function:                                                                  *
49  ! erf              calculates the integral of the Gauss function             *
50  !                                                                            *
51  !*****************************************************************************
52
53  use par_mod
54
55  implicit none
56
57  real,parameter :: tr=293.15
58
59  integer :: i
60  real :: dquer,dsigma,density,xdummy,d01,d02,delta,x01,x02,fract(ni)
61  real :: dmean,alpha,cun,dc,schmidt,schmi(ni),vsh(ni),kn,erf
62  real,parameter :: myl=1.81e-5,nyl=0.15e-4
63  real,parameter :: lam=6.53e-8,kb=1.38e-23,eps=1.2e-38
64
65
66  ! xdummy constant for all intervals
67  !**********************************
68
69  xdummy=sqrt(2.)*alog(dsigma)
70
71
72  ! particles diameters are split up to ni intervals between
73  ! dquer-3*dsigma and dquer+3*dsigma
74  !*********************************************************
75
76  delta=6./real(ni)
77
78  d01=dquer*dsigma**(-3)
79  do i=1,ni
80    d02=d01
81    d01=dquer*dsigma**(-3.+delta*real(i))
82    x01=alog(d01/dquer)/xdummy
83    x02=alog(d02/dquer)/xdummy
84    !print*,'part0:: d02=' , d02 , 'd01=', d01
85
86  ! Area under Gauss-function is calculated and gives mass fraction of interval
87  !****************************************************************************
88
89    fract(i)=0.5*(erf(x01)-erf(x02))
90    !print*,'part0:: fract(',i,')', fract(i)
91    !print*,'part0:: fract', fract(i), x01, x02, erf(x01), erf(x02)
92
93  ! Geometric mean diameter of interval in [m]
94  !*******************************************
95
96    dmean=1.E-6*exp(0.5*alog(d01*d02))
97    !print*,'part0:: dmean=', dmean
98
99  ! Calculation of time independent parameters of each interval
100  !************************************************************
101
102    kn=2.*lam/dmean
103    if ((-1.1/kn).le.log10(eps)*log(10.)) then
104      alpha=1.257
105    else
106      alpha=1.257+0.4*exp(-1.1/kn)
107    endif
108    cun=1.+alpha*kn
109    dc=kb*tr*cun/(3.*pi*myl*dmean)
110    schmidt=nyl/dc
111    schmi(i)=schmidt**(-2./3.)
112    vsh(i)=ga*density*dmean*dmean*cun/(18.*myl)
113
114    !print*,'part0:: vsh(',i,')', vsh(i)
115
116  end do
117
118  !stop 'part0'
119
120end subroutine part0
Note: See TracBrowser for help on using the repository browser.
hosted by ZAMG