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

Last change on this file since 2800 was 2612, checked in by romain.vande, 3 years ago

LMDZ_MARS RV : Open_MP;
Put all the "COMMON" of *.h file as "$OMP THREADPRIVATE"

File size: 7.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 datitos.cmn ***
8c
9        common /spectralv11/ elow, deltanu
10!$OMP THREADPRIVATE(/spectralv11/)
11        real elow(nisot,nb), deltanu(nisot,nb)
12
13
14        common/nu_levs_bands_v11/ nu11, nu12, nu121, 
15     @          nu21, nu31, nu41
16!$OMP THREADPRIVATE(/nu_levs_bands_v11/)
17        real*8 nu11, nu12, nu121
18        real*8 nu21
19        real*8 nu31
20        real*8 nu41
21
22
23        common /aeinstein1v11/ a1_010_000, a1_020_010
24!$OMP THREADPRIVATE(/aeinstein1v11/)
25        common /aeinstein2v11/ a2_010_000   
26!$OMP THREADPRIVATE(/aeinstein2v11/)   
27        common /aeinstein3v11/ a3_010_000       
28!$OMP THREADPRIVATE(/aeinstein3v11/)
29        common /aeinstein4v11/ a4_010_000       
30!$OMP THREADPRIVATE(/aeinstein4v11/)
31
32        real*8 a1_010_000, a1_020_010
33        real*8 a2_010_000       
34        real*8 a3_010_000       
35        real*8 a4_010_000
36
37
38c *** Old tabulation.cmn ***
39
40        common/input_tab_v11/ lnpnbtab, 
41     @          tstar11tab, tstar21tab, tstar31tab, tstar41tab,
42     @          vc210tab, vc310tab, vc410tab
43!$OMP THREADPRIVATE(/input_tab_v11/)
44
45        real*8 lnpnbtab(nztabul)
46        real*8 vc210tab(nztabul), vc310tab(nztabul), vc410tab(nztabul)
47        real*8 tstar11tab(nztabul), tstar21tab(nztabul), 
48     @         tstar31tab(nztabul), tstar41tab(nztabul)
49
50
51c *** Old nlte_results.cmn ***
52
53        common/input_avilable_from/ input_cza
54!$OMP THREADPRIVATE(/input_avilable_from/)
55        integer input_cza
56
57c temperatura vibracional de entrada:
58        common/temp626/ v626t1
59!$OMP THREADPRIVATE(/temp626/)
60        common/temp628/ v628t1
61!$OMP THREADPRIVATE(/temp628/)
62        common/temp636/ v636t1
63!$OMP THREADPRIVATE(/temp636/)
64        common/temp627/ v627t1
65!$OMP THREADPRIVATE(/temp627/)
66        real*8 v626t1(nl)
67        real*8 v628t1(nl)
68        real*8 v636t1(nl)
69        real*8 v627t1(nl)
70
71c output de cza.for
72        common /tv15um/ vt11, vt12, vt21, vt31, vt41
73!$OMP THREADPRIVATE(/tv15um/)
74        real*8  vt11(nl), vt12(nl), vt21(nl), vt31(nl), vt41(nl)
75
76        common /hr15um/ hr110,hr210,hr310,hr410,hr121
77!$OMP THREADPRIVATE(/hr15um/)
78        real*8  hr110(nl),hr121(nl), 
79     @          hr210(nl),hr310(nl),hr410(nl)
80
81        common/sf15um/ el11,el12, el21, el31, el41
82!$OMP THREADPRIVATE(/sf15um/)
83        real*8 el11(nl), el12(nl)
84        real*8 el21(nl)
85        real*8 el31(nl)
86        real*8 el41(nl)
87
88        common/sl15um/ sl110,sl121, sl210,sl310,sl410
89!$OMP THREADPRIVATE(/sl15um/)
90        real*8 sl110(nl), sl121(nl)
91        real*8 sl210(nl)
92        real*8 sl310(nl)
93        real*8 sl410(nl)
94
95
96c *** Old matrices.cmn ***
97
98
99c curtis matrix de cza:
100        common/curtis_matrixes_15um/ c110,c121, c210,
101     @          c310,c410,
102     @          vc110,vc121,vc210,vc310,vc410
103!$OMP THREADPRIVATE(/curtis_matrixes_15um/)
104        real*8 c110(nl,nl), c121(nl,nl)
105        real*8 c210(nl,nl)
106        real*8 c310(nl,nl)
107        real*8 c410(nl,nl)
108        real*8 vc110(nl), vc121(nl)
109        real*8 vc210(nl), vc310(nl), vc410(nl)
110 
111! for the cool-to-space formulation:
112!
113        common/taustar_15um/ taustar11, taustar21, taustar31, 
114     @         taustar41, taustar12, taustar11_cts
115!$OMP THREADPRIVATE(/taustar_15um/)
116        real*8 taustar11(nl), taustar21(nl), taustar31(nl)
117        real*8 taustar41(nl), taustar12(nl)
118        real*8 taustar11_cts(nl_cts)
119
120
121c *** Old atmref.cmn ***
122
123
124c NLTE Subgrid
125c
126        common /atm_nl/ zl, t, pl, nt, co2, n2, co, o3p, 
127     @    co2vmr, n2vmr, covmr, o3pvmr, 
128     @    hrkday_factor
129!$OMP THREADPRIVATE(/atm_nl/)
130
131        real zl(nl), t(nl), pl(nl), nt(nl), 
132     @    co2(nl), n2(nl), co(nl), o3p(nl), 
133     @    co2vmr(nl), n2vmr(nl), covmr(nl), o3pvmr(nl), 
134     @    hrkday_factor(nl)
135
136
137c Subgrid Transmittances
138c
139        common /atm_ny/ zy, ty, py, nty, co2y
140!$OMP THREADPRIVATE(/atm_ny/)
141        real zy(nzy), ty(nzy), py(nzy), nty(nzy), co2y(nzy)
142
143c Grids and indexes
144        common/deltazetas/ deltaz, deltazy, deltaz_cts, deltazy_cts, 
145     @        jlowerboundary, jtopboundary, jtopCTS
146!$OMP THREADPRIVATE(/deltazetas/)
147        real    deltaz, deltazy, deltaz_cts, deltazy_cts
148        integer jlowerboundary, jtopboundary, jtopCTS
149
150
151c NLTE-CTS Subgrid
152c
153        common /atm_nl_cts/ zl_cts, t_cts, pl_cts, nt_cts, 
154     @    co2_cts, n2_cts, co_cts, o3p_cts, 
155     @    co2vmr_cts, n2vmr_cts, covmr_cts, o3pvmr_cts, 
156     @    hrkday_factor_cts,mmean_cts,cpnew_cts
157!$OMP THREADPRIVATE(/atm_nl_cts/)
158
159        real zl_cts(nl_cts), t_cts(nl_cts), pl_cts(nl_cts), 
160     @    nt_cts(nl_cts), co2_cts(nl_cts), 
161     @    n2_cts(nl_cts), co_cts(nl_cts),
162     @    o3p_cts(nl_cts), co2vmr_cts(nl_cts), n2vmr_cts(nl_cts), 
163     @    covmr_cts(nl_cts), o3pvmr_cts(nl_cts), 
164     @    hrkday_factor_cts(nl_cts),mmean_cts(nl_cts),
165     @    cpnew_cts(nl_cts)
166
167
168c CTS Subgrid Transmittances
169c
170        common /atm_ny_cts/ zy_cts, ty_cts, py_cts, nty_cts, co2y_cts
171!$OMP THREADPRIVATE(/atm_ny_cts/)
172        real zy_cts(nzy_cts), ty_cts(nzy_cts), py_cts(nzy_cts), 
173     @          nty_cts(nzy_cts), co2y_cts(nzy_cts)
174
175
176c *** Old rates.cmn ***
177
178        common/rates_vt/ 
179     @      k19ba(4),k19bb(4),k19bc(4), k19bap(4),k19bbp(4),k19bcp(4),
180     @      k19ca(4),k19cb(4),k19cc(4), k19cap(4),k19cbp(4),k19ccp(4),
181     @      k20b(4),k20c(4), k20bp(4),k20cp(4)
182!$OMP THREADPRIVATE(/rates_vt/)
183
184        real*8 k19ba,k19bb,k19bc, k19bap,k19bbp,k19bcp
185        real*8 k19ca,k19cb,k19cc, k19cap,k19cbp,k19ccp
186        real*8 k20b,k20c, k20bp,k20cp
187
188        common/rates_vv/ 
189     @          k21b(4),k21c(4), k21bp(4),k21cp(4),
190     @          k33c, k33cp(2:4)
191!$OMP THREADPRIVATE(/rates_vv/)
192
193        real*8 k21b,k21c, k21bp,k21cp
194        real*8 k33c, k33cp
195
196        common/rates_last/ k23k21c, k24k21c, k34k21c, 
197     @          k23k21cp, k24k21cp, k34k21cp
198!$OMP THREADPRIVATE(/rates_last/)
199
200        real*8 k23k21c,k24k21c,k34k21c, k23k21cp,k24k21cp,k34k21cp
201
202
203
204c *** Old curtis.cmn ***
205
206        common /ini_file/ ibcode1
207!$OMP THREADPRIVATE(/ini_file/)
208        character ibcode1*1
209
210        common/block1/ alsa,alda,ka,kr
211!$OMP THREADPRIVATE(/block1/)
212        real*8 ka(nbox_max),alsa(nbox_max),alda(nbox_max)
213        integer kr   
214
215        common/block2/ hisfile
216!$OMP THREADPRIVATE(/block2/)
217        character hisfile*75
218
219        common/block3/ pp,ta,w
220!$OMP THREADPRIVATE(/block3/)
221        real*8 pp,ta(nbox_max),w
222
223        common/block4/ no,sk1,xls1,xld1,thist,nbox
224!$OMP THREADPRIVATE(/block4/)
225        real*8  sk1(nhist,nbox_max)
226        real*8  xls1(nhist,nbox_max)   
227        real*8  xld1(nhist,nbox_max)   
228        real*8  thist(nhist)           
229        real*8  no(nbox_max)           
230        integer nbox           
231
232        common/block5/eqw, aa,  cc, dd, ddbox, ccbox, mr, mr_cts
233!$OMP THREADPRIVATE(/block5/)
234        real*8 eqw, aa, cc, dd
235        real*8 ddbox(nbox_max), ccbox(nbox_max)
236        real*8  mr(nzy), mr_cts(nzy_cts)
237
238        common/blockstore/no_stored, sk1_stored, xls1_stored, 
239     &          xld1_stored, thist_stored, nbox_stored, 
240     &          mm_stored
241!$OMP THREADPRIVATE(/blockstore/)
242         real*8 sk1_stored(nb,nhist,nbox_max)
243         real*8 xls1_stored(nb,nhist,nbox_max) 
244         real*8 xld1_stored(nb,nhist,nbox_max) 
245         real*8 thist_stored(nb,nhist)         
246         real*8 no_stored(nb,nbox_max)         
247         integer nbox_stored(nb), mm_stored(nb) 
248
249c*****************************************************
250
251
252c*************************************************************
253
254
255
256
257c****************************************************************************
258
259
260
Note: See TracBrowser for help on using the repository browser.