LCOV - code coverage report
Current view: top level - chemistry/pp_trop_strat_noaero - mo_setrxt.F90 (source / functions) Hit Total Coverage
Test: coverage.info Lines: 545 574 94.9 %
Date: 2025-03-14 01:30:37 Functions: 1 2 50.0 %

          Line data    Source code
       1             : 
       2             :       module mo_setrxt
       3             : 
       4             :       use shr_kind_mod, only : r8 => shr_kind_r8
       5             : 
       6             :       private
       7             :       public :: setrxt
       8             :       public :: setrxt_hrates
       9             : 
      10             :       contains
      11             : 
      12       72960 :       subroutine setrxt( rate, temp, m, ncol )
      13             :  
      14             :       use ppgrid, only : pcols, pver
      15             : 
      16             : 
      17             :       use chem_mods, only : rxntot
      18             :       use mo_jpl,    only : jpl
      19             : 
      20             :       implicit none
      21             : 
      22             : !-------------------------------------------------------
      23             : !       ... dummy arguments
      24             : !-------------------------------------------------------
      25             :       integer, intent(in) :: ncol
      26             :       real(r8), intent(in)    :: temp(pcols,pver)
      27             :       real(r8), intent(in)    :: m(ncol*pver)
      28             :       real(r8), intent(inout) :: rate(ncol*pver,max(1,rxntot))
      29             : 
      30             : !-------------------------------------------------------
      31             : !       ... local variables
      32             : !-------------------------------------------------------
      33             :       integer   ::  n
      34             :       integer   ::  offset
      35      145920 :       real(r8)  :: itemp(ncol*pver)
      36      145920 :       real(r8)  :: exp_fac(ncol*pver)
      37      145920 :       real(r8)  :: ko(ncol*pver)
      38      145920 :       real(r8)  :: kinf(ncol*pver)
      39             : 
      40    33692928 :       rate(:,114) = 1.2e-10_r8
      41    33692928 :       rate(:,118) = 1.2e-10_r8
      42    33692928 :       rate(:,124) = 6.9e-12_r8
      43    33692928 :       rate(:,125) = 7.2e-11_r8
      44    33692928 :       rate(:,126) = 1.6e-12_r8
      45    33692928 :       rate(:,132) = 1.8e-12_r8
      46    33692928 :       rate(:,136) = 1.8e-12_r8
      47    33692928 :       rate(:,148) = 3.5e-12_r8
      48    33692928 :       rate(:,150) = 1e-11_r8
      49    33692928 :       rate(:,151) = 2.2e-11_r8
      50    33692928 :       rate(:,152) = 5e-11_r8
      51    33692928 :       rate(:,187) = 1.7e-13_r8
      52    33692928 :       rate(:,189) = 2.607e-10_r8
      53    33692928 :       rate(:,190) = 9.75e-11_r8
      54    33692928 :       rate(:,191) = 2.07e-10_r8
      55    33692928 :       rate(:,192) = 2.088e-10_r8
      56    33692928 :       rate(:,193) = 1.17e-10_r8
      57    33692928 :       rate(:,194) = 4.644e-11_r8
      58    33692928 :       rate(:,195) = 1.204e-10_r8
      59    33692928 :       rate(:,196) = 9.9e-11_r8
      60    33692928 :       rate(:,197) = 3.3e-12_r8
      61    33692928 :       rate(:,216) = 4.5e-11_r8
      62    33692928 :       rate(:,217) = 4.62e-10_r8
      63    33692928 :       rate(:,218) = 1.2e-10_r8
      64    33692928 :       rate(:,219) = 9e-11_r8
      65    33692928 :       rate(:,220) = 3e-11_r8
      66    33692928 :       rate(:,225) = 2.14e-11_r8
      67    33692928 :       rate(:,226) = 1.9e-10_r8
      68    33692928 :       rate(:,239) = 2.57e-10_r8
      69    33692928 :       rate(:,240) = 1.8e-10_r8
      70    33692928 :       rate(:,241) = 1.794e-10_r8
      71    33692928 :       rate(:,242) = 1.3e-10_r8
      72    33692928 :       rate(:,243) = 7.65e-11_r8
      73    33692928 :       rate(:,257) = 4e-13_r8
      74    33692928 :       rate(:,261) = 1.31e-10_r8
      75    33692928 :       rate(:,262) = 3.5e-11_r8
      76    33692928 :       rate(:,263) = 9e-12_r8
      77    33692928 :       rate(:,270) = 6.8e-14_r8
      78    33692928 :       rate(:,271) = 2e-13_r8
      79    33692928 :       rate(:,285) = 7e-13_r8
      80    33692928 :       rate(:,286) = 1e-12_r8
      81    33692928 :       rate(:,290) = 1e-14_r8
      82    33692928 :       rate(:,291) = 1e-11_r8
      83    33692928 :       rate(:,292) = 1.15e-11_r8
      84    33692928 :       rate(:,293) = 4e-14_r8
      85    33692928 :       rate(:,306) = 3e-12_r8
      86    33692928 :       rate(:,307) = 6.7e-13_r8
      87    33692928 :       rate(:,317) = 3.5e-13_r8
      88    33692928 :       rate(:,318) = 5.4e-11_r8
      89    33692928 :       rate(:,321) = 2e-12_r8
      90    33692928 :       rate(:,322) = 1.4e-11_r8
      91    33692928 :       rate(:,325) = 2.4e-12_r8
      92    33692928 :       rate(:,336) = 5e-12_r8
      93    33692928 :       rate(:,346) = 1.6e-12_r8
      94    33692928 :       rate(:,348) = 6.7e-12_r8
      95    33692928 :       rate(:,351) = 3.5e-12_r8
      96    33692928 :       rate(:,354) = 1.3e-11_r8
      97    33692928 :       rate(:,355) = 1.4e-11_r8
      98    33692928 :       rate(:,359) = 2.4e-12_r8
      99    33692928 :       rate(:,360) = 1.4e-11_r8
     100    33692928 :       rate(:,365) = 2.4e-12_r8
     101    33692928 :       rate(:,366) = 4e-11_r8
     102    33692928 :       rate(:,367) = 4e-11_r8
     103    33692928 :       rate(:,369) = 1.4e-11_r8
     104    33692928 :       rate(:,373) = 2.4e-12_r8
     105    33692928 :       rate(:,374) = 4e-11_r8
     106    33692928 :       rate(:,378) = 7e-11_r8
     107    33692928 :       rate(:,379) = 1e-10_r8
     108    33692928 :       rate(:,384) = 2.4e-12_r8
     109    33692928 :       rate(:,399) = 4.7e-11_r8
     110    33692928 :       rate(:,412) = 2.1e-12_r8
     111    33692928 :       rate(:,413) = 2.8e-13_r8
     112    33692928 :       rate(:,421) = 1.7e-11_r8
     113    33692928 :       rate(:,427) = 8.4e-11_r8
     114    33692928 :       rate(:,429) = 1.9e-11_r8
     115    33692928 :       rate(:,430) = 1.2e-14_r8
     116    33692928 :       rate(:,431) = 2e-10_r8
     117    33692928 :       rate(:,438) = 2.4e-12_r8
     118    33692928 :       rate(:,439) = 2e-11_r8
     119    33692928 :       rate(:,443) = 2.3e-11_r8
     120    33692928 :       rate(:,444) = 2e-11_r8
     121    33692928 :       rate(:,448) = 3.3e-11_r8
     122    33692928 :       rate(:,449) = 1e-12_r8
     123    33692928 :       rate(:,450) = 5.7e-11_r8
     124    33692928 :       rate(:,451) = 3.4e-11_r8
     125    33692928 :       rate(:,456) = 2.3e-12_r8
     126    33692928 :       rate(:,457) = 1.2e-11_r8
     127    33692928 :       rate(:,458) = 5.7e-11_r8
     128    33692928 :       rate(:,459) = 2.8e-11_r8
     129    33692928 :       rate(:,460) = 6.6e-11_r8
     130    33692928 :       rate(:,461) = 1.4e-11_r8
     131    33692928 :       rate(:,464) = 1.9e-12_r8
     132    33692928 :       rate(:,478) = 6.34e-08_r8
     133    33692928 :       rate(:,484) = 1.9e-11_r8
     134    33692928 :       rate(:,487) = 1.2e-14_r8
     135    33692928 :       rate(:,488) = 2e-10_r8
     136    33692928 :       rate(:,499) = 1.34e-11_r8
     137    33692928 :       rate(:,505) = 1.34e-11_r8
     138    33692928 :       rate(:,509) = 1.7e-11_r8
     139    33692928 :       rate(:,529) = 1.29e-07_r8
     140    33692928 :       rate(:,530) = 2.31e-07_r8
     141    33692928 :       rate(:,531) = 2.31e-06_r8
     142    33692928 :       rate(:,532) = 4.63e-07_r8
     143             :  
     144     2407680 :       do n = 1,pver
     145     2334720 :         offset = (n-1)*ncol
     146    36027648 :         itemp(offset+1:offset+ncol) = 1._r8 / temp(:ncol,n)
     147             :       end do
     148             : 
     149    33692928 :       rate(:,115) = 1.63e-10_r8 * exp( 60._r8 * itemp(:) )
     150    33692928 :       rate(:,116) = 2.15e-11_r8 * exp( 110._r8 * itemp(:) )
     151    33692928 :       rate(:,117) = 3.3e-11_r8 * exp( 55._r8 * itemp(:) )
     152    33692928 :       rate(:,119) = 8e-12_r8 * exp( -2060._r8 * itemp(:) )
     153    33692928 :       rate(:,122) = 1.6e-11_r8 * exp( -4570._r8 * itemp(:) )
     154    33692928 :       exp_fac(:) = exp( -2000._r8 * itemp(:) )
     155    33692928 :       rate(:,123) = 1.4e-12_r8 * exp_fac(:)
     156    33692928 :       rate(:,375) = 1.05e-14_r8 * exp_fac(:)
     157    33692928 :       rate(:,495) = 1.05e-14_r8 * exp_fac(:)
     158    33692928 :       exp_fac(:) = exp( 200._r8 * itemp(:) )
     159    33692928 :       rate(:,128) = 3e-11_r8 * exp_fac(:)
     160    33692928 :       rate(:,214) = 5.5e-12_r8 * exp_fac(:)
     161    33692928 :       rate(:,253) = 3.8e-12_r8 * exp_fac(:)
     162    33692928 :       rate(:,275) = 3.8e-12_r8 * exp_fac(:)
     163    33692928 :       rate(:,302) = 3.8e-12_r8 * exp_fac(:)
     164    33692928 :       rate(:,310) = 3.8e-12_r8 * exp_fac(:)
     165    33692928 :       rate(:,314) = 3.8e-12_r8 * exp_fac(:)
     166    33692928 :       rate(:,330) = 2.3e-11_r8 * exp_fac(:)
     167    33692928 :       rate(:,340) = 3.8e-12_r8 * exp_fac(:)
     168    33692928 :       rate(:,350) = 3.8e-12_r8 * exp_fac(:)
     169    33692928 :       rate(:,377) = 1.52e-11_r8 * exp_fac(:)
     170    33692928 :       rate(:,385) = 1.52e-12_r8 * exp_fac(:)
     171    33692928 :       rate(:,391) = 3.8e-12_r8 * exp_fac(:)
     172    33692928 :       rate(:,394) = 3.8e-12_r8 * exp_fac(:)
     173    33692928 :       rate(:,398) = 3.8e-12_r8 * exp_fac(:)
     174    33692928 :       rate(:,414) = 3.8e-12_r8 * exp_fac(:)
     175    33692928 :       rate(:,418) = 3.8e-12_r8 * exp_fac(:)
     176    33692928 :       rate(:,424) = 3.8e-12_r8 * exp_fac(:)
     177    33692928 :       rate(:,428) = 3.8e-12_r8 * exp_fac(:)
     178    33692928 :       rate(:,129) = 1e-14_r8 * exp( -490._r8 * itemp(:) )
     179    33692928 :       rate(:,130) = 1.4e-10_r8 * exp( -470._r8 * itemp(:) )
     180    33692928 :       rate(:,131) = 2.8e-12_r8 * exp( -1800._r8 * itemp(:) )
     181    33692928 :       exp_fac(:) = exp( 250._r8 * itemp(:) )
     182    33692928 :       rate(:,133) = 4.8e-11_r8 * exp_fac(:)
     183    33692928 :       rate(:,212) = 1.7e-11_r8 * exp_fac(:)
     184    33692928 :       exp_fac(:) = exp( 180._r8 * itemp(:) )
     185    33692928 :       rate(:,134) = 1.8e-11_r8 * exp_fac(:)
     186    33692928 :       rate(:,288) = 4.2e-12_r8 * exp_fac(:)
     187    33692928 :       rate(:,301) = 4.2e-12_r8 * exp_fac(:)
     188    33692928 :       rate(:,309) = 4.2e-12_r8 * exp_fac(:)
     189    33692928 :       rate(:,338) = 4.2e-12_r8 * exp_fac(:)
     190    33692928 :       rate(:,358) = 4.4e-12_r8 * exp_fac(:)
     191    33692928 :       rate(:,364) = 4.4e-12_r8 * exp_fac(:)
     192    33692928 :       rate(:,437) = 4.2e-12_r8 * exp_fac(:)
     193    33692928 :       rate(:,442) = 4.2e-12_r8 * exp_fac(:)
     194    33692928 :       rate(:,447) = 4.2e-12_r8 * exp_fac(:)
     195    33692928 :       rate(:,135) = 1.7e-12_r8 * exp( -940._r8 * itemp(:) )
     196    33692928 :       rate(:,139) = 1.3e-12_r8 * exp( 380._r8 * itemp(:) )
     197    33692928 :       rate(:,140) = 2.1e-11_r8 * exp( 100._r8 * itemp(:) )
     198    33692928 :       exp_fac(:) = exp( 220._r8 * itemp(:) )
     199    33692928 :       rate(:,141) = 2.9e-12_r8 * exp_fac(:)
     200    33692928 :       rate(:,142) = 1.45e-12_r8 * exp_fac(:)
     201    33692928 :       rate(:,143) = 1.45e-12_r8 * exp_fac(:)
     202    33692928 :       rate(:,144) = 1.5e-11_r8 * exp( -3600._r8 * itemp(:) )
     203    33692928 :       rate(:,145) = 5.1e-12_r8 * exp( 210._r8 * itemp(:) )
     204    33692928 :       exp_fac(:) = exp( -2450._r8 * itemp(:) )
     205    33692928 :       rate(:,146) = 1.2e-13_r8 * exp_fac(:)
     206    33692928 :       rate(:,172) = 3e-11_r8 * exp_fac(:)
     207    33692928 :       rate(:,149) = 1.5e-11_r8 * exp( 170._r8 * itemp(:) )
     208    33692928 :       exp_fac(:) = exp( 270._r8 * itemp(:) )
     209    33692928 :       rate(:,153) = 3.3e-12_r8 * exp_fac(:)
     210    33692928 :       rate(:,168) = 1.4e-11_r8 * exp_fac(:)
     211    33692928 :       rate(:,182) = 7.4e-12_r8 * exp_fac(:)
     212    33692928 :       rate(:,284) = 8.1e-12_r8 * exp_fac(:)
     213    33692928 :       exp_fac(:) = exp( -1500._r8 * itemp(:) )
     214    33692928 :       rate(:,154) = 3e-12_r8 * exp_fac(:)
     215    33692928 :       rate(:,213) = 5.8e-12_r8 * exp_fac(:)
     216    33692928 :       exp_fac(:) = exp( 20._r8 * itemp(:) )
     217    33692928 :       rate(:,156) = 7.26e-11_r8 * exp_fac(:)
     218    33692928 :       rate(:,157) = 4.64e-11_r8 * exp_fac(:)
     219    33692928 :       rate(:,164) = 8.1e-11_r8 * exp( -30._r8 * itemp(:) )
     220    33692928 :       rate(:,165) = 7.1e-12_r8 * exp( -1270._r8 * itemp(:) )
     221    33692928 :       rate(:,166) = 3.05e-11_r8 * exp( -2270._r8 * itemp(:) )
     222    33692928 :       rate(:,167) = 1.1e-11_r8 * exp( -980._r8 * itemp(:) )
     223    33692928 :       rate(:,169) = 3.6e-11_r8 * exp( -375._r8 * itemp(:) )
     224    33692928 :       rate(:,170) = 2.3e-11_r8 * exp( -200._r8 * itemp(:) )
     225    33692928 :       rate(:,171) = 3.3e-12_r8 * exp( -115._r8 * itemp(:) )
     226    33692928 :       rate(:,173) = 1e-12_r8 * exp( -1590._r8 * itemp(:) )
     227    33692928 :       rate(:,174) = 3.5e-13_r8 * exp( -1370._r8 * itemp(:) )
     228    33692928 :       exp_fac(:) = exp( 290._r8 * itemp(:) )
     229    33692928 :       rate(:,175) = 2.6e-12_r8 * exp_fac(:)
     230    33692928 :       rate(:,176) = 6.4e-12_r8 * exp_fac(:)
     231    33692928 :       rate(:,206) = 4.1e-13_r8 * exp_fac(:)
     232    33692928 :       rate(:,387) = 7.5e-12_r8 * exp_fac(:)
     233    33692928 :       rate(:,401) = 7.5e-12_r8 * exp_fac(:)
     234    33692928 :       rate(:,404) = 7.5e-12_r8 * exp_fac(:)
     235    33692928 :       rate(:,407) = 7.5e-12_r8 * exp_fac(:)
     236    33692928 :       rate(:,177) = 6.5e-12_r8 * exp( 135._r8 * itemp(:) )
     237    33692928 :       exp_fac(:) = exp( -840._r8 * itemp(:) )
     238    33692928 :       rate(:,179) = 3.6e-12_r8 * exp_fac(:)
     239    33692928 :       rate(:,228) = 2e-12_r8 * exp_fac(:)
     240    33692928 :       rate(:,180) = 1.2e-12_r8 * exp( -330._r8 * itemp(:) )
     241    33692928 :       rate(:,181) = 2.8e-11_r8 * exp( 85._r8 * itemp(:) )
     242    33692928 :       exp_fac(:) = exp( 230._r8 * itemp(:) )
     243    33692928 :       rate(:,183) = 6e-13_r8 * exp_fac(:)
     244    33692928 :       rate(:,203) = 1.5e-12_r8 * exp_fac(:)
     245    33692928 :       rate(:,211) = 1.9e-11_r8 * exp_fac(:)
     246    33692928 :       rate(:,184) = 1e-11_r8 * exp( -3300._r8 * itemp(:) )
     247    33692928 :       rate(:,185) = 1.8e-12_r8 * exp( -250._r8 * itemp(:) )
     248    33692928 :       rate(:,186) = 3.4e-12_r8 * exp( -130._r8 * itemp(:) )
     249    33692928 :       exp_fac(:) = exp( -500._r8 * itemp(:) )
     250    33692928 :       rate(:,188) = 3e-12_r8 * exp_fac(:)
     251    33692928 :       rate(:,222) = 1.4e-10_r8 * exp_fac(:)
     252    33692928 :       exp_fac(:) = exp( -800._r8 * itemp(:) )
     253    33692928 :       rate(:,200) = 1.7e-11_r8 * exp_fac(:)
     254    33692928 :       rate(:,227) = 6.3e-12_r8 * exp_fac(:)
     255    33692928 :       rate(:,201) = 4.8e-12_r8 * exp( -310._r8 * itemp(:) )
     256    33692928 :       rate(:,202) = 1.6e-11_r8 * exp( -780._r8 * itemp(:) )
     257    33692928 :       rate(:,204) = 9.5e-13_r8 * exp( 550._r8 * itemp(:) )
     258    33692928 :       exp_fac(:) = exp( 260._r8 * itemp(:) )
     259    33692928 :       rate(:,205) = 2.3e-12_r8 * exp_fac(:)
     260    33692928 :       rate(:,208) = 8.8e-12_r8 * exp_fac(:)
     261    33692928 :       rate(:,207) = 4.5e-12_r8 * exp( 460._r8 * itemp(:) )
     262    33692928 :       rate(:,210) = 1.9e-11_r8 * exp( 215._r8 * itemp(:) )
     263    33692928 :       rate(:,215) = 1.2e-10_r8 * exp( -430._r8 * itemp(:) )
     264    33692928 :       rate(:,221) = 1.6e-10_r8 * exp( -260._r8 * itemp(:) )
     265    33692928 :       exp_fac(:) = exp( 0._r8 * itemp(:) )
     266    33692928 :       rate(:,223) = 1.4e-11_r8 * exp_fac(:)
     267    33692928 :       rate(:,225) = 2.14e-11_r8 * exp_fac(:)
     268    33692928 :       rate(:,226) = 1.9e-10_r8 * exp_fac(:)
     269    33692928 :       rate(:,239) = 2.57e-10_r8 * exp_fac(:)
     270    33692928 :       rate(:,240) = 1.8e-10_r8 * exp_fac(:)
     271    33692928 :       rate(:,241) = 1.794e-10_r8 * exp_fac(:)
     272    33692928 :       rate(:,242) = 1.3e-10_r8 * exp_fac(:)
     273    33692928 :       rate(:,243) = 7.65e-11_r8 * exp_fac(:)
     274    33692928 :       rate(:,257) = 4e-13_r8 * exp_fac(:)
     275    33692928 :       rate(:,261) = 1.31e-10_r8 * exp_fac(:)
     276    33692928 :       rate(:,262) = 3.5e-11_r8 * exp_fac(:)
     277    33692928 :       rate(:,263) = 9e-12_r8 * exp_fac(:)
     278    33692928 :       rate(:,270) = 6.8e-14_r8 * exp_fac(:)
     279    33692928 :       rate(:,271) = 2e-13_r8 * exp_fac(:)
     280    33692928 :       rate(:,285) = 7e-13_r8 * exp_fac(:)
     281    33692928 :       rate(:,286) = 1e-12_r8 * exp_fac(:)
     282    33692928 :       rate(:,290) = 1e-14_r8 * exp_fac(:)
     283    33692928 :       rate(:,291) = 1e-11_r8 * exp_fac(:)
     284    33692928 :       rate(:,292) = 1.15e-11_r8 * exp_fac(:)
     285    33692928 :       rate(:,293) = 4e-14_r8 * exp_fac(:)
     286    33692928 :       rate(:,306) = 3e-12_r8 * exp_fac(:)
     287    33692928 :       rate(:,307) = 6.7e-13_r8 * exp_fac(:)
     288    33692928 :       rate(:,317) = 3.5e-13_r8 * exp_fac(:)
     289    33692928 :       rate(:,318) = 5.4e-11_r8 * exp_fac(:)
     290    33692928 :       rate(:,321) = 2e-12_r8 * exp_fac(:)
     291    33692928 :       rate(:,322) = 1.4e-11_r8 * exp_fac(:)
     292    33692928 :       rate(:,325) = 2.4e-12_r8 * exp_fac(:)
     293    33692928 :       rate(:,336) = 5e-12_r8 * exp_fac(:)
     294    33692928 :       rate(:,346) = 1.6e-12_r8 * exp_fac(:)
     295    33692928 :       rate(:,348) = 6.7e-12_r8 * exp_fac(:)
     296    33692928 :       rate(:,351) = 3.5e-12_r8 * exp_fac(:)
     297    33692928 :       rate(:,354) = 1.3e-11_r8 * exp_fac(:)
     298    33692928 :       rate(:,355) = 1.4e-11_r8 * exp_fac(:)
     299    33692928 :       rate(:,359) = 2.4e-12_r8 * exp_fac(:)
     300    33692928 :       rate(:,360) = 1.4e-11_r8 * exp_fac(:)
     301    33692928 :       rate(:,365) = 2.4e-12_r8 * exp_fac(:)
     302    33692928 :       rate(:,366) = 4e-11_r8 * exp_fac(:)
     303    33692928 :       rate(:,367) = 4e-11_r8 * exp_fac(:)
     304    33692928 :       rate(:,369) = 1.4e-11_r8 * exp_fac(:)
     305    33692928 :       rate(:,373) = 2.4e-12_r8 * exp_fac(:)
     306    33692928 :       rate(:,374) = 4e-11_r8 * exp_fac(:)
     307    33692928 :       rate(:,378) = 7e-11_r8 * exp_fac(:)
     308    33692928 :       rate(:,379) = 1e-10_r8 * exp_fac(:)
     309    33692928 :       rate(:,384) = 2.4e-12_r8 * exp_fac(:)
     310    33692928 :       rate(:,399) = 4.7e-11_r8 * exp_fac(:)
     311    33692928 :       rate(:,412) = 2.1e-12_r8 * exp_fac(:)
     312    33692928 :       rate(:,413) = 2.8e-13_r8 * exp_fac(:)
     313    33692928 :       rate(:,421) = 1.7e-11_r8 * exp_fac(:)
     314    33692928 :       rate(:,427) = 8.4e-11_r8 * exp_fac(:)
     315    33692928 :       rate(:,429) = 1.9e-11_r8 * exp_fac(:)
     316    33692928 :       rate(:,430) = 1.2e-14_r8 * exp_fac(:)
     317    33692928 :       rate(:,431) = 2e-10_r8 * exp_fac(:)
     318    33692928 :       rate(:,438) = 2.4e-12_r8 * exp_fac(:)
     319    33692928 :       rate(:,439) = 2e-11_r8 * exp_fac(:)
     320    33692928 :       rate(:,443) = 2.3e-11_r8 * exp_fac(:)
     321    33692928 :       rate(:,444) = 2e-11_r8 * exp_fac(:)
     322    33692928 :       rate(:,448) = 3.3e-11_r8 * exp_fac(:)
     323    33692928 :       rate(:,449) = 1e-12_r8 * exp_fac(:)
     324    33692928 :       rate(:,450) = 5.7e-11_r8 * exp_fac(:)
     325    33692928 :       rate(:,451) = 3.4e-11_r8 * exp_fac(:)
     326    33692928 :       rate(:,456) = 2.3e-12_r8 * exp_fac(:)
     327    33692928 :       rate(:,457) = 1.2e-11_r8 * exp_fac(:)
     328    33692928 :       rate(:,458) = 5.7e-11_r8 * exp_fac(:)
     329    33692928 :       rate(:,459) = 2.8e-11_r8 * exp_fac(:)
     330    33692928 :       rate(:,460) = 6.6e-11_r8 * exp_fac(:)
     331    33692928 :       rate(:,461) = 1.4e-11_r8 * exp_fac(:)
     332    33692928 :       rate(:,464) = 1.9e-12_r8 * exp_fac(:)
     333    33692928 :       rate(:,478) = 6.34e-08_r8 * exp_fac(:)
     334    33692928 :       rate(:,484) = 1.9e-11_r8 * exp_fac(:)
     335    33692928 :       rate(:,487) = 1.2e-14_r8 * exp_fac(:)
     336    33692928 :       rate(:,488) = 2e-10_r8 * exp_fac(:)
     337    33692928 :       rate(:,499) = 1.34e-11_r8 * exp_fac(:)
     338    33692928 :       rate(:,505) = 1.34e-11_r8 * exp_fac(:)
     339    33692928 :       rate(:,509) = 1.7e-11_r8 * exp_fac(:)
     340    33692928 :       rate(:,529) = 1.29e-07_r8 * exp_fac(:)
     341    33692928 :       rate(:,530) = 2.31e-07_r8 * exp_fac(:)
     342    33692928 :       rate(:,531) = 2.31e-06_r8 * exp_fac(:)
     343    33692928 :       rate(:,532) = 4.63e-07_r8 * exp_fac(:)
     344    33692928 :       exp_fac(:) = exp( 400._r8 * itemp(:) )
     345    33692928 :       rate(:,224) = 6e-12_r8 * exp_fac(:)
     346    33692928 :       rate(:,323) = 5e-13_r8 * exp_fac(:)
     347    33692928 :       rate(:,356) = 5e-13_r8 * exp_fac(:)
     348    33692928 :       rate(:,361) = 5e-13_r8 * exp_fac(:)
     349    33692928 :       rate(:,370) = 5e-13_r8 * exp_fac(:)
     350    33692928 :       rate(:,381) = 5e-13_r8 * exp_fac(:)
     351    33692928 :       rate(:,229) = 1.46e-11_r8 * exp( -1040._r8 * itemp(:) )
     352    33692928 :       rate(:,230) = 1.42e-12_r8 * exp( -1150._r8 * itemp(:) )
     353    33692928 :       exp_fac(:) = exp( -1520._r8 * itemp(:) )
     354    33692928 :       rate(:,231) = 1.64e-12_r8 * exp_fac(:)
     355    33692928 :       rate(:,342) = 8.5e-16_r8 * exp_fac(:)
     356    33692928 :       exp_fac(:) = exp( -1100._r8 * itemp(:) )
     357    33692928 :       rate(:,232) = 2.03e-11_r8 * exp_fac(:)
     358    33692928 :       rate(:,463) = 3.4e-12_r8 * exp_fac(:)
     359    33692928 :       rate(:,233) = 1.96e-12_r8 * exp( -1200._r8 * itemp(:) )
     360    33692928 :       rate(:,234) = 4.85e-12_r8 * exp( -850._r8 * itemp(:) )
     361    33692928 :       rate(:,235) = 9e-13_r8 * exp( -360._r8 * itemp(:) )
     362    33692928 :       exp_fac(:) = exp( -1600._r8 * itemp(:) )
     363    33692928 :       rate(:,236) = 1.25e-12_r8 * exp_fac(:)
     364    33692928 :       rate(:,246) = 3.4e-11_r8 * exp_fac(:)
     365    33692928 :       rate(:,237) = 1.3e-12_r8 * exp( -1770._r8 * itemp(:) )
     366    33692928 :       rate(:,238) = 9.2e-13_r8 * exp( -1560._r8 * itemp(:) )
     367    33692928 :       rate(:,244) = 9.7e-15_r8 * exp( 625._r8 * itemp(:) )
     368    33692928 :       rate(:,245) = 6e-13_r8 * exp( -2058._r8 * itemp(:) )
     369    33692928 :       rate(:,247) = 5.5e-12_r8 * exp( 125._r8 * itemp(:) )
     370    33692928 :       rate(:,248) = 5e-13_r8 * exp( -424._r8 * itemp(:) )
     371    33692928 :       rate(:,249) = 1.9e-14_r8 * exp( 706._r8 * itemp(:) )
     372    33692928 :       rate(:,250) = 4.1e-13_r8 * exp( 750._r8 * itemp(:) )
     373    33692928 :       exp_fac(:) = exp( 300._r8 * itemp(:) )
     374    33692928 :       rate(:,251) = 2.8e-12_r8 * exp_fac(:)
     375    33692928 :       rate(:,313) = 2.9e-12_r8 * exp_fac(:)
     376    33692928 :       rate(:,252) = 2.9e-12_r8 * exp( -345._r8 * itemp(:) )
     377    33692928 :       rate(:,254) = 2.45e-12_r8 * exp( -1775._r8 * itemp(:) )
     378    33692928 :       exp_fac(:) = exp( 700._r8 * itemp(:) )
     379    33692928 :       rate(:,258) = 7.5e-13_r8 * exp_fac(:)
     380    33692928 :       rate(:,272) = 7.5e-13_r8 * exp_fac(:)
     381    33692928 :       rate(:,287) = 7.5e-13_r8 * exp_fac(:)
     382    33692928 :       rate(:,300) = 7.5e-13_r8 * exp_fac(:)
     383    33692928 :       rate(:,308) = 7.5e-13_r8 * exp_fac(:)
     384    33692928 :       rate(:,312) = 8.6e-13_r8 * exp_fac(:)
     385    33692928 :       rate(:,324) = 8e-13_r8 * exp_fac(:)
     386    33692928 :       rate(:,337) = 7.5e-13_r8 * exp_fac(:)
     387    33692928 :       rate(:,347) = 7.5e-13_r8 * exp_fac(:)
     388    33692928 :       rate(:,357) = 8e-13_r8 * exp_fac(:)
     389    33692928 :       rate(:,362) = 8e-13_r8 * exp_fac(:)
     390    33692928 :       rate(:,371) = 8e-13_r8 * exp_fac(:)
     391    33692928 :       rate(:,382) = 8e-13_r8 * exp_fac(:)
     392    33692928 :       rate(:,389) = 7.5e-13_r8 * exp_fac(:)
     393    33692928 :       rate(:,393) = 7.5e-13_r8 * exp_fac(:)
     394    33692928 :       rate(:,396) = 7.5e-13_r8 * exp_fac(:)
     395    33692928 :       rate(:,409) = 7.5e-13_r8 * exp_fac(:)
     396    33692928 :       rate(:,416) = 7.5e-13_r8 * exp_fac(:)
     397    33692928 :       rate(:,422) = 7.5e-13_r8 * exp_fac(:)
     398    33692928 :       rate(:,425) = 7.5e-13_r8 * exp_fac(:)
     399    33692928 :       rate(:,436) = 7.5e-13_r8 * exp_fac(:)
     400    33692928 :       rate(:,441) = 7.5e-13_r8 * exp_fac(:)
     401    33692928 :       rate(:,446) = 7.5e-13_r8 * exp_fac(:)
     402    33692928 :       rate(:,490) = 7.5e-13_r8 * exp_fac(:)
     403    33692928 :       rate(:,497) = 7.5e-13_r8 * exp_fac(:)
     404    33692928 :       rate(:,507) = 7.5e-13_r8 * exp_fac(:)
     405    33692928 :       rate(:,510) = 7.5e-13_r8 * exp_fac(:)
     406    33692928 :       rate(:,259) = 2.4e+12_r8 * exp( -7000._r8 * itemp(:) )
     407    33692928 :       rate(:,260) = 2.6e-12_r8 * exp( 265._r8 * itemp(:) )
     408    33692928 :       rate(:,264) = 1.08e-10_r8 * exp( 105._r8 * itemp(:) )
     409    33692928 :       rate(:,269) = 1.2e-14_r8 * exp( -2630._r8 * itemp(:) )
     410    33692928 :       exp_fac(:) = exp( 365._r8 * itemp(:) )
     411    33692928 :       rate(:,273) = 2.6e-12_r8 * exp_fac(:)
     412    33692928 :       rate(:,390) = 2.6e-12_r8 * exp_fac(:)
     413    33692928 :       rate(:,395) = 2.6e-12_r8 * exp_fac(:)
     414    33692928 :       rate(:,397) = 2.6e-12_r8 * exp_fac(:)
     415    33692928 :       rate(:,410) = 2.6e-12_r8 * exp_fac(:)
     416    33692928 :       rate(:,417) = 2.6e-12_r8 * exp_fac(:)
     417    33692928 :       rate(:,423) = 2.6e-12_r8 * exp_fac(:)
     418    33692928 :       rate(:,426) = 2.6e-12_r8 * exp_fac(:)
     419    33692928 :       rate(:,491) = 2.6e-12_r8 * exp_fac(:)
     420    33692928 :       rate(:,498) = 2.6e-12_r8 * exp_fac(:)
     421    33692928 :       rate(:,508) = 2.6e-12_r8 * exp_fac(:)
     422    33692928 :       rate(:,511) = 2.6e-12_r8 * exp_fac(:)
     423    33692928 :       rate(:,274) = 6.9e-12_r8 * exp( -230._r8 * itemp(:) )
     424    33692928 :       rate(:,276) = 7.2e-11_r8 * exp( -70._r8 * itemp(:) )
     425    33692928 :       rate(:,277) = 7.66e-12_r8 * exp( -1020._r8 * itemp(:) )
     426    33692928 :       exp_fac(:) = exp( -1900._r8 * itemp(:) )
     427    33692928 :       rate(:,278) = 1.4e-12_r8 * exp_fac(:)
     428    33692928 :       rate(:,298) = 6.5e-15_r8 * exp_fac(:)
     429    33692928 :       exp_fac(:) = exp( 350._r8 * itemp(:) )
     430    33692928 :       rate(:,279) = 4.63e-12_r8 * exp_fac(:)
     431    33692928 :       rate(:,494) = 2.7e-12_r8 * exp_fac(:)
     432    33692928 :       rate(:,280) = 7.8e-13_r8 * exp( -1050._r8 * itemp(:) )
     433    33692928 :       exp_fac(:) = exp( 500._r8 * itemp(:) )
     434    33692928 :       rate(:,281) = 2.9e-12_r8 * exp_fac(:)
     435    33692928 :       rate(:,282) = 2e-12_r8 * exp_fac(:)
     436    33692928 :       rate(:,311) = 7.1e-13_r8 * exp_fac(:)
     437    33692928 :       rate(:,332) = 2e-12_r8 * exp_fac(:)
     438    33692928 :       rate(:,435) = 2e-12_r8 * exp_fac(:)
     439    33692928 :       rate(:,440) = 2e-12_r8 * exp_fac(:)
     440    33692928 :       rate(:,445) = 2e-12_r8 * exp_fac(:)
     441    33692928 :       exp_fac(:) = exp( 1040._r8 * itemp(:) )
     442    33692928 :       rate(:,283) = 4.3e-13_r8 * exp_fac(:)
     443    33692928 :       rate(:,333) = 4.3e-13_r8 * exp_fac(:)
     444    33692928 :       rate(:,386) = 4.3e-13_r8 * exp_fac(:)
     445    33692928 :       rate(:,400) = 4.3e-13_r8 * exp_fac(:)
     446    33692928 :       rate(:,403) = 4.3e-13_r8 * exp_fac(:)
     447    33692928 :       rate(:,406) = 4.3e-13_r8 * exp_fac(:)
     448    33692928 :       rate(:,289) = 1.6e+11_r8 * exp( -4150._r8 * itemp(:) )
     449    33692928 :       rate(:,297) = 4.6e-13_r8 * exp( -1156._r8 * itemp(:) )
     450    33692928 :       rate(:,299) = 3.75e-13_r8 * exp( -40._r8 * itemp(:) )
     451    33692928 :       rate(:,303) = 8.7e-12_r8 * exp( -615._r8 * itemp(:) )
     452    33692928 :       rate(:,304) = 1.4e-12_r8 * exp( -1860._r8 * itemp(:) )
     453    33692928 :       rate(:,305) = 8.4e-13_r8 * exp( 830._r8 * itemp(:) )
     454    33692928 :       rate(:,319) = 4.8e-12_r8 * exp( 120._r8 * itemp(:) )
     455    33692928 :       rate(:,320) = 5.1e-14_r8 * exp( 693._r8 * itemp(:) )
     456    33692928 :       exp_fac(:) = exp( 360._r8 * itemp(:) )
     457    33692928 :       rate(:,326) = 2.7e-12_r8 * exp_fac(:)
     458    33692928 :       rate(:,327) = 1.3e-13_r8 * exp_fac(:)
     459    33692928 :       rate(:,329) = 9.6e-12_r8 * exp_fac(:)
     460    33692928 :       rate(:,335) = 5.3e-12_r8 * exp_fac(:)
     461    33692928 :       rate(:,372) = 2.7e-12_r8 * exp_fac(:)
     462    33692928 :       rate(:,383) = 2.7e-12_r8 * exp_fac(:)
     463    33692928 :       rate(:,486) = 2.7e-12_r8 * exp_fac(:)
     464    33692928 :       rate(:,502) = 2.7e-12_r8 * exp_fac(:)
     465    33692928 :       rate(:,328) = 1.5e-15_r8 * exp( -2100._r8 * itemp(:) )
     466    33692928 :       exp_fac(:) = exp( 530._r8 * itemp(:) )
     467    33692928 :       rate(:,331) = 4.6e-12_r8 * exp_fac(:)
     468    33692928 :       rate(:,334) = 2.3e-12_r8 * exp_fac(:)
     469    33692928 :       rate(:,339) = 2.3e-12_r8 * exp( -170._r8 * itemp(:) )
     470    33692928 :       rate(:,343) = 4.13e-12_r8 * exp( 452._r8 * itemp(:) )
     471    33692928 :       rate(:,349) = 5.4e-14_r8 * exp( 870._r8 * itemp(:) )
     472    33692928 :       exp_fac(:) = exp( 175._r8 * itemp(:) )
     473    33692928 :       rate(:,352) = 1.86e-11_r8 * exp_fac(:)
     474    33692928 :       rate(:,353) = 1.86e-11_r8 * exp_fac(:)
     475    33692928 :       rate(:,363) = 1.6e+09_r8 * exp( -8300._r8 * itemp(:) )
     476    33692928 :       exp_fac(:) = exp( -446._r8 * itemp(:) )
     477    33692928 :       rate(:,368) = 3.03e-12_r8 * exp_fac(:)
     478    33692928 :       rate(:,492) = 3.03e-12_r8 * exp_fac(:)
     479    33692928 :       exp_fac(:) = exp( 410._r8 * itemp(:) )
     480    33692928 :       rate(:,376) = 2.54e-11_r8 * exp_fac(:)
     481    33692928 :       rate(:,496) = 2.54e-11_r8 * exp_fac(:)
     482    33692928 :       rate(:,380) = 1.3e-12_r8 * exp( 640._r8 * itemp(:) )
     483    33692928 :       exp_fac(:) = exp( -193._r8 * itemp(:) )
     484    33692928 :       rate(:,388) = 2.3e-12_r8 * exp_fac(:)
     485    33692928 :       rate(:,489) = 2.3e-12_r8 * exp_fac(:)
     486    33692928 :       rate(:,392) = 5.9e-12_r8 * exp( 225._r8 * itemp(:) )
     487    33692928 :       rate(:,411) = 4.7e-13_r8 * exp( 1220._r8 * itemp(:) )
     488    33692928 :       exp_fac(:) = exp( 352._r8 * itemp(:) )
     489    33692928 :       rate(:,419) = 1.7e-12_r8 * exp_fac(:)
     490    33692928 :       rate(:,506) = 1.7e-12_r8 * exp_fac(:)
     491    33692928 :       exp_fac(:) = exp( 490._r8 * itemp(:) )
     492    33692928 :       rate(:,432) = 1.2e-12_r8 * exp_fac(:)
     493    33692928 :       rate(:,500) = 1.2e-12_r8 * exp_fac(:)
     494    33692928 :       exp_fac(:) = exp( -580._r8 * itemp(:) )
     495    33692928 :       rate(:,433) = 6.3e-16_r8 * exp_fac(:)
     496    33692928 :       rate(:,503) = 6.3e-16_r8 * exp_fac(:)
     497    33692928 :       exp_fac(:) = exp( 440._r8 * itemp(:) )
     498    33692928 :       rate(:,434) = 1.2e-11_r8 * exp_fac(:)
     499    33692928 :       rate(:,504) = 1.2e-11_r8 * exp_fac(:)
     500    33692928 :       rate(:,452) = 1.9e-13_r8 * exp( 520._r8 * itemp(:) )
     501    33692928 :       rate(:,453) = 9.6e-12_r8 * exp( -234._r8 * itemp(:) )
     502    33692928 :       rate(:,454) = 2.1e-11_r8 * exp( -2200._r8 * itemp(:) )
     503    33692928 :       rate(:,455) = 7.2e-14_r8 * exp( -1070._r8 * itemp(:) )
     504    33692928 :       rate(:,462) = 1.6e-13_r8 * exp( -2280._r8 * itemp(:) )
     505    33692928 :       rate(:,465) = 2.7e-11_r8 * exp( 335._r8 * itemp(:) )
     506    33692928 :       rate(:,469) = 1.7e-12_r8 * exp( -710._r8 * itemp(:) )
     507    33692928 :       exp_fac(:) = exp( 1300._r8 * itemp(:) )
     508    33692928 :       rate(:,485) = 2.75e-13_r8 * exp_fac(:)
     509    33692928 :       rate(:,493) = 2.12e-13_r8 * exp_fac(:)
     510    33692928 :       rate(:,501) = 2.6e-13_r8 * exp_fac(:)
     511             : 
     512    33692928 :       itemp(:) = 300._r8 * itemp(:)
     513             :  
     514       72960 :       n = ncol*pver
     515             : 
     516    33692928 :       ko(:) = 4.4e-32_r8 * itemp(:)**1.3_r8
     517    33692928 :       kinf(:) = 7.5e-11_r8 * itemp(:)**(-0.2_r8)
     518       72960 :       call jpl( rate(:,127), m, 0.6_r8, ko, kinf, n )
     519             : 
     520    33692928 :       ko(:) = 6.9e-31_r8 * itemp(:)**1._r8
     521    33692928 :       kinf(:) = 2.6e-11_r8
     522       72960 :       call jpl( rate(:,137), m, 0.6_r8, ko, kinf, n )
     523             : 
     524    33692928 :       ko(:) = 2.5e-31_r8 * itemp(:)**1.8_r8
     525    33692928 :       kinf(:) = 2.2e-11_r8 * itemp(:)**0.7_r8
     526       72960 :       call jpl( rate(:,147), m, 0.6_r8, ko, kinf, n )
     527             : 
     528    33692928 :       ko(:) = 9e-32_r8 * itemp(:)**1.5_r8
     529    33692928 :       kinf(:) = 3e-11_r8
     530       72960 :       call jpl( rate(:,155), m, 0.6_r8, ko, kinf, n )
     531             : 
     532    33692928 :       ko(:) = 1.9e-31_r8 * itemp(:)**3.4_r8
     533    33692928 :       kinf(:) = 4e-12_r8 * itemp(:)**0.3_r8
     534       72960 :       call jpl( rate(:,158), m, 0.6_r8, ko, kinf, n )
     535             : 
     536    33692928 :       ko(:) = 2.4e-30_r8 * itemp(:)**3._r8
     537    33692928 :       kinf(:) = 1.6e-12_r8 * itemp(:)**(-0.1_r8)
     538       72960 :       call jpl( rate(:,159), m, 0.6_r8, ko, kinf, n )
     539             : 
     540    33692928 :       ko(:) = 1.8e-30_r8 * itemp(:)**3._r8
     541    33692928 :       kinf(:) = 2.8e-11_r8
     542       72960 :       call jpl( rate(:,160), m, 0.6_r8, ko, kinf, n )
     543             : 
     544    33692928 :       ko(:) = 1.8e-31_r8 * itemp(:)**3.4_r8
     545    33692928 :       kinf(:) = 1.5e-11_r8 * itemp(:)**1.9_r8
     546       72960 :       call jpl( rate(:,178), m, 0.6_r8, ko, kinf, n )
     547             : 
     548    33692928 :       ko(:) = 1.9e-32_r8 * itemp(:)**3.6_r8
     549    33692928 :       kinf(:) = 3.7e-12_r8 * itemp(:)**1.6_r8
     550       72960 :       call jpl( rate(:,198), m, 0.6_r8, ko, kinf, n )
     551             : 
     552    33692928 :       ko(:) = 5.2e-31_r8 * itemp(:)**3.2_r8
     553    33692928 :       kinf(:) = 6.9e-12_r8 * itemp(:)**2.9_r8
     554       72960 :       call jpl( rate(:,209), m, 0.6_r8, ko, kinf, n )
     555             : 
     556    33692928 :       ko(:) = 5.9e-33_r8 * itemp(:)**1._r8
     557    33692928 :       kinf(:) = 1.1e-12_r8 * itemp(:)**(-1.3_r8)
     558       72960 :       call jpl( rate(:,255), m, 0.6_r8, ko, kinf, n )
     559             : 
     560    33692928 :       ko(:) = 4.28e-33_r8
     561    33692928 :       kinf(:) = 9.3e-15_r8 * itemp(:)**(-4.42_r8)
     562       72960 :       call jpl( rate(:,256), m, 0.8_r8, ko, kinf, n )
     563             : 
     564    33692928 :       ko(:) = 5.2e-30_r8 * itemp(:)**2.4_r8
     565    33692928 :       kinf(:) = 2.2e-10_r8 * itemp(:)**0.7_r8
     566       72960 :       call jpl( rate(:,266), m, 0.6_r8, ko, kinf, n )
     567             : 
     568    33692928 :       ko(:) = 5.5e-30_r8
     569    33692928 :       kinf(:) = 8.3e-13_r8 * itemp(:)**(-2._r8)
     570       72960 :       call jpl( rate(:,267), m, 0.6_r8, ko, kinf, n )
     571             : 
     572    33692928 :       ko(:) = 1.6e-29_r8 * itemp(:)**3.3_r8
     573    33692928 :       kinf(:) = 3.1e-10_r8 * itemp(:)
     574       72960 :       call jpl( rate(:,268), m, 0.6_r8, ko, kinf, n )
     575             : 
     576    33692928 :       ko(:) = 8.6e-29_r8 * itemp(:)**3.1_r8
     577    33692928 :       kinf(:) = 9e-12_r8 * itemp(:)**0.85_r8
     578       72960 :       call jpl( rate(:,294), m, 0.48_r8, ko, kinf, n )
     579             : 
     580    33692928 :       ko(:) = 9.7e-29_r8 * itemp(:)**5.6_r8
     581    33692928 :       kinf(:) = 9.3e-12_r8 * itemp(:)**1.5_r8
     582       72960 :       call jpl( rate(:,295), m, 0.6_r8, ko, kinf, n )
     583             : 
     584    33692928 :       ko(:) = 8e-27_r8 * itemp(:)**3.5_r8
     585    33692928 :       kinf(:) = 3e-11_r8
     586       72960 :       call jpl( rate(:,315), m, 0.5_r8, ko, kinf, n )
     587             : 
     588    33692928 :       ko(:) = 8e-27_r8 * itemp(:)**3.5_r8
     589    33692928 :       kinf(:) = 3e-11_r8
     590       72960 :       call jpl( rate(:,341), m, 0.5_r8, ko, kinf, n )
     591             : 
     592    33692928 :       ko(:) = 9.7e-29_r8 * itemp(:)**5.6_r8
     593    33692928 :       kinf(:) = 9.3e-12_r8 * itemp(:)**1.5_r8
     594       72960 :       call jpl( rate(:,402), m, 0.6_r8, ko, kinf, n )
     595             : 
     596    33692928 :       ko(:) = 9.7e-29_r8 * itemp(:)**5.6_r8
     597    33692928 :       kinf(:) = 9.3e-12_r8 * itemp(:)**1.5_r8
     598       72960 :       call jpl( rate(:,405), m, 0.6_r8, ko, kinf, n )
     599             : 
     600    33692928 :       ko(:) = 9.7e-29_r8 * itemp(:)**5.6_r8
     601    33692928 :       kinf(:) = 9.3e-12_r8 * itemp(:)**1.5_r8
     602       72960 :       call jpl( rate(:,408), m, 0.6_r8, ko, kinf, n )
     603             : 
     604    33692928 :       ko(:) = 9.7e-29_r8 * itemp(:)**5.6_r8
     605    33692928 :       kinf(:) = 9.3e-12_r8 * itemp(:)**1.5_r8
     606       72960 :       call jpl( rate(:,415), m, 0.6_r8, ko, kinf, n )
     607             : 
     608       72960 :       end subroutine setrxt
     609             : 
     610             : 
     611           0 :       subroutine setrxt_hrates( rate, temp, m, ncol, kbot )
     612             :  
     613             :       use ppgrid, only : pcols, pver
     614             : 
     615             : 
     616             :       use chem_mods, only : rxntot
     617             :       use mo_jpl,    only : jpl
     618             : 
     619             :       implicit none
     620             : 
     621             : !-------------------------------------------------------
     622             : !       ... dummy arguments
     623             : !-------------------------------------------------------
     624             :       integer, intent(in) :: ncol
     625             :       integer, intent(in) :: kbot
     626             :       real(r8), intent(in)    :: temp(pcols,pver)
     627             :       real(r8), intent(in)    :: m(ncol*pver)
     628             :       real(r8), intent(inout) :: rate(ncol*pver,max(1,rxntot))
     629             : 
     630             : !-------------------------------------------------------
     631             : !       ... local variables
     632             : !-------------------------------------------------------
     633             :       integer   ::  n
     634             :       integer   ::  offset
     635             :       integer   ::  k
     636           0 :       real(r8)  :: itemp(ncol*kbot)
     637             :       real(r8)  :: exp_fac(ncol*kbot)
     638           0 :       real(r8)  :: ko(ncol*kbot)
     639           0 :       real(r8)  :: kinf(ncol*kbot)
     640           0 :       real(r8)  :: wrk(ncol*kbot)
     641             :  
     642           0 :       n = ncol*kbot
     643             : 
     644           0 :       rate(:n,124) = 6.9e-12_r8
     645             :  
     646           0 :       do k = 1,kbot
     647           0 :         offset = (k-1)*ncol
     648           0 :         itemp(offset+1:offset+ncol) = 1._r8 / temp(:ncol,k)
     649             :       end do
     650             : 
     651           0 :       rate(:n,116) = 2.15e-11_r8 * exp( 110._r8 * itemp(:) )
     652           0 :       rate(:n,119) = 8e-12_r8 * exp( -2060._r8 * itemp(:) )
     653           0 :       rate(:n,128) = 3e-11_r8 * exp( 200._r8 * itemp(:) )
     654           0 :       rate(:n,129) = 1e-14_r8 * exp( -490._r8 * itemp(:) )
     655           0 :       rate(:n,130) = 1.4e-10_r8 * exp( -470._r8 * itemp(:) )
     656           0 :       rate(:n,133) = 4.8e-11_r8 * exp( 250._r8 * itemp(:) )
     657           0 :       rate(:n,134) = 1.8e-11_r8 * exp( 180._r8 * itemp(:) )
     658           0 :       rate(:n,135) = 1.7e-12_r8 * exp( -940._r8 * itemp(:) )
     659           0 :       rate(:n,140) = 2.1e-11_r8 * exp( 100._r8 * itemp(:) )
     660           0 :       rate(:n,144) = 1.5e-11_r8 * exp( -3600._r8 * itemp(:) )
     661           0 :       rate(:n,145) = 5.1e-12_r8 * exp( 210._r8 * itemp(:) )
     662           0 :       rate(:n,153) = 3.3e-12_r8 * exp( 270._r8 * itemp(:) )
     663           0 :       rate(:n,154) = 3e-12_r8 * exp( -1500._r8 * itemp(:) )
     664             : 
     665           0 :       itemp(:) = 300._r8 * itemp(:)
     666             : 
     667           0 :       ko(:) = 4.4e-32_r8 * itemp(:)**1.3_r8
     668           0 :       kinf(:) = 7.5e-11_r8 * itemp(:)**(-0.2_r8)
     669           0 :       call jpl( wrk, m, 0.6_r8, ko, kinf, n )
     670           0 :       rate(:n,127) = wrk(:)
     671             : 
     672             : 
     673             : 
     674             : 
     675             : 
     676             : 
     677             : 
     678             : 
     679             : 
     680             : 
     681             : 
     682             : 
     683             : 
     684             : 
     685             : 
     686             : 
     687             : 
     688             : 
     689             : 
     690             : 
     691             : 
     692             : 
     693             : 
     694           0 :       end subroutine setrxt_hrates
     695             : 
     696             :       end module mo_setrxt

Generated by: LCOV version 1.14