Commit 6c5f3cab authored by Alastair McKinstry's avatar Alastair McKinstry

Flexpart 9.0.3

parent 949e210e
......@@ -103,7 +103,7 @@
1. Simulation direction, 1 for forward, -1 for backward in time
(consult Seibert and Frank, 2004 for backward runs)
(consult Seibert and Frank, 2004 for backward runs)
2. Beginning date and time of simulation. Must be given in format
YYYYMMDD HHMISS, where YYYY is YEAR, MM is MONTH, DD is DAY, HH is HOUR,
......
****************************************************************************
* *
* Input file for the Lagrangian particle dispersion model FLEXPART *
* Definition file of chemical species/radionuclides *
* *
****************************************************************************
Radioactivity Wet depo Dry depo (gases) Dry depo (particles) Dry depo OH React
SPECIES HALF LIFE [s] A B D H f0 rho dquer dsig vd molweight [cm^3/s]
50 TRACER1234567 1234.6 -2.4E-08 1.34 -2.4 1.3e-07 1.3 -2.4E07 1.3E-6 1.3E-6 -2.45 123.45 -2.4E-08
1 TRACER -999.9 -9.9E-09 -9.9 -9.9E09 -9.99 350.00 -9.9E-09
2 O3 -999.9 -9.9E-09 1.5 1.0e-02 1.0 -9.9E09 -9.99 48.00 -9.9E-09
3 NO -999.9 8.0E-06 0.62 1.2 3.0e-03 0.0 -9.9E09 -9.99 30.00 -9.9E-09
4 NO2 -999.9 1.0E-05 0.62 1.6 1.0e-02 0.1 -9.9E09 -9.99 46.00 -9.9E-09
5 HNO3 -999.9 5.0E-05 0.62 1.9 1.0e+14 0.0 -9.9E09 -9.99 63.00 -9.9E-09
6 HNO2 -999.9 -9.9E-09 1.6 1.0e+05 0.1 -9.9E09 -9.99 47.00 -9.9E-09
7 H2O2 -999.9 1.0E-04 0.62 1.4 1.0e+05 1.0 -9.9E09 -9.99 34.00 -9.9E-09
8 SO2 -999.9 -9.9E-09 0.62 2.0 1.0e+05 0.0 -9.9E09 -9.99 64.00 -9.9E-09
9 HCHO -999.9 -9.9E-09 1.3 6.0e+03 0.0 -9.9E09 -9.99 30.00 -9.9E-09
10 PAN -999.9 -9.9E-09 2.6 3.6e+00 0.1 -9.9E09 -9.99 121.00 -9.9E-09
11 NH3 -999.9 9.9E-05 0.62 1.1 2.0e+14 0.0 -9.9E09 -9.99 17.00 -9.9E-09
12 SO4-aero -999.9 5.0E-06 0.62 -9.9 2.0E03 4.0E-7 3.0E-1 -9.99 -9.99 -9.9E-09
13 NO3-aero -999.9 5.0E-06 0.62 -9.9 2.0E03 4.0E-7 3.0E-1 -9.99 -9.99 -9.9E-09
14 I2-131 691200.0 8.0E-05 0.62 2.7 1.0e+05 0.1 -9.9E09 -9.99 -9.99 -9.9E-09
15 I-131 691200.0 1.0E-04 0.80 -9.9 2.5E03 6.0E-7 3.0E-1 -9.99 -9.99 -9.9E-09
16 Cs-137 -999.9 1.0E-04 0.80 -9.9 2.5E03 6.0E-7 3.0E-1 -9.99 -9.99 -9.9E-09
17 Y-91 5037120.0 1.0E-04 0.80 -9.9 2.5E03 6.0E-7 3.0E-1 -9.99 -9.99 -9.9E-09
18 Ru-106 31536000.0 1.0E-04 0.80 -9.9 2.5E03 6.0E-7 3.0E-1 -9.99 -9.99 -9.9E-09
19 Kr-85 -999.9 -9.9E-09 -9.9 -9.9E09 -9.99 -9.99 -9.9E-09
20 Sr-90 -999.9 1.0E-04 0.80 -9.9 2.5E03 6.0E-7 3.0E-1 -9.99 -9.99 -9.9E-09
21 Xe-133 198720.0 -9.9E-09 -9.9 -9.9E09 -9.99 -9.99 -9.9E-09
22 CO -999.9 -9.9E-09 -9.9 -9.9E09 -9.99 28.00 1.5E-13
23 NO2TRACER -999.9 -9.9E-09 -9.9 -9.9E09 -9.99 46.00 -9.9E-09
24 AIRTRACER -999.9 -9.9E-09 -9.9 -9.9E09 -9.99 29.00 -9.9E-09
25 NA-CO -999.9 -9.9E-09 -9.9 -9.9E09 -9.99 28.00 -9.9E-09
26 EU-CO -999.9 -9.9E-09 -9.9 -9.9E09 -9.99 28.00 -9.9E-09
27 AS-CO -999.9 -9.9E-09 -9.9 -9.9E09 -9.99 28.00 -9.9E-09
28 SO2TRACER -999.9 -9.9E-09 -9.9 -9.9E09 -9.99 64.00 -9.9E-09
29 WET_TRAC -999.9 1E-04 0.62 -9.9 -9.9E09 -9.99 100.00 -9.9E-09
30 DRY_TRAC 3999.9 -9.9E-09 2.0 1.0e-02 1.0 -9.9E09 -9.99 100.00 -9.9E-09
31 PCB28 -999.9 5E-06 0.62 3.8 3.1e-00 0.0 -9.9E09 -9.99 257.54 1.1E-12
32 PCB101 -999.9 5E-06 0.62 4.3 3.2e-00 0.0 -9.9E09 -9.99 326.43 3.4E-13
33 PCB180 -999.9 5E-06 0.62 4.7 1.7e+01 0.0 -9.9E09 -9.99 395.32 1.1E-13
34 G-HCH -999.9 -9.9E-09 -9.9 -9.9E09 -9.99 999.99 9.9E-99
35 TEST 1000.0 1E-02 0.62 2.0 1.0e-02 1.0 -9.9E09 -9.99 100.00 1.0E+02
36 PCB28-TEST -999.9 -9.9E-09 0.62 -9.9 3.1e-00 0.0 -9.9E09 -9.99 257.54 1.1E-12
37 HNO3 -999.9 -8.0E-04 0.62 -9.9 -9.9E09 -9.99 63.00 -9.9E-09
13 landuse categories are related roughness length
--------------------------------------------------------
landuse comment z0
--------------------------------------------------------
1 Urban land 0.7
2 Agricultural land 0.1
3 Range land 0.1
4 Deciduous forest 1.
5 Coniferous forest 1.
6 Mixed forest including wetland 0.7
7 water, both salt and fresh 0.001
8 barren land mostly desert 0.01
9 nonforested wetland 0.1
10 mixed agricultural and range land 0.1
11 rocky open areas with low grow shrubs 0.05
12 snow and ice 0.001
13 rainforest 1.
13 landuse categories are related roughness length
--------------------------------------------------------
landuse comment z0
--------------------------------------------------------
1 Urban land 0.7
2 Agricultural land 0.1
3 Range land 0.1
4 Deciduous forest 1.
5 Coniferous forest 1.
6 Mixed forest including wetland 0.7
7 water, both salt and fresh 0.001
8 barren land mostly desert 0.01
9 nonforested wetland 0.1
10 mixed agricultural and range land 0.1
11 rocky open areas with low grow shrubs 0.05
12 snow and ice 0.001
13 rainforest 1.
......@@ -249,7 +249,7 @@ real function cgszll (strcmp, xlat,xlong)
ymerc = log((1. + slat) / (1. - slat))/2.
!efact = exp(ymerc)
!cgszll = 2. * strcmp(7) * exp (strcmp(1) * ymerc)
!c / (efact + 1./efact)
!c / (efact + 1./efact)
endif
cgszll = strcmp(7) * cos(radpdg * xlat) * exp(strcmp(1) *ymerc)
return
......
......@@ -969,7 +969,7 @@
ENTS=0.0
DO I=1,INB
ENTS=ENTS+(CPN(I)*FT(I)+LV(I)*FQ(I))* &
(PHCONV_HPA(I)-PHCONV_HPA(I+1))
(PHCONV_HPA(I)-PHCONV_HPA(I+1))
END DO
ENTS=ENTS/(PHCONV_HPA(1)-PHCONV_HPA(INB+1))
DO I=1,INB
......
......@@ -17,6 +17,10 @@
! *
! You should have received a copy of the GNU General Public License *
! along with FLEXPART. If not, see <http://www.gnu.org/licenses/>. *
! *
! 2018-05-28, P. Seibert: fix problem from ticket:49 related to *
! kind=dp *
! *
!**********************************************************************
! To be used, if the non-standard Fortran function erf does not exist on
......@@ -42,11 +46,11 @@ function gammln(xx)
integer :: j
real(kind=dp) :: x,tmp,ser,xx,gammln
real(KIND=dp) :: cof(6) = (/ &
real(kind=dp) :: cof(6) = (/ &
76.18009173_dp, -86.50532033_dp, 24.01409822_dp, &
-1.231739516_dp, .120858003e-2_dp, -.536382e-5_dp /)
real(KIND=dp) :: stp = 2.50662827465_dp
real(KIND=dp) :: half = 0.5_dp, one = 1.0_dp, fpf = 5.5_dp
real(kind=dp) :: stp = 2.50662827465_dp
real(kind=dp) :: half = 0.5_dp, one = 1.0_dp, fpf = 5.5_dp
x=xx-one
tmp=x+fpf
......@@ -56,7 +60,9 @@ function gammln(xx)
x=x+one
ser=ser+cof(j)/x
end do
gammln=tmp+log(stp*ser)
end function gammln
function gammp(a,x)
......@@ -65,17 +71,18 @@ function gammp(a,x)
real :: a, x, gln, gamser, gammp, gammcf
if(x .lt. 0. .or. a .le. 0.) then
if (x .lt. 0. .or. a .le. 0.) then
print*, 'gammp'
stop
end if
if(x.lt.a+1.)then
if (x .lt. a+1.) then
call gser(gamser,a,x,gln)
gammp=gamser
else
call gcf(gammcf,a,x,gln)
gammp=1.-gammcf
endif
end function gammp
function gammq(a,x)
......@@ -84,33 +91,37 @@ function gammq(a,x)
real :: a, x, gln, gamser, gammq, gammcf
if(x.lt.0..or.a.le.0.) then
if (x .lt. 0. .or. a .le. 0.) then
print*, 'gammq'
stop
end if
if(x.lt.a+1.)then
if (x .lt. a+1.) then
call gser(gamser,a,x,gln)
gammq=1.-gamser
else
call gcf(gammcf,a,x,gln)
gammq=gammcf
endif
end function gammq
subroutine gser(gamser,a,x,gln)
use par_mod, only: dp
implicit none
integer :: n
real :: gamser, a, x, gln, ap, summ, del
real, external :: gammln
real(kind=dp), external :: gammln
integer,parameter :: itmax=100
real,parameter :: eps=3.e-7
gln=gammln(a)
if(x.le.0.)then
if(x.lt.0.) then
gln=gammln(real(a,dp))
if (x .le. 0.) then
if (x .lt. 0.) then
print*, 'gser'
stop
end if
......@@ -124,25 +135,29 @@ subroutine gser(gamser,a,x,gln)
ap=ap+1.
del=del*x/ap
summ=summ+del
if(abs(del).lt.abs(summ)*eps)go to 1
if (abs(del) .lt. abs(summ)*eps) goto 1
end do
print*, 'gser: a too large, itmax too small'
stop
1 gamser=summ*exp(-x+a*log(x)-gln)
1 gamser=summ*exp(-x+a*log(x)-gln)
end subroutine gser
subroutine gcf(gammcf,a,x,gln)
use par_mod, only: dp
implicit none
integer :: n
real :: gammcf, a, x, gln, gold, a0, a1, b0, b1, fac, an, anf, ana, g
real, external :: gammln
real(kind=dp), external :: gammln
integer,parameter :: itmax=100
real,parameter :: eps=3.e-7
gln=gammln(a)
gln=gammln(real(a,kind=dp))
gold=0.
a0=1.
a1=x
......@@ -157,16 +172,18 @@ subroutine gcf(gammcf,a,x,gln)
anf=an*fac
a1=x*a0+anf*a1
b1=x*b0+anf*b1
if(a1.ne.0.)then
if (a1 .ne. 0.) then
fac=1./a1
g=b1*fac
if(abs((g-gold)/g).lt.eps)go to 1
if (abs((g-gold)/g) .lt. eps) goto 1
gold=g
endif
end do
print*, 'gcf: a too large, itmax too small'
stop
1 gammcf=exp(-x+a*alog(x)-gln)*g
1 gammcf=exp(-x+a*alog(x)-gln)*g
end subroutine gcf
function erf(x)
......@@ -190,11 +207,12 @@ function erfc(x)
real :: x, erfc
real, external :: gammp, gammq
if(x.lt.0.)then
erfc=1.+gammp(.5,x**2)
if (x .lt. 0.) then
erfc=1.+gammp(0.5,x**2)
else
erfc=gammq(.5,x**2)
erfc=gammq(0.5,x**2)
endif
end function erfc
function erfcc(x)
......@@ -208,5 +226,6 @@ function erfcc(x)
erfcc=t*exp(-z*z-1.26551223+t*(1.00002368+t*(.37409196+ &
t*(.09678418+t*(-.18628806+t*(.27886807+t*(-1.13520398+ &
t*(1.48851587+t*(-.82215223+t*.17087277)))))))))
if (x.lt.0.) erfcc=2.-erfcc
if (x .lt. 0.) erfcc=2.-erfcc
end function erfcc
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
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