source: trunk/LMDZ.MARS/libf/phymars/nlte_commons.h @ 706

Last change on this file since 706 was 498, checked in by emillour, 13 years ago

Mars GCM: Cleanup of the NLTE routines which have been packed together to limit the number of files.
Also enforced that file names are non-capitalized (needed by the create_make_gcm scripts to better evaluate dependencies when building the makefile).
FGG+EM

File size: 12.0 KB
Line 
1c****************************************************************************
2c
3c       Merging of different common blocks used in the new NLTE 15um param
4c
5c       jan 2012    fgg+malv
6c****************************************************************************
7c *** Old nlte_atm.h ***
8c Subgrid atmosphere interpolated
9c
10        common /atm_nl/ zl, t, pl, sh, nt, co2, n2, co, o3p, o2, h2, ar,
11     @    co2vmr, n2vmr, covmr, o3pvmr,hrkday_factor
12
13        real zl(nl), t(nl), pl(nl), nt(nl),  sh(nl),
14     @    co2(nl), n2(nl), co(nl), o3p(nl), o2(nl), h2(nl), ar(nl),
15     @    co2vmr(nl),n2vmr(nl),covmr(nl),o3pvmr(nl),hrkday_factor(nl)
16
17c Subgrid atmosphere obtained from the input atmosphere and limited to the
18c NLTE grid. Only used for computing transmitances. 
19c
20        common /atm_ny/ zy, ty, py, nty, co2y, coy
21        real zy(nzy), ty(nzy), py(nzy), nty(nzy), co2y(nzy), coy(nzy)
22
23c
24        common/deltazetas/ deltaz, deltazy, 
25     @        jlowerboundary, jtopboundary
26        real    deltaz, deltazy
27        integer jlowerboundary, jtopboundary
28
29
30c *** Old nlte_results.h ***
31c Next common: parameter that decides which level populations
32c are already known and therefore are read and used in this program.
33        common/input_avilable_from/ input_cza, input_czb, input_czc, 
34     @                              input_czco
35        integer input_cza, input_czb, input_czc, input_czco
36
37c temperatura vibracional de entrada:
38        common/temp626/ v626t1,v626t2,v626t3,v626t4, 
39     @                  v626t5,v626t6,v626t7,v626t8
40        common/temp628/ v628t1, v628t2, v628t3, v628t4
41        common/temp636/ v636t1, v636t2, v636t3, v636t4
42        common/temp627/ v627t1, v627t2, v627t3, v627t4
43        common/tempco/ vcot1, vcot2, vcot3, vcot4, v63t1,v63t2,v63t3
44        real*8 v626t4(nl), v628t4(nl), v636t4(nl), v627t4(nl)
45        real*8 v626t1(nl), v626t2(nl), v626t3(nl) 
46        real*8 v626t5(nl), v626t6(nl), v626t7(nl), v626t8(nl)
47        real*8 v628t1(nl), v628t2(nl), v628t3(nl) 
48        real*8 v636t1(nl), v636t2(nl), v636t3(nl) 
49        real*8 v627t1(nl), v627t2(nl), v627t3(nl) 
50        real*8 vcot1(nl), vcot2(nl), vcot3(nl), vcot4(nl)
51        real*8 v63t1(nl), v63t2(nl), v63t3(nl)
52
53c output de cza.for
54        common /tv15um/ vt11, vt12, vt13,
55     @                  vt21, vt22, vt23,
56     @                  vt31, vt32, vt33,
57     @                  vt41, vt42, vt43
58        real*8  vt11(nl), vt12(nl), vt13(nl),
59     @          vt21(nl), vt22(nl), vt23(nl),
60     @          vt31(nl), vt32(nl), vt33(nl),
61     @          vt41(nl), vt42(nl), vt43(nl)
62
63        common /hr15um/ hr110,hr210,hr310,hr410,
64     @                  hr121,hr221,hr321,hr421,
65     @                  hr132,hr232,hr332,hr432
66        real*8  hr110(nl),hr121(nl),hr132(nl),
67     @          hr210(nl),hr310(nl),hr410(nl),
68     @          hr221(nl),hr232(nl),hr321(nl),
69     @          hr332(nl),hr421(nl),hr432(nl)
70
71        common/sf15um/ el11,el12,el13, el21,el22,el23,
72     @          el31,el32,el33, el41,el42,el43
73        real*8 el11(nl), el12(nl), el13(nl)
74        real*8 el21(nl), el22(nl), el23(nl)
75        real*8 el31(nl), el32(nl), el33(nl)
76        real*8 el41(nl), el42(nl), el43(nl)
77
78        common/sl15um/ sl110,sl121,sl132, sl210,sl221,sl232,
79     @          sl310,sl321,sl332, sl410,sl421,sl432
80        real*8 sl110(nl), sl121(nl), sl132(nl)
81        real*8 sl210(nl), sl221(nl), sl232(nl)
82        real*8 sl310(nl), sl321(nl), sl332(nl)
83        real*8 sl410(nl), sl421(nl), sl432(nl)
84
85
86c *** Old nlte_matrix.h***
87c curtis matrix de cza:
88        common/curtis_matrixes_15um/ c110,c121, c210,
89     @          c310, c410,
90     @          vc110,vc121, vc210,
91     @          vc310, vc410
92        real*8 c110(nl,nl), c121(nl,nl)
93        real*8 c210(nl,nl)
94        real*8 c310(nl,nl)
95        real*8 c410(nl,nl)
96        real*8 vc110(nl), vc121(nl)
97        real*8 vc210(nl), vc310(nl), vc410(nl)
98 
99        common/curtis_matr_up_15um/ 
100     @          cup110,cup121
101        real*8 cup110(nl,nl), cup121(nl,nl)
102
103        common/curtis_matr_dw_15um/ 
104     @          cdw110,cdw121
105        real*8 cdw110(nl,nl), cdw121(nl,nl)
106
107        common/curtis_matr_taugr_15um/
108     @          taugr110,taugr121
109        real*8 taugr110(nl), taugr121(nl)
110       
111! for the new flux formulation:
112!
113!
114        common/tauinf_15um/ tauinf121,
115     @          tauinf210,tauinf310,tauinf410,tauinf110
116        real*8 tauinf121(nl)
117        real*8 tauinf210(nl), tauinf310(nl), tauinf410(nl)
118        real*8 tauinf110(nl)
119
120! for the cool-to-space formulation:
121!
122        common/taustar_15um/ taustar11, taustar21, taustar31, 
123     @         taustar41, taustar12
124        real*8 taustar11(nl), taustar21(nl), taustar31(nl)
125        real*8 taustar41(nl), taustar12(nl)
126
127        common/tauii_15um/ tauii110, tauii210, tauii310, 
128     @         tauii410, tauii121
129        real*8 tauii110(nl), tauii210(nl), tauii310(nl)
130        real*8 tauii410(nl), tauii121(nl)
131
132! for the name of the C.Matrix files
133!
134        common/cm_names/ fileroot
135        character        fileroot*3
136
137
138c *** Old nlte_rates.h ***
139        common/rates_vt/ k7a(4),k7b(4), k7ap(4),k7bp(4), 
140     @          k3aa(4),k3ab(4),k3ac(4), k3aap(4),k3abp(4),k3acp(4),
141     @          k3ba(4),k3bb(4),k3bc(4), k3bap(4),k3bbp(4),k3bcp(4),
142     @          k19aa(4),k19ab(4),k19ac(4), k19aap(4),k19abp(4),k19acp(4),
143     @          k19ba(4),k19bb(4),k19bc(4), k19bap(4),k19bbp(4),k19bcp(4),
144     @          k19ca(4),k19cb(4),k19cc(4), k19cap(4),k19cbp(4),k19ccp(4),
145     @          k20a(4),k20b(4),k20c(4), k20ap(4),k20bp(4),k20cp(4),
146     @          k27a,k27b,k27c, k27ap,k27bp,k27cp
147
148        real*8 k7a,k7b, k7ap,k7bp
149        real*8 k3aa,k3ab,k3ac, k3aap,k3abp,k3acp
150        real*8 k3ba,k3bb,k3bc, k3bap,k3bbp,k3bcp
151        real*8 k19aa,k19ab,k19ac, k19aap,k19abp,k19acp
152        real*8 k19ba,k19bb,k19bc, k19bap,k19bbp,k19bcp
153        real*8 k19ca,k19cb,k19cc, k19cap,k19cbp,k19ccp
154        real*8 k20a,k20b,k20c, k20ap,k20bp,k20cp
155        real*8 k27a,k27b,k27c, k27ap,k27bp,k27cp
156
157        common/rates_vv/ k1(4),k1p(4), 
158     @          k2a,k2b, k2x,k2y,k2z, k2xp,k2yp,k2zp,
159     @          k6,k6p, k6a(2:4),k6b(2:4), k6ap(2:4),k6bp(2:4),
160     @          k21a,k21ap, k21a1(2:4),k21a2(2:4), k21a1p(2:4),k21a2p(2:4),
161     @          k21b(4),k21c(4), k21bp(4),k21cp(4),
162     @          k31,k32,
163     @          k33a1,k33a2,k33b1,k33b2,k33c, 
164     @          k33a1p(2:4),k33a2p(2:4),k33b1p(2:4),k33b2p(2:4),k33cp(2:4),
165     @          k28a,k28b,k28c, k28ap,k28bp,k28cp,
166     @          k26a,k26b,k26c,k26d, k26ap(4),k26bp(4),k26cp(4),k26dp(4), 
167     @          k41p_taylor, k41p_shved, k41p_starr_hannock, 
168     @          k41_1,k41p_1, k41_2,k41p_2, k42,k42p
169
170        real*8 k1,k1p
171        real*8 k2a,k2b, k2x,k2y,k2z, k2xp,k2yp,k2zp
172        real*8 k6,k6p, k6a,k6b, k6ap,k6bp
173        real*8 k21a,k21ap, k21a1,k21a2, k21a1p,k21a2p
174        real*8 k21b,k21c, k21bp,k21cp
175        real*8 k31,k32
176        real*8 k33a1,k33a2,k33b1,k33b2,k33c
177        real*8 k33a1p,k33a2p,k33b1p,k33b2p,k33cp
178        real*8 k28a,k28b,k28c, k28ap,k28bp,k28cp
179        real*8 k26a,k26b,k26c,k26d, k26ap,k26bp,k26cp,k26dp
180        real*8 k41p_taylor, k41p_shved, k41p_starr_hannock
181        real*8 k41_1,k41p_1, k41_2,k41p_2, k42,k42p
182
183
184        common/rates_k26isot/ k26a21,k26c21,k26d21, 
185     @     k26a22,k26c22,k26d22, k26a23,k26c23,k26d23, 
186     @     k26a24,k26c24,k26d24, 
187     @     k26a32,k26c32,k26d32, k26a33,k26c33,k26d33, 
188     @     k26a31,k26c31,k26d31, 
189     @     k26a34,k26c34,k26d34, k26a42,k26c42,k26d42, 
190     @     k26a41,k26c41,k26d41, 
191     @     k26a43,k26c43,k26d43, k26a44,k26c44,k26d44
192
193        real*8 k26a21,k26c21,k26d21, 
194     @     k26a22,k26c22,k26d22, k26a23,k26c23,k26d23, 
195     @     k26a24,k26c24,k26d24, 
196     @     k26a32,k26c32,k26d32, k26a33,k26c33,k26d33, 
197     @     k26a31,k26c31,k26d31, 
198     @     k26a34,k26c34,k26d34, k26a42,k26c42,k26d42, 
199     @     k26a41,k26c41,k26d41, 
200     @     k26a43,k26c43,k26d43, k26a44,k26c44,k26d44
201
202
203        common/rates_last/ k23k21c, k24k21c, k34k21c, 
204     @          k23k21cp, k24k21cp, k34k21cp, k43,k43p, k_vthcl
205
206        real*8 k23k21c,k24k21c,k34k21c, k23k21cp,k24k21cp,k34k21cp
207        real*8 k43,k43p, k_vthcl
208
209        common/rates_V09/ k41_3,k41p_3, k41_4,k41p_4, k41iso_1,k41iso_1p, 
210     @                    k41iso_2,k41iso_2p, k41iso_3,k41iso_3p, 
211     @                    k42b, k42c, k42bp, k42cp, k43iso,k43isop, 
212     @                    k44a,k44b,k44c,k44d, k44ap,k44bp,k44cp,k44dp, 
213     @                    k42iso,k42isop, k42isob,k42isobp
214        real*8  k41_3,k41p_3, k41_4,k41p_4, k41iso_1,k41iso_1p
215        real*8  k41iso_2,k41iso_2p, k41iso_3,k41iso_3p
216        real*8  k42b, k42c, k42bp, k42cp, k43iso,k43isop
217        real*8  k44a,k44b,k44c,k44d, k44ap,k44bp,k44cp,k44dp
218        real*8  k42iso,k42isop, k42isob,k42isobp
219
220
221c *** Old nlte_curtis.h ***
222
223
224        common/block1/s,alsa,alna,alda,ka,kr
225        real*8 ka(nbox_max),alsa(nbox_max),alna(nbox_max),alda(nbox_max)
226     &,s
227        integer kr
228
229        common/block2/hisfile, hfile1
230        character hisfile*75, hfile1*3
231
232        common/block3/sl_ua,ua,pt,pp,ta,w, icls
233        real*8 sl_ua,ua(nbox_max),pt,pp,ta(nbox_max),w
234        integer icls
235
236        common/block4/no,sk1,xls1,xln1,xld1,thist,dist, nbox
237        real*8  sk1(nhist,nbox_max)     ! line intensity
238        real*8  xls1(nhist,nbox_max)    ! Lorentz half width (self-col.)
239        real*8  xln1(nhist,nbox_max)    ! Lorentz half width
240        real*8  xld1(nhist,nbox_max)    ! Doppler half width
241        real*8  thist(nhist)            ! temperatures in the histogram
242        real*8  no(nbox_max)            ! number of lines in box
243        real*8  dist(nbox_max)          ! mean distance between lines in box
244        integer nbox            ! actual number of boxes
245
246        common/block5/eqw, aa, bb, cc, dd, ddbox, ccbox
247        real*8 eqw, aa, bb, cc, dd
248        real*8 ddbox(nbox_max), ccbox(nbox_max)
249
250        common/block7/ mr, p
251        real*8  mr(nzy), p(nzy)
252
253        common/block8/ tmin,tmax, mm
254        real*8 tmin,tmax
255        integer mm
256
257        common/block9/ w_strongLor_prev
258        real*8 w_strongLor_prev(nbox_max)
259
260        common/block10/no_c1,no_c2,no_c3,no_c4,no_c5,no_c6,no_c7
261        real*8  no_c1(nbox_max)
262        real*8  no_c2(nbox_max)
263        real*8  no_c3(nbox_max)
264        real*8  no_c4(nbox_max)
265        real*8  no_c5(nbox_max)
266        real*8  no_c6(nbox_max)
267        real*8  no_c7(nbox_max)
268
269        common/block11/nbox_c1,nbox_c2,nbox_c3,nbox_c4,
270     $     nbox_c5,nbox_c6,nbox_c7
271        integer nbox_c1
272        integer nbox_c2
273        integer nbox_c3
274        integer nbox_c4
275        integer nbox_c5
276        integer nbox_c6
277        integer nbox_c7
278
279        common/block12/thist_c1,thist_c2,thist_c3,thist_c4,thist_c5,
280     $    thist_c6,thist_c7
281        real*8  thist_c1(nhist)
282        real*8  thist_c2(nhist)
283        real*8  thist_c3(nhist)
284        real*8  thist_c4(nhist)
285        real*8  thist_c5(nhist)
286        real*8  thist_c6(nhist)
287        real*8  thist_c7(nhist)
288
289        common/block13/dist_c1,dist_c2,dist_c3,dist_c4,dist_c5,
290     $    dist_c6,dist_c7
291        real*8  dist_c1(nbox_max)
292        real*8  dist_c2(nbox_max)
293        real*8  dist_c3(nbox_max)
294        real*8  dist_c4(nbox_max)
295        real*8  dist_c5(nbox_max)
296        real*8  dist_c6(nbox_max)
297        real*8  dist_c7(nbox_max)
298
299        common/block14/sk1_c1,sk1_c2,sk1_c3,sk1_c4,sk1_c5,sk1_c6,sk1_c7
300        real*8  sk1_c1(nhist,nbox_max)
301        real*8  sk1_c2(nhist,nbox_max)
302        real*8  sk1_c3(nhist,nbox_max)
303        real*8  sk1_c4(nhist,nbox_max)
304        real*8  sk1_c5(nhist,nbox_max)
305        real*8  sk1_c6(nhist,nbox_max)
306        real*8  sk1_c7(nhist,nbox_max)
307
308        common/block15/xls1_c1,xls1_c2,xls1_c3,xls1_c4,xls1_c5,xls1_c6,
309     $     xls1_c7
310        real*8  xls1_c1(nhist,nbox_max)
311        real*8  xls1_c2(nhist,nbox_max)
312        real*8  xls1_c3(nhist,nbox_max)
313        real*8  xls1_c4(nhist,nbox_max)
314        real*8  xls1_c5(nhist,nbox_max)
315        real*8  xls1_c6(nhist,nbox_max)
316        real*8  xls1_c7(nhist,nbox_max)
317
318        common/block16/xln1_c1,xln1_c2,xln1_c3,xln1_c4,xln1_c5,xln1_c6,
319     $     xln1_c7
320        real*8  xln1_c1(nhist,nbox_max)
321        real*8  xln1_c2(nhist,nbox_max)
322        real*8  xln1_c3(nhist,nbox_max)
323        real*8  xln1_c4(nhist,nbox_max)
324        real*8  xln1_c5(nhist,nbox_max)
325        real*8  xln1_c6(nhist,nbox_max)
326        real*8  xln1_c7(nhist,nbox_max)
327
328        common/block17/xld1_c1,xld1_c2,xld1_c3,xld1_c4,xld1_c5,xld1_c6,
329     $     xld1_c7
330        real*8  xld1_c1(nhist,nbox_max)
331        real*8  xld1_c2(nhist,nbox_max)
332        real*8  xld1_c3(nhist,nbox_max)
333        real*8  xld1_c4(nhist,nbox_max)
334        real*8  xld1_c5(nhist,nbox_max)
335        real*8  xld1_c6(nhist,nbox_max)
336        real*8  xld1_c7(nhist,nbox_max)
337
338        common/block18/mm_c1,mm_c2,mm_c3,mm_c4,mm_c5,mm_c6,mm_c7
339        integer mm_c1
340        integer mm_c2
341        integer mm_c3
342        integer mm_c4
343        integer mm_c5
344        integer mm_c6
345        integer mm_c7
346
347        common/block19/tmin_c1,tmin_c2,tmin_c3,tmin_c4,tmin_c5,tmin_c6,
348     $     tmin_c7
349        real*8 tmin_c1
350        real*8 tmin_c2
351        real*8 tmin_c3
352        real*8 tmin_c4
353        real*8 tmin_c5
354        real*8 tmin_c6
355        real*8 tmin_c7
356
357        common/block20/tmax_c1,tmax_c2,tmax_c3,tmax_c4,tmax_c5,tmax_c6,
358     $     tmax_c7
359        real*8 tmax_c1
360        real*8 tmax_c2
361        real*8 tmax_c3
362        real*8 tmax_c4
363        real*8 tmax_c5
364        real*8 tmax_c6
365        real*8 tmax_c7
366
367        common /lor_overlap/ asat_box, i_supersat
368        real*8          asat_box
369        integer         i_supersat
370
371
372c *** Variables formerly included in nlte_data.h ***
373        common /nltedata/ elow, deltanu
374        real elow(nisot,nb), deltanu(nisot,nb)
375
376c****************************************************************************
Note: See TracBrowser for help on using the repository browser.