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

Generated by: LCOV version 1.14