subroutine PCHEM(nw,wl,nz,tlev,airlev,j,sq,jlabel,pn) !-----------------------------------------------------------------------------! ! PURPOSE: ! ! Load various "weighting functions" (products of cross section and ! ! quantum yield at each altitude and for wavelength). The altitude ! ! dependence is necessary to ensure the consideration of pressure and ! ! temperature dependence of the cross sections or quantum yields. ! ! The actual reading, evaluation and interpolation is done is separate ! ! subroutines for ease of management and manipulation. Please refer to ! ! the inline documentation of the specific subroutines for detail ! ! information. ! !-----------------------------------------------------------------------------! ! PARAMETERS: ! ! NW - INTEGER, number of specified intervals + 1 in working (I) ! ! wavelength grid ! ! WL - REAL, vector of lower limits of wavelength intervals in (I) ! ! working wavelength grid ! ! NZ - INTEGER, number of altitude levels in working altitude grid (I) ! ! TLEV - REAL, temperature (K) at each specified altitude level (I) ! ! AIRLEV - REAL, air density (molec/cc) at each altitude level (I) ! ! J - INTEGER, counter for number of weighting functions defined (IO) ! ! SQ - REAL, cross section x quantum yield (cm^2) for each (O) ! ! photolysis reaction defined, at each defined wavelength and ! ! at each defined altitude level ! ! JLABEL - CHARACTER*40, string identifier for each photolysis reaction (O) ! ! defined ! !-----------------------------------------------------------------------------! ! EDIT HISTORY: ! ! 01/18/02 updated style to fortran 90, ccsm standands, doug kinnison ! !-----------------------------------------------------------------------------! implicit none include 'params' !------------------------------------------------------------------------------ ! ... input: !------------------------------------------------------------------------------ integer, intent(in) :: nz integer, intent(in) :: nw real, intent(in) :: wl(kw) real, intent(inout) :: tlev(kz) real, intent(in) :: airlev(kz) character*80 pn !------------------------------------------------------------------------------ ! ... output: !------------------------------------------------------------------------------ character*60 jlabel(kj) real, intent(out) :: sq(kj,kz,kw) !------------------------------------------------------------------------------ ! ... input/output: !------------------------------------------------------------------------------ integer j !------------------------------------------------------------------------------ ! ... local: !------------------------------------------------------------------------------ real wc(kw) real wu(kw) real tin(kz) integer iw, i print*, "tin = tlev, not 150, 350, tin(nz)=596" tin(:) = tlev(:) tin(nz) = 596. !------------------------------------------------------------------------------ ! ... complete wavelength grid: !------------------------------------------------------------------------------ do iw = 1, nw - 1 wc(iw) = (wl(iw) + wl(iw+1))/2. wu(iw) = wl(iw+1) end do print*, kj,kz,kw, nz !------------------------------------------------------------------------------ ! ... J species: !------------------------------------------------------------------------------ !------------------------------------------------ ! ... O2 + hv -> Products #1, #2 !------------------------------------------------ ! ... reserve first position. Cross section parameterization in ! Schumman-Runge and Lyman-alpha regions are zenith-angle dependent, ! will be written in subroutine sto2xs(nz,nw,xso2,nj,sj). j = 1 jlabel(j) = 'O2 + hv -> O + O(1D)' j = 2 jlabel(j) = 'O2 + hv -> O + O' !------------------------------------------------- ! ... O3 + hv -> (both channels) #3, #4 !------------------------------------------------- CALL XSQY_O3(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... N2O + hv -> N2 + O(1D) #5 !------------------------------------------------- CALL XSQY_N2O(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... NO + hv -> N + O #6 !------------------------------------------------- ! ... Total J derive in setjno j = 6 jlabel(j) = 'NO + hv -> N + O' !------------------------------------------------- ! ... NO2 + hv -> NO + O(3P) #7 !------------------------------------------------- CALL XSQY_NO2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... N2O5 + hv -> (2-branches) #8, #9 !------------------------------------------------- CALL XSQY_N2O5(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HNO3 + hv -> OH + NO2 #10 !------------------------------------------------- CALL XSQY_HNO3(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... NO3 + hv -> (both channels) #11, #12 !------------------------------------------------- CALL XSQY_NO3(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HO2NO2 + hv -> HO2 + NO2 #13, #14 !------------------------------------------------- CALL XSQY_HO2NO2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CH3OOH + hv -> CH3O + OH #15 !------------------------------------------------- CALL XSQY_CH3OOH(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CH2O + hv -> (both channels) #16, #17 !------------------------------------------------- CALL XSQY_CH2O(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... H2O + hv -> H + OH (3-Branches) #18 -#20 !------------------------------------------------- call XSQY_H2O(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... H2O2 + hv -> 2 OH #21 !------------------------------------------------- CALL XSQY_H2O2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CL2 + hc -> CL + CL #22 !------------------------------------------------- call XSQY_Cl2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... OCLO + hv -> CL + CLO #23 !------------------------------------------------- call XSQY_OClO(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CL2O2 + hv -> CL + CLOO #24 !------------------------------------------------- call XSQY_Cl2O2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HOCL + hv -> OH + CL #25 !------------------------------------------------- call XSQY_HOCl(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HCL + hv -> H + CL #26 !------------------------------------------------- call XSQY_HCl(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... ClONO2 + hv -> Products #27, #28 !------------------------------------------------- CALL XSQY_ClONO2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... BRCL + hv -> BR + CL #29 !------------------------------------------------- call XSQY_BrCl(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... BRO + hv -> BR + O #30 !------------------------------------------------- call XSQY_BrO(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HOBR + hv -> BR + OH #31 !------------------------------------------------- call XSQY_HOBr(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... BrONO2 + hv -> Products #32, #33 !------------------------------------------------- CALL XSQY_BrONO2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CH3Cl + hv -> Products #34 !------------------------------------------------- CALL XSQY_CH3Cl(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CCl4 + hv -> Products #35 !------------------------------------------------- CALL XSQY_CCl4(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CH3CCl3 + hv -> Products #36 !------------------------------------------------- CALL XSQY_MCF(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CFCl3 + hv -> Products #37 !------------------------------------------------- CALL XSQY_CFCl3(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CF2Cl2 + hv -> Products #38 !------------------------------------------------- CALL XSQY_CF2Cl2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CF2ClCFCl2 (CFC-113) + hv -> Prod #39 !------------------------------------------------- CALL XSQY_CFC113(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CHClF2 (HCFC-22) + hv -> Product #40 !------------------------------------------------- CALL XSQY_HCFC22(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CH3Br + hv -> Products #41 !------------------------------------------------- CALL XSQY_CH3Br(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CF3Br (Halon-1301) + hv -> Products #42 !------------------------------------------------- CALL XSQY_H1301(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CF2BrCl (Halon-1211) + hv -> Products#43 !------------------------------------------------- CALL XSQY_H1211(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CO2 + hv -> Products #44 !------------------------------------------------- call XSQY_CO2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CH4 + hv -> Products(2-branches)#45, #46 !------------------------------------------------- call XSQY_CH4(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CH3CHO + hv -> products (3-branches) #47 !------------------------------------------------- ! Sum three branch (for MZ3 110 species mech) call XSQY_CH3CHO(nw,wl,wc, nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... PAN + hv -> Products #48 !------------------------------------------------- call XSQY_PAN(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... MACR + hv -> Products #49, #50 !------------------------------------------------- call XSQY_MACR(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... MVK + hv -> Products #51 !------------------------------------------------- call XSQY_MVK(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... Acetone + hv -> CH3CO3 + CH3O2 #52 !------------------------------------------------- call XSQY_ACETONE(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CH3COCHO + hv -> CH3CO3 + CH3O2 #53 !------------------------------------------------- call XSQY_mgly(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HYAC + hv -> CH3CO3 + HO2 + CH2O #54 !------------------------------------------------- call XSQY_hyac(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CH2(OH)CHO + hv -> 2HO2 + CO + CH2O #55 !------------------------------------------------- call XSQY_glyald(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CH3O2NO2 + hv -> product #56 !------------------------------------------------- call XSQY_ch3o2no2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HONO + hv -> OH + NO #57 !------------------------------------------------- call XSQY_hono(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HO2 + hv -> OH + O #58 !------------------------------------------------- call XSQY_ho2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... H2402 + hv -> 2Br #59 !------------------------------------------------- call XSQY_h2402(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CH2Br2 + hv -> 2Br #60 !------------------------------------------------- call XSQY_ch2br2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... Br2 + hv -> 2Br #61 !------------------------------------------------- call XSQY_br2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HBr + hv -> Br + O #62 !------------------------------------------------- call XSQY_HBr(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... ClO + hv -> Cl + O #63 !------------------------------------------------- call XSQY_clo (nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... SO2 + hv -> Products #64 !------------------------------------------------- call XSQY_so2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... SO3 + hv -> Products #65 !------------------------------------------------- call XSQY_so3(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... SO + hv -> Products #66 !------------------------------------------------- call XSQY_so(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... H2SO4 + hv -> Products #67 !------------------------------------------------- call XSQY_h2so4(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CS2 + hv -> Products #68 !------------------------------------------------- call XSQY_CS2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... OCS + hv -> Products #69 !------------------------------------------------- call XSQY_ocs(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... NO + hv -> NOp + e #70 !------------------------------------------------- call XSQY_NOp(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... BrONO + hv -> Br + NO2 #71 !------------------------------------------------- call XSQY_BrONO(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... BrNO2 + hv -> Br + NO2 #72 !------------------------------------------------- call XSQY_BrNO2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... I2 + hv -> 2I #73 !------------------------------------------------- call XSQY_I2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... IO + hv -> I + O #74 !------------------------------------------------- call XSQY_IO(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... OIO + hv -> I + O2 #75 !------------------------------------------------- call XSQY_OIO(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... INO + hv -> I + NO #76 !------------------------------------------------- call XSQY_INO(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... IONO + hv -> I + NO2 #77 !------------------------------------------------- call XSQY_IONO(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... IONO2 + hv -> I + NO3 #78 !------------------------------------------------- call XSQY_IONO2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HOI + hv -> I + OH #79 !------------------------------------------------- call XSQY_HOI(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... IBr + hv -> I + Br #80 !------------------------------------------------- call XSQY_IBr(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... ICl + hv -> I + Cl #81 !------------------------------------------------- call XSQY_ICl(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CHBR3 + hv -> 3Br #82 !------------------------------------------------- call XSQY_CHBr3(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CH2BRCL + hv -> Br + Cl #83 !------------------------------------------------- call XSQY_CH2BrCl(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CHBR2CL + hv -> 2Br + Cl #84 !------------------------------------------------- call XSQY_CHBr2Cl(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CHBRCL2 + hv -> Br + 2Cl #85 !------------------------------------------------- call XSQY_CHBrCl2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CH3I + hv -> I #86 !------------------------------------------------- call XSQY_CH3I(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CH2I2 + hv -> 2I #87 !------------------------------------------------- call XSQY_CH2I2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CH2IBr + hv -> I + Br #88 !------------------------------------------------- call XSQY_CH2IBr(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CH2ICl + hv -> I + Cl #89 !------------------------------------------------- call XSQY_CH2ICl(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... C2H5I + hv -> I #90 !------------------------------------------------- call XSQY_C2H5I(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CH3CHI2 + hv -> 2I #91 !------------------------------------------------- call XSQY_CH3CHI2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... C3H7I + hv -> I #92 !------------------------------------------------- call XSQY_C3H7I(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... C4H9I + hv -> I #93 !------------------------------------------------- call XSQY_C4H9I(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... ClNO2 + hv -> Cl + NO2 #94 !------------------------------------------------- call XSQY_ClNO2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... ClONO + hv -> Cl + NO2 #95 !------------------------------------------------- call XSQY_ClONO(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HNO3NAT + hv -> NO2 + OH #96 !------------------------------------------------- call XSQY_HNO3NAT(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HNO3STS + hv -> NO2 + OH #97 !------------------------------------------------- call XSQY_HNO3STS(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CFC-114 + hv -> 2Cl #98 !------------------------------------------------- call XSQY_CFC114(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CFC-115 + hv -> 2Cl #99 !------------------------------------------------- call XSQY_CFC115(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HCFC141b + hv -> 2Cl #100 !------------------------------------------------- call XSQY_HCFC141b(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HCFC142b + hv -> Cl #101 !------------------------------------------------- call XSQY_HCFC142b(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... H1202 + hv -> 2Br #102 !------------------------------------------------- call XSQY_H1202(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... COF2 + hv -> 2F #103 !------------------------------------------------- call XSQY_COF2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... COFCL + hv -> F + Cl #104 !------------------------------------------------- call XSQY_COFCL(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HF + hv -> F + H #105 !------------------------------------------------- call XSQY_HF(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... I2O2 + hv -> OIO + I #106 !------------------------------------------------- call XSQY_I2O2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... I2O3 + hv -> OIO + IO #107 !------------------------------------------------- call XSQY_I2O3(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... I2O4 + hv -> OIO + OIO #108 !------------------------------------------------- call XSQY_I2O4(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... SF6 + hv -> products #109 !------------------------------------------------- call XSQY_SF6(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HI+ hv -> H + I #110 !------------------------------------------------- call XSQY_HI(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HgBrONO (cis) + hv -> products #111 !------------------------------------------------- call XSQY_HGBRONOcis(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HgBr2 + hv -> products #112 !------------------------------------------------- call XSQY_HGBR2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HgBrOBr + hv -> products #113 !------------------------------------------------- call XSQY_HGBROBR(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HgBrNO2 + hv -> products #114 !------------------------------------------------- call XSQY_HGBRNO2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HgBrI + hv -> products #115 !------------------------------------------------- call XSQY_HGBRI(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HgBrOH + hv -> products #116 !------------------------------------------------- call XSQY_HGBROH(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HgBrOI + hv -> products #117 !------------------------------------------------- call XSQY_HGBROI(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HgBrOOH + hv -> products #118 !------------------------------------------------- call XSQY_HGBROOH(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HgCl2 + hv -> products #119 !------------------------------------------------- call XSQY_HGCL2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HgO + hv -> products #120 !------------------------------------------------- call XSQY_HGO(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HgBrONO + hv -> products #121 !------------------------------------------------- call XSQY_HGBRONO(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HgO (S1) + hv -> products #122 !------------------------------------------------- call XSQY_HGO_S1(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CHCl3 + hv -> products #123 !------------------------------------------------- call XSQY_CHCL3(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CH2CL2 + hv -> products #124 !------------------------------------------------- call XSQY_CH2CL2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... C2CL4 + hv -> products #125 !------------------------------------------------- call XSQY_C2CL4(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HgBrOCl + hv -> products #126 !------------------------------------------------- call XSQY_HGBROCL(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... Hg(1S) + hv -> Hg (3P) #127 !------------------------------------------------- call XSQY_HG1S3P(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... CF3I + hv -> I #128 !------------------------------------------------- call XSQY_CF3I(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... COCl2 + hv -> products #129 !------------------------------------------------- call XSQY_COCl2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... C2H4Cl2 + hv -> products #130 !------------------------------------------------- call XSQY_C2H4Cl2(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HgBr + hv -> products #131 !------------------------------------------------- call XSQY_HGBR(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HgCl + hv -> products #132 !------------------------------------------------- call XSQY_HGCL(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HgI + hv -> products #133 !------------------------------------------------- call XSQY_HGI(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HgOH + hv -> products #134 !------------------------------------------------- call XSQY_HGOH(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HgBrO + hv -> products #135 !------------------------------------------------- call XSQY_HGBRO(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... I3O7 + hv -> products #136 !------------------------------------------------- call XSQY_I3O7(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) !------------------------------------------------- ! ... HPMTF_Trans + hv -> products #137 !------------------------------------------------- call XSQY_HPMTF_Trans(nw,wl,wc,nz,tin,airlev,j,sq,jlabel,pn) if (j .GT. kj) stop '1002' end subroutine PCHEM