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