MODULE nlte_commons_h USE nlte_paramdef_h, ONLY: nb, nisot, nztabul, nl, nl_cts, nzy, nzy_cts USE nlte_paramdef_h, ONLY: nbox_max, nhist IMPLICIT NONE !**************************************************************************** ! ! Merging of different common blocks used in the new NLTE 15um param ! ! jan 2012 fgg+malv !**************************************************************************** ! *** Old datitos.cmn *** ! ! common /spectralv11/ elow, deltanu real,save :: elow(nisot,nb), deltanu(nisot,nb) !$OMP THREADPRIVATE(elow,deltanu) ! common/nu_levs_bands_v11/ nu11, nu12, nu121, ! @ nu21, nu31, nu41 real*8,save :: nu11, nu12, nu121 real*8,save :: nu21 real*8,save :: nu31 real*8,save :: nu41 !$OMP THREADPRIVATE(nu11,nu12,nu121,nu21,nu31,nu41) ! common /aeinstein1v11/ a1_010_000, a1_020_010 ! common /aeinstein2v11/ a2_010_000 ! common /aeinstein3v11/ a3_010_000 ! common /aeinstein4v11/ a4_010_000 real*8,save :: a1_010_000, a1_020_010 real*8,save :: a2_010_000 real*8,save :: a3_010_000 real*8,save :: a4_010_000 !$OMP THREADPRIVATE(a1_010_000,a1_020_010,a2_010_000) !$OMP THREADPRIVATE(a3_010_000,a4_010_000) ! *** Old tabulation.cmn *** ! common/input_tab_v11/ lnpnbtab, ! @ tstar11tab, tstar21tab, tstar31tab, tstar41tab, ! @ vc210tab, vc310tab, vc410tab real*8,save :: lnpnbtab(nztabul) real*8,save :: vc210tab(nztabul), vc310tab(nztabul), vc410tab(nztabul) real*8,save :: tstar11tab(nztabul), tstar21tab(nztabul) real*8,save :: tstar31tab(nztabul), tstar41tab(nztabul) !$OMP THREADPRIVATE(lnpnbtab) !$OMP THREADPRIVATE(vc210tab,vc310tab,vc410tab) !$OMP THREADPRIVATE(tstar11tab,tstar21tab,tstar31tab,tstar41tab) ! *** Old nlte_results.cmn *** ! common/input_avilable_from/ input_cza integer,save :: input_cza !$OMP THREADPRIVATE(input_cza) ! temperatura vibracional de entrada: ! common/temp626/ v626t1 ! common/temp628/ v628t1 ! common/temp636/ v636t1 ! common/temp627/ v627t1 real*8,save :: v626t1(nl) real*8,save :: v628t1(nl) real*8,save :: v636t1(nl) real*8,save :: v627t1(nl) !$OMP THREADPRIVATE(v626t1,v628t1,v636t1,v627t1) ! output de cza.for ! common /tv15um/ vt11, vt12, vt21, vt31, vt41 real*8,save :: vt11(nl), vt12(nl), vt21(nl), vt31(nl), vt41(nl) !$OMP THREADPRIVATE(vt11,vt12,vt21,vt31,vt41) ! common /hr15um/ hr110,hr210,hr310,hr410,hr121 real*8,save :: hr110(nl),hr121(nl) real*8,save :: hr210(nl),hr310(nl),hr410(nl) !$OMP THREADPRIVATE(hr110,hr121,hr210,hr310,hr410) ! common/sf15um/ el11,el12, el21, el31, el41 real*8,save :: el11(nl), el12(nl) real*8,save :: el21(nl) real*8,save :: el31(nl) real*8,save :: el41(nl) !$OMP THREADPRIVATE(el11,el12,el21,el31,el41) ! common/sl15um/ sl110,sl121, sl210,sl310,sl410 real*8,save :: sl110(nl), sl121(nl) real*8,save :: sl210(nl) real*8,save :: sl310(nl) real*8,save :: sl410(nl) !$OMP THREADPRIVATE(sl110,sl121,sl210,sl310,sl410) ! *** Old matrices.cmn *** ! curtis matrix de cza: ! common/curtis_matrixes_15um/ c110,c121, c210, ! @ c310,c410, ! @ vc110,vc121,vc210,vc310,vc410 real*8,save :: c110(nl,nl), c121(nl,nl) real*8,save :: c210(nl,nl) real*8,save :: c310(nl,nl) real*8,save :: c410(nl,nl) real*8,save :: vc110(nl), vc121(nl) real*8,save :: vc210(nl), vc310(nl), vc410(nl) !$OMP THREADPRIVATE(c110,c121,c210,c310,c410) !$OMP THREADPRIVATE(vc110,vc121,vc210,vc310,vc410) ! for the cool-to-space formulation: ! ! common/taustar_15um/ taustar11, taustar21, taustar31, ! @ taustar41, taustar12, taustar11_cts real*8,save :: taustar11(nl), taustar21(nl), taustar31(nl) real*8,save :: taustar41(nl), taustar12(nl) real*8,save :: taustar11_cts(nl_cts) !$OMP THREADPRIVATE(taustar11,taustar21,taustar31) !$OMP THREADPRIVATE(taustar41,taustar12,taustar11_cts) ! *** Old atmref.cmn *** ! NLTE Subgrid ! common /atm_nl/ zl, t, pl, nt, co2, n2, co, o3p, ! @ co2vmr, n2vmr, covmr, o3pvmr, ! @ hrkday_factor real,save :: zl(nl), t(nl), pl(nl), nt(nl) real,save :: co2(nl), n2(nl), co(nl), o3p(nl) real,save :: co2vmr(nl), n2vmr(nl), covmr(nl), o3pvmr(nl) real,save :: hrkday_factor(nl) !$OMP THREADPRIVATE(zl,t,pl,nt,co2,n2,co,o3p) !$OMP THREADPRIVATE(co2vmr,n2vmr,covmr,o3pvmr,hrkday_factor) ! Subgrid Transmittances ! common /atm_ny/ zy, ty, py, nty, co2y real,save :: zy(nzy), ty(nzy), py(nzy), nty(nzy), co2y(nzy) !$OMP THREADPRIVATE(zy,ty,py,nty,co2y) ! Grids and indexes ! common/deltazetas/ deltaz, deltazy, deltaz_cts, deltazy_cts, ! @ jlowerboundary, jtopboundary, jtopCTS real,save :: deltaz, deltazy, deltaz_cts, deltazy_cts integer,save :: jlowerboundary, jtopboundary, jtopCTS !$OMP THREADPRIVATE(deltaz,deltazy,deltaz_cts,deltazy_cts) !$OMP THREADPRIVATE(jlowerboundary,jtopboundary,jtopCTS) ! NLTE-CTS Subgrid ! common /atm_nl_cts/ zl_cts, t_cts, pl_cts, nt_cts, ! @ co2_cts, n2_cts, co_cts, o3p_cts, ! @ co2vmr_cts, n2vmr_cts, covmr_cts, o3pvmr_cts, ! @ hrkday_factor_cts,mmean_cts,cpnew_cts real,save :: zl_cts(nl_cts), t_cts(nl_cts), pl_cts(nl_cts) real,save :: nt_cts(nl_cts), co2_cts(nl_cts) real,save :: n2_cts(nl_cts), co_cts(nl_cts) real,save :: o3p_cts(nl_cts), co2vmr_cts(nl_cts), n2vmr_cts(nl_cts) real,save :: covmr_cts(nl_cts), o3pvmr_cts(nl_cts) real,save :: hrkday_factor_cts(nl_cts),mmean_cts(nl_cts) real,save :: cpnew_cts(nl_cts) !$OMP THREADPRIVATE(zl_cts,t_cts,pl_cts,nt_cts,co2_cts,n2_cts,co_cts) !$OMP THREADPRIVATE(o3p_cts,co2vmr_cts,n2vmr_cts,covmr_cts,o3pvmr_cts) !$OMP THREADPRIVATE(hrkday_factor_cts,mmean_cts,cpnew_cts) ! CTS Subgrid Transmittances ! common /atm_ny_cts/ zy_cts, ty_cts, py_cts, nty_cts, co2y_cts real,save :: zy_cts(nzy_cts), ty_cts(nzy_cts), py_cts(nzy_cts) real,save :: nty_cts(nzy_cts), co2y_cts(nzy_cts) !$OMP THREADPRIVATE(zy_cts,ty_cts,py_cts,nty_cts,co2y_cts) ! *** Old rates.cmn *** ! common/rates_vt/ ! @ k19ba(4),k19bb(4),k19bc(4), k19bap(4),k19bbp(4),k19bcp(4), ! @ k19ca(4),k19cb(4),k19cc(4), k19cap(4),k19cbp(4),k19ccp(4), ! @ k20b(4),k20c(4), k20bp(4),k20cp(4) real*8,save :: k19ba(4),k19bb(4),k19bc(4), k19bap(4),k19bbp(4),k19bcp(4) real*8,save :: k19ca(4),k19cb(4),k19cc(4), k19cap(4),k19cbp(4),k19ccp(4) real*8,save :: k20b(4),k20c(4), k20bp(4),k20cp(4) !$OMP THREADPRIVATE(k19ba,k19bb,k19bc,k19bap,k19bbp,k19bcp) !$OMP THREADPRIVATE(k19ca,k19cb,k19cc,k19cap,k19cbp,k19ccp) !$OMP THREADPRIVATE(k20b,k20c,k20bp,k20cp) ! common/rates_vv/ ! @ k21b(4),k21c(4), k21bp(4),k21cp(4), ! @ k33c, k33cp(2:4) real*8,save :: k21b(4),k21c(4), k21bp(4),k21cp(4) real*8,save :: k33c, k33cp(2:4) !$OMP THREADPRIVATE(k21b,k21c,k21bp,k21cp,k33c,k33cp) ! common/rates_last/ k23k21c, k24k21c, k34k21c, ! @ k23k21cp, k24k21cp, k34k21cp real*8,save :: k23k21c,k24k21c,k34k21c, k23k21cp,k24k21cp,k34k21cp !$OMP THREADPRIVATE(k23k21c,k24k21c,k34k21c,k23k21cp,k24k21cp,k34k21cp) ! *** Old curtis.cmn *** ! common /ini_file/ ibcode1 character,save :: ibcode1*1 !$OMP THREADPRIVATE(ibcode1) ! common/block1/ alsa,alda,ka,kr real*8,save :: ka(nbox_max),alsa(nbox_max),alda(nbox_max) integer,save :: kr !$OMP THREADPRIVATE(ka,alsa,alda,kr) ! common/block2/ hisfile character,save :: hisfile*75 !$OMP THREADPRIVATE(hisfile) ! common/block3/ pp,ta,w real*8,save :: pp,ta(nbox_max),w !$OMP THREADPRIVATE(pp,ta,w) ! common/block4/ no,sk1,xls1,xld1,thist,nbox real*8,save :: sk1(nhist,nbox_max) real*8,save :: xls1(nhist,nbox_max) real*8,save :: xld1(nhist,nbox_max) real*8,save :: thist(nhist) real*8,save :: no(nbox_max) integer,save :: nbox !$OMP THREADPRIVATE(sk1,xls1,xld1,thist,no,nbox) ! common/block5/eqw, aa, cc, dd, ddbox, ccbox, mr, mr_cts real*8,save :: eqw, aa, cc, dd real*8,save :: ddbox(nbox_max), ccbox(nbox_max) real*8,save :: mr(nzy), mr_cts(nzy_cts) !$OMP THREADPRIVATE(eqw,aa,cc,dd,ddbox,ccbox,mr,mr_cts) ! common/blockstore/no_stored, sk1_stored, xls1_stored, ! & xld1_stored, thist_stored, nbox_stored, ! & mm_stored real*8,save :: sk1_stored(nb,nhist,nbox_max) real*8,save :: xls1_stored(nb,nhist,nbox_max) real*8,save :: xld1_stored(nb,nhist,nbox_max) real*8,save :: thist_stored(nb,nhist) real*8,save :: no_stored(nb,nbox_max) integer,save :: nbox_stored(nb), mm_stored(nb) !$OMP THREADPRIVATE(sk1_stored,xls1_stored,xld1_stored) !$OMP THREADPRIVATE(thist_stored,no_stored,nbox_stored,mm_stored) !**************************************************************************** END MODULE nlte_commons_h