SURFEX  V8_0
Surfex V8_0 release
 All Classes Files Functions Variables
modd_chs_aerosol.F90
Go to the documentation of this file.
1 !SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2 !SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3 !SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
4 !SFX_LIC for details. version 1.
5 !! ######################
7 !! ######################
8 !!
9 !! PURPOSE
10 !! -------
11 !!
12 !! declaration of variables and types for the aerosol system in the
13 !! surface meteo-france scheme
14 !!
15 !! METHOD
16 !! ------
17 !!
18 !!
19 !! REFERENCE
20 !! ---------
21 !! none
22 !!
23 !!
24 !! AUTHOR
25 !! ------
26 !! P. Tulet (CNRM)
27 !!
28 !!
29 !! MODIFICATIONS
30 !! -------------
31 !!
32 !!--------------------------------------------------------------------
33 !! DECLARATIONS
34 !! ------------
35 IMPLICIT NONE
36 !
37 ! aerosol mode parameters
38 LOGICAL :: LCH_AERO_FLUX = .FALSE. ! switch to active pronostic aerosols
39 !
40 LOGICAL :: LCO2PM = .FALSE. ! switch to active primary emission derived from CO
41 
42 LOGICAL :: LVARSIGI = .FALSE. ! switch to active pronostic dispersion for I mode
43 LOGICAL :: LVARSIGJ = .FALSE. ! switch to active pronostic dispersion for J mode
44 
45 !
46 INTEGER, PARAMETER :: JPMODE=2 ! number of modes
47 INTEGER, PARAMETER :: JPIN=JPMODE*3 ! number of differential equations
48 INTEGER, SAVE, DIMENSION(JPMODE) :: NM0,NM3,NM6 ! index of the moments in arrays
49 !
50 !* indices of Aerosol chemical parameters
51 !
52 INTEGER, PARAMETER :: NSP=4 ! number of chemical species
53  ! for ARES or isorropia NSP=4 these are
54 INTEGER, PARAMETER :: JP_AER_SO4 = 1
55 INTEGER, PARAMETER :: JP_AER_NO3 = 2
56 INTEGER, PARAMETER :: JP_AER_NH3 = 3
57 INTEGER, PARAMETER :: JP_AER_H2O = 4
58 !
59 INTEGER, PARAMETER :: JP_AER_SO4g = JP_AER_SO4
60 INTEGER, PARAMETER :: JP_AER_NO3g = JP_AER_NO3
61 INTEGER, PARAMETER :: JP_AER_NH3g = JP_AER_NH3
62 !
63 INTEGER, PARAMETER :: NCARB=3 ! number of chemically inert species
64  ! (like black carbon)
65 INTEGER, PARAMETER :: JP_AER_OC = 5
66 INTEGER, PARAMETER :: JP_AER_BC = 6
67 INTEGER, PARAMETER :: JP_AER_DST = 7
68 
69 INTEGER :: NSOA = 10 ! number of condensable species that may form
70  ! secondary aerosols
71 INTEGER :: NM6_AER = 2 ! number of condensable species that may form
72  ! secondary aerosols
73 INTEGER :: JP_AER_SOA1 = 8
74 INTEGER :: JP_AER_SOA2 = 9
75 INTEGER :: JP_AER_SOA3 = 10
76 INTEGER :: JP_AER_SOA4 = 11
77 INTEGER :: JP_AER_SOA5 = 12
78 INTEGER :: JP_AER_SOA6 = 13
79 INTEGER :: JP_AER_SOA7 = 14
80 INTEGER :: JP_AER_SOA8 = 15
81 INTEGER :: JP_AER_SOA9 = 16
82 INTEGER :: JP_AER_SOA10 = 17
83 
84  CHARACTER(LEN=32),DIMENSION(:), ALLOCATABLE :: CAERONAMES
85 
86 INTEGER :: JP_CH_SO4I = 1
87 INTEGER :: JP_CH_SO4J = 2
88 INTEGER :: JP_CH_NO3I = 3
89 INTEGER :: JP_CH_NO3J = 4
90 INTEGER :: JP_CH_NH3I = 5
91 INTEGER :: JP_CH_NH3J = 6
92 INTEGER :: JP_CH_H2OI = 7
93 INTEGER :: JP_CH_H2OJ = 8
94 INTEGER :: JP_CH_OCI = 9
95 INTEGER :: JP_CH_OCJ = 10
96 INTEGER :: JP_CH_BCI = 11
97 INTEGER :: JP_CH_BCJ = 12
98 INTEGER :: JP_CH_DSTI = 13
99 INTEGER :: JP_CH_DSTJ = 14
100 INTEGER :: JP_CH_SOA1I = 15
101 INTEGER :: JP_CH_SOA1J = 16
102 INTEGER :: JP_CH_SOA2I = 17
103 INTEGER :: JP_CH_SOA2J = 18
104 INTEGER :: JP_CH_SOA3I = 19
105 INTEGER :: JP_CH_SOA3J = 20
106 INTEGER :: JP_CH_SOA4I = 21
107 INTEGER :: JP_CH_SOA4J = 22
108 INTEGER :: JP_CH_SOA5I = 23
109 INTEGER :: JP_CH_SOA5J = 24
110 INTEGER :: JP_CH_SOA6I = 25
111 INTEGER :: JP_CH_SOA6J = 26
112 INTEGER :: JP_CH_SOA7I = 27
113 INTEGER :: JP_CH_SOA7J = 28
114 INTEGER :: JP_CH_SOA8I = 29
115 INTEGER :: JP_CH_SOA8J = 30
116 INTEGER :: JP_CH_SOA9I = 31
117 INTEGER :: JP_CH_SOA9J = 32
118 INTEGER :: JP_CH_SOA10I = 33
119 INTEGER :: JP_CH_SOA10J = 34
120 INTEGER :: JP_CH_M0I = 35
121 INTEGER :: JP_CH_M0J = 36
122 INTEGER :: JP_CH_M6I = 37
123 INTEGER :: JP_CH_M6J = 38
124 
125 !INTEGER, PARAMETER :: JPNN=NSP+NSOA+NCARB
126 
127 ! Index for gas species which interact with aerosols
128 INTEGER :: JP_CH_HNO3, JP_CH_H2SO4, JP_CH_NH3, JP_CH_O3, JP_CH_CO, &
129  JP_CH_URG1, JP_CH_URG2, JP_CH_RPG2, JP_CH_RP18, JP_CH_UR26,&
130  JP_CH_RPG3, JP_CH_URG4, JP_CH_UR8, JP_CH_UR17, JP_CH_UR7, JP_CH_URG6, &
131  JP_CH_ARAC, JP_CH_URG7, JP_CH_RPG7, JP_CH_RPR7, JP_CH_URG8, JP_CH_UR19, &
132  JP_CH_URG9, JP_CH_URG10, JP_CH_PAN8, JP_CH_UR22, JP_CH_RPR4, JP_CH_AP7, &
133  JP_CH_RPR3, JP_CH_UR21, JP_CH_UR28, JP_CH_UR29, JP_CH_UR30, &
134  JP_CH_RPR9, JP_CH_RP12, JP_CH_UR3, JP_CH_UR23, JP_CH_UR31, JP_CH_AP1, &
135  JP_CH_AP6, JP_CH_ADAC, JP_CH_UR2, JP_CH_UR14, JP_CH_UR27, JP_CH_RP14, &
136  JP_CH_RP19, JP_CH_UR11, JP_CH_UR15, JP_CH_AP10, JP_CH_UR20, JP_CH_UR34, &
137  JP_CH_AP11, JP_CH_AP12, JP_CH_UR5, JP_CH_UR6, JP_CH_AP8
138 
139 INTEGER :: JP_CH_H2O2, JP_CH_SO2, JP_CH_SO42M
140 !
141 
142 
143 
144 ! Molar mass of each aerosols parents (in kg/mol)
145 REAL, PARAMETER :: XHNO3=63.01287
146 REAL, PARAMETER :: XNH3 =17.03061
147 REAL, PARAMETER :: XURG1=88.
148 REAL, PARAMETER :: XURG2=1.76981E+02
149 REAL, PARAMETER :: XRPG2=1.68000E+02
150 REAL, PARAMETER :: XRP18=1.84000E+02
151 REAL, PARAMETER :: XRPG3=1.53772E+02
152 REAL, PARAMETER :: XURG4=1.95867E+02
153 REAL, PARAMETER :: XUR17=1.72000E+02
154 REAL, PARAMETER :: XRPR3=1.86000E+02
155 REAL, PARAMETER :: XAP7 =2.33000E+02
156 REAL, PARAMETER :: XURG6=1.89153E+02
157 REAL, PARAMETER :: XUR22=2.12000E+02
158 REAL, PARAMETER :: XURG7=1.56781E+02
159 REAL, PARAMETER :: XRPR4=1.67000E+02
160 REAL, PARAMETER :: XRPR7=1.50000E+02
161 REAL, PARAMETER :: XRPG7=1.96059E+02
162 REAL, PARAMETER :: XURG8=1.73777E+02
163 REAL, PARAMETER :: XURG9=2.61676E+02
164 REAL, PARAMETER :: XUR26=1.68000E+02
165 REAL, PARAMETER :: XURG10=2.14834E+02
166 REAL, PARAMETER :: XUR7=1.68000E+02
167 REAL, PARAMETER :: XUR8=1.84000E+02
168 REAL, PARAMETER :: XPAN8=2.63000E+02
169 REAL, PARAMETER :: XARAC=1.32000E+02
170 REAL, PARAMETER :: XUR19=1.70000E+02
171 
172 
173 
174 !
175 REAL :: XEMISRADIUSI = 0.036 ! mean radius of primary aerosol
176  ! emission for I mode
177 REAL :: XEMISRADIUSJ = 0.385 ! mean radius of primary aerosol
178  ! emission for J mode
179 REAL :: XEMISSIGI = 1.86 ! dispersion of primary aerosol
180  ! emission for I mode
181 REAL :: XEMISSIGJ = 1.29 ! dispersion of primary aerosol
182  ! emission for J mode
183  CHARACTER*4 :: CRGUNIT = 'NUMB' ! type of log-normal geometric mean radius given
184 ! ! in nameliste (mass on number)
185 
186 
187 
188 !----------------------------------------------------------------------------
189 !
190 !* constants
191 !
192 REAL, PARAMETER :: XPBOLTZ=1.380658e-23 ! Boltzmann constant (J/K)
193 REAL, PARAMETER :: XAVOGADRO=6.0221367E+23 ! Avogadro constant
194 REAL, PARAMETER :: XMD = 28.9644E-3 ! Air mass molarity
195 
196 !
197 END MODULE modd_chs_aerosol