! subroutine comp_oh(tn,barm,o1,co,co2, | n2,o2,op,co2p,o2p,ne, | lev0,lev1,lon0,lon1,lat) ! 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 o2_module,only: integral use qrj_module,only: rj,qjo2, | mk_xnmbari use fields_module,only: tlbc use chemrates_module,only: r49,r41b,r66,r104,r54, | r51,rk28,r53,r105,r2,rk23, | k50,k51,k52,r5,rk20,r53,rk23,r54,k53,k54,k55,k56 ! | v1,v2,v3,v4,v5,v6,v7,v8,v9, ! | kv98,kv97,kv96,kv95,kv94,kv93,kv92,kv91,kv9g, ! | kv87,kv86,kv85,kv84,kv83,kv82,kv81,kv8g, ! | kv76,kv75,kv74,kv73,kv72,kv71,kv7g, ! | kv65,kv64,kv63,kv62,kv61,kv6g, ! | kv54,kv53,kv52,kv51,kv5g, ! | kv43,kv42,kv41,kv4g, ! | kv32,kv31,kv3g, ! | kv21,kv2g, ! | kv1g ! use chapman_module,only:idn_lonlat use addfld_module,only: addfld implicit none real :: BETA, FOHIR ! 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) | qjo2i, ! JO2 at interfaces (qrj module) | xnmbari, ! xnmbar at interfaces (qrj module) | xnmbar, ! xnmbar at midlevels (qrj module) | ohsrc, ! OH production terms (#/cm3/sec) | ohloss, ! OH loss terms (1/sec) | o3src, ! O3 production terms (#/cm3/sec) | o3loss, ! O3 loss terms (1/sec) | ohden, ! calculated OH number density | o3den, ! calculated O3 number density | ohdenvmr, ! calculated OH VMR | o3denvmr, ! calculated O3 VMR | 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) | xcl, ! CL number density (#/cm3) | xclo, ! CLO number density (#/cm3) | xcl2, ! CL2 number desity (#/cm3) | xoh, ! OH number density (#/cm3) | xh, ! H number density (#/cm3) | xho2, ! HO2 number density (#/cm3) | xo3, ! O3 number density (#/cm3) | xh2, ! h2 number density (#/cm3) | xhcl, ! hcl 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) | xohv9, | xohv8, | xohv7, | xohv6, | xohv5, | xohv4, | xohv3, | xohv2, | xohv1, | xohvg, | slab, ! slab width (cm) | ohirvem, ! ohir volume emission (photons/cm3/sec) | ohirveml, ! ohir volume emission (log10 photons/cm3/sec) | ohirint ! ohir integrated intensity (photons/cm2/sec in K Rayleighs) real,dimension(lev0:lev1) :: colout,fldht ! ! Specificed specifically for OH airglow real,dimension(lev0:lev1) :: | cl, ! CL (vmr) | clo, ! CLO (vmr) | clco, ! CLCO (vmr) | cl2, ! CL2 (vmr) | oh, ! OH (vmr) | h, ! H (vmr) | ho2, ! HO2 (vmr) | o3, ! O3 (vmr) | hcl, ! hcl (vmr) | h2 ! h2 (vmr) ! ! ! 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 and CO from ! Yung and Demore (1982) and Massie et al. (1983) ! Possible range: ~70 to 100 km or zp=-16 to -8 ! 47 levels !**** Yung and Demore(1982) Model C Diurnal Average Values !23456789012345678901234567890123456789012345678901234567890123456789012 ! Data Sets ! ! xcl(:) = (/ ! | 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./) ! ! xclo(:) = (/ ! | 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./) ! ! xcl2(:) = (/ ! | 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./) ! ! xoh(:) = (/ ! | 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./) ! ! xho2(:) = (/ ! | 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./) ! ! xo3(:) = (/ ! | 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./) ! ! hcl(:) = (/ ! | 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./) ! ! h2(:) = (/ ! | 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./) ! -------------------------------------------------------------------- ! 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) !******************************************************************** cl(:) = (/ | 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./) ! cl2(:) = (/ | 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./) ! clco(:) = (/ | 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./) ! clo(:) = (/ | 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./) ! h2(:) = (/ | 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./) ! hcl(:) = (/ | 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./) ! ho2(:) = (/ | -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./) ! o3(:) = (/ | 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./) ! oh(:) = (/ | -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./) ! h(:) = (/ | -1.40E-17,-4.60E-18,-4.17E-19,-1.13E-21,3.70E-22,3.26E-19, | 3.45E-18, | 8.03E-16,4.87E-14,3.41E-13,2.89E-11,7.72E-11,3.41E-10, | 6.69E-10,9.86E-10,1.56E-09,2.62E-09,4.15E-09,5.64E-09, | 6.87E-09,8.95E-09,1.34E-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./) ! -------------------------------------------------------------------- ! ! ! 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)) qjo2i(k,i) = 0.5*(qjo2(k,i,lat)+qjo2(k+1,i,lat)) ! ! 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 number 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) ! Converting mmr to number density ! xh2(k,i) = xtot(k,i)*h2(k) ! xhcl(k,i) = xtot(k,i)*hcl(k) ! ! Converting vmr to number density xcl(k,i) = xtot(k,i)*cl(k) xclo(k,i) = xtot(k,i)*clo(k) ! xclco(k,i) = xtot(k,i)*clco(k) xcl2(k,i) = xtot(k,i)*cl2(k) xoh(k,i) = xtot(k,i)*oh(k) xh(k,i) = xtot(k,i)*h(k) xho2(k,i) = xtot(k,i)*ho2(k) xo3(k,i) = xtot(k,i)*o3(k) xh2(k,i) = xtot(k,i)*h2(k) xhcl(k,i) = xtot(k,i)*hcl(k) ! enddo ! k=lev0,lev1-1 enddo ! i=lon0,lon1 ! ! ----------------------------------------------------------------------- ! Loop over subdomain at current latitude: for comp usage do i=lon0,lon1 do k=lev0,lev1-1 ! if (idn_lonlat(i,lat)==1) then ! ohsrc(k,i) = 0. ! ohloss(k,i) = 0. ! ohden(k,i) = 0. ! ! else ! ----------------------------------- ! Nightside O3SRC, O3LOSS ! ----------------------------------- ! O3 sources: o3src(k,i) = | 2.*xo(k,i)*xo2(k,i)*k50(k,i,lat) + | xo(k,i)*2.*xo2(k,i)*k51(k,i,lat) + | xo(k,i)*xo2(k,i)*xco(k,i)*k52(k,i,lat) + | xo(k,i)*xo2(k,i)*xco2(k,i)*r5 ! ! O3 losses : o3loss(k,i) = | xo(k,i)*rk20(k,i,lat) + | xoh(k,i)*r53(k,i,lat) + | xh(k,i)*rk23(k,i,lat) + | xho2(k,i)*r54(k,i,lat) + ! | xno(k,i)*k53(k,i,lat) + | xcl(k,i)*k54(k,i,lat) + | xclo(k,i)*k55 + | xclo(k,i)*k56(k,i,lat) ! ! O3 Denisty (#/cm3): o3den(k,i) = o3src(k,i)/o3loss(k,i) !Converting from number density to VMR o3denvmr(k,i) = o3den(k,i)/xtot(k,i) ! ! ----------------------------------- ! Nightside OHSRC, OHLOSS ! ----------------------------------- ! OH sources : ! ohsrc(k,i) = | xh(k,i)*xo3(k,i)*rk23(k,i,lat) + ! | xh(k,i)*o3den(k,i)*rk23(k,i,lat) + | xho2(k,i)*xo(k,i)*r49(k,i,lat) + | xho2(k,i)*xcl(k,i)*r41b(k,i,lat) + | xhcl(k,i)*xo(k,i)*r66(k,i,lat) + | xh2(k,i)*xo(k,i)*r104(k,i,lat) + | xho2(k,i)*xo3(k,i)*r54(k,i,lat) ! | xho2(k,i)*o3den(k,i)*r54(k,i,lat) ! ! OH losses : ! ohloss(k,i) = | xco(k,i)*r51 + | xo(k,i)*rk28(k,i,lat) + | xo3(k,i)*r53(k,i,lat) + ! | o3den(k,i)*r53(k,i,lat) + | xoh(k,i)*r105(k,i,lat) ! ! OH Density(number density) : ohden(k,i) = | ohsrc(k,i)/ohloss(k,i) !Converting from number density to VMR ohdenvmr(k,i) = ohden(k,i)/xtot(k,i) ! ! ---------------------------------------------------------------------- ! ** Populating equations ! ---------------------------------------------------------------------- ! ! xohv1(k,i) = xho2(k,i)*xo(k,i)*v1 ! xohv2(k,i) = xho2(k,i)*xo(k,i)*v2 ! xohv3(k,i) = xho2(k,i)*xo(k,i)*v3 ! xohv4(k,i) = xho2(k,i)*xo(k,i)*v4 ! xohv5(k,i) = xho2(k,i)*xo(k,i)*v5(k,i,lat) ! xohv6(k,i) = xho2(k,i)*xo(k,i)*v6(k,i,lat) ! xohv7(k,i) = xho2(k,i)*xo(k,i)*v7(k,i,lat) ! xohv8(k,i) = xho2(k,i)*xo(k,i)*v8(k,i,lat) ! xohv9(k,i) = xho2(k,i)*xo(k,i)*v9(k,i,lat) ! ! ----------------------------------------------------------------------- ! ** OH Vibrational states ! ----------------------------------------------------------------------- ! xohv8(k,i) = xohv9(k,i)*xco2(k,i)*kv98 ! xohv7(k,i) = xohv9(k,i)*xco2(k,i)*kv97 ! xohv6(k,i) = xohv9(k,i)*xco2(k,i)*kv96 ! xohv5(k,i) = xohv9(k,i)*xco2(k,i)*kv95 ! xohv4(k,i) = xohv9(k,i)*xco2(k,i)*kv94 ! xohv3(k,i) = xohv9(k,i)*xco2(k,i)*kv93 ! xohv2(k,i) = xohv9(k,i)*xco2(k,i)*kv92 ! xohv1(k,i) = xohv9(k,i)*xco2(k,i)*kv91 ! xohvg(k,i) = xohv9(k,i)*xco2(k,i)*kv9g ! ! xohv7(k,i) = xohv8(k,i)*xco2(k,i)*kv87 ! xohv6(k,i) = xohv8(k,i)*xco2(k,i)*kv86 ! xohv5(k,i) = xohv8(k,i)*xco2(k,i)*kv85 ! xohv4(k,i) = xohv8(k,i)*xco2(k,i)*kv84 ! xohv3(k,i) = xohv8(k,i)*xco2(k,i)*kv83 ! xohv2(k,i) = xohv8(k,i)*xco2(k,i)*kv82 ! xohv1(k,i) = xohv8(k,i)*xco2(k,i)*kv81 ! xohvg(k,i) = xohv8(k,i)*xco2(k,i)*kv8g ! ! xohv6(k,i) = xohv7(k,i)*xco2(k,i)*kv76 ! xohv5(k,i) = xohv7(k,i)*xco2(k,i)*kv75 ! xohv4(k,i) = xohv7(k,i)*xco2(k,i)*kv74 ! xohv3(k,i) = xohv7(k,i)*xco2(k,i)*kv73 ! xohv2(k,i) = xohv7(k,i)*xco2(k,i)*kv72 ! xohv1(k,i) = xohv7(k,i)*xco2(k,i)*kv71 ! xohvg(k,i) = xohv7(k,i)*xco2(k,i)*kv7g ! ! xohv5(k,i) = xohv6(k,i)*xco2(k,i)*kv65 ! xohv4(k,i) = xohv6(k,i)*xco2(k,i)*kv64 ! xohv3(k,i) = xohv6(k,i)*xco2(k,i)*kv63 ! xohv2(k,i) = xohv6(k,i)*xco2(k,i)*kv62 ! xohv1(k,i) = xohv6(k,i)*xco2(k,i)*kv61 ! xohvg(k,i) = xohv6(k,i)*xco2(k,i)*kv6g ! ! xohv4(k,i) = xohv5(k,i)*xco2(k,i)*kv54 ! xohv3(k,i) = xohv5(k,i)*xco2(k,i)*kv53 ! xohv2(k,i) = xohv5(k,i)*xco2(k,i)*kv52 ! xohv1(k,i) = xohv5(k,i)*xco2(k,i)*kv51 ! xohvg(k,i) = xohv5(k,i)*xco2(k,i)*kv5g ! ! xohv3(k,i) = xohv4(k,i)*xco2(k,i)*kv43 ! xohv2(k,i) = xohv4(k,i)*xco2(k,i)*kv42 ! xohv1(k,i) = xohv4(k,i)*xco2(k,i)*kv41 ! xohvg(k,i) = xohv4(k,i)*xco2(k,i)*kv4g ! ! xohv2(k,i) = xohv3(k,i)*xco2(k,i)*kv32 ! xohv1(k,i) = xohv3(k,i)*xco2(k,i)*kv31 ! xohvg(k,i) = xohv3(k,i)*xco2(k,i)*kv3g ! ! xohv1(k,i) = xohv2(k,i)*xco2(k,i)*kv21 ! xohvg(k,i) = xohv2(k,i)*xco2(k,i)*kv2g ! ! xohvg(k,i) = xohv1(k,i)*xco2(k,i)*kv1g ! ! endif ! -------------------------------------------------------- if (ohsrc(k,i) .GT. 1.0) THEN ohsrc(k,i)= log10(ohsrc(k,i)) else ohsrc(k,i) = 0. endif if (ohloss(k,i) .GT. 1.0) THEN ohloss(k,i)= log10(ohloss(k,i)) else ohloss(k,i) = 0. endif if (ohden(k,i) .GT. 1.0) THEN ohden(k,i) = log10(ohden(k,i)) else ohden(k,i) = 0. endif ! if (ohdenvmr(k,i) .GT. 1.0) THEN ! ohdenvmr(k,i) = log10(ohdenvmr(k,i)) ! else ! ohdenvmr(k,i) = 0. ! endif if (o3src(k,i) .GT. 1.0) THEN o3src(k,i)= log10(o3src(k,i)) else o3src(k,i) = 0. endif if (o3loss(k,i) .GT. 1.0) THEN o3loss(k,i)= log10(o3loss(k,i)) else o3loss(k,i) = 0. endif if (o3den(k,i) .GT. 1.0) THEN o3den(k,i) = log10(o3den(k,i)) else o3den(k,i) = 0. endif ! ----------------------------------------------------------------------- call addfld('XOH',' ',' ',ohden,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OHVMR',' ',' ',ohdenvmr,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OHSRC',' ',' ',ohsrc,'lev',k0,k1,'lon',i0,i1,lat) call addfld('OHLOSS',' ',' ',ohloss,'lev',k0,k1,'lon',i0,i1,lat) call addfld('XO3',' ',' ',o3den,'lev',k0,k1,'lon',i0,i1,lat) call addfld('O3VMR',' ',' ',o3denvmr,'lev',k0,k1,'lon',i0,i1,lat) call addfld('O3SRC',' ',' ',o3src,'lev',k0,k1,'lon',i0,i1,lat) call addfld('O3LOSS',' ',' ',o3loss,'lev',k0,k1,'lon',i0,i1,lat) ! ----------------------------------------------------------------------- ! * OH IR NIGHTGLOW ! --------------------------------------------------------------------- ! BETA= 0.75 ! FOHIR=1./(1.+ 3800.*(2.0E-20*xco2(k,i) + 2.0E-20*xn2(k,i))) ! Photons/cm3.sec ! ohirvem(k,i)=xo(k,i)*xo(k,i)*xco2(k,i)*r2(k,i,lat)*BETA*FOHIR ! slab(k,i)=0.5*gask*tni(k,i)/(barm(k,i)*grav) ! * ----------------------------------------------------------- ! * ----------------------------------------------------------- ! Log10 (Photons/cm3.sec) ! if (ohirvem(k,i) .GT. 1.0) THEN ! ohirveml(k,i)= alog10(ohirvem(k,i)) ! else ! ohirveml(k,i) = 0. ! endif ! * ----------------------------------------------------------- enddo ! k=lev0,lev1-1 enddo ! i=lon0,lon1 ! ---------------------------------------------------------------------- ! * DISPOSE OH INTEGRATED EMISSION RATE (PH/cm2/sec) ! do i=lon0,lon1 ! Below 90 km is zeroed out ! do k=1,11 ! fldht(k) = 0. ! enddo ! Above 90 km is retained ! do k=11,lev1-1 ! fldht(k) = slab(k,i)*ohirvem(k,i) ! enddo ! call integral(colout,fldht,1,dz,nk) ! do k = lev0,lev1-1 ! * KILO-RAYLEIGH UNITS FOR PLOTS (Oh IR INTEGRATED INTENSITY) ! ohirint(k,i) = colout(k)/1.0E+9 ! enddo ! enddo ! ---------------------------------------------------------------------- ! * OH VOLUME EMISSION RATE (log10 PH/cm3/sec) ! call addfld('OHIRVEM',' ',' ',ohirveml,'lev',k0,k1,'lon',i0,i1, ! | lat) ! * OH INTEGRATED VERTICAL INTENSITY (kR = 1.0E+09*PH/cm2/sec) ! call addfld('OHIRINT',' ',' ',ohirint,'lev',k0,k1,'lon',i0,i1,lat) ! ---------------------------------------------------------------------- end subroutine comp_oh