! subroutine comp_oco(tn,barm,o1,co,co2,n2,o2,op,co2p,o2p,ne, | lev0,lev1,lon0,lon1,lat) ! ! Calculates fs array which gives sources and sinks for comp.F (o,co). ! Last modified: swb (11/20/06) ! : add new chemrates nomenclature for rates ! : add osrc, oloss, cosrc, coloss terms ! : populate the fs array for comp.F (o,co) ! Last modified: swb (11/21/06) ! : remove IO as loss of O (minor) ! : mid-level calculation for S and L only (plots) ! Next modified: bf (11/XX06) add cross terms to fs ! Last modified : swb (10/30/07) log10 sources, losses for diagnostics ! Last modified : swb (11/02/07) OLIFE and COLIFE (chemical timescales) ! Last modified : swb (12/03/07) SOURCES improved with ionden.F changes and ! no OSRC or COSRC below z = -10.0 ! last modified; swb (12/3/07) Insert DY-NT flags for OSRC,COSRC,OLOSS,COLOSS ! last modified; swb (04/22/08) remove DY-NT flags for OSRC,COSRC,OLOSS,COLOSS ! : (04/22/08) ions relaxed to go to zero; electron cutoff OK ! last modified; swb (04/24/08) OPCE and COPCE secondaries put out ! last modified; swb (05/05/08) fs-array segregated terms implemented like tiegcm#2 ! use params_module,only: dz use cons_module,only: rmassinv_o1,rmassinv_co,rmassinv_n2,p0, | expz,boltz,rmassinv_co2,rmassinv_o2,rmass_o1,rmass_co, | gask,grav use qrj_module,only: rj,qjo2, | mk_xnmbari use fields_module,only: tlbc use chemrates_module,only:a13,a14,r2,r3,r5,r18,r19,r20,rk20, | rk28,r104,r49,r44,r66,r108,r43,r99,r102a,r102b,r25,fs use chapman_module,only: idn_lonlat use addfld_module,only: addfld use o2_module,only: integral implicit none ! ! Args: integer,intent(in) :: lev0,lev1,lon0,lon1,lat ! ! All input arrays are at current time step (itp): real,dimension(lev0:lev1,lon0-2:lon1+2),intent(in) :: | tn, ! neutral temperature (deg K) | barm, ! mean molecular weight | o1, ! o1 (mmr) | co, ! co (mmr) | co2, ! co2 (mmr) | n2, ! n2 (mmr) | o2, ! o2 (mmr) | op, ! O+ (#/cm3) | co2p, ! CO2+ (#/cm3) | o2p, ! O2+ (#/cm3) | ne ! electron density (#/cm3) ! ! Local: integer :: k,i,nk,k0,k1,i0,i1 ! real,dimension(lev0:lev1,lon0:lon1) :: | tni, ! TN at interfaces | rji, ! JCO2 at interfaces (qrj module) | rjis, ! JCO2 at interfaces (qrj module)[/sec] | qjo2i, ! JO2 at interfaces (qrj module) | qjo2is, ! JO2 at interfaces (qrj module)[/sec] | xnmbari, ! xnmbar at interfaces (qrj module) | xnmbar, ! xnmbar at midlevels (qrj module) | cosrc, ! CO production terms (#/cm3/sec) | cosrc2, ! CO production terms (#/cm3/sec) | cosrc3, ! CO production term (#/cm3/sec) | coloss, ! CO loss terms (1/sec) | coloss2, ! CO loss terms (#/cm3/sec) | cotime, ! CO chemical loss timescale (Earth days) | cotimel, ! CO chemical loss timescale (log10 Earth days) | osrc, ! O1 production terms (#/cm3/sec) | osrcA, ! O1 production terms (#/cm3/sec) | osrcB, ! O1 production terms (#/cm3/sec) | osrcC, ! O1 production terms (#/cm3/sec) | osrcD, ! O1 production terms (#/cm3/sec) | osrcT, ! Total O1 production terms (#/cm3/sec) | oloss, ! O1 loss terms (1/sec) | oloss2, ! O1 loss terms (#/cm3/sec) | oloss3, ! O1 loss terms (#/cm3/sec) | colossA, ! CO loss terms (#/cm3/sec) | colossB, ! CO loss terms (#/cm3/sec) | colossC, ! CO loss terms (#/cm3/sec) | colossD, ! CO loss terms (#/cm3/sec) | olossA, ! O1 loss terms (#/cm3/sec) | olossB, ! O1 loss terms (#/cm3/sec) | olossC, ! O1 loss terms (#/cm3/sec) | olosDd, ! O1 loss terms (#/cm3/sec) | olosEd, ! O1 loss terms (#/cm3/sec) | olosFd, ! O1 loss terms (#/cm3/sec) | olosGd, ! O1 loss terms (#/cm3/sec) | olosHd, ! O1 loss terms (#/cm3/sec) | olosId, ! O1 loss terms (#/cm3/sec) | olosJd, ! O1 loss terms (#/cm3/sec) | olosKd, ! O1 loss terms (#/cm3/sec) | olosLd, ! O1 loss terms (#/cm3/sec) | olosTrdy, ! Total O1 loss terms by trace species (#/cm3/sec) | olosDn, ! O1 loss terms (#/cm3/sec) | olosEn, ! O1 loss terms (#/cm3/sec) | olosFn, ! O1 loss terms (#/cm3/sec) | olosGn, ! O1 loss terms (#/cm3/sec) | olosHn, ! O1 loss terms (#/cm3/sec) | olosIn, ! O1 loss terms (#/cm3/sec) | olosJn, ! O1 loss terms (#/cm3/sec) | olosKn, ! O1 loss terms (#/cm3/sec) | olosLn, ! O1 loss terms (#/cm3/sec) | olosTrnt, ! Total O1 loss terms by trace species (#/cm3/sec) | otime, ! O1 chemical loss timescale (Earth days) | otimel, ! O1 chemical loss timescale (log10 Earth days) | xo, ! O1 number density (#/cm3) | xopce, ! O1 number density (#/cm3): PCE secondary | xco, ! CO number density (#/cm3) | xcopce, ! CO number density (#/cm3): PCE secondary | xco2, ! CO2 number density (#/cm3) | xn2, ! N2 number density (#/cm3) | xo2, ! O2 number density (#/cm3) | xtot, ! Total number density (#/cm3) | xol, ! LOG10-O1 number density (#/cm3) | xcol, ! LOG10-CO number density (#/cm3) | xco2l, ! LOG10-CO2 number density (#/cm3) | xn2l, ! LOG10-N2 number density (#/cm3) | xo2l, ! LOG10-O2 number density (#/cm3) | slab, ! slab width (cm) | onet, ! O net production (osrc - oloss) | oprodcol, ! O production integrated column (#/cm2/sec) | onetprodcol, ! O production integrated column (#/cm2/sec) | odestcol ! O destruction integrated column (#/cm2/sec) ! ! Low Altitude Tracers real,dimension(lev0:lev1,lon0:lon1) :: !day | xh2d, ! h2 number density (#/cm3) | xhcld, ! hcl number density (#/cm3) | xcld, ! CL number density (#/cm3) | xclod, ! CLO number density (#/cm3) | xclcod, ! CLCO number density (#/cm3) | xcl2d, ! CL2 number density (#/cm3) | xohd, ! OH number density (#/cm3) | xho2d, ! HO2 number density (#/cm3) | xo3d, ! O3 number density (#/cm3) !night | xh2n, ! h2 number density (#/cm3) | xhcln, ! hcl number density (#/cm3) | xcln, ! CL number density (#/cm3) | xclon, ! CLO number density (#/cm3) | xclcon, ! CLCO number density (#/cm3) | xcl2n, ! CL2 number density (#/cm3) | xohn, ! OH number density (#/cm3) | xho2n, ! HO2 number density (#/cm3) | xo3n ! O3 number density (#/cm3) real,dimension(lev0:lev1) :: | fldht,colout, !day | cld, ! CL (vmr/mmr) | clod, ! CLO (vmr/mmr) | clcod, ! CLCO (vmr/mmr) | cl2d, ! CL2 (vmr/mmr) | ohd, ! OH (vmr/mmr) | ho2d, ! HO2 (vmr/mmr) | o3d, ! O3 (vmr/mmr) | hcld, ! hcl (vmr/mmr) | h2d, ! h2 (vmr/mmr) !day ! | xh2d, ! h2 number density (#/cm3) ! | xhcld, ! hcl number density (#/cm3) ! | xcld, ! CL number density (#/cm3) ! | xclod, ! CLO number density (#/cm3) ! | xclcod, ! CLCO number density (#/cm3) ! | xcl2d, ! CL2 number density (#/cm3) ! | xohd, ! OH number density (#/cm3) ! | xho2d, ! HO2 number density (#/cm3) ! | xo3d, ! O3 number density (#/cm3) !night | cln, ! CL (vmr/mmr) | clon, ! CLO (vmr/mmr) | clcon, ! CLCO (vmr/mmr) | cl2n, ! CL2 (vmr/mmr) | ohn, ! OH (vmr/mmr) | ho2n, ! HO2 (vmr/mmr) | o3n, ! O3 (vmr/mmr) | hcln, ! hcl (vmr/mmr) | h2n ! h2 (vmr/mmr) ! #include ! ! For addfld calls: k0=lev0 k1=lev1 i0=lon0 i1=lon1 ! ! -------------------------------------------------------------------- ! Calculate tn at interfaces: do i=lon0,lon1 tni(lev0,i) = tlbc(i,lat) do k=lev0+1,lev1-1 tni(k,i) = .5*(tn(k-1,i)+tn(k,i)) enddo tni(lev1,i) = tn(lev1-1,i) ! nlevp1 <- nlev enddo ! -------------------------------------------------------------------- ! Low Altitude Photochemical Sinks for O from Chris Parkinson's Kinetics model ! units of VMR ! Range: ~70km to 112km or zp = -16 to -5 !******************************************************************** ! ! Day ! First group listed is diurnal case from Parkinson ! with Krasnopolsky parameters as mmr, while the second group ! listed is strictly dayside from Parkinson with Krasnopolsky ! parameters as mixing ratios. cld(:) = (/ | 1.27E-10,1.97E-10,2.95E-10,4.44E-10,6.05E-10,7.20E-10,9.32E-10, | 1.38E-09,1.90E-09,2.40E-09,4.35E-09,9.10E-09,1.80E-08,4.36E-08, | 1.98E-07,2.67E-07,2.80E-07,2.88E-07,2.95E-07,3.02E-07,0.00E+00, | 0.00E+00,0.00E+00, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! cld(:) = (/ ! | 9.85E-12,2.91E-11,5.95E-11,1.14E-10,1.67E-10,1.86E-10,1.79E-10, ! | 1.80E-10,2.06E-10,2.63E-10,3.47E-10,5.42E-10,1.10E-09,2.33E-09, ! | 8.13E-09,1.58E-08,2.06E-08,2.60E-08,3.27E-08,4.11E-08, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! clod(:) = (/ | 4.69E-11,6.11E-11,7.03E-11,7.70E-11,7.96E-11,7.74E-11,6.08E-11, | 4.28E-11,2.94E-11,1.79E-11,1.07E-11,7.04E-12,6.10E-12,6.32E-12, | 1.40E-12,5.60E-13,3.42E-13,2.11E-13,1.32E-13,8.22E-14,0.00E+00, | 0.00E+00,0.00E+00, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! clod(:) = (/ ! | 1.03E-11,1.13E-11,1.13E-11,9.83E-12,7.14E-12,4.42E-12,2.16E-12, ! | 1.11E-12,6.50E-13,3.78E-13,2.30E-13,1.63E-13,1.11E-13,4.02E-14, ! | 1.57E-14,9.79E-15,7.12E-15,5.14E-15,3.73E-15,2.73E-15, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! clcod(:) = (/ | 7.03E-13,1.13E-12,1.89E-12,3.79E-12,7.92E-12,1.51E-11,2.64E-11, | 3.78E-11,4.38E-11,4.26E-11,2.86E-11,9.30E-12,6.37E-12,5.38E-12, | 1.58E-12,2.48E-13,1.07E-13,5.32E-14,2.98E-14,1.84E-14,0.00E+00, | 0.00E+00,0.00E+00, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! clcod(:) = (/ ! | 1.72E-15,5.13E-15,1.14E-14,2.83E-14,5.90E-14,1.08E-13,2.17E-13, ! | 4.04E-13,6.06E-13,7.78E-13,8.32E-13,7.59E-13,5.20E-13,1.71E-13, ! | 1.33E-14,4.66E-15,2.80E-15,1.76E-15,1.12E-15,6.18E-16, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! cl2d(:) = (/ | 4.47E-12,3.44E-12,3.49E-12,3.50E-12,3.28E-12,2.72E-12,2.43E-12, | 2.73E-12,2.70E-12,1.87E-12,1.08E-12,6.34E-13,4.23E-13,3.53E-13, | 2.67E-13,1.05E-13,6.64E-14,4.64E-14,3.61E-14,3.05E-14,0.00E+00, | 0.00E+00,0.00E+00, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! cl2d(:) = (/ ! | 1.56E-14,3.15E-14,5.65E-14,8.91E-14,9.44E-14,7.07E-14,4.08E-14, ! | 2.88E-14,2.44E-14,1.94E-14,1.28E-14,7.01E-15,3.60E-15,1.68E-15, ! | 9.07E-16,5.72E-16,4.11E-16,2.95E-16,2.13E-16,1.57E-16, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! ohd(:) = (/ | 1.01E-14,2.23E-14,4.32E-14,9.70E-14,2.20E-13,4.91E-13,1.42E-12, | 4.31E-12,1.16E-11,3.06E-11,6.30E-11,1.22E-10,2.65E-10,4.71E-10, | 2.16E-10,6.40E-11,3.60E-11,2.14E-11,1.33E-11,8.91E-12,0.00E+00, | 0.00E+00,0.00E+00, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! ohd(:) = (/ ! | 7.41E-14,2.30E-13,4.96E-13,1.25E-12,3.11E-12,6.56E-12,1.37E-11, ! | 2.62E-11,4.75E-11,9.51E-11,2.13E-10,5.60E-10,8.80E-10,6.96E-10, ! | 8.66E-11,3.76E-11,2.65E-11,2.19E-11,2.22E-11,2.28E-11, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! ho2d(:) = (/ | 4.16E-12,6.30E-12,7.35E-12,8.86E-12,1.18E-11,1.70E-11,2.52E-11, | 3.36E-11,4.79E-11,8.82E-11,1.39E-10,2.12E-10,3.83E-10,5.34E-10, | 1.26E-10,2.88E-11,1.31E-11,5.95E-12,2.70E-12,1.21E-12,0.00E+00, | 0.00E+00,0.00E+00, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! ho2d(:) = (/ ! | 1.35E-11,9.97E-12,8.21E-12,8.40E-12,1.23E-11,2.23E-11,4.45E-11, ! | 7.45E-11,1.06E-10,1.51E-10,2.26E-10,3.29E-10,3.26E-10,1.70E-10, ! | 1.74E-11,4.75E-12,2.30E-12,1.11E-12,5.24E-13,2.02E-13, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! o3d(:) = (/ | 4.33E-10,4.16E-10,5.17E-10,7.04E-10,9.57E-10,1.23E-09,1.89E-09, | 3.17E-09,4.31E-09,4.23E-09,2.68E-09,1.15E-09,5.15E-10,2.48E-10, | 9.60E-10,2.91E-09,3.97E-09,4.88E-09,5.58E-09,5.89E-09,0.00E+00, | 0.00E+00,0.00E+00, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! o3d(:) = (/ ! | 1.57E-09,2.20E-09,2.78E-09,3.19E-09,3.01E-09,2.34E-09,1.49E-09, ! | 9.89E-10,6.93E-10,4.44E-10,2.44E-10,1.10E-10,7.91E-11,1.66E-10, ! | 4.17E-10,3.63E-10,2.74E-10,1.93E-10,1.33E-10,1.11E-10, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! hcld(:) = (/ | 3.27E-07,3.27E-07,3.27E-07,3.26E-07,3.26E-07,3.26E-07,3.25E-07, | 3.25E-07,3.25E-07,3.25E-07,3.23E-07,3.18E-07,3.09E-07,2.83E-07, | 1.23E-07,5.29E-08,3.95E-08,3.17E-08,2.51E-08,1.79E-08,0.00E+00, | 0.00E+00,0.00E+00, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! hcld(:) = (/ ! | 4.16E-08,4.16E-08,4.16E-08,4.15E-08,4.15E-08,4.15E-08,4.15E-08, ! | 4.15E-08,4.15E-08,4.14E-08,4.13E-08,4.11E-08,4.06E-08,3.93E-08, ! | 3.36E-08,2.59E-08,2.12E-08,1.57E-08,9.07E-09,7.38E-10, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! h2d(:) = (/ | 8.54E-10,1.55E-09,2.50E-09,4.33E-09,7.10E-09,1.05E-08,1.54E-08, | 2.10E-08,2.72E-08,3.59E-08,4.76E-08,6.57E-08,9.17E-08,1.24E-07, | 1.83E-07,1.99E-07,2.03E-07,2.07E-07,2.11E-07,2.16E-07,0.00E+00, | 0.00E+00,0.00E+00, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! h2d(:) = (/ ! | 5.14E-08,7.44E-08,1.01E-07,1.47E-07,2.14E-07,2.94E-07,4.08E-07, ! | 5.36E-07,6.76E-07,8.65E-07,1.11E-06,1.45E-06,1.81E-06,2.09E-06, ! | 2.27E-06,2.15E-06,2.00E-06,1.80E-06,1.53E-06,1.18E-06, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! ! -------------------------------------------------------------------- ! Low Altitude Chemistry straight from Chris Parkinson Venus Chem code ! Nightside profiles in VMR ! (11-2-09) ! Alt rage = ~70km - ~112km (zp = -16 to -5) !******************************************************************** ! cln(:) = (/ ! | 7.1284E-15,9.62E-15,1.17E-14,1.01E-14,7.98E-15,4.31E-15, ! | 7.09E-15, ! | 1.26E-12,5.32E-12,1.35E-11,1.26E-10,2.65E-10,8.71E-10, ! | 1.56E-09,2.21E-09,3.37E-09,5.53E-09,8.71E-09,1.19E-08, ! | 1.45E-08,1.89E-08,2.83E-08,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0./) ! ! cl2n(:) = (/ ! | 5.1841E-12,5.64E-12,6.80E-12,8.90E-12,1.08E-11,1.52E-11, ! | 1.89E-11, ! | 2.73E-11,3.28E-11,3.88E-11,4.67E-11,4.62E-11,2.94E-11, ! | 1.65E-11,1.10E-11,5.56E-12,1.80E-12,5.90E-13,2.85E-13, ! | 1.75E-13,1.14E-13,6.61E-14,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0./) ! ! clcon(:) = (/ ! | 9.7582E-16,1.28E-15,1.59E-15,1.54E-15,1.35E-15,1.17E-15, ! | 4.26E-15, ! | 1.71E-12,6.91E-12,1.59E-11,2.55E-11,2.01E-11,6.94E-12, ! | 2.82E-12,1.78E-12,8.64E-13,3.28E-13,1.47E-13,8.06E-14, ! | 5.09E-14,3.12E-14,1.36E-14,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0./) ! ! clon(:) = (/ ! | 3.7381E-13,6.78E-13,1.73E-12,3.88E-12,5.92E-12,1.06E-11, ! | 1.44E-11, ! | 2.04E-11,1.84E-11,1.18E-11,1.12E-11,9.93E-12,6.15E-12, ! | 4.47E-12,3.71E-12,2.76E-12,1.76E-12,1.11E-12,7.73E-13, ! | 5.83E-13,4.27E-13,2.89E-13,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0./) ! ! h2n(:) = (/ ! | 4.5360E-14,4.94E-14,5.95E-14,7.79E-14,9.49E-14,1.34E-13, ! | 1.66E-13, ! | 2.39E-13,2.88E-13,3.41E-13,4.65E-13,5.45E-13,6.84E-13, ! | 7.35E-13,7.47E-13,7.53E-13,7.41E-13,7.07E-13,6.69E-13, ! | 6.35E-13,5.77E-13,4.48E-13,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0./) ! ! hcln(:) = (/ ! | 3.9990E-07,4.00E-07,4.00E-007,4.00E-07,4.00E-07,4.00E-07, ! | 4.00E-07, ! | 4.00E-07,3.99E-07,3.99E-07,3.99E-07,3.99E-07,3.98E-07, ! | 3.98E-07,3.97E-07,3.96E-07,3.94E-07,3.91E-07,3.88E-07, ! | 3.85E-07,3.81E-07,3.72E-07,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0./) ! ! ho2n(:) = (/ ! | -1.8347E-17,-4.48E-18,-2.71E-19,9.48E-22,1.15E-21,1.94E-20, ! | 1.90E-19, ! | 2.97E-17,2.92E-16,9.68E-16,6.68E-15,7.87E-15,4.34E-15, ! | 2.54E-15,1.90E-15,1.24E-15,6.94E-16,3.75E-16,2.26E-16, ! | 1.51E-16,9.54E-17,4.36E-17,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0./) ! ! o3n(:) = (/ ! | 1.8711E-08,2.14E-08,2.88E-08,4.31E-08,5.67E-08,8.80E-08, ! | 1.14E-07, ! | 1.73E-07,2.12E-07,2.53E-07,2.88E-07,2.90E-07,3.26E-07, ! | 3.56E-07,3.62E-07,3.37E-07,2.73E-07,2.12E-07,1.65E-07, ! | 1.33E-07,1.03E-07,7.39E-08,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0./) ! ! ohn(:) = (/ ! | -9.8109E-21,-2.81E-21,-2.23E-22,-5.76E-25,2.19E-25,2.45E-22, ! | 2.78E-21, ! | 7.75E-19,5.54E-17,4.02E-16,3.35E-14,8.82E-14,3.93E-13, ! | 7.40E-13,9.78E-13,1.18E-12,1.21E-12,9.86E-13,7.66E-13, ! | 6.16E-13,4.74E-13,3.45E-13,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0./) ! -------------------------------------------------------------------- #if (NLEV==68) ! -------------------------------------------------------------------- ! Low Altitude Chemistry extracted from Krasnopolsky (2010) for the nightside ! Nightside profiles in MMR (paper has number density in Krasn.m they were converted to mmr) ! (05-19-10) ! Alt rage = ~70km - ~112km (zp = -16 to -5) !******************************************************************** cl2n(:) = (/ | 0.,0.,0.,0.,3.59E-11,9.88E-11,1.23E-10,1.45E-10,1.63E-10, | 1.72E-10,1.44E-10,8.55E-11,5.42E-11,3.94E-11,2.69E-011, | 2.11E-11,1.73E-11,1.16E-11,7.66E-12,5.88E-12,4.86E-012, | 3.62E-12,6.03E-13, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0./) ! clcon(:) = (/ | 0.,0.,0.,0.,0.,0.,0.,0.,1.38E-13,2.19E-12,3.96E-12,1.66E-12, | 3.54E-13,1.08E-13,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0./) ! cln(:) = (/ | 0.,0.,0.,0.,0.,1.10E-13,3.97E-13,6.29E-13,8.42E-11, | 1.31E-09,3.22E-09,3.89E-09,4.32E-09,4.37E-09,4.44E-09, | 4.65E-09,4.84E-09,4.71E-09,4.75E-09,4.84E-09,4.78E-09, | 4.78E-09,5.56E-09, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0./) ! clon(:) = (/ | 0.,0.,0.,0.,0.,1.93E-09,2.41E-09,2.85E-09,3.11E-09,2.02E-09, | 2.68E-10,1.08E-10,5.23E-11,2.75E-11,1.48E-11,8.72E-12, | 4.49E-12,2.31E-12,1.19E-12,5.19E-13,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0./) ! h2n(:) = (/ | 0.,0.,0.,0.,0.,5.12E-11,1.28E-10,1.30E-10,1.34E-10,1.43E-10, | 1.50E-10,1.53E-10,1.59E-10,1.65E-10,1.67E-10,1.67E-10, | 1.70E-10,1.71E-10,1.77E-10,1.83E-10,1.85E-10,1.84E-10, | 2.03E-10, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0./) ! ho2n(:) = (/ | 0.,0.,0.,0.,0.,2.51E-15,7.68E-15,1.38E-14,2.90E-14,5.04E-13, | 9.45E-13,4.44E-13,2.01E-13,1.04E-13,4.43E-14,7.39E-15,0.,0., | 0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0./) ! hcln(:) = (/ | 0.,0.,0.,0.,0.,9.47E-08,2.40E-07,2.44E-07,2.50E-07,2.62E-07, | 2.68E-07,2.70E-07,2.69E-07,2.61E-07,2.84E-07,2.75E-07, | 2.77E-07,2.82E-07,2.98E-07,2.99E-07,2.77E-07,2.90E-07, | 2.97E-07, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0./) ! o3n(:) = (/ | 0.,0.,0.,0.,0.,7.39E-11,1.19E-10,1.92E-10,3.02E-10,5.59E-10, | 1.07E-09,1.98E-09,3.38E-09,5.37E-09,8.88E-09,1.29E-08, | 2.16E-08,3.43E-08,5.45E-08,8.64E-08,1.35E-07,2.07E-07, | 3.87E-07, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0./) ! ohn(:) = (/ | 0.,0.,0.,0.,0.,0.,0.,0.,0.,1.39E-13,1.77E-12,4.91E-12, | 6.42E-12,6.25E-12,5.54E-12,4.82E-12,4.18E-12,3.37E-12, | 2.69E-12,2.12E-12,1.58E-12,1.18E-12,1.97E-13, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0./) ! #elif (NLEV==136) !******************************************************************** ! Double Res. data !******************************************************************** !! -------------------------------------------------------------------- ! Low Altitude Chemistry extracted from Krasnopolsky (2010) for the NIGHTSIDE ! NIGHTSIDE profiles in MMR (paper has number density in Krasn.m they were converted to mmr) ! (05-19-10) ! Alt rage = ~70km - ~112km (zp = -16 to -5) !******************************************************************** cl2n(:) = (/ | 0.,0.,0.,0.,0.,0.,0.,0., | 3.59E-11,8.09E-11,9.88E-11,1.10E-10,1.23E-10,1.35E-10, | 1.45E-10,1.55E-10,1.63E-10,1.71E-10,1.72E-10,1.71E-10, | 1.44E-10,1.09E-10,8.55E-11,6.44E-11,5.42E-11,4.67E-11, | 3.94E-11,3.23E-11,2.69E-11,2.40E-11,2.11E-11,1.89E-11, | 1.73E-11,1.48E-11,1.16E-11,8.82E-12,7.66E-12,6.50E-12, | 5.88E-12,5.39E-12,4.86E-12,4.24E-12,3.62E-12,2.11E-12, | 6.03E-13, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0./) ! clcon(:) = (/ | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 1.38E-13,3.12E-13,2.19E-12,4.50E-12,3.96E-12,2.71E-12, | 1.66E-12,6.64E-13,3.54E-13,2.17E-13,1.09E-13,1.09E-13, | 0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0./) ! cln(:) = (/ | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 1.10e-13,2.47e-13,3.97e-13,5.39e-13,6.29e-13,7.20e-13, | 8.42e-11,1.88e-10,1.31e-09,2.68e-09,3.22e-09,3.55e-09, | 3.89e-09,4.23e-09,4.32e-09,4.35e-09,4.37e-09,4.39e-09, | 4.44e-09,4.55e-09,4.65e-09,4.75e-09,4.84e-09,4.81e-09, | 4.71e-09,4.65e-09,4.75e-09,4.85e-09,4.84e-09,4.80e-09, | 4.76e-09,4.78e-09,4.78e-09,5.17e-09,5.56e-09, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0./) ! clon(:) = (/ | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 1.93e-09,1.93e-09,1.93e-09,2.16e-09,2.41e-09,2.65e-09,2.85e-09, | 3.05e-09,3.12e-09,3.13e-09,2.02e-09,6.32e-10,2.68e-10,1.60e-10, | 1.08e-10,7.07e-11,5.23e-11,3.86e-11,2.75e-11,2.04e-11,1.48e-11, | 1.18e-11,8.72e-12,6.37e-12,4.49e-12,3.20e-12,2.31e-12,1.52e-12, | 1.19e-12,8.46e-13,5.19e-13,5.19e-13, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0./) ! h2n(:) = (/ | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 5.12e-11,1.15e-10,1.28e-10,1.29e-10,1.30e-10,1.31e-10,1.34e-10, | 1.37e-10,1.43e-10,1.48e-10,1.50e-10,1.51e-10,1.53e-10,1.55e-10, | 1.59e-10,1.62e-10,1.65e-10,1.66e-10,1.67e-10,1.67e-10,1.67e-10, | 1.68e-10,1.70e-10,1.71e-10,1.71e-10,1.72e-10,1.77e-10,1.81e-10, | 1.83e-10,1.84e-10,1.85e-10,1.85e-10,1.84e-10,1.94e-10,2.03e-10, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0./) ! ho2n(:) = (/ | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 2.51e-15,2.51e-15,2.51e-15,4.50e-15,7.68e-15,1.10e-14,1.38e-14, | 1.66e-14,2.90e-14,4.38e-14,5.04e-13,1.07e-12,9.45e-13,6.39e-13, | 4.44e-13,2.77e-13,2.01e-13,1.49e-13,1.04e-13,7.14e-14,4.43e-14, | 2.59e-14,7.39e-15, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0./) ! hcln(:) = (/ | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 9.47e-08,2.13e-07,2.40e-07,2.43e-07,2.44e-07,2.45e-07,2.50e-07, | 2.55e-07,2.62e-07,2.68e-07,2.68e-07,2.66e-07,2.70e-07,2.75e-07, | 2.69e-07,2.60e-07,2.61e-07,2.77e-07,2.84e-07,2.79e-07,2.75e-07, | 2.74e-07,2.77e-07,2.79e-07,2.82e-07,2.87e-07,2.98e-07,3.09e-07, | 2.99e-07,2.84e-07,2.77e-07,2.84e-07,2.90e-07,2.93e-07,2.97e-07, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0./) ! o3n(:) = (/ | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 7.39e-11,7.39e-11,7.39e-11,9.04e-11,1.19e-10,1.53e-10,1.92e-10, | 2.32e-10,3.02e-10,3.81e-10,5.59e-10,7.63e-10,1.07e-09,1.41e-09, | 1.98e-09,2.60e-09,3.38e-09,4.20e-09,5.37e-09,7.06e-09,8.88e-09, | 1.09e-08,1.29e-08,1.67e-08,2.16e-08,2.76e-08,3.43e-08,4.21e-08, | 5.45e-08,6.70e-08,8.64e-08,1.08e-07,1.35e-07,1.71e-07,2.07e-07, | 2.97e-07,3.87e-07, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0./) ! ohn(:) = (/ | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 1.39e-13,3.12e-13,1.77e-12,3.54e-12,4.91e-12,6.18e-12,6.42e-12, | 6.40e-12,6.25e-12,5.90e-12,5.54e-12,5.18e-12,4.82e-12,4.49e-12, | 4.18e-12,3.80e-12,3.37e-12,2.97e-12,2.69e-12,2.40e-12,2.12e-12, | 1.83e-12,1.58e-12,1.38e-12,1.18e-12,6.88e-13,1.97e-13, | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0./) #else write(6,"('ERROR: unsupported NLEV = ',i6)") nlev #endif ! -------------------------------------------------------------------- ! -------------------------------------------------------------------- ! Low Altitude Photochemical Sinks for O and CO from ! Yung and Demore (1982) and Massie et al. (1983) ! Possible range: ~70 to 100 km or zp=-16 to -8 !**** Yung and Demore(1982) Model C Diurnal Average Values !23456789012345678901234567890123456789012345678901234567890123456789012 ! Data Sets ! ! xcld(:) = (/ ! | 2.4289E+10,2.4185E+10,2.2817E+10,2.078E+10,1.7739E+10, ! | 1.4699E+10,1.1801E+10,8.9977E+09,6.1946E+09,5.0966E+09, ! | 3.9987E+09,3.0E+09,2.0E+09,1.5E+09,1.0E+09,7.0E+08, ! | 5.0E+08,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0./) ! ! xclod(:) = (/ ! | 1.2854E+08,1.3318E+08,1.1344E+08,9.4261E+07,7.592E+07, ! | 5.758E+07,4.1573E+07,2.7122E+07,1.2671E+07,9.2612E+06, ! | 5.8513E+06,2.4414E+06,1.6229E+06,8.0433E+05,4.0E+05, ! | 1.5E+05,40000.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! ! xclod(:) = (/ ! | 1.2854E+08,1.3318E+08,1.1344E+08,9.4261E+07,7.592E+07, ! | 5.758E+07,4.1573E+07,2.7122E+07,1.2671E+07,9.2612E+06, ! | 5.8513E+06,2.4414E+06,1.6229E+06,8.0433E+05,4.0E+05, ! | 1.5E+05,40000.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0./) ! ! xclcod(:) = (/ ! | 4.2932E+06,4.4241E+06,4.4802E+06,4.5464E+06,4.6278E+06, ! | 4.7092E+06,5.7175E+06,7.3439E+06,8.9702E+06,7.8645E+06, ! | 6.7587E+06,5.6529E+06,3.0E+06,1.5E+06,1.0E+06,4.0E+05, ! | 1.0E+05,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0./) ! ! xclcod(:) = (/ ! | 4.2932E+06,4.4241E+06,4.4802E+06,4.5464E+06,4.6278E+06, ! | 4.7092E+06,5.7175E+06,7.3439E+06,8.9702E+06,7.8645E+06, ! | 6.7587E+06,5.6529E+06,3.0E+06,1.5E+06,1.0E+06,4.0E+05, ! | 1.0E+05,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0./) ! ! xcl2d(:) = (/ ! | 4.8998E+10,2.8886E+10,1.6482E+10,8.0733E+09,5.6584E+09, ! | 3.2436E+09,1.8366E+09,1.1017E+09,3.6671E+08,2.6566E+08, ! | 1.646E+08,6.3551E+07,4.0762E+07,1.7974E+07,8.0E+06, ! | 2.0E+06,5.0E+05,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0./) ! ! xohd(:) = (/ ! | 1296.9,1591.4,1789.3,1964.8,2106.7,2248.7,2676.8,3295.7,3914.6, ! | 5360.8,6807.,8253.2,12717.,16000.,27000.,40000.,55000.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0./) ! ! xho2d(:) = (/ ! | 30181.,39989.,50091.,57641.,61361.,65082.,67636.,69413.,71190., ! | 72677.,74165.,75652.,70000.,65000.,60000.,40000.,35000.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0./) ! ! xo3d(:) = (/ ! | 1.5752E+07,1.343E+07,1.0675E+07,8.9911E+06,8.9139E+06,8.8368E+6, ! | 9.0825E+06,9.5435E+06,1.0004E+07,1.1116E+07,1.2227E+07, ! | 1.3338E+07,1.4966E+07,1.6594E+07,1.687E+07,1.5121E+07,1.3371E+7, ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0./) ! ! hcld(:) = (/ ! | 7.8834E-07,7.872E-07,7.9038E-07,7.9129E-07,7.8879E-07,7.863E-07, ! | 7.8251E-07,7.7786E-07,7.7322E-07,7.589E-07,7.4458E-07,7.3026E-7, ! | 7.1416E-07,6.9806E-07,6.7835E-07,6.5323E-07,6.2811E-07,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0./) ! ! h2d(:) = (/ ! | 0.,0.,0.,0.,0.,0.,9.2107E-10,1.9621E-09,3.0031E-09,7.4297E-09, ! | 1.1856E-8,1.6283E-8,2.5725E-08,3.5166E-08,4.6973E-08,6.2328E-08, ! | 7.7682E-008,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., ! | 0.,0.,0.,0.,0.,0.,0.,0./) !--------------------------------------------------------------------- ! ! Calculate p0*e(-z)*barm/kT (1/(N*MBAR))at interfaces ! subroutine mk_xnmbari(tni,barm,xnmbari,lev0,lev1,lon0,lon1,lat) ! call mk_xnmbari(tni,barm(:,lon0:lon1), | xnmbari, | lev0,lev1,lon0,lon1,lat) ! ! Species Number densities at interfaces (#/cm3) ! Qrj dissociation rates (#/cm3.sec) at interfaces: JCO2, JO2 ! do i=lon0,lon1 do k=lev0,lev1-1 xo(k,i) = xnmbari(k,i)*o1(k,i)*rmassinv_o1 xco(k,i) = xnmbari(k,i)*co(k,i)*rmassinv_co xco2(k,i) = xnmbari(k,i)*co2(k,i)*rmassinv_co2 if (xco2(k,i) < 1.0) xco2(k,i) = 1.0 xo2(k,i) = xnmbari(k,i)*o2(k,i)*rmassinv_o2 xn2(k,i) = xnmbari(k,i)*n2(k,i)*rmassinv_n2 rji (k,i) = 0.5*(rj(k,i,lat)+rj(k+1,i,lat)) rjis (k,i) = rji(k,i)/xco2(k,i) qjo2i(k,i) = 0.5*(qjo2(k,i,lat)+qjo2(k+1,i,lat)) qjo2is(k,i) = qjo2i(k,i)/xo2(k,i) !converting mmr to number density xcln(k,i) = xnmbari(k,i)*cln(k)*(1./35.) xclon(k,i) = xnmbari(k,i)*clon(k)*(1./51.) xclcon(k,i) = xnmbari(k,i)*clcon(k)*(1./63.) xcl2n(k,i) = xnmbari(k,i)*cl2n(k)*(1./70.) xohn(k,i) = xnmbari(k,i)*ohn(k)*(1./17.) xho2n(k,i) = xnmbari(k,i)*ho2n(k)*(1./33.) xo3n(k,i) = xnmbari(k,i)*o3n(k)*(1./48.) xh2n(k,i) = xnmbari(k,i)*h2n(k)*(1./2.) xhcln(k,i) = xnmbari(k,i)*hcln(k)*(1./36.) ! xh2d(k,i) = xnmbari(k,i)*h2d(k)*(1./2.) ! xhcld(k,i) = xnmbari(k,i)*hcld(k)*(1./36.) ! xcld(k,i) = xnmbari(k,i)*cld(k)*(1./35.) xclod(k,i) = xnmbari(k,i)*clod(k)*(1./51.) xclcod(k,i) = xnmbari(k,i)*clcod(k)*(1./63.) xcl2d(k,i) = xnmbari(k,i)*cl2d(k)*(1./70.) xohd(k,i) = xnmbari(k,i)*ohd(k)*(1./17.) xho2d(k,i) = xnmbari(k,i)*ho2d(k)*(1./33.) xo3d(k,i) = xnmbari(k,i)*o3d(k)*(1./48.) xh2d(k,i) = xnmbari(k,i)*h2d(k)*(1./2.) xhcld(k,i) = xnmbari(k,i)*hcld(k)*(1./36.) xh2d(k,i) = xnmbari(k,i)*h2d(k)*(1./2.) xhcld(k,i) = xnmbari(k,i)*hcld(k)*(1./36.) ! ! LOG10 DENSITIES FOR PLOTTING ! xco2l(k,i)=log10(xco2(k,i)) ! xcol(k,i)=log10(xco(k,i)) ! xo2l(k,i)=log10(xo2(k,i)) ! xn2l(k,i)=log10(xn2(k,i)) ! xol(k,i)=log10(xo(k,i)) ! ! Creating total density ! xtot(k,i) = xo(k,i)+xco(k,i)+xco2(k,i)+xo2(k,i)+xn2(k,i) ! xtot(k,i) = xo(k,i)+xco(k,i)+xco2(k,i)+xn2(k,i) ! xtot(k,i) = o1(k,i)+co(k,i)+co2(k,i)+n2(k,i) ! xtot(k,i) = xnmbari(k,i)/barm(k,i) ! Converting vmr to number density ! xcld(k,i) = xtot(k,i)*cld(k) ! xclod(k,i) = xtot(k,i)*clod(k) ! xclcod(k,i) = xtot(k,i)*clcod(k) ! xcl2d(k,i) = xtot(k,i)*cl2d(k) ! xohd(k,i) = xtot(k,i)*ohd(k) ! xho2d(k,i) = xtot(k,i)*ho2d(k) ! xo3d(k,i) = xtot(k,i)*o3d(k) ! xh2d(k,i) = xtot(k,i)*h2d(k) ! xhcld(k,i) = xtot(k,i)*hcld(k) ! xcln(k,i) = xtot(k,i)*cln(k) ! xclon(k,i) = xtot(k,i)*clon(k) ! xclcon(k,i) = xtot(k,i)*clcon(k) ! xcl2n(k,i) = xtot(k,i)*cl2n(k) ! xohn(k,i) = xtot(k,i)*ohn(k) ! xho2n(k,i) = xtot(k,i)*ho2n(k) ! xo3n(k,i) = xtot(k,i)*o3n(k) ! xh2n(k,i) = xtot(k,i)*h2n(k) ! xhcln(k,i) = xtot(k,i)*hcln(k) ! ! WRITE(*,*)'xcln',xcln ! WRITE(*,*)'xcld',xcld enddo ! k=lev0,lev1-1 enddo ! i=lon0,lon1 ! ! Fields OK: 11/21/06 ! call addfld('RJI',' ',' ',rji,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('QJO2I',' ',' ',qjo2i,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XCO2L',' ',' ',xco2l,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XCOL' ,' ',' ',xcol ,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XN2L' ,' ',' ',xn2l ,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XO2L' ,' ',' ',xo2l ,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XOL' ,' ',' ',xol ,'lev',k0,k1,'lon',i0,i1,lat) ! ! -------------------------------------------------------------------- nk = lev1-lev0+1 ! --------------------------------------------------------------------- ! Major sources and losses for O and CO (before NOX Chemistry Added) ! -- Checked (10/29/07-11/02/07) ! -- Re-Checked (11/16/07) No OSRC or COSRC less than z = -12.0 ! since JCO2=JO2=0 plus ions are negligible ! -- Re-checked (04/22/08) No idn_latlon flags; OK from qrj and ions ! --------------------------------------------------------------------- ! ! Loop over subdomain at current latitude: for comp usage do i=lon0,lon1 do k=lev0,lev1-1 !! ----------------------------------- !! Dayside and Nightside OSRC, COSRC, OLOSS, COLOSS !! ----------------------------------- !! O sources : all [1,0] terms of fs-array !! ! osrc(k,i) = rji(k,i) + 2.*qjo2i(k,i) + 2.*o2p(k,i)*ne(k,i)* ! | a13(k,i,lat) + co2p(k,i)*ne(k,i)*a14(k,i,lat) !! !! O losses : [1,1] and [2,1] terms of fs-array !! !! oloss(k,i) = 2.*xo(k,i)*xco2(k,i)*r2(k,i,lat)+ !! oloss(k,i) = 2.*xo(k,i)*xco2(k,i)*r2+ !! | co2p(k,i)*(r19+r20) + xo2(k,i)*xco2(k,i)*r5(k,i,lat) !! ! oloss(k,i) = 2.*xo(k,i)*xco2(k,i)*r2+ ! | co2p(k,i)*(r19+r20) + ! | xo2(k,i)*xco2(k,i)*r5 + !! Low Altitude ! | xo3(k,i)*rk20(k,i,lat) + ! | xhcl(k,i)*r66(k,i,lat) + ! | xh2(k,i)*r104(k,i,lat) + ! | xoh(k,i)*rk28(k,i,lat) + ! | xho2(k,i)*r49(k,i,lat) + ! | xclco(k,i)*r102a + ! | xclco(k,i)*r102b + ! | xcl2(k,i)*r108(k,i,lat) + ! | xclo(k,i)*r44(k,i,lat) ! oloss3(k,i) = xo(k,i)*xco2(k,i)*r3(k,i,lat) ! oloss2(k,i) = oloss(k,i)*xo(k,i)+oloss3(k,i)*xco(k,i) ! otime(k,i) = 1./(oloss(k,i)+oloss3(k,i))/86400. ! xopce(k,i) = osrc(k,i)/oloss2(k,i) ! ! ! ! Day/Night Split if (idn_lonlat(i,lat)==1)then ! ----------------------------------- ! Dayside OSRC, OLOSS ! ----------------------------------- osrc(k,i) = rji(k,i) + 2.*qjo2i(k,i) + 2.*o2p(k,i)*ne(k,i)* | a13(k,i,lat) + co2p(k,i)*ne(k,i)*a14(k,i,lat) oloss(k,i) = 2.*xo(k,i)*xco2(k,i)*r2+ | co2p(k,i)*(r19+r20) + | xo2(k,i)*xco2(k,i)*r5 ! Low Altitude ! | xo3d(k,i)*rk20(k,i,lat) + ! | xhcld(k,i)*r66(k,i,lat) + ! | xh2d(k,i)*r104(k,i,lat) + ! | xohd(k,i)*rk28(k,i,lat) + ! | xho2d(k,i)*r49(k,i,lat) + ! | xclcod(k,i)*r102a + ! | xclcod(k,i)*r102b + ! | xcl2d(k,i)*r108(k,i,lat) + ! | xclod(k,i)*r44(k,i,lat) ! ! output dayside Tracers ! olosDd(k,i) = xo(k,i)*xo3d(k,i)*rk20(k,i,lat) ! olosEd(k,i) = xo(k,i)*xhcld(k,i)*r66(k,i,lat) ! olosFd(k,i) = xo(k,i)*xh2d(k,i)*r104(k,i,lat) ! olosGd(k,i) = xo(k,i)*xohd(k,i)*rk28(k,i,lat) ! olosHd(k,i) = xo(k,i)*xho2d(k,i)*r49(k,i,lat) ! olosId(k,i) = xo(k,i)*xclcod(k,i)*r102a ! olosJd(k,i) = xo(k,i)*xclcod(k,i)*r102b ! olosKd(k,i) = xo(k,i)*xcl2d(k,i)*r108(k,i,lat) ! olosLd(k,i) = xo(k,i)*xclod(k,i)*r44(k,i,lat) ! olosTrdy(k,i) = olosDd(k,i)+olosEd(k,i)+olosFd(k,i)+ ! | olosGd(k,i)+olosHd(k,i)+olosId(k,i) + ! | olosJd(k,i)+olosKd(k,i)+olosLd(k,i) else ! ----------------------------------- ! Nightside OSRC, OLOSS ! ----------------------------------- osrc(k,i) = 0.0 oloss(k,i) = 2.*xo(k,i)*xco2(k,i)*r2+ | co2p(k,i)*(r19+r20) + | xo2(k,i)*xco2(k,i)*r5+ ! Low Altitude | xo3n(k,i)*rk20(k,i,lat) + | xhcln(k,i)*r66(k,i,lat) + | xh2n(k,i)*r104(k,i,lat) + | xohn(k,i)*rk28(k,i,lat) + | xho2n(k,i)*r49(k,i,lat) + | xclcon(k,i)*r102a + | xclcon(k,i)*r102b + | xcl2n(k,i)*r108(k,i,lat) + | xclon(k,i)*r44(k,i,lat) ! ! output nightside Tracers olosDn(k,i) = xo(k,i)*xo3n(k,i)*rk20(k,i,lat) olosEn(k,i) = xo(k,i)*xhcln(k,i)*r66(k,i,lat) olosFn(k,i) = xo(k,i)*xh2n(k,i)*r104(k,i,lat) olosGn(k,i) = xo(k,i)*xohn(k,i)*rk28(k,i,lat) olosHn(k,i) = xo(k,i)*xho2n(k,i)*r49(k,i,lat) olosIn(k,i) = xo(k,i)*xclcon(k,i)*r102a olosJn(k,i) = xo(k,i)*xclcon(k,i)*r102b olosKn(k,i) = xo(k,i)*xcl2n(k,i)*r108(k,i,lat) olosLn(k,i) = xo(k,i)*xclon(k,i)*r44(k,i,lat) olosTrnt(k,i) = olosDn(k,i)+olosEn(k,i)+olosFn(k,i)+ | olosGn(k,i)+olosHn(k,i)+olosIn(k,i) + | olosJn(k,i)+olosKn(k,i)+olosLn(k,i) endif ! ----------------------------------- oloss3(k,i) = xo(k,i)*xco2(k,i)*r3(k,i,lat) oloss2(k,i) = oloss(k,i)*xo(k,i)+oloss3(k,i)*xco(k,i) otime(k,i) = 1./(oloss(k,i)+oloss3(k,i))/86400. xopce(k,i) = osrc(k,i)/oloss2(k,i) ! ! osrcA(k,i) = rji(k,i) osrcB(k,i) = 2.*qjo2i(k,i) osrcC(k,i) = 2.*o2p(k,i)*ne(k,i)*a13(k,i,lat) osrcD(k,i) = co2p(k,i)*ne(k,i)*a14(k,i,lat) osrcT(k,i) = osrcA(k,i)+osrcB(k,i)+osrcC(k,i)+osrcD(k,i) ! ! olossA(k,i) = xo(k,i)*2.*xo(k,i)*xco2(k,i)*r2(k,i,lat) olossA(k,i) = xo(k,i)*2.*xo(k,i)*xco2(k,i)*r2 olossB(k,i) = xo(k,i)*co2p(k,i)*(r19+r20) ! olossC(k,i) = xo(k,i)*xo2(k,i)*xco2(k,i)*r5(k,i,lat) olossC(k,i) = xo(k,i)*xo2(k,i)*xco2(k,i)*r5 ! onet(k,i) = osrcT(k,i) - oloss2(k,i) ! ! Day/Night Split if (idn_lonlat(i,lat)==1)then ! CO sources : [2,0] and [2,1] terms are separated for fs-array ! cosrc(k,i) = rji(k,i) + co2p(k,i)*ne(k,i)*a14(k,i,lat) + | op(k,i)*xco2(k,i)*r18 cosrc2(k,i) = co2p(k,i)*xo(k,i)*r20 cosrc3(k,i) = co2p(k,i)*r20 ! CO losses : coloss(k,i) = xo(k,i)*xco2(k,i)*r3(k,i,lat) else ! CO sources : [2,0] and [2,1] terms are separated for fs-array ! cosrc(k,i) = rji(k,i) + co2p(k,i)*ne(k,i)*a14(k,i,lat) + | op(k,i)*xco2(k,i)*r18 cosrc2(k,i) = co2p(k,i)*xo(k,i)*r20 cosrc3(k,i) = co2p(k,i)*r20 ! CO losses : coloss(k,i) = xo(k,i)*xco2(k,i)*r3(k,i,lat) + ! Low Altitude | xcln(k,i)*xco2(k,i)*r99(k,i,lat) + | xohn(k,i)*r25 + | xclon(k,i)*r43(k,i,lat) colossA(k,i) = xco(k,i)*xo(k,i)*xco2(k,i)*r3(k,i,lat) colossB(k,i) = xco(k,i)*xcln(k,i)*xco2(k,i)*r99(k,i,lat) colossC(k,i) = xco(k,i)*xohn(k,i)*r25 colossD(k,i) = xco(k,i)*xclon(k,i)*r43(k,i,lat) endif coloss2(k,i) = coloss(k,i)*xco(k,i) cotime(k,i) = (1./coloss(k,i))/86400. xcopce(k,i) = (cosrc(k,i)+cosrc2(k,i))/coloss(k,i) ! --------------------------------------------------------------------- ! ! Matrix coefficients for O-CO-CO2 solution: from vtgcm2 code ! Cross terms are neglected here (minor). How to add back? ! Sources are translated from #/cm3.sec to mass mixing units ! Losses are already compatible mass mixing units (1/sec) ! -- coloss(k,i) could be moved to [2,1] term and scaled by 28./16. ! fs(i,k,1,1,lat) = -oloss(k,i) fs(i,k,1,2,lat) = -oloss3(k,i)*rmass_o1*rmassinv_co fs(i,k,2,1,lat) = cosrc3(k,i)*rmass_co*rmassinv_o1 fs(i,k,2,2,lat) = -coloss(k,i) fs(i,k,1,0,lat) = osrc(k,i)*rmass_o1/xnmbari(k,i) fs(i,k,2,0,lat) = cosrc(k,i)*rmass_co/xnmbari(k,i) enddo ! k=lev0,lev1-1 enddo ! i=lon0,lon1 ! ! --------------------------------------------------------------------- do i = lon0,lon1 do k = lev0,lev1-1 slab(k,i) = gask*tni(k,i)/(barm(k,i)*grav) enddo enddo ! *O Total production INTEGRATED COLUMN RATE (#/cm2/sec) do i = lon0,lon1 if (dz == 0.5) then ! Below 90 km is Zeroed out (because of O-lbc) do k = 1,11 fldht(k) = 0. enddo do k = 11,lev1-1 fldht(k) = slab(k,i)*osrcT(k,i) enddo elseif (dz == 0.25) then ! Below 90 km is Zeroed out (because of O-lbc) do k = 1,21 fldht(k) = 0. enddo do k = 21,lev1-1 fldht(k) = slab(k,i)*osrcT(k,i) enddo endif call integral(colout,fldht,1,dz,lev1-1) do k = lev0,lev1-1 oprodcol(k,i) = colout(k) enddo enddo ! *O Net production INTEGRATED COLUMN RATE (#/cm2/sec) do i = lon0,lon1 if (dz == 0.5) then ! Below 90 km is Zeroed out (because of O-lbc) do k = 1,11 fldht(k) = 0. enddo do k = 11,lev1-1 fldht(k) = slab(k,i)*onet(k,i) enddo elseif (dz == 0.25) then ! Below 90 km is Zeroed out (because of O-lbc) do k = 1,21 fldht(k) = 0. enddo do k = 21,lev1-1 fldht(k) = slab(k,i)*onet(k,i) enddo endif call integral(colout,fldht,1,dz,lev1-1) do k = lev0,lev1-1 onetprodcol(k,i) = colout(k) enddo enddo ! *O destruction INTEGRATED COLUMN RATE (#/cm2/sec) do i = lon0,lon1 if (dz == 0.5) then ! Below 90 km is Zeroed out (because of O-lbc) do k = 1,11 fldht(k) = 0. enddo do k = 11,lev1-1 fldht(k) = slab(k,i)*(oloss2(k,i)) enddo elseif (dz == 0.25) then ! Below 90 km is Zeroed out (because of O-lbc) do k = 1,21 fldht(k) = 0. enddo do k = 21,lev1-1 fldht(k) = slab(k,i)*(oloss2(k,i)) enddo endif call integral(colout,fldht,1,dz,lev1-1) do k = lev0,lev1-1 odestcol(k,i) = colout(k) enddo enddo ! Loop over subdomain at current latitude: diagnostics do i=lon0,lon1 do k=lev0,lev1-1 ! -------------------------------------------------------- if (osrc(k,i) .GT. 1.0) THEN osrc(k,i)= log10(osrc(k,i)) else osrc(k,i) = 0. endif if (oloss2(k,i) .GT. 1.0) THEN oloss2(k,i)= log10(oloss2(k,i)) else oloss2(k,i) = 0. endif if (otime(k,i) .GT. 0.0) THEN otimel(k,i)= log10(otime(k,i)) else otimel(k,i) = 0. endif if (cosrc(k,i) .GT. 1.0) THEN cosrc(k,i)= log10(cosrc(k,i)) else cosrc(k,i) = 0. endif if (coloss2(k,i) .GT. 1.0) THEN coloss2(k,i)= log10(coloss2(k,i)) else coloss2(k,i) = 0. endif if (cotime(k,i) .GT. 0.0) THEN cotimel(k,i)= log10(cotime(k,i)) else cotimel(k,i) = 0. endif ! -------------------------------------------------------- enddo ! k=lev0,lev1-1 enddo ! i=lon0,lon1 ! do k=lev0,lev1-1 ! write(6,"('comp_oco: lat=',i3,' k=',i3)") lat,k ! write(6,"('fs(:,k,1,1,lat)=',/,(6e12.4))") fs(:,k,1,1,lat) ! write(6,"('fs(:,k,1,2,lat)=',/,(6e12.4))") fs(:,k,1,2,lat) ! write(6,"('fs(:,k,2,1,lat)=',/,(6e12.4))") fs(:,k,2,1,lat) ! write(6,"('fs(:,k,2,2,lat)=',/,(6e12.4))") fs(:,k,2,2,lat) ! write(6,"('fs(:,k,1,0,lat)=',/,(6e12.4))") fs(:,k,1,0,lat) ! write(6,"('fs(:,k,2,0,lat)=',/,(6e12.4))") fs(:,k,2,0,lat) ! ! enddo ! k=lev0,lev1-1 ! ---------------------------------------------------------------------- call addfld('OSRC',' ',' ',osrc,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSS',' ',' ',oloss2,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLIFE',' ',' ',otimel,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OPRODCOL',' ',' ',oprodcol,'lev',k0,k1,'lon',i0,i1, | lat) call addfld('ONETPRODCOL',' ',' ',onetprodcol,'lev',k0,k1,'lon', | i0,i1,lat) call addfld('ODESTCOL',' ',' ',odestcol,'lev',k0,k1,'lon',i0,i1, | lat) call addfld('TAUO',' ',' ',otime,'lev',k0,k1,'lon',i0,i1,lat) call addfld('COSRC',' ',' ',cosrc,'lev',k0,k1,'lon',i0,i1,lat) call addfld('COLOSS',' ',' ',coloss2,'lev',k0,k1,'lon',i0,i1,lat) call addfld('COLIFE',' ',' ',cotimel,'lev',k0,k1,'lon',i0,i1,lat) ! ---------------------------------------------------------------------- ! call addfld('XCLD',' ',' ',xcld,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XCLN',' ',' ',xcln,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XCL2D',' ',' ',xcl2d,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XCL2N',' ',' ',xcl2n,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XCLOD',' ',' ',xclod,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XCLON',' ',' ',xclon,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XCLCON',' ',' ',xclcon,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XCLCOD',' ',' ',xclcod,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XOHN',' ',' ',xohn,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XOHD',' ',' ',xohd,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XHO2N',' ',' ',xho2n,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XHO2D',' ',' ',xho2d,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XO3N',' ',' ',xo3n,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XO3D',' ',' ',xo3d,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XHCLN',' ',' ',xhcln,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XHCLD',' ',' ',xhcld,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XH2N',' ',' ',xh2n,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XH2D',' ',' ',xh2d,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('XTOT',' ',' ',xtot,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('MeanMass',' ',' ',barm,'lev',k0,k1,'lon',i0,i1,lat) ! ---------------------------------------------------------------------- call addfld('RJIS',' ',' ',rjis,'lev',k0,k1,'lon',i0,i1,lat) call addfld('QJO2IS',' ',' ',qjo2is,'lev',k0,k1,'lon',i0,i1,lat) ! ---------------------------------------------------------------------- ! call addfld('A13',' ',' ',a13,'lev',k0,k1,'lon',i0,i1,lat) ! call addfld('A14',' ',' ',a14,'lev',k0,k1,'lon',i0,i1,lat) call addfld('COLOSSA',' ',' ',colossA,'lev',k0,k1,'lon',i0,i1,lat) call addfld('COLOSSB',' ',' ',colossB,'lev',k0,k1,'lon',i0,i1,lat) call addfld('COLOSSC',' ',' ',colossC,'lev',k0,k1,'lon',i0,i1,lat) call addfld('COLOSSD',' ',' ',colossD,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OSRCA',' ',' ',osrcA,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OSRCB',' ',' ',osrcB,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OSRCC',' ',' ',osrcC,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OSRCD',' ',' ',osrcD,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OSRCT',' ',' ',osrcT,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSA',' ',' ',olossA,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSB',' ',' ',olossB,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSC',' ',' ',olossC,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSDD',' ',' ',olosDd,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSED',' ',' ',olosEd,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSFD',' ',' ',olosFd,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSGD',' ',' ',olosGd,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSHD',' ',' ',olosHd,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSID',' ',' ',olosId,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSJD',' ',' ',olosJd,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSKD',' ',' ',olosKd,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSLD',' ',' ',olosLd,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSTrdy',' ',' ',olosTrdy,'lev', | k0,k1,'lon',i0,i1,lat) call addfld('OLOSSDN',' ',' ',olosDn,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSEN',' ',' ',olosEn,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSFN',' ',' ',olosFn,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSGN',' ',' ',olosGn,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSHN',' ',' ',olosHn,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSIN',' ',' ',olosIn,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSJN',' ',' ',olosJn,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSKN',' ',' ',olosKn,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSSLN',' ',' ',olosLn,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OLOSTrnt',' ',' ',olosTrnt,'lev', | k0,k1,'lon',i0,i1,lat) ! ---------------------------------------------------------------------- call addfld('OPCE',' ',' ',xopce,'lev',k0,k1,'lon',i0,i1,lat) call addfld('COPCE',' ',' ',xcopce,'lev',k0,k1,'lon',i0,i1,lat) ! ---------------------------------------------------------------------- end subroutine comp_oco ! ----------------------------------------------------------------------