[3018] | 1 | MODULE nlte_commons_h |
---|
[498] | 2 | |
---|
[3018] | 3 | USE nlte_paramdef_h, ONLY: nb, nisot, nztabul, nl, nl_cts, nzy, nzy_cts |
---|
| 4 | USE nlte_paramdef_h, ONLY: nbox_max, nhist |
---|
[498] | 5 | |
---|
[3018] | 6 | IMPLICIT NONE |
---|
[498] | 7 | |
---|
[3018] | 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) |
---|
[498] | 19 | |
---|
[3018] | 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) |
---|
[498] | 27 | |
---|
| 28 | |
---|
[3018] | 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) |
---|
[757] | 39 | |
---|
[3018] | 40 | ! *** Old tabulation.cmn *** |
---|
[757] | 41 | |
---|
[3018] | 42 | ! common/input_tab_v11/ lnpnbtab, |
---|
| 43 | ! @ tstar11tab, tstar21tab, tstar31tab, tstar41tab, |
---|
| 44 | ! @ vc210tab, vc310tab, vc410tab |
---|
[757] | 45 | |
---|
[3018] | 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) |
---|
[757] | 53 | |
---|
[3018] | 54 | ! *** Old nlte_results.cmn *** |
---|
[757] | 55 | |
---|
[3018] | 56 | ! common/input_avilable_from/ input_cza |
---|
| 57 | integer,save :: input_cza |
---|
| 58 | !$OMP THREADPRIVATE(input_cza) |
---|
[757] | 59 | |
---|
[3018] | 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) |
---|
[757] | 70 | |
---|
[3018] | 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) |
---|
[498] | 75 | |
---|
[3018] | 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) |
---|
[498] | 80 | |
---|
[3018] | 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) |
---|
[498] | 87 | |
---|
[3018] | 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) |
---|
[498] | 94 | |
---|
| 95 | |
---|
[3018] | 96 | ! *** Old matrices.cmn *** |
---|
[498] | 97 | |
---|
[3018] | 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) |
---|
[757] | 110 | |
---|
[498] | 111 | ! for the cool-to-space formulation: |
---|
| 112 | ! |
---|
[3018] | 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) |
---|
[498] | 120 | |
---|
| 121 | |
---|
[3018] | 122 | ! *** Old atmref.cmn *** |
---|
[498] | 123 | |
---|
[3018] | 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) |
---|
[498] | 134 | |
---|
| 135 | |
---|
[3018] | 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) |
---|
[498] | 140 | |
---|
[3018] | 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) |
---|
[498] | 148 | |
---|
[3018] | 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) |
---|
[498] | 164 | |
---|
[3018] | 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) |
---|
[498] | 170 | |
---|
| 171 | |
---|
[3018] | 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) |
---|
[498] | 183 | |
---|
[3018] | 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) |
---|
[498] | 190 | |
---|
[3018] | 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) |
---|
[498] | 195 | |
---|
| 196 | |
---|
[3018] | 197 | ! *** Old curtis.cmn *** |
---|
[498] | 198 | |
---|
[3018] | 199 | ! common /ini_file/ ibcode1 |
---|
| 200 | character,save :: ibcode1*1 |
---|
| 201 | !$OMP THREADPRIVATE(ibcode1) |
---|
[498] | 202 | |
---|
[3018] | 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) |
---|
[498] | 207 | |
---|
[3018] | 208 | ! common/block2/ hisfile |
---|
| 209 | character,save :: hisfile*75 |
---|
| 210 | !$OMP THREADPRIVATE(hisfile) |
---|
[498] | 211 | |
---|
[3018] | 212 | ! common/block3/ pp,ta,w |
---|
| 213 | real*8,save :: pp,ta(nbox_max),w |
---|
| 214 | !$OMP THREADPRIVATE(pp,ta,w) |
---|
[498] | 215 | |
---|
[3018] | 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) |
---|
[498] | 224 | |
---|
[3018] | 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) |
---|
[498] | 230 | |
---|
[3018] | 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) |
---|
[498] | 242 | |
---|
[3018] | 243 | !**************************************************************************** |
---|
[498] | 244 | |
---|
[3018] | 245 | END MODULE nlte_commons_h |
---|
[498] | 246 | |
---|
| 247 | |
---|