source: trunk/LMDZ.MARS/libf/aeronomars/param_v4_h.F90 @ 1268

Last change on this file since 1268 was 1266, checked in by aslmd, 11 years ago

LMDZ.MARS
IMPORTANT CHANGE

  • Remove all reference/use of nlayermx and dimphys.h
  • Made use of automatic arrays whenever arrays are needed with dimension nlayer
  • Remove lots of obsolete reference to dimensions.h
  • Converted iono.h and param_v4.h into corresponding modules

(with embedded subroutine to allocate arrays)
(no arrays allocated if thermosphere not used)

  • Deleted param.h and put contents into module param_v4_h
  • Adapted testphys1d, newstart, etc...
  • Made DATA arrays in param_read to be initialized by subroutine

fill_data_thermos in module param_v4_h

  • Optimized computations in paramfoto_compact (twice less dlog10 calculations)
  • Checked consistency before/after modification in debug mode
  • Checked performance is not impacted (same as before)
File size: 16.5 KB
Line 
1MODULE param_v4_h
2
3   IMPLICIT NONE
4
5   integer, parameter :: ninter=36
6   integer, parameter :: nabs=13
7   integer, parameter :: nz2=253
8   integer, parameter :: ninter2=16
9   real*8, parameter :: kboltzman = 1.381e-16
10   real*8, parameter :: n_avog = 6.023e23
11   real*8, parameter :: gg = 6.67259e-8
12   real*8, parameter :: masa = 6.4163e26
13   real*8, parameter :: radio = 3390.
14   integer, parameter :: nreact=93
15   integer, parameter :: tapas=42
16
17   real crscabsi2(nabs,16)    !cross section
18   real c1_16(nz2,16)   !Col. int. 1 (o2+o+h2+n) (cm^-2)
19   real c17_24(nz2)     !Col. int. 17-24 (co2+o2+n2+no+co+no2) (cm^-2)
20   real c25_29(nz2)     !Col. int. 25-29 (co2+o2+h2o+h2o2+no+co+no2) (cm^-2)
21   real c30_31(nz2)     !Col. int. 30-31 (co2+o2+h2o+h2o2+no+no2)
22   real c32(nz2)        !col. int. 32 (co2+h2o2+o2+no+no2) (cm^-2)
23   real c33(nz2)        !col. int. 33 (h2o2+o2+no2) (cm^-2)
24   real c34(nz2)        !col. int. 34 (h2o2+o2+o3+no2) (cm^-2)
25   real c35(nz2)        !col. int. 35 (h2o2+o3+no2) (cm^-2)
26   real c36(nz2)        !col. int. 36 (o3+no2) (cm^-2)
27   real co2crsc195(9)
28   real co2crsc295(9)
29   real t0(nz2)
30   real fluxtop(ninter)
31   real freccen(ninter)          !representative wavelenght
32   real jabsifotsintpar(nz2,nabs,ninter)
33   real e107,date_e107(669),e107_tab(669)
34   real coefit0(ninter,nabs),coefit1(ninter,nabs)
35   real coefit2(ninter,nabs)
36   real coefit3(ninter,nabs),coefit4(ninter,nabs)
37
38   !reaction rates
39   real*8 ch2, ch3, ch4, ch5, ch7,ch9,ch10,ch11,ch13,ch14,ch15,ch18
40   real*8 ch19,ch20,ch21,ch22,ch23,ch24,ch30,ch31,ch32,ch33,ch34
41   real*8 ch35,ch36,ch37,ch38,ch39,ch40,ch41,ch42,ch43,ch45
42   real*8 ch46,ch47,ch48,ch49,ch50,ch55,ch56,ch57,ch58,ch59,ch62
43   real*8 ch63,ch64,ch65,ch66,ch67,ch68,ch69,ch70,ch71
44   real*8 ch72,ch73,ch74,ch75,ch76,ch85,ch86,ch87
45   real*8 rcoef(61,3)
46
47   real fluxtophr(ninter)
48   real ct1(ninter),p1(ninter),ct2(ninter),p2(ninter)
49
50   real efdisco2(ninter), efdiso2(ninter), efdish2o(ninter)
51   real efdish2o2(ninter), efdish2(ninter), efdiso3(ninter)
52   real efdiso(ninter), efdisn(ninter), efdish(ninter)
53   real efdisno(ninter), efdisn2(ninter), efdisno2(ninter)
54   real efdisco(ninter)
55   real efionco2(ninter,4)
56   real efionn2(ninter,2)
57   real efionco(ninter,3)
58   real efiono3p(ninter),efionn(ninter)
59   real efionno(ninter),efionh(ninter)
60
61   !photodissociation rates
62   REAL,SAVE,ALLOCATABLE :: jfotsout(:,:,:)
63   REAL,SAVE,ALLOCATABLE :: jdistot(:,:)
64   REAL,SAVE,ALLOCATABLE :: jdistot_b(:,:)
65   REAL,SAVE,ALLOCATABLE :: jion(:,:,:)
66
67   REAL*8,SAVE,ALLOCATABLE :: Pco2(:,:)
68   REAL*8,SAVE,ALLOCATABLE :: Po2(:,:)
69   REAL*8,SAVE,ALLOCATABLE :: Po3p(:,:)
70   REAL*8,SAVE,ALLOCATABLE :: Pco(:,:)
71   REAL*8,SAVE,ALLOCATABLE :: Ph(:,:)
72   REAL*8,SAVE,ALLOCATABLE :: Poh(:,:)
73   REAL*8,SAVE,ALLOCATABLE :: Pho2(:,:)
74   REAL*8,SAVE,ALLOCATABLE :: Ph2(:,:)
75   REAL*8,SAVE,ALLOCATABLE :: Ph2o(:,:)
76   REAL*8,SAVE,ALLOCATABLE :: Po1d(:,:)
77   REAL*8,SAVE,ALLOCATABLE :: Ph2o2(:,:)
78   REAL*8,SAVE,ALLOCATABLE :: Po3(:,:)
79   REAL*8,SAVE,ALLOCATABLE :: Pn(:,:)
80   REAL*8,SAVE,ALLOCATABLE :: Pno(:,:)
81   REAL*8,SAVE,ALLOCATABLE :: Pno2(:,:)
82   REAL*8,SAVE,ALLOCATABLE :: Pn2(:,:)
83   REAL*8,SAVE,ALLOCATABLE :: Pn2d(:,:)
84   REAL*8,SAVE,ALLOCATABLE :: Pco2plus(:,:)
85   REAL*8,SAVE,ALLOCATABLE :: Poplus(:,:)
86   REAL*8,SAVE,ALLOCATABLE :: Po2plus(:,:)
87   REAL*8,SAVE,ALLOCATABLE :: Pelect(:,:)
88   REAL*8,SAVE,ALLOCATABLE :: Pcoplus(:,:)
89   REAL*8,SAVE,ALLOCATABLE :: Pcplus(:,:)
90   REAL*8,SAVE,ALLOCATABLE :: Pnplus(:,:)
91   REAL*8,SAVE,ALLOCATABLE :: Pnoplus(:,:)
92   REAL*8,SAVE,ALLOCATABLE :: Pn2plus(:,:)
93   REAL*8,SAVE,ALLOCATABLE :: Phplus(:,:)
94   REAL*8,SAVE,ALLOCATABLE :: Phco2plus(:,:)
95   REAL*8,SAVE,ALLOCATABLE :: Pco2tot(:)
96   REAL*8,SAVE,ALLOCATABLE :: Po2tot(:)
97   REAL*8,SAVE,ALLOCATABLE :: Po3ptot(:)
98   REAL*8,SAVE,ALLOCATABLE :: Pcotot(:)
99   REAL*8,SAVE,ALLOCATABLE :: Phtot(:)
100   REAL*8,SAVE,ALLOCATABLE :: Pohtot(:)
101   REAL*8,SAVE,ALLOCATABLE :: Pho2tot(:)
102   REAL*8,SAVE,ALLOCATABLE :: Ph2tot(:)
103   REAL*8,SAVE,ALLOCATABLE :: Ph2otot(:)
104   REAL*8,SAVE,ALLOCATABLE :: Po1dtot(:)
105   REAL*8,SAVE,ALLOCATABLE :: Ph2o2tot(:)
106   REAL*8,SAVE,ALLOCATABLE :: Po3tot(:)
107   REAL*8,SAVE,ALLOCATABLE :: Pntot(:)
108   REAL*8,SAVE,ALLOCATABLE :: Pnotot(:)
109   REAL*8,SAVE,ALLOCATABLE :: Pno2tot(:)
110   REAL*8,SAVE,ALLOCATABLE :: Pn2tot(:)
111   REAL*8,SAVE,ALLOCATABLE :: Pn2dtot(:)
112   REAL*8,SAVE,ALLOCATABLE :: Pco2plustot(:)
113   REAL*8,SAVE,ALLOCATABLE :: Poplustot(:)
114   REAL*8,SAVE,ALLOCATABLE :: Po2plustot(:)
115   REAL*8,SAVE,ALLOCATABLE :: Pelecttot(:)
116   REAL*8,SAVE,ALLOCATABLE :: Pcoplustot(:)
117   REAL*8,SAVE,ALLOCATABLE :: Pcplustot(:)
118   REAL*8,SAVE,ALLOCATABLE :: Pnplustot(:)
119   REAL*8,SAVE,ALLOCATABLE :: Pnoplustot(:)
120   REAL*8,SAVE,ALLOCATABLE :: Pn2plustot(:)
121   REAL*8,SAVE,ALLOCATABLE :: Phplustot(:)
122   REAL*8,SAVE,ALLOCATABLE :: Phco2plustot(:)
123   REAL*8,SAVE,ALLOCATABLE :: Lco2(:,:)
124   REAL*8,SAVE,ALLOCATABLE :: Lo2(:,:)
125   REAL*8,SAVE,ALLOCATABLE :: Lo3p(:,:)
126   REAL*8,SAVE,ALLOCATABLE :: Lco(:,:)
127   REAL*8,SAVE,ALLOCATABLE :: Lh(:,:)
128   REAL*8,SAVE,ALLOCATABLE :: Loh(:,:)
129   REAL*8,SAVE,ALLOCATABLE :: Lho2(:,:)
130   REAL*8,SAVE,ALLOCATABLE :: Lh2(:,:)
131   REAL*8,SAVE,ALLOCATABLE :: Lh2o(:,:)
132   REAL*8,SAVE,ALLOCATABLE :: Lo1d(:,:)
133   REAL*8,SAVE,ALLOCATABLE :: Lh2o2(:,:)
134   REAL*8,SAVE,ALLOCATABLE :: Lo3(:,:)
135   REAL*8,SAVE,ALLOCATABLE :: Ln(:,:)
136   REAL*8,SAVE,ALLOCATABLE :: Lno(:,:)
137   REAL*8,SAVE,ALLOCATABLE :: Lno2(:,:)
138   REAL*8,SAVE,ALLOCATABLE :: Ln2(:,:)
139   REAL*8,SAVE,ALLOCATABLE :: Ln2d(:,:)
140   REAL*8,SAVE,ALLOCATABLE :: Lco2plus(:,:)
141   REAL*8,SAVE,ALLOCATABLE :: Loplus(:,:)
142   REAL*8,SAVE,ALLOCATABLE :: Lo2plus(:,:)
143   REAL*8,SAVE,ALLOCATABLE :: Lelect(:,:)
144   REAL*8,SAVE,ALLOCATABLE :: Lcoplus(:,:)
145   REAL*8,SAVE,ALLOCATABLE :: Lcplus(:,:)
146   REAL*8,SAVE,ALLOCATABLE :: Lnplus(:,:)
147   REAL*8,SAVE,ALLOCATABLE :: Lnoplus(:,:)
148   REAL*8,SAVE,ALLOCATABLE :: Ln2plus(:,:)
149   REAL*8,SAVE,ALLOCATABLE :: Lhplus(:,:)
150   REAL*8,SAVE,ALLOCATABLE :: Lhco2plus(:,:)
151   REAL*8,SAVE,ALLOCATABLE :: Lco2tot(:)
152   REAL*8,SAVE,ALLOCATABLE :: Lo2tot(:)
153   REAL*8,SAVE,ALLOCATABLE :: Lo3ptot(:)
154   REAL*8,SAVE,ALLOCATABLE :: Lcotot(:)
155   REAL*8,SAVE,ALLOCATABLE :: Lhtot(:)
156   REAL*8,SAVE,ALLOCATABLE :: Lohtot(:)
157   REAL*8,SAVE,ALLOCATABLE :: Lho2tot(:)
158   REAL*8,SAVE,ALLOCATABLE :: Lh2tot(:)
159   REAL*8,SAVE,ALLOCATABLE :: Lh2otot(:)
160   REAL*8,SAVE,ALLOCATABLE :: Lo1dtot(:)
161   REAL*8,SAVE,ALLOCATABLE :: Lh2o2tot(:)
162   REAL*8,SAVE,ALLOCATABLE :: Lo3tot(:)
163   REAL*8,SAVE,ALLOCATABLE :: Lntot(:)
164   REAL*8,SAVE,ALLOCATABLE :: Lnotot(:)
165   REAL*8,SAVE,ALLOCATABLE :: Lno2tot(:)
166   REAL*8,SAVE,ALLOCATABLE :: Ln2tot(:)
167   REAL*8,SAVE,ALLOCATABLE :: Ln2dtot(:)
168   REAL*8,SAVE,ALLOCATABLE :: Lco2plustot(:)
169   REAL*8,SAVE,ALLOCATABLE :: Loplustot(:)
170   REAL*8,SAVE,ALLOCATABLE :: Lo2plustot(:)
171   REAL*8,SAVE,ALLOCATABLE :: Lelecttot(:)
172   REAL*8,SAVE,ALLOCATABLE :: Lcoplustot(:)
173   REAL*8,SAVE,ALLOCATABLE :: Lcplustot(:)
174   REAL*8,SAVE,ALLOCATABLE :: Lnplustot(:)
175   REAL*8,SAVE,ALLOCATABLE :: Lnoplustot(:)
176   REAL*8,SAVE,ALLOCATABLE :: Ln2plustot(:)
177   REAL*8,SAVE,ALLOCATABLE :: Lhplustot(:)
178   REAL*8,SAVE,ALLOCATABLE :: Lhco2plustot(:)
179   REAL*8,SAVE,ALLOCATABLE :: tminco2(:)
180   REAL*8,SAVE,ALLOCATABLE :: tmino2(:)
181   REAL*8,SAVE,ALLOCATABLE :: tmino3p(:)
182   REAL*8,SAVE,ALLOCATABLE :: tminco(:)
183   REAL*8,SAVE,ALLOCATABLE :: tminh(:)
184   REAL*8,SAVE,ALLOCATABLE :: tminoh(:)
185   REAL*8,SAVE,ALLOCATABLE :: tminho2(:)
186   REAL*8,SAVE,ALLOCATABLE :: tminh2(:)
187   REAL*8,SAVE,ALLOCATABLE :: tminh2o(:)
188   REAL*8,SAVE,ALLOCATABLE :: tmino1d(:)
189   REAL*8,SAVE,ALLOCATABLE :: tminh2o2(:)
190   REAL*8,SAVE,ALLOCATABLE :: tmino3(:)
191   REAL*8,SAVE,ALLOCATABLE :: tminn(:)
192   REAL*8,SAVE,ALLOCATABLE :: tminno(:)
193   REAL*8,SAVE,ALLOCATABLE :: tminno2(:)
194   REAL*8,SAVE,ALLOCATABLE :: tminn2(:)
195   REAL*8,SAVE,ALLOCATABLE :: tminn2d(:)
196   REAL*8,SAVE,ALLOCATABLE :: tminco2plus(:)
197   REAL*8,SAVE,ALLOCATABLE :: tminoplus(:)
198   REAL*8,SAVE,ALLOCATABLE :: tmino2plus(:)
199   REAL*8,SAVE,ALLOCATABLE :: tmincoplus(:)
200   REAL*8,SAVE,ALLOCATABLE :: tmincplus(:)
201   REAL*8,SAVE,ALLOCATABLE :: tminnplus(:)
202   REAL*8,SAVE,ALLOCATABLE :: tminnoplus(:)
203   REAL*8,SAVE,ALLOCATABLE :: tminn2plus(:)
204   REAL*8,SAVE,ALLOCATABLE :: tminhplus(:)
205   REAL*8,SAVE,ALLOCATABLE :: tminhco2plus(:)
206
207   CONTAINS
208
209      SUBROUTINE fill_data_thermos
210
211      IMPLICIT NONE
212
213      ! data for the UV heating tabulation
214
215      crscabsi2(1,1:16) = (/ 5.61031E-19,1.59677E-18,4.7072E-18,&
216          1.48254e-17,2.07445e-17,2.573e-17,2.901e-17,3.083e-17,&
217          3.217e-17,3.539e-17,3.658e-17,3.63e-17,3.41239e-17,&
218          2.71019e-17,4.93677e-17,1.64e-17 /)
219
220      crscabsi2(2,1:16) = (/ 0.27250E-18,0.11650E-17,0.39250E-17,&
221          0.10630E-16,0.15590E-16,0.17180E-16,0.19270E-16,0.22860E-16,&
222          0.24270E-16,0.24440E-16,0.25020E-16,0.26600E-16,0.25400E-16,&
223          0.35800E-16,0.25590E-16,0.16740E-16 /)
224
225      crscabsi2(3,1:16) = (/ 0.2776E-18,0.9792E-18,0.3313E-17,&
226          0.6621E-17,0.8481E-17,0.9146E-17,0.9414E-17,0.1039E-16,&
227          0.1012E-16,0.1033E-16,0.1033E-16,0.1033E-16,0.8268E-17,&
228          0.6563E-17,0.3506E-17,0.3470E-17 /)
229
230      crscabsi2(5,1:16) = (/ .5E-20,.1077607E-19,.5670491E-19,&
231          .3322716E-18,.1054509E-17,.1700005E-17,.3171188E-17,&
232          .4734241E-17,.5108741E-17,.6022236E-17,.6741537E-17,&
233          .7277079E-17,.9070787E-17,.9708916E-17,.4026281E-17,0.0 /)
234
235      crscabsi2(8,1:16) = (/ 0.0, 7.44175e-19, 2.23167e-18,&
236          8.46200e-18,1.18275e-17,1.54900e-17,2.32475e-17,2.41373e-17,&
237          2.55482e-17,2.38431e-17,2.28600e-17,2.35067e-17,2.56000e-17,&
238          2.64636e-17,2.86260e-17,3.26561e-17 /)
239
240      crscabsi2(9,1:16) = (/ 3.48182e-20,3.37038e-19,1.03077e-18,&
241          4.01364e-18,6.45e-18,7.8e-18,1.0e-17,1.13500e-17,1.15500e-17,&
242          1.18000e-17,1.17500e-17,1.16000e-17,1.28667e-17,1.18500e-17,&
243          1.11000e-17,9.50000e-18 /)
244
245      crscabsi2(10,1:16) = (/ 0.0,9.39833e-19,2.87714e-18,&
246          9.66900e-18,1.37063e-17,1.61820e-17,2.30450e-17,2.63373e-17,&
247          2.63773e-17,2.67677e-17,2.64100e-17,2.53000e-17,2.18100e-17,&
248          2.04941e-17,2.28160e-17,2.93550e-17 /)
249
250      crscabsi2(11,1:16) = (/ 0.0,9.58555e-19,2.52767e-18,&
251          8.29700e-18,1.21850e-17,1.40500e-17,1.97025e-17,2.12018e-17,&
252          2.14673e-17,2.20331e-17,2.21500e-17,2.21600e-17,2.33200e-17,&
253          2.67800e-17,2.56400e-17,3.58561e-17 /)
254
255      crscabsi2(12,1:16) = (/ 0.0,1.0e-20,2.5e-20,1.30400e-19,&
256          2.93800e-19,4.36000e-19,8.49400e-19,1.29400e-18,1.40500e-18,&
257          1.67600e-18,1.93400e-18,2.12200e-18,2.75800e-18,3.48400e-18,&
258          4.17200e-18,5.26000e-18 /)
259
260      crscabsi2(13,1:16) = (/ 0.0,1.60e-18,4.99111e-18,1.48496e-17,&
261          2.17395e-17,2.55857e-17,2.87754e-17,3.65571e-17,3.85691e-17,&
262          4.16286e-17,4.15117e-17,4.05901e-17,3.64000e-17,2.99670e-17,&
263          2.46796e-17,2.51789e-17 /)
264
265      freccen(1:ninter)=(/ 3.4,7.5,14.5,23.0,30.3,34.1,&
266           49.6,50.5,52.5,56.0,&
267           59.0,61.5,68.7,73.1,78.4,83.1,92.4,97.5,99.3,100.1,100.7,102.1,&
268           104.5,116.8,121.3,127.0,130.6,153.7,162.8,171.4,&
269           195.6,206.3,222.0,236.0,289.0,600. /)
270
271      co2crsc195(1:9)=(/ 2.05864e-17,5.90557e-20,3.1027e-19,6.70653e-19,&
272           4.55132e-19,8.87122e-20,1.32138e-20,7.22244e-23,2.88002e-26 /)
273
274      co2crsc295(1:9)=(/2.05897e-17,6.71104e-20,3.45509e-19,7.45711e-19,&
275           4.82752e-19,1.11594e-19,1.98308e-20,1.3853e-22,2.1414e-25 /)
276
277      END SUBROUTINE fill_data_thermos
278
279      SUBROUTINE allocate_param_thermos(nlayer)
280
281        IMPLICIT NONE
282
283        INTEGER :: nlayer
284        allocate(jdistot(nabs,nlayer))   
285        allocate(jdistot_b(nabs,nlayer))
286        allocate(jion(nabs,nlayer,4))
287        allocate(jfotsout(ninter,nabs,nlayer))
288        allocate(Pco2(nlayer,nreact))
289        allocate(Po2(nlayer,nreact))
290        allocate(Po3p(nlayer,nreact))
291        allocate(Pco(nlayer,nreact))
292        allocate(Ph(nlayer,nreact))
293        allocate(Poh(nlayer,nreact))
294        allocate(Pho2(nlayer,nreact))
295        allocate(Ph2(nlayer,nreact))
296        allocate(Ph2o(nlayer,nreact))
297        allocate(Po1d(nlayer,nreact))
298        allocate(Ph2o2(nlayer,nreact))
299        allocate(Po3(nlayer,nreact))
300        allocate(Pn(nlayer,nreact))
301        allocate(Pno(nlayer,nreact))
302        allocate(Pno2(nlayer,nreact))
303        allocate(Pn2(nlayer,nreact))
304        allocate(Pn2d(nlayer,nreact))
305        allocate(Pco2plus(nlayer,nreact))
306        allocate(Poplus(nlayer,nreact))
307        allocate(Po2plus(nlayer,nreact))
308        allocate(Pelect(nlayer,nreact))
309        allocate(Pcoplus(nlayer,nreact))
310        allocate(Pcplus(nlayer,nreact))
311        allocate(Pnplus(nlayer,nreact))
312        allocate(Pnoplus(nlayer,nreact))
313        allocate(Pn2plus(nlayer,nreact))
314        allocate(Phplus(nlayer,nreact))
315        allocate(Phco2plus(nlayer,nreact))
316        allocate(Pco2tot(nlayer))
317        allocate(Po2tot(nlayer))
318        allocate(Po3ptot(nlayer))
319        allocate(Pcotot(nlayer))
320        allocate(Phtot(nlayer))
321        allocate(Pohtot(nlayer))
322        allocate(Pho2tot(nlayer))
323        allocate(Ph2tot(nlayer))
324        allocate(Ph2otot(nlayer))
325        allocate(Po1dtot(nlayer))
326        allocate(Ph2o2tot(nlayer))
327        allocate(Po3tot(nlayer))
328        allocate(Pntot(nlayer))
329        allocate(Pnotot(nlayer))
330        allocate(Pno2tot(nlayer))
331        allocate(Pn2tot(nlayer))
332        allocate(Pn2dtot(nlayer))
333        allocate(Pco2plustot(nlayer))
334        allocate(Poplustot(nlayer))
335        allocate(Po2plustot(nlayer))
336        allocate(Pelecttot(nlayer))
337        allocate(Pcoplustot(nlayer))
338        allocate(Pcplustot(nlayer))
339        allocate(Pnplustot(nlayer))
340        allocate(Pnoplustot(nlayer))
341        allocate(Pn2plustot(nlayer))
342        allocate(Phplustot(nlayer))
343        allocate(Phco2plustot(nlayer))
344        allocate(Lco2(nlayer,nreact))
345        allocate(Lo2(nlayer,nreact))
346        allocate(Lo3p(nlayer,nreact))
347        allocate(Lco(nlayer,nreact))
348        allocate(Lh(nlayer,nreact))
349        allocate(Loh(nlayer,nreact))
350        allocate(Lho2(nlayer,nreact))
351        allocate(Lh2(nlayer,nreact))
352        allocate(Lh2o(nlayer,nreact))
353        allocate(Lo1d(nlayer,nreact))
354        allocate(Lh2o2(nlayer,nreact))
355        allocate(Lo3(nlayer,nreact))
356        allocate(Ln(nlayer,nreact))
357        allocate(Lno(nlayer,nreact))
358        allocate(Lno2(nlayer,nreact))
359        allocate(Ln2(nlayer,nreact))
360        allocate(Ln2d(nlayer,nreact))
361        allocate(Lco2plus(nlayer,nreact))
362        allocate(Loplus(nlayer,nreact))
363        allocate(Lo2plus(nlayer,nreact))
364        allocate(Lelect(nlayer,nreact))
365        allocate(Lcoplus(nlayer,nreact))
366        allocate(Lcplus(nlayer,nreact))
367        allocate(Lnplus(nlayer,nreact))
368        allocate(Lnoplus(nlayer,nreact))
369        allocate(Ln2plus(nlayer,nreact))
370        allocate(Lhplus(nlayer,nreact))
371        allocate(Lhco2plus(nlayer,nreact))
372        allocate(Lco2tot(nlayer))
373        allocate(Lo2tot(nlayer))
374        allocate(Lo3ptot(nlayer))
375        allocate(Lcotot(nlayer))
376        allocate(Lhtot(nlayer))
377        allocate(Lohtot(nlayer))
378        allocate(Lho2tot(nlayer))
379        allocate(Lh2tot(nlayer))
380        allocate(Lh2otot(nlayer))
381        allocate(Lo1dtot(nlayer))
382        allocate(Lh2o2tot(nlayer))
383        allocate(Lo3tot(nlayer))
384        allocate(Lntot(nlayer))
385        allocate(Lnotot(nlayer))
386        allocate(Lno2tot(nlayer))
387        allocate(Ln2tot(nlayer))
388        allocate(Ln2dtot(nlayer))
389        allocate(Lco2plustot(nlayer))
390        allocate(Loplustot(nlayer))
391        allocate(Lo2plustot(nlayer))
392        allocate(Lelecttot(nlayer))
393        allocate(Lcoplustot(nlayer))
394        allocate(Lcplustot(nlayer))
395        allocate(Lnplustot(nlayer))
396        allocate(Lnoplustot(nlayer))
397        allocate(Ln2plustot(nlayer))
398        allocate(Lhplustot(nlayer))
399        allocate(Lhco2plustot(nlayer))
400        allocate(tminco2(nlayer))
401        allocate(tmino2(nlayer))
402        allocate(tmino3p(nlayer))
403        allocate(tminco(nlayer))
404        allocate(tminh(nlayer))
405        allocate(tminoh(nlayer))
406        allocate(tminho2(nlayer))
407        allocate(tminh2(nlayer))
408        allocate(tminh2o(nlayer))
409        allocate(tmino1d(nlayer))
410        allocate(tminh2o2(nlayer))
411        allocate(tmino3(nlayer))
412        allocate(tminn(nlayer))
413        allocate(tminno(nlayer))
414        allocate(tminno2(nlayer))
415        allocate(tminn2(nlayer))
416        allocate(tminn2d(nlayer))
417        allocate(tminco2plus(nlayer))
418        allocate(tminoplus(nlayer))
419        allocate(tmino2plus(nlayer))
420        allocate(tmincoplus(nlayer))
421        allocate(tmincplus(nlayer))
422        allocate(tminnplus(nlayer))
423        allocate(tminnoplus(nlayer))
424        allocate(tminn2plus(nlayer))
425        allocate(tminhplus(nlayer))
426        allocate(tminhco2plus(nlayer))
427
428      END SUBROUTINE allocate_param_thermos
429
430END MODULE param_v4_h
Note: See TracBrowser for help on using the repository browser.