| 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 | |
|---|