Changeset 2925 for trunk/LMDZ.VENUS/libf
- Timestamp:
- Mar 30, 2023, 10:58:53 AM (21 months ago)
- Location:
- trunk/LMDZ.VENUS/libf/phyvenus
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.VENUS/libf/phyvenus/photochemistry_venus.F90
r2920 r2925 212 212 if (ok_jonline) then 213 213 if (sza_input <= 95.) then ! day at 300 km 214 call photolysis_online(nz, nb_phot_max, zlocal, p, &215 t, mumean, i_co2,i_co, i_o, i_o1d, &214 call photolysis_online(nz, nb_phot_max, zlocal, p, & 215 t, mumean, i_co2,i_co, i_o, i_o1d, & 216 216 i_o2, i_o3, i_h2, i_oh, i_ho2, i_h2o2, i_h2o,& 217 i_h, i_hcl, i_cl2, i_hocl, i_so2, i_so, &218 i_so3, i_ clo, i_ocs, i_cocl2, i_h2so4, i_cl,&219 i_ no2, i_no, i_n2, i_n2d,&217 i_h, i_hcl, i_cl2, i_hocl, i_so2, i_so, & 218 i_so3, i_s2, i_clo, i_ocs, i_cocl2, i_h2so4, & 219 i_cl, i_no2, i_no, i_n2, i_n2d, & 220 220 nesp, tr, sza_input, dist_sol, v_phot) 221 221 … … 609 609 610 610 !=========================================================== 611 ! S2 + hv -> S + S 612 !=========================================================== 613 614 nb_phot = nb_phot + 1 615 616 indice_phot(nb_phot) = z3spec(1.0, i_s2, 2.0, i_s, 0.0, i_dummy) 617 618 !=========================================================== 611 619 ! ClO + hv -> Cl + O 612 620 !=========================================================== … … 1128 1136 1129 1137 !=========================================================== 1138 ! d014 : N(2D) + CO -> N + CO 1139 !=========================================================== 1140 1141 nb_phot = nb_phot + 1 1142 1143 indice_phot(nb_phot) = z3spec(1.0, i_n2d, 1.0, i_n, 0.0, i_dummy) 1144 1145 !=========================================================== 1130 1146 ! e001 : CO + OH -> CO2 + H 1131 1147 !=========================================================== … … 1647 1663 1648 1664 !=========================================================== 1649 ! g023 : S2 + hv -> S + S 1665 ! g023 : S2 + O -> SO + S 1666 !=========================================================== 1667 1668 nb_reaction_4 = nb_reaction_4 + 1 1669 1670 indice_4(nb_reaction_4) = z4spec(1.0, i_s2, 1.0, i_o, 1.0, i_so, 1.0, i_s) 1671 1672 !=========================================================== 1673 ! g024 : S + OCS -> S2 + CO 1674 !=========================================================== 1675 1676 nb_reaction_4 = nb_reaction_4 + 1 1677 1678 indice_4(nb_reaction_4) = z4spec(1.0, i_s, 1.0, i_ocs, 1.0, i_s2, 1.0, i_co) 1679 1680 !=========================================================== 1681 ! g025 : OCS + O -> SO + CO 1682 !=========================================================== 1683 1684 nb_reaction_4 = nb_reaction_4 + 1 1685 1686 indice_4(nb_reaction_4) = z4spec(1.0, i_ocs, 1.0, i_o, 1.0, i_so, 1.0, i_co) 1687 1688 !=========================================================== 1689 ! g026 : S + SO3 -> SO2 + SO 1690 !=========================================================== 1691 1692 nb_reaction_4 = nb_reaction_4 + 1 1693 1694 indice_4(nb_reaction_4) = z4spec(1.0, i_s, 1.0, i_so3, 1.0, i_so2, 1.0, i_so) 1695 1696 !=========================================================== 1697 ! g027 : S + HO2 -> SO + OH 1698 !=========================================================== 1699 1700 nb_reaction_4 = nb_reaction_4 + 1 1701 1702 indice_4(nb_reaction_4) = z4spec(1.0, i_s, 1.0, i_ho2, 1.0, i_so, 1.0, i_oh) 1703 1704 !=========================================================== 1705 ! g028 : S + ClO -> SO + Cl 1706 !=========================================================== 1707 1708 nb_reaction_4 = nb_reaction_4 + 1 1709 1710 indice_4(nb_reaction_4) = z4spec(1.0, i_s, 1.0, i_clo, 1.0, i_so, 1.0, i_cl) 1711 1712 !=========================================================== 1713 ! g029: h2so4 + h2o -> so3 + h2o + h2o 1650 1714 !=========================================================== 1651 1715 1652 1716 nb_phot = nb_phot + 1 1653 1717 1654 indice_phot(nb_phot) = z3spec(1.0, i_s2, 2.0, i_s, 0.0, i_dummy)1655 1656 !===========================================================1657 ! g024 : S2 + O -> SO + S1658 !===========================================================1659 1660 nb_reaction_4 = nb_reaction_4 + 11661 1662 indice_4(nb_reaction_4) = z4spec(1.0, i_s2, 1.0, i_o, 1.0, i_so, 1.0, i_s)1663 1664 !===========================================================1665 ! g025 : S + OCS -> S2 + CO1666 !===========================================================1667 1668 nb_reaction_4 = nb_reaction_4 + 11669 1670 indice_4(nb_reaction_4) = z4spec(1.0, i_s, 1.0, i_ocs, 1.0, i_s2, 1.0, i_co)1671 1672 !===========================================================1673 ! g026 : OCS + O -> SO + CO1674 !===========================================================1675 1676 nb_reaction_4 = nb_reaction_4 + 11677 1678 indice_4(nb_reaction_4) = z4spec(1.0, i_ocs, 1.0, i_o, 1.0, i_so, 1.0, i_co)1679 1680 !===========================================================1681 ! g027 : S + SO3 -> SO2 + SO1682 !===========================================================1683 1684 nb_reaction_4 = nb_reaction_4 + 11685 1686 indice_4(nb_reaction_4) = z4spec(1.0, i_s, 1.0, i_so3, 1.0, i_so2, 1.0, i_so)1687 1688 !===========================================================1689 ! g028 : S + HO2 -> SO + OH1690 !===========================================================1691 1692 nb_reaction_4 = nb_reaction_4 + 11693 1694 indice_4(nb_reaction_4) = z4spec(1.0, i_s, 1.0, i_ho2, 1.0, i_so, 1.0, i_oh)1695 1696 !===========================================================1697 ! g029 : S + ClO -> SO + Cl1698 !===========================================================1699 1700 nb_reaction_4 = nb_reaction_4 + 11701 1702 indice_4(nb_reaction_4) = z4spec(1.0, i_s, 1.0, i_clo, 1.0, i_so, 1.0, i_cl)1703 1704 !===========================================================1705 ! g030: h2so4 + h2o -> so3 + h2o + h2o1706 !===========================================================1707 1708 nb_phot = nb_phot + 11709 1710 1718 indice_phot(nb_phot) = z3spec(1.0, i_h2so4, 1.0, i_so3, 1.0, i_h2o) 1711 1719 1712 1720 !=========================================================== 1713 ! g03 1: so3 + ocs -> s2o2 + co21721 ! g030: so3 + ocs -> s2o2 + co2 1714 1722 !=========================================================== 1715 1723 … … 1719 1727 1720 1728 !=========================================================== 1721 ! g03 2: s2o2 + ocs -> co + so2 + s21729 ! g031: s2o2 + ocs -> co + so2 + s2 1722 1730 !=========================================================== 1723 1731 ! decomposee en … … 1735 1743 1736 1744 !=========================================================== 1737 ! g03 3: so + so -> so2 + s1745 ! g032: so + so -> so2 + s 1738 1746 !=========================================================== 1739 1747 … … 1896 1904 1897 1905 !=========================================================== 1906 1898 1907 ! i016 : N2+ + CO2 -> CO2+ + N2 1899 1908 !=========================================================== … … 2286 2295 2287 2296 print*, 'nb_phot = ', nb_phot 2297 print*, 'nb_phot_max = ', nb_phot_max 2288 2298 print*, 'nb_reaction_4 = ', nb_reaction_4 2299 print*, 'nb_reaction_4_max = ', nb_reaction_4_max 2289 2300 print*, 'nb_reaction_3 = ', nb_reaction_3 2301 print*, 'nb_reaction_3_max = ', nb_reaction_3_max 2290 2302 2291 2303 !print*, 'check dimension' … … 2581 2593 c015, c016, c017, c018, & 2582 2594 d001, d002, d003, d004, d005, d006, d007, & 2583 d008, d009, d010, d011, d012, d013, 2595 d008, d009, d010, d011, d012, d013, d014, & 2584 2596 e001, e002, e003, e004, e005, e006, e007, & 2585 2597 e008, e009, e010, e011, e012, e013, e014, & … … 2599 2611 g015, g016, g017, g018, g019, g020, g021, & 2600 2612 g022, g023, g024, g025, g026, g027, g028, & 2601 g029, g030, g031, g032, g033,&2613 g029, g030, g031, g032, & 2602 2614 h001, h002, h003, & 2603 2615 i001, i002, i003, i004, i005, i006, & … … 2611 2623 i055, i056, i057, i058, i059, i060, i061, & 2612 2624 i062, i063, & 2613 j001, j002 2625 j001, j002 2614 2626 !---------------------------------------------------------------------- 2615 2627 ! initialisation … … 3079 3091 3080 3092 !--- d013: n + o + co2 -> no + co2 3093 3094 ! Campbell & Trush, 1966 3095 3096 d013(:) = 2.5 * conc(:) * 1.83e-32 * (298./t(:))**0.5 3081 3097 3082 d013(:) = 1.83e-32 * (298./t(:))**0.53083 3084 3098 nb_reaction_4 = nb_reaction_4 + 1 3085 3099 v_4(:,nb_reaction_4) = d013(:) 3086 3100 3101 !--- d014: n2d + co -> n + co 3102 3103 ! herron, j. phys. chem. ref. data, 1999 3104 3105 d014(:) = 1.9e-12 3106 3107 nb_phot = nb_phot + 1 3108 v_phot(:,nb_phot) = d014(:)*c(:,i_co) 3087 3109 !---------------------------------------------------------------------- 3088 3110 ! reactions des composes carbones … … 3805 3827 v_3(:,nb_reaction_3) = g022(:) 3806 3828 3807 !--- g023: s2 + co2 -> s + s + co2 3808 3809 ! chase et al., 1985 3810 3811 ! deq(:) = 2.68E-25*exp(50860./t(:)) 3812 3813 ! g023(:) = g022(:)/(deq(:)*conc(:)) 3814 3815 ! nb_phot = nb_phot + 1 3816 ! v_phot(:,nb_phot) = g023(:)*conc(:) 3817 3818 !--- temporary treatment of s2 photolysis 3819 3820 ! s2 + hv -> s + s 3821 3822 ! under the clouds: no photolysis 3823 3824 g023(1:28) = 0. 3825 3826 ! above the clouds: value derived from Mills, 1998 3827 3828 if (sza_input < 90.) then 3829 g023(29:nz) = 6.5e-3*cos(sza_input*pi/180.) 3830 else 3831 g023(29:nz) = 0. 3832 end if 3833 3834 nb_phot = nb_phot + 1 3835 3836 v_phot(:,nb_phot) = g023(:) 3837 3838 !--- g024: s2 + o -> so + s 3829 3830 !--- g023: s2 + o -> so + s 3839 3831 3840 3832 ! zhang et al., icarus, 2011 3841 3833 3842 g02 4(:) = 2.2E-11*exp(-84./t(:))3834 g023(:) = 2.2E-11*exp(-84./t(:)) 3843 3835 3844 3836 nb_reaction_4 = nb_reaction_4 + 1 3845 3837 v_4(:,nb_reaction_4) = g024(:) 3846 3838 3847 !--- g02 5: s + ocs -> s2 + co3839 !--- g024: s + ocs -> s2 + co 3848 3840 3849 3841 ! lu et al., j. chem. phys., 2006 3850 3842 3851 g02 5(:) = 6.63E-20*(t(:)**2.57)*exp(-1180./t(:))3843 g024(:) = 6.63E-20*(t(:)**2.57)*exp(-1180./t(:)) 3852 3844 3853 3845 ! g025(:) = 0.0E+0 3854 3846 3855 3847 nb_reaction_4 = nb_reaction_4 + 1 3848 v_4(:,nb_reaction_4) = g024(:) 3849 3850 !--- g025: ocs + o -> so + co 3851 3852 ! atkinson et al., 2004 3853 3854 g025(:) = 1.60E-11*exp(-2150./t(:)) 3855 3856 nb_reaction_4 = nb_reaction_4 + 1 3856 3857 v_4(:,nb_reaction_4) = g025(:) 3857 3858 3858 !--- g026: ocs + o -> so + co3859 3860 ! atkinson et al., 20043861 3862 g026(:) = 1. 60E-11*exp(-2150./t(:))3859 !--- g026: s + so3 -> so2 + so 3860 3861 ! moses et al., 2002 3862 3863 g026(:) = 1.0E-16 3863 3864 3864 3865 nb_reaction_4 = nb_reaction_4 + 1 3865 3866 v_4(:,nb_reaction_4) = g026(:) 3866 3867 3867 !--- g027: s + so3 -> so2 + so 3868 !--- g027: s + ho2 -> so + oh 3869 3870 ! yung and demore, 1982 3871 3872 g027(:) = 3.0E-11*exp(200./t(:)) 3873 3874 nb_reaction_4 = nb_reaction_4 + 1 3875 v_4(:,nb_reaction_4) = g027(:) 3876 3877 !--- g028: s + clo -> so + cl 3868 3878 3869 3879 ! moses et al., 2002 3870 3880 3871 g027(:) = 1.0E-16 3872 3873 nb_reaction_4 = nb_reaction_4 + 1 3874 v_4(:,nb_reaction_4) = g027(:) 3875 3876 !--- g028: s + ho2 -> so + oh 3877 3878 ! yung and demore, 1982 3879 3880 g028(:) = 3.0E-11*exp(200./t(:)) 3881 g028(:) = 4.0E-11 3881 3882 3882 3883 nb_reaction_4 = nb_reaction_4 + 1 3883 3884 v_4(:,nb_reaction_4) = g028(:) 3884 3885 3885 !--- g029: s + clo -> so + cl 3886 3887 ! moses et al., 2002 3888 3889 g029(:) = 4.0E-11 3890 3891 nb_reaction_4 = nb_reaction_4 + 1 3892 v_4(:,nb_reaction_4) = g029(:) 3893 3894 !--- g030: h2so4 + h2o -> so3 + h2o + h2o 3886 !--- g029: h2so4 + h2o -> so3 + h2o + h2o 3895 3887 3896 3888 ! krasnopolsky , 2007 3897 3889 3898 g0 30(:) = 7.0E-14*exp(-5170./t(:))3890 g029(:) = 7.0E-14*exp(-5170./t(:)) 3899 3891 3900 3892 ! g030(:) = g011(:)/(deq(:)*c(:,i_h2o)) … … 3902 3894 3903 3895 nb_phot = nb_phot + 1 3904 v_phot(:,nb_phot) = g0 30(:)*c(:,i_h2o)3896 v_phot(:,nb_phot) = g029(:)*c(:,i_h2o) 3905 3897 ! v_phot(:,nb_phot) = 0.0E+0 3906 3898 3907 !--- g03 1: so3 + ocs -> s2o2 + co23899 !--- g030: so3 + ocs -> s2o2 + co2 3908 3900 3909 3901 ! krasnopolsky , 2007 3910 3902 3911 g03 1(:) = 1.0E-11*exp(-10000./t(:))3903 g030(:) = 1.0E-11*exp(-10000./t(:)) 3912 3904 ! g031(:) = 0.0E+0 3913 3905 3914 3906 nb_reaction_4 = nb_reaction_4 + 1 3915 v_4(:,nb_reaction_4) = g03 1(:)3907 v_4(:,nb_reaction_4) = g030(:) 3916 3908 3917 !--- g03 2: s2o2 + ocs -> co + so2 + s23909 !--- g031: s2o2 + ocs -> co + so2 + s2 3918 3910 3919 3911 ! decomposee en … … 3923 3915 ! krasnopolsky , 2007 3924 3916 3925 g03 2(:) = 1.0E-203917 g031(:) = 1.0E-20 3926 3918 ! g032(:) = 0.0E+0 3927 3919 3928 3920 nb_reaction_4 = nb_reaction_4 + 1 3929 v_4(:,nb_reaction_4) = g03 2(:)3921 v_4(:,nb_reaction_4) = g031(:) 3930 3922 3931 3923 nb_reaction_4 = nb_reaction_4 + 1 3932 v_4(:,nb_reaction_4) = g03 2(:)3933 3934 ! g03 3: so + so -> so2 + s3924 v_4(:,nb_reaction_4) = g031(:) 3925 3926 ! g032: so + so -> so2 + s 3935 3927 ! Krasnopolsky 2012 from Martinez & Heron 1983 or Moses et al 2002 3936 3928 3937 ! g03 3(:) = 3.5E-153938 g03 3(:) =1.0E-12*exp(-1700.0/t(:))3929 ! g032(:) = 3.5E-15 3930 g032(:) =1.0E-12*exp(-1700.0/t(:)) 3939 3931 3940 3932 nb_reaction_3 = nb_reaction_3 + 1 3941 v_3(:,nb_reaction_3) = g03 3(:)3933 v_3(:,nb_reaction_3) = g032(:) 3942 3934 3943 3935 !---------------------------------------------------------------------- … … 4603 4595 !end do 4604 4596 end if 4605 !!!!!!!!!!!!!!!4606 4607 4597 return 4608 4598 end subroutine krates -
trunk/LMDZ.VENUS/libf/phyvenus/photolysis_mod.F90
r2851 r2925 5 5 ! photolysis 6 6 7 integer, save :: nphot = 2 3! number of photolysis7 integer, save :: nphot = 24 ! number of photolysis 8 8 9 9 !$OMP THREADPRIVATE(nphot) 10 10 11 integer, parameter :: nabs = 2 0! number of absorbing gases11 integer, parameter :: nabs = 21 ! number of absorbing gases 12 12 13 13 ! spectral grid … … 44 44 real, dimension(nw), save :: xsclo ! clo absorption cross-section (cm2) 45 45 real, dimension(nw), save :: xsocs ! cos absorption cross-section (cm2) 46 real, dimension(nw), save :: xss2 ! s2 absorption cross-section (cm2) 46 47 real, dimension(nw), save :: xscocl2 ! cocl2 absorption cross-section (cm2) 47 48 real, dimension(nw), save :: xsh2so4 ! h2so4 absorption cross-section (cm2) … … 139 140 140 141 call rdxscocl2(nw,wl,xscocl2) 142 143 ! read and grid s2 cross-sections 144 145 call rdxss2(nw,wl,xss2) 141 146 142 147 ! read and grid h2so4 cross-sections … … 1529 1534 !============================================================================== 1530 1535 1536 subroutine rdxss2(nw, wl, yg) 1537 1538 !-----------------------------------------------------------------------------* 1539 != PURPOSE: =* 1540 != Read S2 molecular absorption cross section. Re-grid data to match =* 1541 != specified wavelength working grid. =* 1542 !-----------------------------------------------------------------------------* 1543 != PARAMETERS: =* 1544 != NW - INTEGER, number of specified intervals + 1 in working (I)=* 1545 != wavelength grid =* 1546 != WL - REAL, vector of lower limits of wavelength intervals in (I)=* 1547 != working wavelength grid =* 1548 != YG - REAL, molecular absoprtion cross section (cm^2) of H2O at (O)=* 1549 != each specified wavelength =* 1550 !-----------------------------------------------------------------------------* 1551 1552 USE mod_phys_lmdz_para, ONLY: is_master 1553 USE mod_phys_lmdz_transfert_para, ONLY: bcast 1554 1555 IMPLICIT NONE 1556 1557 ! input 1558 1559 integer :: nw ! number of wavelength grid points 1560 real, dimension(nw) :: wl ! lower and central wavelength for each interval 1561 1562 ! output 1563 1564 real, dimension(nw) :: yg ! h2o cross-sections (cm2) 1565 1566 ! local 1567 1568 integer, parameter :: kdata = 1500 1569 real, parameter :: deltax = 1.e-4 1570 REAL x1(kdata) 1571 REAL y1(kdata) 1572 INTEGER ierr, dummy 1573 INTEGER i, n 1574 1575 CHARACTER*100 fil 1576 integer :: kin, kout ! input/output logical units 1577 1578 kin = 10 1579 1580 fil = 'cross_sections/s2_millsBestEst_1560_5059.txt' 1581 print*, 'section efficace S2: ', fil 1582 1583 if(is_master) then 1584 1585 OPEN(UNIT=kin,FILE=fil,STATUS='old') 1586 1587 n = 1203 1588 DO i = 1, n 1589 READ(kin,*) x1(i), y1(i) 1590 x1(i) = x1(i)/10 1591 END DO 1592 CLOSE (kin) 1593 1594 CALL addpnt(x1,y1,kdata,n,x1(1)*(1.-deltax),0.) 1595 CALL addpnt(x1,y1,kdata,n, 0.,0.) 1596 CALL addpnt(x1,y1,kdata,n,x1(n)*(1.+deltax),0.) 1597 CALL addpnt(x1,y1,kdata,n, 1.e+38,0.) 1598 CALL inter2(nw,wl,yg,n,x1,y1,ierr) 1599 IF (ierr .NE. 0) THEN 1600 WRITE(*,*) ierr, fil 1601 STOP 1602 ENDIF 1603 1604 endif !is_master 1605 1606 call bcast(yg) 1607 1608 end subroutine rdxss2 1609 1610 !============================================================================== 1611 1531 1612 subroutine rdxsh2o(nw, wl, yg) 1532 1613 -
trunk/LMDZ.VENUS/libf/phyvenus/photolysis_online.F
r2851 r2925 5 5 $ i_co2, i_co, i_o, i_o1d, i_o2, i_o3,i_h2, 6 6 $ i_oh, i_ho2, i_h2o2, i_h2o,i_h,i_hcl, 7 $ i_cl2, i_hocl, i_so2, i_so, i_so3, 7 $ i_cl2, i_hocl, i_so2, i_so, i_so3, i_s2, 8 8 $ i_clo, i_ocs, i_cocl2, i_h2so4, i_cl, 9 9 $ i_no2, i_no, i_n2, i_n2d, nesp, rm, … … 21 21 integer, intent(in) :: i_co2, i_co, i_o, i_o1d, i_o2, i_o3, 22 22 $ i_oh, i_ho2, i_h2o2, i_h2o, i_h, i_hcl, 23 $ i_cl2, i_hocl, i_so2, i_so, i_so3, i_clo,24 $ i_ ocs, i_cl, i_cocl2, i_h2so4, i_no2,25 $ i_no , i_n2, i_n2d, i_h223 $ i_cl2, i_hocl, i_so2, i_so, i_so3,i_s2, 24 $ i_clo,i_ocs, i_cl, i_cocl2, i_h2so4, 25 $ i_no2,i_no, i_n2, i_n2d, i_h2 26 26 27 27 real, dimension(nlayer), intent(in) :: press, temp, zmmean ! pressure (hpa)/temperature (k)/mean molecular mass (g.mol-1) … … 66 66 integer :: j_o2_o, j_o2_o1d, j_co2_o, j_co2_o1d, j_o3_o1d, j_o3_o, 67 67 $ j_h2o, j_h2o2, j_ho2, j_h, j_hcl, j_cl2, j_hocl, j_so2, 68 $ j_so, j_so3, j_clo, j_ocs, j_cocl2, j_h2so4, j_no2,69 $ j_no , j_n2, j_h268 $ j_so, j_so3,j_s2, j_clo, j_ocs, j_cocl2, j_h2so4, 69 $ j_no2, j_no, j_n2, j_h2 70 70 71 71 integer :: a_o2, a_co2, a_o3, a_h2o, a_h2o2, a_ho2, a_hcl, a_cl2, 72 $ a_hocl, a_so2, a_so, a_so3, a_ clo, a_ocs, a_cocl2,73 $ a_ h2so4, a_no2, a_no, a_n2, a_h272 $ a_hocl, a_so2, a_so, a_so3, a_s2, a_clo, a_ocs, 73 $ a_cocl2, a_h2so4, a_no2, a_no, a_n2, a_h2 74 74 integer :: i, ilay, iw, ialt 75 75 real :: deltaj … … 91 91 a_so = 12 ! so 92 92 a_so3 = 13 ! so3 93 a_clo = 14 ! clo 94 a_ocs = 15 ! ocs 95 a_cocl2 = 16 ! cocl2 96 a_h2so4 = 17 ! h2so4 97 a_no2 = 18 ! no2 98 a_no = 19 ! no 99 a_n2 = 20 ! n2 93 a_s2 = 14 ! s2 94 a_clo = 15 ! clo 95 a_ocs = 16 ! ocs 96 a_cocl2 = 17 ! cocl2 97 a_h2so4 = 18 ! h2so4 98 a_no2 = 19 ! no2 99 a_no = 20 ! no 100 a_n2 = 21 ! n2 100 101 101 102 ! photodissociation rates numbering. … … 118 119 j_so = 15 ! so + hv -> s + o 119 120 j_so3 = 16 ! so3 + hv -> so2 + o 120 j_clo = 17 ! clo + hv -> cl + o 121 j_ocs = 18 ! ocs + hv -> co + s 122 j_cocl2 = 19 ! cocl2 + hv -> 2cl + co 123 j_h2so4 = 20 ! h2so4 + hv -> so3 + h2o 124 j_no2 = 21 ! no2 + hv -> no + o 125 j_no = 22 ! no + hv -> n + o 126 j_n2 = 23 ! n2 + hv -> n(2d) + n 121 j_s2 = 17 ! s2 + hv -> s + s 122 j_clo = 18 ! clo + hv -> cl + o 123 j_ocs = 19 ! ocs + hv -> co + s 124 j_cocl2 = 20 ! cocl2 + hv -> 2cl + co 125 j_h2so4 = 21 ! h2so4 + hv -> so3 + h2o 126 j_no2 = 22 ! no2 + hv -> no + o 127 j_no = 23 ! no + hv -> n + o 128 j_n2 = 24 ! n2 + hv -> n(2d) + n 127 129 128 130 ! j_hdo_od = ! hdo + hv -> od + h … … 185 187 dtgas(ilay,iw,a_so) = colinc(ilay)*rm(ilay,i_so)*xsso(iw) 186 188 dtgas(ilay,iw,a_so3) = colinc(ilay)*rm(ilay,i_so3)*xsso3(iw) 189 dtgas(ilay,iw,a_s2) = colinc(ilay)*rm(ilay,i_s2)*xss2(iw) 187 190 dtgas(ilay,iw,a_clo) = colinc(ilay)*rm(ilay,i_clo)*xsclo(iw) 188 191 dtgas(ilay,iw,a_ocs) = colinc(ilay)*rm(ilay,i_ocs)*xsocs(iw) … … 219 222 sj(ilay,iw,j_hocl) = xshocl(iw) ! hocl 220 223 sj(ilay,iw,j_so) = xsso(iw) ! so 224 sj(ilay,iw,j_s2) = xss2(iw) ! s2 221 225 sj(ilay,iw,j_so3) = xsso3(iw) ! so3 222 226 sj(ilay,iw,j_clo) = xsclo(iw) ! clo
Note: See TracChangeset
for help on using the changeset viewer.