LCOV - code coverage report
Current view: top level - chemistry/pp_waccm_ma_noaero - mo_nln_matrix.F90 (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1037 1037 100.0 %
Date: 2025-03-14 01:33:33 Functions: 6 6 100.0 %

          Line data    Source code
       1             :       module mo_nln_matrix
       2             :       use shr_kind_mod, only : r8 => shr_kind_r8
       3             :       use chem_mods, only: veclen
       4             :       private
       5             :       public :: nlnmat
       6             :       contains
       7     9751000 :       subroutine nlnmat01( avec_len, mat, y, rxt )
       8             :       use chem_mods, only : gas_pcnst, rxntot, nzcnt
       9             :       implicit none
      10             : !----------------------------------------------
      11             : ! ... dummy arguments
      12             : !----------------------------------------------
      13             :       integer, intent(in) :: avec_len
      14             :       real(r8), intent(in) :: y(veclen,gas_pcnst)
      15             :       real(r8), intent(in) :: rxt(veclen,rxntot)
      16             :       real(r8), intent(inout) :: mat(veclen,nzcnt)
      17             : !----------------------------------------------
      18             : ! ... local variables
      19             : !----------------------------------------------
      20             :       integer :: k
      21             : !----------------------------------------------
      22             : ! ... complete matrix entries implicit species
      23             : !----------------------------------------------
      24   318792954 :       do k = 1,avec_len
      25   309041954 :          mat(k,291) = -(rxt(k,191)*y(k,15) + rxt(k,192)*y(k,68) + rxt(k,193)*y(k,58))
      26   309041954 :          mat(k,546) = -rxt(k,191)*y(k,1)
      27   309041954 :          mat(k,372) = -rxt(k,192)*y(k,1)
      28   309041954 :          mat(k,570) = -rxt(k,193)*y(k,1)
      29             :          mat(k,703) = 4.000_r8*rxt(k,194)*y(k,3) + (rxt(k,195)+rxt(k,196))*y(k,26) &
      30             :                       + rxt(k,199)*y(k,53) + rxt(k,202)*y(k,56) + rxt(k,253)*y(k,63) &
      31   309041954 :                       + rxt(k,203)*y(k,77)
      32   309041954 :          mat(k,443) = (rxt(k,195)+rxt(k,196))*y(k,3)
      33   309041954 :          mat(k,152) = rxt(k,204)*y(k,56) + rxt(k,210)*y(k,73) + rxt(k,205)*y(k,77)
      34   309041954 :          mat(k,657) = rxt(k,199)*y(k,3)
      35   309041954 :          mat(k,415) = rxt(k,202)*y(k,3) + rxt(k,204)*y(k,40)
      36   309041954 :          mat(k,268) = rxt(k,253)*y(k,3)
      37   309041954 :          mat(k,524) = rxt(k,210)*y(k,40)
      38   309041954 :          mat(k,633) = rxt(k,203)*y(k,3) + rxt(k,205)*y(k,40)
      39   309041954 :          mat(k,695) = rxt(k,197)*y(k,26)
      40   309041954 :          mat(k,435) = rxt(k,197)*y(k,3)
      41   309041954 :          mat(k,303) = (rxt(k,276)+rxt(k,281))*y(k,48)
      42   309041954 :          mat(k,133) = (rxt(k,276)+rxt(k,281))*y(k,44)
      43             :          mat(k,719) = -(4._r8*rxt(k,194)*y(k,3) + (rxt(k,195) + rxt(k,196) + rxt(k,197) &
      44             :                       ) * y(k,26) + rxt(k,198)*y(k,68) + rxt(k,199)*y(k,53) + rxt(k,200) &
      45             :                       *y(k,54) + rxt(k,202)*y(k,56) + rxt(k,203)*y(k,77) + rxt(k,253) &
      46   309041954 :                       *y(k,63))
      47   309041954 :          mat(k,459) = -(rxt(k,195) + rxt(k,196) + rxt(k,197)) * y(k,3)
      48   309041954 :          mat(k,388) = -rxt(k,198)*y(k,3)
      49   309041954 :          mat(k,672) = -rxt(k,199)*y(k,3)
      50   309041954 :          mat(k,612) = -rxt(k,200)*y(k,3)
      51   309041954 :          mat(k,431) = -rxt(k,202)*y(k,3)
      52   309041954 :          mat(k,649) = -rxt(k,203)*y(k,3)
      53   309041954 :          mat(k,278) = -rxt(k,253)*y(k,3)
      54   309041954 :          mat(k,300) = rxt(k,193)*y(k,58)
      55   309041954 :          mat(k,91) = rxt(k,201)*y(k,56)
      56   309041954 :          mat(k,156) = rxt(k,211)*y(k,73)
      57   309041954 :          mat(k,140) = rxt(k,206)*y(k,56)
      58   309041954 :          mat(k,431) = mat(k,431) + rxt(k,201)*y(k,4) + rxt(k,206)*y(k,48)
      59   309041954 :          mat(k,584) = rxt(k,193)*y(k,1)
      60   309041954 :          mat(k,540) = rxt(k,211)*y(k,40)
      61   309041954 :          mat(k,84) = -(rxt(k,201)*y(k,56))
      62   309041954 :          mat(k,395) = -rxt(k,201)*y(k,4)
      63   309041954 :          mat(k,697) = rxt(k,200)*y(k,54)
      64   309041954 :          mat(k,588) = rxt(k,200)*y(k,3)
      65             :          mat(k,556) = -(rxt(k,155)*y(k,23) + rxt(k,191)*y(k,1) + rxt(k,235)*y(k,55) &
      66   309041954 :                       + rxt(k,236)*y(k,56) + rxt(k,237)*y(k,77))
      67   309041954 :          mat(k,478) = -rxt(k,155)*y(k,15)
      68   309041954 :          mat(k,296) = -rxt(k,191)*y(k,15)
      69   309041954 :          mat(k,357) = -rxt(k,235)*y(k,15)
      70   309041954 :          mat(k,425) = -rxt(k,236)*y(k,15)
      71   309041954 :          mat(k,643) = -rxt(k,237)*y(k,15)
      72   309041954 :          mat(k,334) = rxt(k,162)*y(k,26) + rxt(k,239)*y(k,53)
      73   309041954 :          mat(k,61) = .300_r8*rxt(k,240)*y(k,77)
      74   309041954 :          mat(k,453) = rxt(k,162)*y(k,19)
      75   309041954 :          mat(k,666) = rxt(k,239)*y(k,19)
      76   309041954 :          mat(k,643) = mat(k,643) + .300_r8*rxt(k,240)*y(k,20)
      77   309041954 :          mat(k,328) = -(rxt(k,162)*y(k,26) + rxt(k,238)*y(k,68) + rxt(k,239)*y(k,53))
      78   309041954 :          mat(k,445) = -rxt(k,162)*y(k,19)
      79   309041954 :          mat(k,374) = -rxt(k,238)*y(k,19)
      80   309041954 :          mat(k,658) = -rxt(k,239)*y(k,19)
      81   309041954 :          mat(k,60) = .700_r8*rxt(k,240)*y(k,77)
      82   309041954 :          mat(k,635) = .700_r8*rxt(k,240)*y(k,20)
      83   309041954 :          mat(k,58) = -(rxt(k,240)*y(k,77))
      84   309041954 :          mat(k,619) = -rxt(k,240)*y(k,20)
      85   309041954 :          mat(k,326) = rxt(k,238)*y(k,68)
      86   309041954 :          mat(k,365) = rxt(k,238)*y(k,19)
      87             :          mat(k,475) = -(rxt(k,155)*y(k,15) + rxt(k,157)*y(k,36) + rxt(k,158)*y(k,38) &
      88             :                       + (rxt(k,159) + rxt(k,160)) * y(k,68) + rxt(k,161)*y(k,58) &
      89   309041954 :                       + rxt(k,168)*y(k,27) + rxt(k,177)*y(k,49))
      90   309041954 :          mat(k,553) = -rxt(k,155)*y(k,23)
      91   309041954 :          mat(k,684) = -rxt(k,157)*y(k,23)
      92   309041954 :          mat(k,100) = -rxt(k,158)*y(k,23)
      93   309041954 :          mat(k,379) = -(rxt(k,159) + rxt(k,160)) * y(k,23)
      94   309041954 :          mat(k,575) = -rxt(k,161)*y(k,23)
      95   309041954 :          mat(k,249) = -rxt(k,168)*y(k,23)
      96   309041954 :          mat(k,147) = -rxt(k,177)*y(k,23)
      97   309041954 :          mat(k,710) = rxt(k,196)*y(k,26)
      98   309041954 :          mat(k,332) = rxt(k,162)*y(k,26)
      99             :          mat(k,450) = rxt(k,196)*y(k,3) + rxt(k,162)*y(k,19) + (4.000_r8*rxt(k,163) &
     100             :                        +2.000_r8*rxt(k,165))*y(k,26) + rxt(k,167)*y(k,53) + rxt(k,172) &
     101   309041954 :                       *y(k,56) + rxt(k,254)*y(k,63) + rxt(k,173)*y(k,77)
     102   309041954 :          mat(k,20) = rxt(k,217)*y(k,73)
     103   309041954 :          mat(k,316) = rxt(k,175)*y(k,56) + rxt(k,187)*y(k,73) + rxt(k,176)*y(k,77)
     104   309041954 :          mat(k,663) = rxt(k,167)*y(k,26)
     105   309041954 :          mat(k,422) = rxt(k,172)*y(k,26) + rxt(k,175)*y(k,44)
     106   309041954 :          mat(k,272) = rxt(k,254)*y(k,26)
     107   309041954 :          mat(k,531) = rxt(k,217)*y(k,32) + rxt(k,187)*y(k,44)
     108   309041954 :          mat(k,640) = rxt(k,173)*y(k,26) + rxt(k,176)*y(k,44)
     109   309041954 :          mat(k,461) = rxt(k,168)*y(k,27)
     110   309041954 :          mat(k,434) = 2.000_r8*rxt(k,164)*y(k,26)
     111   309041954 :          mat(k,241) = rxt(k,168)*y(k,23) + (rxt(k,274)+rxt(k,279)+rxt(k,284))*y(k,44)
     112             :          mat(k,302) = (rxt(k,274)+rxt(k,279)+rxt(k,284))*y(k,27) + (rxt(k,269) &
     113   309041954 :                        +rxt(k,275)+rxt(k,280))*y(k,49)
     114   309041954 :          mat(k,142) = (rxt(k,269)+rxt(k,275)+rxt(k,280))*y(k,44)
     115   309041954 :          mat(k,433) = 2.000_r8*rxt(k,189)*y(k,26)
     116             :          mat(k,449) = -(rxt(k,162)*y(k,19) + (4._r8*rxt(k,163) + 4._r8*rxt(k,164) &
     117             :                       + 4._r8*rxt(k,165) + 4._r8*rxt(k,189)) * y(k,26) + rxt(k,166) &
     118             :                       *y(k,68) + rxt(k,167)*y(k,53) + rxt(k,169)*y(k,54) + rxt(k,172) &
     119             :                       *y(k,56) + (rxt(k,173) + rxt(k,174)) * y(k,77) + (rxt(k,195) &
     120   309041954 :                       + rxt(k,196) + rxt(k,197)) * y(k,3) + rxt(k,254)*y(k,63))
     121   309041954 :          mat(k,331) = -rxt(k,162)*y(k,26)
     122   309041954 :          mat(k,378) = -rxt(k,166)*y(k,26)
     123   309041954 :          mat(k,662) = -rxt(k,167)*y(k,26)
     124   309041954 :          mat(k,602) = -rxt(k,169)*y(k,26)
     125   309041954 :          mat(k,421) = -rxt(k,172)*y(k,26)
     126   309041954 :          mat(k,639) = -(rxt(k,173) + rxt(k,174)) * y(k,26)
     127   309041954 :          mat(k,709) = -(rxt(k,195) + rxt(k,196) + rxt(k,197)) * y(k,26)
     128   309041954 :          mat(k,271) = -rxt(k,254)*y(k,26)
     129   309041954 :          mat(k,474) = rxt(k,177)*y(k,49) + rxt(k,161)*y(k,58) + rxt(k,160)*y(k,68)
     130   309041954 :          mat(k,248) = rxt(k,170)*y(k,56)
     131   309041954 :          mat(k,315) = rxt(k,188)*y(k,73)
     132   309041954 :          mat(k,146) = rxt(k,177)*y(k,23) + rxt(k,178)*y(k,56) + rxt(k,179)*y(k,77)
     133   309041954 :          mat(k,421) = mat(k,421) + rxt(k,170)*y(k,27) + rxt(k,178)*y(k,49)
     134   309041954 :          mat(k,574) = rxt(k,161)*y(k,23)
     135   309041954 :          mat(k,49) = rxt(k,259)*y(k,63)
     136   309041954 :          mat(k,271) = mat(k,271) + rxt(k,259)*y(k,59)
     137   309041954 :          mat(k,378) = mat(k,378) + rxt(k,160)*y(k,23)
     138   309041954 :          mat(k,530) = rxt(k,188)*y(k,44)
     139   309041954 :          mat(k,639) = mat(k,639) + rxt(k,179)*y(k,49)
     140             :          mat(k,243) = -(rxt(k,168)*y(k,23) + rxt(k,170)*y(k,56) + rxt(k,171)*y(k,77) &
     141   309041954 :                       + (rxt(k,274) + rxt(k,279) + rxt(k,284)) * y(k,44))
     142   309041954 :          mat(k,465) = -rxt(k,168)*y(k,27)
     143   309041954 :          mat(k,411) = -rxt(k,170)*y(k,27)
     144   309041954 :          mat(k,629) = -rxt(k,171)*y(k,27)
     145   309041954 :          mat(k,306) = -(rxt(k,274) + rxt(k,279) + rxt(k,284)) * y(k,27)
     146   309041954 :          mat(k,439) = rxt(k,169)*y(k,54)
     147   309041954 :          mat(k,592) = rxt(k,169)*y(k,26)
     148   309041954 :          mat(k,92) = -((rxt(k,242) + rxt(k,246)) * y(k,77))
     149   309041954 :          mat(k,621) = -(rxt(k,242) + rxt(k,246)) * y(k,29)
     150   309041954 :          mat(k,288) = rxt(k,191)*y(k,15)
     151             :          mat(k,542) = rxt(k,191)*y(k,1) + rxt(k,155)*y(k,23) + rxt(k,235)*y(k,55) &
     152   309041954 :                       + rxt(k,236)*y(k,56) + rxt(k,237)*y(k,77)
     153   309041954 :          mat(k,462) = rxt(k,155)*y(k,15)
     154   309041954 :          mat(k,343) = rxt(k,235)*y(k,15)
     155   309041954 :          mat(k,396) = rxt(k,236)*y(k,15) + rxt(k,249)*y(k,60)
     156   309041954 :          mat(k,51) = rxt(k,249)*y(k,56) + rxt(k,250)*y(k,77)
     157   309041954 :          mat(k,621) = mat(k,621) + rxt(k,237)*y(k,15) + rxt(k,250)*y(k,60)
     158   309041954 :          mat(k,5) = -(rxt(k,216)*y(k,73))
     159   309041954 :          mat(k,517) = -rxt(k,216)*y(k,31)
     160   309041954 :          mat(k,18) = -(rxt(k,217)*y(k,73))
     161   309041954 :          mat(k,519) = -rxt(k,217)*y(k,32)
     162   309041954 :          mat(k,33) = -(rxt(k,247)*y(k,55) + (rxt(k,248) + rxt(k,261)) * y(k,77))
     163   309041954 :          mat(k,341) = -rxt(k,247)*y(k,33)
     164   309041954 :          mat(k,617) = -(rxt(k,248) + rxt(k,261)) * y(k,33)
     165   309041954 :          mat(k,125) = -(rxt(k,213)*y(k,36) + rxt(k,214)*y(k,81) + rxt(k,215)*y(k,46))
     166   309041954 :          mat(k,675) = -rxt(k,213)*y(k,34)
     167   309041954 :          mat(k,724) = -rxt(k,214)*y(k,34)
     168   309041954 :          mat(k,254) = -rxt(k,215)*y(k,34)
     169   309041954 :          mat(k,6) = 2.000_r8*rxt(k,216)*y(k,73)
     170   309041954 :          mat(k,19) = rxt(k,217)*y(k,73)
     171   309041954 :          mat(k,520) = 2.000_r8*rxt(k,216)*y(k,31) + rxt(k,217)*y(k,32)
     172             :          mat(k,280) = -((rxt(k,113) + rxt(k,114) + rxt(k,115)) * y(k,68) + rxt(k,116) &
     173   309041954 :                       *y(k,57) + rxt(k,119)*y(k,58))
     174   309041954 :          mat(k,371) = -(rxt(k,113) + rxt(k,114) + rxt(k,115)) * y(k,35)
     175   309041954 :          mat(k,501) = -rxt(k,116)*y(k,35)
     176   309041954 :          mat(k,569) = -rxt(k,119)*y(k,35)
     177   309041954 :          mat(k,545) = rxt(k,237)*y(k,77)
     178   309041954 :          mat(k,467) = rxt(k,157)*y(k,36)
     179   309041954 :          mat(k,93) = rxt(k,246)*y(k,77)
     180   309041954 :          mat(k,127) = rxt(k,213)*y(k,36)
     181             :          mat(k,677) = rxt(k,157)*y(k,23) + rxt(k,213)*y(k,34) + rxt(k,111)*y(k,56) &
     182   309041954 :                       + rxt(k,94)*y(k,73) + rxt(k,120)*y(k,77)
     183   309041954 :          mat(k,151) = rxt(k,211)*y(k,73)
     184   309041954 :          mat(k,308) = rxt(k,188)*y(k,73)
     185   309041954 :          mat(k,226) = rxt(k,143)*y(k,77)
     186   309041954 :          mat(k,414) = rxt(k,111)*y(k,36) + rxt(k,123)*y(k,77)
     187   309041954 :          mat(k,55) = rxt(k,250)*y(k,77)
     188   309041954 :          mat(k,114) = rxt(k,255)*y(k,77)
     189   309041954 :          mat(k,267) = rxt(k,260)*y(k,77)
     190   309041954 :          mat(k,523) = rxt(k,94)*y(k,36) + rxt(k,211)*y(k,40) + rxt(k,188)*y(k,44)
     191             :          mat(k,632) = rxt(k,237)*y(k,15) + rxt(k,246)*y(k,29) + rxt(k,120)*y(k,36) &
     192             :                       + rxt(k,143)*y(k,50) + rxt(k,123)*y(k,56) + rxt(k,250)*y(k,60) &
     193   309041954 :                       + rxt(k,255)*y(k,61) + rxt(k,260)*y(k,63)
     194             :          mat(k,692) = -(rxt(k,94)*y(k,73) + rxt(k,111)*y(k,56) + rxt(k,120)*y(k,77) &
     195   309041954 :                       + rxt(k,157)*y(k,23) + rxt(k,213)*y(k,34))
     196   309041954 :          mat(k,539) = -rxt(k,94)*y(k,36)
     197   309041954 :          mat(k,430) = -rxt(k,111)*y(k,36)
     198   309041954 :          mat(k,648) = -rxt(k,120)*y(k,36)
     199   309041954 :          mat(k,483) = -rxt(k,157)*y(k,36)
     200   309041954 :          mat(k,131) = -rxt(k,213)*y(k,36)
     201   309041954 :          mat(k,286) = rxt(k,113)*y(k,68)
     202   309041954 :          mat(k,387) = rxt(k,113)*y(k,35)
     203   309041954 :          mat(k,96) = -(rxt(k,112)*y(k,56) + rxt(k,121)*y(k,77) + rxt(k,158)*y(k,23))
     204   309041954 :          mat(k,397) = -rxt(k,112)*y(k,38)
     205   309041954 :          mat(k,622) = -rxt(k,121)*y(k,38)
     206   309041954 :          mat(k,463) = -rxt(k,158)*y(k,38)
     207   309041954 :          mat(k,367) = 2.000_r8*rxt(k,127)*y(k,68)
     208   309041954 :          mat(k,622) = mat(k,622) + 2.000_r8*rxt(k,126)*y(k,77)
     209   309041954 :          mat(k,28) = rxt(k,263)*y(k,81)
     210   309041954 :          mat(k,721) = rxt(k,263)*y(k,65)
     211             :          mat(k,150) = -(rxt(k,204)*y(k,56) + rxt(k,205)*y(k,77) + (rxt(k,210) &
     212   309041954 :                       + rxt(k,211)) * y(k,73))
     213   309041954 :          mat(k,403) = -rxt(k,204)*y(k,40)
     214   309041954 :          mat(k,626) = -rxt(k,205)*y(k,40)
     215   309041954 :          mat(k,521) = -(rxt(k,210) + rxt(k,211)) * y(k,40)
     216   309041954 :          mat(k,289) = rxt(k,191)*y(k,15) + rxt(k,192)*y(k,68)
     217   309041954 :          mat(k,543) = rxt(k,191)*y(k,1)
     218   309041954 :          mat(k,370) = rxt(k,192)*y(k,1)
     219             :          mat(k,310) = -(rxt(k,175)*y(k,56) + rxt(k,176)*y(k,77) + (rxt(k,187) &
     220             :                       + rxt(k,188)) * y(k,73) + (rxt(k,269) + rxt(k,275) + rxt(k,280) &
     221             :                       ) * y(k,49) + (rxt(k,274) + rxt(k,279) + rxt(k,284)) * y(k,27) &
     222   309041954 :                       + (rxt(k,276) + rxt(k,281)) * y(k,48))
     223   309041954 :          mat(k,416) = -rxt(k,175)*y(k,44)
     224   309041954 :          mat(k,634) = -rxt(k,176)*y(k,44)
     225   309041954 :          mat(k,525) = -(rxt(k,187) + rxt(k,188)) * y(k,44)
     226   309041954 :          mat(k,144) = -(rxt(k,269) + rxt(k,275) + rxt(k,280)) * y(k,44)
     227   309041954 :          mat(k,245) = -(rxt(k,274) + rxt(k,279) + rxt(k,284)) * y(k,44)
     228   309041954 :          mat(k,136) = -(rxt(k,276) + rxt(k,281)) * y(k,44)
     229   309041954 :          mat(k,547) = rxt(k,155)*y(k,23)
     230             :          mat(k,469) = rxt(k,155)*y(k,15) + rxt(k,157)*y(k,36) + rxt(k,158)*y(k,38) &
     231   309041954 :                       + rxt(k,177)*y(k,49) + rxt(k,159)*y(k,68)
     232   309041954 :          mat(k,444) = rxt(k,174)*y(k,77)
     233   309041954 :          mat(k,678) = rxt(k,157)*y(k,23)
     234   309041954 :          mat(k,97) = rxt(k,158)*y(k,23)
     235   309041954 :          mat(k,144) = mat(k,144) + rxt(k,177)*y(k,23)
     236   309041954 :          mat(k,373) = rxt(k,159)*y(k,23)
     237   318792954 :          mat(k,634) = mat(k,634) + rxt(k,174)*y(k,26)
     238             :       end do
     239     9751000 :       end subroutine nlnmat01
     240     9751000 :       subroutine nlnmat02( avec_len, mat, y, rxt )
     241             :       use chem_mods, only : gas_pcnst, rxntot, nzcnt
     242             :       implicit none
     243             : !----------------------------------------------
     244             : ! ... dummy arguments
     245             : !----------------------------------------------
     246             :       integer, intent(in) :: avec_len
     247             :       real(r8), intent(in) :: y(veclen,gas_pcnst)
     248             :       real(r8), intent(in) :: rxt(veclen,rxntot)
     249             :       real(r8), intent(inout) :: mat(veclen,nzcnt)
     250             : !----------------------------------------------
     251             : ! ... local variables
     252             : !----------------------------------------------
     253             :       integer :: k
     254             : !----------------------------------------------
     255             : ! ... complete matrix entries implicit species
     256             : !----------------------------------------------
     257   318792954 :       do k = 1,avec_len
     258   309041954 :          mat(k,124) = rxt(k,213)*y(k,36) + rxt(k,215)*y(k,46) + rxt(k,214)*y(k,81)
     259   309041954 :          mat(k,674) = rxt(k,213)*y(k,34)
     260   309041954 :          mat(k,253) = rxt(k,215)*y(k,34)
     261   309041954 :          mat(k,722) = rxt(k,214)*y(k,34)
     262   309041954 :          mat(k,255) = -(rxt(k,152)*y(k,77) + rxt(k,215)*y(k,34))
     263   309041954 :          mat(k,630) = -rxt(k,152)*y(k,46)
     264   309041954 :          mat(k,126) = -rxt(k,215)*y(k,46)
     265   309041954 :          mat(k,544) = rxt(k,235)*y(k,55)
     266   309041954 :          mat(k,244) = (rxt(k,274)+rxt(k,279)+rxt(k,284))*y(k,44)
     267   309041954 :          mat(k,35) = rxt(k,247)*y(k,55)
     268   309041954 :          mat(k,307) = (rxt(k,274)+rxt(k,279)+rxt(k,284))*y(k,27)
     269   309041954 :          mat(k,593) = rxt(k,151)*y(k,77)
     270   309041954 :          mat(k,345) = rxt(k,235)*y(k,15) + rxt(k,247)*y(k,33)
     271   309041954 :          mat(k,630) = mat(k,630) + rxt(k,151)*y(k,54)
     272   309041954 :          mat(k,64) = -(rxt(k,128)*y(k,77))
     273   309041954 :          mat(k,620) = -rxt(k,128)*y(k,47)
     274   309041954 :          mat(k,587) = rxt(k,149)*y(k,68)
     275   309041954 :          mat(k,366) = rxt(k,149)*y(k,54)
     276   309041954 :          mat(k,134) = -(rxt(k,206)*y(k,56) + (rxt(k,276) + rxt(k,281)) * y(k,44))
     277   309041954 :          mat(k,401) = -rxt(k,206)*y(k,48)
     278   309041954 :          mat(k,304) = -(rxt(k,276) + rxt(k,281)) * y(k,48)
     279   309041954 :          mat(k,698) = rxt(k,198)*y(k,68)
     280   309041954 :          mat(k,368) = rxt(k,198)*y(k,3)
     281             :          mat(k,143) = -(rxt(k,177)*y(k,23) + rxt(k,178)*y(k,56) + rxt(k,179)*y(k,77) &
     282   309041954 :                       + (rxt(k,269) + rxt(k,275) + rxt(k,280)) * y(k,44))
     283   309041954 :          mat(k,464) = -rxt(k,177)*y(k,49)
     284   309041954 :          mat(k,402) = -rxt(k,178)*y(k,49)
     285   309041954 :          mat(k,625) = -rxt(k,179)*y(k,49)
     286   309041954 :          mat(k,305) = -(rxt(k,269) + rxt(k,275) + rxt(k,280)) * y(k,49)
     287   309041954 :          mat(k,437) = rxt(k,166)*y(k,68)
     288   309041954 :          mat(k,242) = rxt(k,171)*y(k,77)
     289   309041954 :          mat(k,369) = rxt(k,166)*y(k,26)
     290   309041954 :          mat(k,625) = mat(k,625) + rxt(k,171)*y(k,27)
     291             :          mat(k,225) = -(rxt(k,131)*y(k,53) + (rxt(k,132) + rxt(k,133) + rxt(k,134) &
     292             :                       ) * y(k,54) + rxt(k,135)*y(k,57) + rxt(k,143)*y(k,77) + rxt(k,297) &
     293   309041954 :                       *y(k,76))
     294   309041954 :          mat(k,655) = -rxt(k,131)*y(k,50)
     295   309041954 :          mat(k,590) = -(rxt(k,132) + rxt(k,133) + rxt(k,134)) * y(k,50)
     296   309041954 :          mat(k,498) = -rxt(k,135)*y(k,50)
     297   309041954 :          mat(k,627) = -rxt(k,143)*y(k,50)
     298   309041954 :          mat(k,184) = -rxt(k,297)*y(k,50)
     299   309041954 :          mat(k,409) = rxt(k,129)*y(k,69) + rxt(k,294)*y(k,72)
     300   309041954 :          mat(k,498) = mat(k,498) + rxt(k,295)*y(k,72)
     301   309041954 :          mat(k,198) = 1.100_r8*rxt(k,290)*y(k,70) + .200_r8*rxt(k,288)*y(k,71)
     302   309041954 :          mat(k,211) = rxt(k,129)*y(k,56)
     303   309041954 :          mat(k,109) = 1.100_r8*rxt(k,290)*y(k,67)
     304   309041954 :          mat(k,122) = .200_r8*rxt(k,288)*y(k,67)
     305   309041954 :          mat(k,164) = rxt(k,294)*y(k,56) + rxt(k,295)*y(k,57)
     306   309041954 :          mat(k,586) = rxt(k,150)*y(k,55)
     307   309041954 :          mat(k,342) = rxt(k,150)*y(k,54)
     308             :          mat(k,670) = -(rxt(k,131)*y(k,50) + rxt(k,140)*y(k,55) + rxt(k,144)*y(k,68) &
     309             :                       + rxt(k,145)*y(k,58) + rxt(k,146)*y(k,56) + rxt(k,167)*y(k,26) &
     310   309041954 :                       + rxt(k,199)*y(k,3) + rxt(k,239)*y(k,19) + rxt(k,299)*y(k,76))
     311   309041954 :          mat(k,233) = -rxt(k,131)*y(k,53)
     312   309041954 :          mat(k,361) = -rxt(k,140)*y(k,53)
     313   309041954 :          mat(k,386) = -rxt(k,144)*y(k,53)
     314   309041954 :          mat(k,582) = -rxt(k,145)*y(k,53)
     315   309041954 :          mat(k,429) = -rxt(k,146)*y(k,53)
     316   309041954 :          mat(k,457) = -rxt(k,167)*y(k,53)
     317   309041954 :          mat(k,717) = -rxt(k,199)*y(k,53)
     318   309041954 :          mat(k,338) = -rxt(k,239)*y(k,53)
     319   309041954 :          mat(k,188) = -rxt(k,299)*y(k,53)
     320             :          mat(k,233) = mat(k,233) + 2.000_r8*rxt(k,133)*y(k,54) + rxt(k,135)*y(k,57) &
     321   309041954 :                       + rxt(k,143)*y(k,77)
     322             :          mat(k,610) = 2.000_r8*rxt(k,133)*y(k,50) + rxt(k,136)*y(k,56) + rxt(k,256) &
     323   309041954 :                       *y(k,63)
     324   309041954 :          mat(k,429) = mat(k,429) + rxt(k,136)*y(k,54)
     325   309041954 :          mat(k,513) = rxt(k,135)*y(k,50) + rxt(k,130)*y(k,69)
     326   309041954 :          mat(k,277) = rxt(k,256)*y(k,54)
     327   309041954 :          mat(k,218) = rxt(k,130)*y(k,57)
     328   309041954 :          mat(k,647) = rxt(k,143)*y(k,50)
     329             :          mat(k,608) = -((rxt(k,132) + rxt(k,133) + rxt(k,134)) * y(k,50) + (rxt(k,136) &
     330             :                       + rxt(k,138)) * y(k,56) + rxt(k,137)*y(k,58) + rxt(k,149) &
     331             :                       *y(k,68) + rxt(k,150)*y(k,55) + rxt(k,151)*y(k,77) + rxt(k,169) &
     332   309041954 :                       *y(k,26) + rxt(k,200)*y(k,3) + rxt(k,256)*y(k,63))
     333   309041954 :          mat(k,231) = -(rxt(k,132) + rxt(k,133) + rxt(k,134)) * y(k,54)
     334   309041954 :          mat(k,427) = -(rxt(k,136) + rxt(k,138)) * y(k,54)
     335   309041954 :          mat(k,580) = -rxt(k,137)*y(k,54)
     336   309041954 :          mat(k,384) = -rxt(k,149)*y(k,54)
     337   309041954 :          mat(k,359) = -rxt(k,150)*y(k,54)
     338   309041954 :          mat(k,645) = -rxt(k,151)*y(k,54)
     339   309041954 :          mat(k,455) = -rxt(k,169)*y(k,54)
     340   309041954 :          mat(k,715) = -rxt(k,200)*y(k,54)
     341   309041954 :          mat(k,275) = -rxt(k,256)*y(k,54)
     342   309041954 :          mat(k,715) = mat(k,715) + rxt(k,199)*y(k,53)
     343   309041954 :          mat(k,336) = rxt(k,239)*y(k,53)
     344   309041954 :          mat(k,455) = mat(k,455) + rxt(k,167)*y(k,53)
     345   309041954 :          mat(k,68) = rxt(k,128)*y(k,77)
     346             :          mat(k,668) = rxt(k,199)*y(k,3) + rxt(k,239)*y(k,19) + rxt(k,167)*y(k,26) &
     347             :                       + 2.000_r8*rxt(k,140)*y(k,55) + rxt(k,146)*y(k,56) + rxt(k,145) &
     348   309041954 :                       *y(k,58) + rxt(k,144)*y(k,68)
     349             :          mat(k,359) = mat(k,359) + 2.000_r8*rxt(k,140)*y(k,53) + rxt(k,141)*y(k,56) &
     350   309041954 :                       + rxt(k,139)*y(k,68) + rxt(k,142)*y(k,77)
     351   309041954 :          mat(k,427) = mat(k,427) + rxt(k,146)*y(k,53) + rxt(k,141)*y(k,55)
     352   309041954 :          mat(k,580) = mat(k,580) + rxt(k,145)*y(k,53)
     353   309041954 :          mat(k,384) = mat(k,384) + rxt(k,144)*y(k,53) + rxt(k,139)*y(k,55)
     354   309041954 :          mat(k,645) = mat(k,645) + rxt(k,128)*y(k,47) + rxt(k,142)*y(k,55)
     355             :          mat(k,350) = -(rxt(k,139)*y(k,68) + rxt(k,140)*y(k,53) + rxt(k,141)*y(k,56) &
     356             :                       + rxt(k,142)*y(k,77) + rxt(k,150)*y(k,54) + rxt(k,235)*y(k,15) &
     357   309041954 :                       + rxt(k,247)*y(k,33))
     358   309041954 :          mat(k,375) = -rxt(k,139)*y(k,55)
     359   309041954 :          mat(k,659) = -rxt(k,140)*y(k,55)
     360   309041954 :          mat(k,418) = -rxt(k,141)*y(k,55)
     361   309041954 :          mat(k,636) = -rxt(k,142)*y(k,55)
     362   309041954 :          mat(k,599) = -rxt(k,150)*y(k,55)
     363   309041954 :          mat(k,549) = -rxt(k,235)*y(k,55)
     364   309041954 :          mat(k,36) = -rxt(k,247)*y(k,55)
     365   309041954 :          mat(k,88) = rxt(k,201)*y(k,56)
     366   309041954 :          mat(k,471) = rxt(k,168)*y(k,27)
     367   309041954 :          mat(k,246) = rxt(k,168)*y(k,23) + rxt(k,170)*y(k,56) + rxt(k,171)*y(k,77)
     368   309041954 :          mat(k,129) = rxt(k,215)*y(k,46)
     369   309041954 :          mat(k,258) = rxt(k,215)*y(k,34) + rxt(k,152)*y(k,77)
     370   309041954 :          mat(k,599) = mat(k,599) + rxt(k,138)*y(k,56) + rxt(k,137)*y(k,58)
     371             :          mat(k,418) = mat(k,418) + rxt(k,201)*y(k,4) + rxt(k,170)*y(k,27) + rxt(k,138) &
     372   309041954 :                       *y(k,54)
     373   309041954 :          mat(k,571) = rxt(k,137)*y(k,54)
     374   309041954 :          mat(k,636) = mat(k,636) + rxt(k,171)*y(k,27) + rxt(k,152)*y(k,46)
     375             :          mat(k,420) = -(rxt(k,108)*y(k,58) + 4._r8*rxt(k,109)*y(k,56) + rxt(k,110) &
     376             :                       *y(k,57) + rxt(k,111)*y(k,36) + rxt(k,112)*y(k,38) + rxt(k,117) &
     377             :                       *y(k,68) + rxt(k,123)*y(k,77) + (rxt(k,136) + rxt(k,138) &
     378             :                       ) * y(k,54) + rxt(k,141)*y(k,55) + rxt(k,146)*y(k,53) + rxt(k,170) &
     379             :                       *y(k,27) + rxt(k,172)*y(k,26) + rxt(k,175)*y(k,44) + rxt(k,178) &
     380             :                       *y(k,49) + rxt(k,201)*y(k,4) + rxt(k,202)*y(k,3) + rxt(k,204) &
     381             :                       *y(k,40) + rxt(k,206)*y(k,48) + rxt(k,236)*y(k,15) + rxt(k,249) &
     382             :                       *y(k,60) + (rxt(k,292) + rxt(k,293)) * y(k,70) + rxt(k,294) &
     383   309041954 :                       *y(k,72))
     384   309041954 :          mat(k,573) = -rxt(k,108)*y(k,56)
     385   309041954 :          mat(k,504) = -rxt(k,110)*y(k,56)
     386   309041954 :          mat(k,682) = -rxt(k,111)*y(k,56)
     387   309041954 :          mat(k,99) = -rxt(k,112)*y(k,56)
     388   309041954 :          mat(k,377) = -rxt(k,117)*y(k,56)
     389   309041954 :          mat(k,638) = -rxt(k,123)*y(k,56)
     390   309041954 :          mat(k,601) = -(rxt(k,136) + rxt(k,138)) * y(k,56)
     391   309041954 :          mat(k,352) = -rxt(k,141)*y(k,56)
     392   309041954 :          mat(k,661) = -rxt(k,146)*y(k,56)
     393   309041954 :          mat(k,247) = -rxt(k,170)*y(k,56)
     394   309041954 :          mat(k,448) = -rxt(k,172)*y(k,56)
     395   309041954 :          mat(k,314) = -rxt(k,175)*y(k,56)
     396   309041954 :          mat(k,145) = -rxt(k,178)*y(k,56)
     397   309041954 :          mat(k,89) = -rxt(k,201)*y(k,56)
     398   309041954 :          mat(k,708) = -rxt(k,202)*y(k,56)
     399   309041954 :          mat(k,153) = -rxt(k,204)*y(k,56)
     400   309041954 :          mat(k,137) = -rxt(k,206)*y(k,56)
     401   309041954 :          mat(k,551) = -rxt(k,236)*y(k,56)
     402   309041954 :          mat(k,56) = -rxt(k,249)*y(k,56)
     403   309041954 :          mat(k,110) = -(rxt(k,292) + rxt(k,293)) * y(k,56)
     404   309041954 :          mat(k,165) = -rxt(k,294)*y(k,56)
     405   309041954 :          mat(k,282) = rxt(k,115)*y(k,68)
     406             :          mat(k,228) = rxt(k,131)*y(k,53) + rxt(k,132)*y(k,54) + rxt(k,135)*y(k,57) &
     407   309041954 :                       + rxt(k,297)*y(k,76)
     408   309041954 :          mat(k,661) = mat(k,661) + rxt(k,131)*y(k,50)
     409   309041954 :          mat(k,601) = mat(k,601) + rxt(k,132)*y(k,50)
     410             :          mat(k,504) = mat(k,504) + rxt(k,135)*y(k,50) + rxt(k,251)*y(k,61) &
     411             :                       + rxt(k,257)*y(k,63) + rxt(k,296)*y(k,72) + (rxt(k,97)+rxt(k,98)) &
     412   309041954 :                       *y(k,73) + rxt(k,303)*y(k,78) + rxt(k,307)*y(k,79)
     413   309041954 :          mat(k,115) = rxt(k,251)*y(k,57)
     414   309041954 :          mat(k,270) = rxt(k,257)*y(k,57)
     415   309041954 :          mat(k,201) = rxt(k,288)*y(k,71) + 1.150_r8*rxt(k,289)*y(k,76)
     416   309041954 :          mat(k,377) = mat(k,377) + rxt(k,115)*y(k,35)
     417   309041954 :          mat(k,214) = rxt(k,302)*y(k,78)
     418   309041954 :          mat(k,123) = rxt(k,288)*y(k,67)
     419   309041954 :          mat(k,165) = mat(k,165) + rxt(k,296)*y(k,57)
     420   309041954 :          mat(k,529) = (rxt(k,97)+rxt(k,98))*y(k,57)
     421   309041954 :          mat(k,185) = rxt(k,297)*y(k,50) + 1.150_r8*rxt(k,289)*y(k,67)
     422   309041954 :          mat(k,638) = mat(k,638) + 2.000_r8*rxt(k,125)*y(k,77)
     423   309041954 :          mat(k,177) = rxt(k,303)*y(k,57) + rxt(k,302)*y(k,69)
     424   309041954 :          mat(k,82) = rxt(k,307)*y(k,57)
     425             :          mat(k,507) = -(rxt(k,97)*y(k,73) + rxt(k,102)*y(k,74) + rxt(k,110)*y(k,56) &
     426             :                       + rxt(k,116)*y(k,35) + rxt(k,130)*y(k,69) + rxt(k,135)*y(k,50) &
     427             :                       + rxt(k,251)*y(k,61) + rxt(k,257)*y(k,63) + rxt(k,291)*y(k,70) &
     428             :                       + (rxt(k,295) + rxt(k,296)) * y(k,72) + rxt(k,303)*y(k,78) &
     429   309041954 :                       + rxt(k,307)*y(k,79))
     430   309041954 :          mat(k,532) = -rxt(k,97)*y(k,57)
     431   309041954 :          mat(k,12) = -rxt(k,102)*y(k,57)
     432   309041954 :          mat(k,423) = -rxt(k,110)*y(k,57)
     433   309041954 :          mat(k,283) = -rxt(k,116)*y(k,57)
     434   309041954 :          mat(k,215) = -rxt(k,130)*y(k,57)
     435   309041954 :          mat(k,229) = -rxt(k,135)*y(k,57)
     436   309041954 :          mat(k,116) = -rxt(k,251)*y(k,57)
     437   309041954 :          mat(k,273) = -rxt(k,257)*y(k,57)
     438   309041954 :          mat(k,111) = -rxt(k,291)*y(k,57)
     439   309041954 :          mat(k,166) = -(rxt(k,295) + rxt(k,296)) * y(k,57)
     440   309041954 :          mat(k,178) = -rxt(k,303)*y(k,57)
     441   309041954 :          mat(k,83) = -rxt(k,307)*y(k,57)
     442   309041954 :          mat(k,294) = rxt(k,193)*y(k,58) + rxt(k,192)*y(k,68)
     443             :          mat(k,711) = 2.000_r8*rxt(k,194)*y(k,3) + (rxt(k,196)+rxt(k,197))*y(k,26) &
     444   309041954 :                       + rxt(k,202)*y(k,56) + rxt(k,198)*y(k,68)
     445   309041954 :          mat(k,333) = rxt(k,238)*y(k,68)
     446   309041954 :          mat(k,476) = rxt(k,161)*y(k,58) + rxt(k,159)*y(k,68)
     447             :          mat(k,451) = (rxt(k,196)+rxt(k,197))*y(k,3) + (2.000_r8*rxt(k,163) &
     448             :                        +2.000_r8*rxt(k,164))*y(k,26) + rxt(k,172)*y(k,56) + rxt(k,166) &
     449   309041954 :                       *y(k,68) + rxt(k,174)*y(k,77)
     450   309041954 :          mat(k,283) = mat(k,283) + rxt(k,119)*y(k,58) + rxt(k,113)*y(k,68)
     451   309041954 :          mat(k,67) = rxt(k,128)*y(k,77)
     452   309041954 :          mat(k,229) = mat(k,229) + rxt(k,134)*y(k,54)
     453   309041954 :          mat(k,664) = rxt(k,145)*y(k,58) + rxt(k,299)*y(k,76)
     454   309041954 :          mat(k,604) = rxt(k,134)*y(k,50) + rxt(k,136)*y(k,56) + rxt(k,137)*y(k,58)
     455   309041954 :          mat(k,355) = rxt(k,141)*y(k,56) + rxt(k,139)*y(k,68)
     456             :          mat(k,423) = mat(k,423) + rxt(k,202)*y(k,3) + rxt(k,172)*y(k,26) + rxt(k,136) &
     457             :                       *y(k,54) + rxt(k,141)*y(k,55) + 2.000_r8*rxt(k,109)*y(k,56) &
     458             :                       + 2.000_r8*rxt(k,108)*y(k,58) + rxt(k,117)*y(k,68) + rxt(k,101) &
     459   309041954 :                       *y(k,74) + rxt(k,123)*y(k,77)
     460   309041954 :          mat(k,507) = mat(k,507) + 2.000_r8*rxt(k,102)*y(k,74)
     461             :          mat(k,576) = rxt(k,193)*y(k,1) + rxt(k,161)*y(k,23) + rxt(k,119)*y(k,35) &
     462             :                       + rxt(k,145)*y(k,53) + rxt(k,137)*y(k,54) + 2.000_r8*rxt(k,108) &
     463             :                       *y(k,56) + rxt(k,252)*y(k,61) + rxt(k,258)*y(k,63) &
     464             :                       + 2.000_r8*rxt(k,118)*y(k,68) + 2.000_r8*rxt(k,99)*y(k,73) &
     465   309041954 :                       + rxt(k,124)*y(k,77)
     466   309041954 :          mat(k,116) = mat(k,116) + rxt(k,252)*y(k,58)
     467   309041954 :          mat(k,273) = mat(k,273) + rxt(k,258)*y(k,58)
     468             :          mat(k,380) = rxt(k,192)*y(k,1) + rxt(k,198)*y(k,3) + rxt(k,238)*y(k,19) &
     469             :                       + rxt(k,159)*y(k,23) + rxt(k,166)*y(k,26) + rxt(k,113)*y(k,35) &
     470             :                       + rxt(k,139)*y(k,55) + rxt(k,117)*y(k,56) + 2.000_r8*rxt(k,118) &
     471   309041954 :                       *y(k,58) + 2.000_r8*rxt(k,127)*y(k,68) + rxt(k,122)*y(k,77)
     472   309041954 :          mat(k,532) = mat(k,532) + 2.000_r8*rxt(k,99)*y(k,58)
     473   309041954 :          mat(k,12) = mat(k,12) + rxt(k,101)*y(k,56) + 2.000_r8*rxt(k,102)*y(k,57)
     474   309041954 :          mat(k,186) = rxt(k,299)*y(k,53)
     475             :          mat(k,641) = rxt(k,174)*y(k,26) + rxt(k,128)*y(k,47) + rxt(k,123)*y(k,56) &
     476   318792954 :                       + rxt(k,124)*y(k,58) + rxt(k,122)*y(k,68)
     477             :       end do
     478     9751000 :       end subroutine nlnmat02
     479     9751000 :       subroutine nlnmat03( avec_len, mat, y, rxt )
     480             :       use chem_mods, only : gas_pcnst, rxntot, nzcnt
     481             :       implicit none
     482             : !----------------------------------------------
     483             : ! ... dummy arguments
     484             : !----------------------------------------------
     485             :       integer, intent(in) :: avec_len
     486             :       real(r8), intent(in) :: y(veclen,gas_pcnst)
     487             :       real(r8), intent(in) :: rxt(veclen,rxntot)
     488             :       real(r8), intent(inout) :: mat(veclen,nzcnt)
     489             : !----------------------------------------------
     490             : ! ... local variables
     491             : !----------------------------------------------
     492             :       integer :: k
     493             : !----------------------------------------------
     494             : ! ... complete matrix entries implicit species
     495             : !----------------------------------------------
     496   318792954 :       do k = 1,avec_len
     497   309041954 :          mat(k,579) = -(rxt(k,99)*y(k,73) + rxt(k,108)*y(k,56) + rxt(k,118)*y(k,68) &
     498             :                       + rxt(k,119)*y(k,35) + rxt(k,124)*y(k,77) + rxt(k,137)*y(k,54) &
     499             :                       + rxt(k,145)*y(k,53) + rxt(k,161)*y(k,23) + rxt(k,193)*y(k,1) &
     500   309041954 :                       + rxt(k,252)*y(k,61) + rxt(k,258)*y(k,63))
     501   309041954 :          mat(k,535) = -rxt(k,99)*y(k,58)
     502   309041954 :          mat(k,426) = -rxt(k,108)*y(k,58)
     503   309041954 :          mat(k,383) = -rxt(k,118)*y(k,58)
     504   309041954 :          mat(k,284) = -rxt(k,119)*y(k,58)
     505   309041954 :          mat(k,644) = -rxt(k,124)*y(k,58)
     506   309041954 :          mat(k,607) = -rxt(k,137)*y(k,58)
     507   309041954 :          mat(k,667) = -rxt(k,145)*y(k,58)
     508   309041954 :          mat(k,479) = -rxt(k,161)*y(k,58)
     509   309041954 :          mat(k,297) = -rxt(k,193)*y(k,58)
     510   309041954 :          mat(k,117) = -rxt(k,252)*y(k,58)
     511   309041954 :          mat(k,274) = -rxt(k,258)*y(k,58)
     512   309041954 :          mat(k,426) = mat(k,426) + rxt(k,110)*y(k,57)
     513   309041954 :          mat(k,510) = rxt(k,110)*y(k,56)
     514   309041954 :          mat(k,45) = -(rxt(k,259)*y(k,63))
     515   309041954 :          mat(k,263) = -rxt(k,259)*y(k,59)
     516   309041954 :          mat(k,696) = rxt(k,195)*y(k,26)
     517   309041954 :          mat(k,436) = rxt(k,195)*y(k,3) + 2.000_r8*rxt(k,165)*y(k,26)
     518   309041954 :          mat(k,50) = -(rxt(k,249)*y(k,56) + rxt(k,250)*y(k,77))
     519   309041954 :          mat(k,392) = -rxt(k,249)*y(k,60)
     520   309041954 :          mat(k,618) = -rxt(k,250)*y(k,60)
     521   309041954 :          mat(k,112) = -(rxt(k,251)*y(k,57) + rxt(k,252)*y(k,58) + rxt(k,255)*y(k,77))
     522   309041954 :          mat(k,491) = -rxt(k,251)*y(k,61)
     523   309041954 :          mat(k,566) = -rxt(k,252)*y(k,61)
     524   309041954 :          mat(k,623) = -rxt(k,255)*y(k,61)
     525             :          mat(k,266) = -(rxt(k,253)*y(k,3) + rxt(k,254)*y(k,26) + rxt(k,256)*y(k,54) &
     526             :                       + rxt(k,257)*y(k,57) + rxt(k,258)*y(k,58) + rxt(k,259)*y(k,59) &
     527   309041954 :                       + rxt(k,260)*y(k,77))
     528   309041954 :          mat(k,701) = -rxt(k,253)*y(k,63)
     529   309041954 :          mat(k,441) = -rxt(k,254)*y(k,63)
     530   309041954 :          mat(k,594) = -rxt(k,256)*y(k,63)
     531   309041954 :          mat(k,500) = -rxt(k,257)*y(k,63)
     532   309041954 :          mat(k,568) = -rxt(k,258)*y(k,63)
     533   309041954 :          mat(k,47) = -rxt(k,259)*y(k,63)
     534   309041954 :          mat(k,631) = -rxt(k,260)*y(k,63)
     535   309041954 :          mat(k,413) = rxt(k,249)*y(k,60)
     536   309041954 :          mat(k,500) = mat(k,500) + rxt(k,251)*y(k,61)
     537   309041954 :          mat(k,568) = mat(k,568) + rxt(k,252)*y(k,61)
     538   309041954 :          mat(k,54) = rxt(k,249)*y(k,56)
     539   309041954 :          mat(k,113) = rxt(k,251)*y(k,57) + rxt(k,252)*y(k,58) + rxt(k,255)*y(k,77)
     540   309041954 :          mat(k,631) = mat(k,631) + rxt(k,255)*y(k,61)
     541   309041954 :          mat(k,235) = -(rxt(k,262)*y(k,77))
     542   309041954 :          mat(k,628) = -rxt(k,262)*y(k,64)
     543   309041954 :          mat(k,699) = rxt(k,253)*y(k,63)
     544   309041954 :          mat(k,438) = rxt(k,254)*y(k,63)
     545   309041954 :          mat(k,34) = rxt(k,247)*y(k,55) + (rxt(k,248)+.500_r8*rxt(k,261))*y(k,77)
     546   309041954 :          mat(k,591) = rxt(k,256)*y(k,63)
     547   309041954 :          mat(k,344) = rxt(k,247)*y(k,33)
     548   309041954 :          mat(k,499) = rxt(k,257)*y(k,63)
     549   309041954 :          mat(k,567) = rxt(k,258)*y(k,63)
     550   309041954 :          mat(k,46) = rxt(k,259)*y(k,63)
     551   309041954 :          mat(k,53) = rxt(k,250)*y(k,77)
     552             :          mat(k,265) = rxt(k,253)*y(k,3) + rxt(k,254)*y(k,26) + rxt(k,256)*y(k,54) &
     553             :                       + rxt(k,257)*y(k,57) + rxt(k,258)*y(k,58) + rxt(k,259)*y(k,59) &
     554   309041954 :                       + rxt(k,260)*y(k,77)
     555             :          mat(k,628) = mat(k,628) + (rxt(k,248)+.500_r8*rxt(k,261))*y(k,33) &
     556   309041954 :                       + rxt(k,250)*y(k,60) + rxt(k,260)*y(k,63)
     557   309041954 :          mat(k,29) = -(rxt(k,263)*y(k,81))
     558   309041954 :          mat(k,723) = -rxt(k,263)*y(k,65)
     559   309041954 :          mat(k,234) = rxt(k,262)*y(k,77)
     560   309041954 :          mat(k,616) = rxt(k,262)*y(k,64)
     561   309041954 :          mat(k,196) = -(rxt(k,288)*y(k,71) + rxt(k,289)*y(k,76) + rxt(k,290)*y(k,70))
     562   309041954 :          mat(k,120) = -rxt(k,288)*y(k,67)
     563   309041954 :          mat(k,182) = -rxt(k,289)*y(k,67)
     564   309041954 :          mat(k,107) = -rxt(k,290)*y(k,67)
     565             :          mat(k,376) = -((rxt(k,113) + rxt(k,114) + rxt(k,115)) * y(k,35) + rxt(k,117) &
     566             :                       *y(k,56) + rxt(k,118)*y(k,58) + rxt(k,122)*y(k,77) &
     567             :                       + 4._r8*rxt(k,127)*y(k,68) + rxt(k,139)*y(k,55) + rxt(k,144) &
     568             :                       *y(k,53) + rxt(k,149)*y(k,54) + (rxt(k,159) + rxt(k,160) &
     569             :                       ) * y(k,23) + rxt(k,166)*y(k,26) + rxt(k,192)*y(k,1) + rxt(k,198) &
     570   309041954 :                       *y(k,3) + rxt(k,238)*y(k,19))
     571   309041954 :          mat(k,281) = -(rxt(k,113) + rxt(k,114) + rxt(k,115)) * y(k,68)
     572   309041954 :          mat(k,419) = -rxt(k,117)*y(k,68)
     573   309041954 :          mat(k,572) = -rxt(k,118)*y(k,68)
     574   309041954 :          mat(k,637) = -rxt(k,122)*y(k,68)
     575   309041954 :          mat(k,351) = -rxt(k,139)*y(k,68)
     576   309041954 :          mat(k,660) = -rxt(k,144)*y(k,68)
     577   309041954 :          mat(k,600) = -rxt(k,149)*y(k,68)
     578   309041954 :          mat(k,472) = -(rxt(k,159) + rxt(k,160)) * y(k,68)
     579   309041954 :          mat(k,447) = -rxt(k,166)*y(k,68)
     580   309041954 :          mat(k,292) = -rxt(k,192)*y(k,68)
     581   309041954 :          mat(k,707) = -rxt(k,198)*y(k,68)
     582   309041954 :          mat(k,329) = -rxt(k,238)*y(k,68)
     583   309041954 :          mat(k,292) = mat(k,292) + rxt(k,191)*y(k,15)
     584   309041954 :          mat(k,707) = mat(k,707) + rxt(k,203)*y(k,77)
     585             :          mat(k,550) = rxt(k,191)*y(k,1) + rxt(k,155)*y(k,23) + rxt(k,235)*y(k,55) &
     586   309041954 :                       + rxt(k,236)*y(k,56)
     587   309041954 :          mat(k,329) = mat(k,329) + rxt(k,162)*y(k,26) + rxt(k,239)*y(k,53)
     588   309041954 :          mat(k,472) = mat(k,472) + rxt(k,155)*y(k,15) + rxt(k,158)*y(k,38)
     589   309041954 :          mat(k,447) = mat(k,447) + rxt(k,162)*y(k,19) + rxt(k,173)*y(k,77)
     590   309041954 :          mat(k,94) = rxt(k,242)*y(k,77)
     591   309041954 :          mat(k,37) = .500_r8*rxt(k,261)*y(k,77)
     592   309041954 :          mat(k,281) = mat(k,281) + rxt(k,116)*y(k,57)
     593   309041954 :          mat(k,98) = rxt(k,158)*y(k,23) + rxt(k,112)*y(k,56) + rxt(k,121)*y(k,77)
     594   309041954 :          mat(k,660) = mat(k,660) + rxt(k,239)*y(k,19)
     595   309041954 :          mat(k,351) = mat(k,351) + rxt(k,235)*y(k,15) + rxt(k,142)*y(k,77)
     596   309041954 :          mat(k,419) = mat(k,419) + rxt(k,236)*y(k,15) + rxt(k,112)*y(k,38)
     597   309041954 :          mat(k,503) = rxt(k,116)*y(k,35)
     598   309041954 :          mat(k,572) = mat(k,572) + rxt(k,124)*y(k,77)
     599   309041954 :          mat(k,237) = rxt(k,262)*y(k,77)
     600             :          mat(k,637) = mat(k,637) + rxt(k,203)*y(k,3) + rxt(k,173)*y(k,26) + rxt(k,242) &
     601             :                       *y(k,29) + .500_r8*rxt(k,261)*y(k,33) + rxt(k,121)*y(k,38) &
     602   309041954 :                       + rxt(k,142)*y(k,55) + rxt(k,124)*y(k,58) + rxt(k,262)*y(k,64)
     603   309041954 :          mat(k,210) = -(rxt(k,129)*y(k,56) + rxt(k,130)*y(k,57) + rxt(k,302)*y(k,78))
     604   309041954 :          mat(k,408) = -rxt(k,129)*y(k,69)
     605   309041954 :          mat(k,497) = -rxt(k,130)*y(k,69)
     606   309041954 :          mat(k,173) = -rxt(k,302)*y(k,69)
     607   309041954 :          mat(k,408) = mat(k,408) + rxt(k,292)*y(k,70)
     608   309041954 :          mat(k,197) = .900_r8*rxt(k,290)*y(k,70) + .800_r8*rxt(k,288)*y(k,71)
     609   309041954 :          mat(k,108) = rxt(k,292)*y(k,56) + .900_r8*rxt(k,290)*y(k,67)
     610   309041954 :          mat(k,121) = .800_r8*rxt(k,288)*y(k,67)
     611             :          mat(k,103) = -(rxt(k,290)*y(k,67) + rxt(k,291)*y(k,57) + (rxt(k,292) &
     612   309041954 :                       + rxt(k,293)) * y(k,56))
     613   309041954 :          mat(k,191) = -rxt(k,290)*y(k,70)
     614   309041954 :          mat(k,490) = -rxt(k,291)*y(k,70)
     615   309041954 :          mat(k,398) = -(rxt(k,292) + rxt(k,293)) * y(k,70)
     616   309041954 :          mat(k,119) = -(rxt(k,288)*y(k,67))
     617   309041954 :          mat(k,192) = -rxt(k,288)*y(k,71)
     618   309041954 :          mat(k,219) = rxt(k,297)*y(k,76)
     619   309041954 :          mat(k,651) = rxt(k,299)*y(k,76)
     620   309041954 :          mat(k,400) = rxt(k,292)*y(k,70)
     621   309041954 :          mat(k,492) = rxt(k,296)*y(k,72)
     622   309041954 :          mat(k,104) = rxt(k,292)*y(k,56)
     623   309041954 :          mat(k,158) = rxt(k,296)*y(k,57)
     624   309041954 :          mat(k,180) = rxt(k,297)*y(k,50) + rxt(k,299)*y(k,53)
     625   309041954 :          mat(k,159) = -(rxt(k,294)*y(k,56) + (rxt(k,295) + rxt(k,296)) * y(k,57))
     626   309041954 :          mat(k,404) = -rxt(k,294)*y(k,72)
     627   309041954 :          mat(k,493) = -(rxt(k,295) + rxt(k,296)) * y(k,72)
     628   309041954 :          mat(k,206) = rxt(k,302)*y(k,78)
     629   309041954 :          mat(k,169) = rxt(k,302)*y(k,69)
     630             :          mat(k,533) = -(rxt(k,94)*y(k,36) + rxt(k,95)*y(k,81) + (rxt(k,97) + rxt(k,98) &
     631             :                       ) * y(k,57) + rxt(k,99)*y(k,58) + (rxt(k,187) + rxt(k,188) &
     632             :                       ) * y(k,44) + (rxt(k,210) + rxt(k,211)) * y(k,40) + rxt(k,216) &
     633   309041954 :                       *y(k,31) + rxt(k,217)*y(k,32))
     634   309041954 :          mat(k,686) = -rxt(k,94)*y(k,73)
     635   309041954 :          mat(k,737) = -rxt(k,95)*y(k,73)
     636   309041954 :          mat(k,508) = -(rxt(k,97) + rxt(k,98)) * y(k,73)
     637   309041954 :          mat(k,577) = -rxt(k,99)*y(k,73)
     638   309041954 :          mat(k,318) = -(rxt(k,187) + rxt(k,188)) * y(k,73)
     639   309041954 :          mat(k,154) = -(rxt(k,210) + rxt(k,211)) * y(k,73)
     640   309041954 :          mat(k,7) = -rxt(k,216)*y(k,73)
     641   309041954 :          mat(k,21) = -rxt(k,217)*y(k,73)
     642   309041954 :          mat(k,508) = mat(k,508) + rxt(k,130)*y(k,69)
     643   309041954 :          mat(k,203) = .850_r8*rxt(k,289)*y(k,76)
     644   309041954 :          mat(k,216) = rxt(k,130)*y(k,57)
     645   309041954 :          mat(k,187) = .850_r8*rxt(k,289)*y(k,67)
     646   309041954 :          mat(k,11) = -(rxt(k,101)*y(k,56) + rxt(k,102)*y(k,57))
     647   309041954 :          mat(k,390) = -rxt(k,101)*y(k,74)
     648   309041954 :          mat(k,486) = -rxt(k,102)*y(k,74)
     649   309041954 :          mat(k,390) = mat(k,390) + rxt(k,105)*y(k,75)
     650   309041954 :          mat(k,486) = mat(k,486) + rxt(k,106)*y(k,75)
     651   309041954 :          mat(k,564) = rxt(k,107)*y(k,75)
     652   309041954 :          mat(k,13) = rxt(k,105)*y(k,56) + rxt(k,106)*y(k,57) + rxt(k,107)*y(k,58)
     653   309041954 :          mat(k,14) = -(rxt(k,105)*y(k,56) + rxt(k,106)*y(k,57) + rxt(k,107)*y(k,58))
     654   309041954 :          mat(k,391) = -rxt(k,105)*y(k,75)
     655   309041954 :          mat(k,487) = -rxt(k,106)*y(k,75)
     656   309041954 :          mat(k,565) = -rxt(k,107)*y(k,75)
     657   309041954 :          mat(k,487) = mat(k,487) + rxt(k,97)*y(k,73)
     658   309041954 :          mat(k,518) = rxt(k,97)*y(k,57)
     659   309041954 :          mat(k,181) = -(rxt(k,289)*y(k,67) + rxt(k,297)*y(k,50) + rxt(k,299)*y(k,53))
     660   309041954 :          mat(k,195) = -rxt(k,289)*y(k,76)
     661   309041954 :          mat(k,222) = -rxt(k,297)*y(k,76)
     662   309041954 :          mat(k,652) = -rxt(k,299)*y(k,76)
     663             :          mat(k,495) = rxt(k,291)*y(k,70) + rxt(k,295)*y(k,72) + rxt(k,303)*y(k,78) &
     664   309041954 :                       + rxt(k,307)*y(k,79)
     665   309041954 :          mat(k,106) = rxt(k,291)*y(k,57)
     666   309041954 :          mat(k,161) = rxt(k,295)*y(k,57)
     667   309041954 :          mat(k,171) = rxt(k,303)*y(k,57)
     668   309041954 :          mat(k,81) = rxt(k,307)*y(k,57)
     669             :          mat(k,646) = -(rxt(k,120)*y(k,36) + rxt(k,121)*y(k,38) + rxt(k,122)*y(k,68) &
     670             :                       + rxt(k,123)*y(k,56) + rxt(k,124)*y(k,58) + (4._r8*rxt(k,125) &
     671             :                       + 4._r8*rxt(k,126)) * y(k,77) + rxt(k,128)*y(k,47) + rxt(k,142) &
     672             :                       *y(k,55) + rxt(k,143)*y(k,50) + rxt(k,151)*y(k,54) + rxt(k,152) &
     673             :                       *y(k,46) + rxt(k,171)*y(k,27) + (rxt(k,173) + rxt(k,174) &
     674             :                       ) * y(k,26) + rxt(k,176)*y(k,44) + rxt(k,179)*y(k,49) + rxt(k,203) &
     675             :                       *y(k,3) + rxt(k,205)*y(k,40) + rxt(k,237)*y(k,15) + rxt(k,240) &
     676             :                       *y(k,20) + (rxt(k,242) + rxt(k,246)) * y(k,29) + (rxt(k,248) &
     677             :                       + rxt(k,261)) * y(k,33) + rxt(k,250)*y(k,60) + rxt(k,255) &
     678   309041954 :                       *y(k,61) + rxt(k,260)*y(k,63) + rxt(k,262)*y(k,64))
     679   309041954 :          mat(k,690) = -rxt(k,120)*y(k,77)
     680   309041954 :          mat(k,101) = -rxt(k,121)*y(k,77)
     681   309041954 :          mat(k,385) = -rxt(k,122)*y(k,77)
     682   309041954 :          mat(k,428) = -rxt(k,123)*y(k,77)
     683   309041954 :          mat(k,581) = -rxt(k,124)*y(k,77)
     684   309041954 :          mat(k,69) = -rxt(k,128)*y(k,77)
     685   309041954 :          mat(k,360) = -rxt(k,142)*y(k,77)
     686   309041954 :          mat(k,232) = -rxt(k,143)*y(k,77)
     687   309041954 :          mat(k,609) = -rxt(k,151)*y(k,77)
     688   309041954 :          mat(k,260) = -rxt(k,152)*y(k,77)
     689   309041954 :          mat(k,251) = -rxt(k,171)*y(k,77)
     690   309041954 :          mat(k,456) = -(rxt(k,173) + rxt(k,174)) * y(k,77)
     691   309041954 :          mat(k,322) = -rxt(k,176)*y(k,77)
     692   309041954 :          mat(k,148) = -rxt(k,179)*y(k,77)
     693   309041954 :          mat(k,716) = -rxt(k,203)*y(k,77)
     694   309041954 :          mat(k,155) = -rxt(k,205)*y(k,77)
     695   309041954 :          mat(k,559) = -rxt(k,237)*y(k,77)
     696   309041954 :          mat(k,62) = -rxt(k,240)*y(k,77)
     697   309041954 :          mat(k,95) = -(rxt(k,242) + rxt(k,246)) * y(k,77)
     698   309041954 :          mat(k,38) = -(rxt(k,248) + rxt(k,261)) * y(k,77)
     699   309041954 :          mat(k,57) = -rxt(k,250)*y(k,77)
     700   309041954 :          mat(k,118) = -rxt(k,255)*y(k,77)
     701   309041954 :          mat(k,276) = -rxt(k,260)*y(k,77)
     702   309041954 :          mat(k,239) = -rxt(k,262)*y(k,77)
     703   309041954 :          mat(k,559) = mat(k,559) + rxt(k,236)*y(k,56)
     704   309041954 :          mat(k,62) = mat(k,62) + .300_r8*rxt(k,240)*y(k,77)
     705   309041954 :          mat(k,481) = rxt(k,160)*y(k,68)
     706   309041954 :          mat(k,130) = rxt(k,214)*y(k,81)
     707   309041954 :          mat(k,285) = rxt(k,119)*y(k,58) + 2.000_r8*rxt(k,114)*y(k,68)
     708   309041954 :          mat(k,690) = mat(k,690) + rxt(k,111)*y(k,56) + rxt(k,94)*y(k,73)
     709   309041954 :          mat(k,101) = mat(k,101) + rxt(k,112)*y(k,56)
     710   309041954 :          mat(k,155) = mat(k,155) + rxt(k,204)*y(k,56) + rxt(k,210)*y(k,73)
     711   309041954 :          mat(k,322) = mat(k,322) + rxt(k,175)*y(k,56) + rxt(k,187)*y(k,73)
     712   309041954 :          mat(k,139) = rxt(k,206)*y(k,56)
     713   309041954 :          mat(k,148) = mat(k,148) + rxt(k,178)*y(k,56)
     714   309041954 :          mat(k,669) = rxt(k,144)*y(k,68)
     715   309041954 :          mat(k,360) = mat(k,360) + rxt(k,139)*y(k,68)
     716             :          mat(k,428) = mat(k,428) + rxt(k,236)*y(k,15) + rxt(k,111)*y(k,36) &
     717             :                       + rxt(k,112)*y(k,38) + rxt(k,204)*y(k,40) + rxt(k,175)*y(k,44) &
     718   309041954 :                       + rxt(k,206)*y(k,48) + rxt(k,178)*y(k,49) + rxt(k,117)*y(k,68)
     719   309041954 :          mat(k,581) = mat(k,581) + rxt(k,119)*y(k,35) + rxt(k,118)*y(k,68)
     720             :          mat(k,385) = mat(k,385) + rxt(k,160)*y(k,23) + 2.000_r8*rxt(k,114)*y(k,35) &
     721             :                       + rxt(k,144)*y(k,53) + rxt(k,139)*y(k,55) + rxt(k,117)*y(k,56) &
     722   309041954 :                       + rxt(k,118)*y(k,58)
     723             :          mat(k,537) = rxt(k,94)*y(k,36) + rxt(k,210)*y(k,40) + rxt(k,187)*y(k,44) &
     724   309041954 :                       + 2.000_r8*rxt(k,95)*y(k,81)
     725   309041954 :          mat(k,646) = mat(k,646) + .300_r8*rxt(k,240)*y(k,20)
     726   318792954 :          mat(k,741) = rxt(k,214)*y(k,34) + 2.000_r8*rxt(k,95)*y(k,73)
     727             :       end do
     728     9751000 :       end subroutine nlnmat03
     729     9751000 :       subroutine nlnmat04( avec_len, mat, y, rxt )
     730             :       use chem_mods, only : gas_pcnst, rxntot, nzcnt
     731             :       implicit none
     732             : !----------------------------------------------
     733             : ! ... dummy arguments
     734             : !----------------------------------------------
     735             :       integer, intent(in) :: avec_len
     736             :       real(r8), intent(in) :: y(veclen,gas_pcnst)
     737             :       real(r8), intent(in) :: rxt(veclen,rxntot)
     738             :       real(r8), intent(inout) :: mat(veclen,nzcnt)
     739             : !----------------------------------------------
     740             : ! ... local variables
     741             : !----------------------------------------------
     742             :       integer :: k
     743             : !----------------------------------------------
     744             : ! ... complete matrix entries implicit species
     745             : !----------------------------------------------
     746   318792954 :       do k = 1,avec_len
     747   309041954 :          mat(k,170) = -(rxt(k,302)*y(k,69) + rxt(k,303)*y(k,57))
     748   309041954 :          mat(k,207) = -rxt(k,302)*y(k,78)
     749   309041954 :          mat(k,494) = -rxt(k,303)*y(k,78)
     750             :          mat(k,405) = rxt(k,293)*y(k,70) + rxt(k,294)*y(k,72) + rxt(k,306)*y(k,79) &
     751   309041954 :                       + rxt(k,312)*y(k,80)
     752   309041954 :          mat(k,194) = rxt(k,304)*y(k,79) + rxt(k,309)*y(k,80)
     753   309041954 :          mat(k,105) = rxt(k,293)*y(k,56)
     754   309041954 :          mat(k,160) = rxt(k,294)*y(k,56)
     755   309041954 :          mat(k,80) = rxt(k,306)*y(k,56) + rxt(k,304)*y(k,67)
     756   309041954 :          mat(k,75) = rxt(k,312)*y(k,56) + rxt(k,309)*y(k,67)
     757   309041954 :          mat(k,78) = -(rxt(k,304)*y(k,67) + rxt(k,306)*y(k,56) + rxt(k,307)*y(k,57))
     758   309041954 :          mat(k,190) = -rxt(k,304)*y(k,79)
     759   309041954 :          mat(k,394) = -rxt(k,306)*y(k,79)
     760   309041954 :          mat(k,489) = -rxt(k,307)*y(k,79)
     761   309041954 :          mat(k,190) = mat(k,190) + rxt(k,308)*y(k,80)
     762   309041954 :          mat(k,72) = rxt(k,308)*y(k,67)
     763   309041954 :          mat(k,71) = -((rxt(k,308) + rxt(k,309)) * y(k,67) + rxt(k,312)*y(k,56))
     764   309041954 :          mat(k,189) = -(rxt(k,308) + rxt(k,309)) * y(k,80)
     765   309041954 :          mat(k,393) = -rxt(k,312)*y(k,80)
     766   309041954 :          mat(k,745) = -(rxt(k,95)*y(k,73) + rxt(k,214)*y(k,34) + rxt(k,263)*y(k,65))
     767   309041954 :          mat(k,541) = -rxt(k,95)*y(k,81)
     768   309041954 :          mat(k,132) = -rxt(k,214)*y(k,81)
     769   309041954 :          mat(k,32) = -rxt(k,263)*y(k,81)
     770   309041954 :          mat(k,563) = rxt(k,237)*y(k,77)
     771   309041954 :          mat(k,63) = rxt(k,240)*y(k,77)
     772   309041954 :          mat(k,287) = rxt(k,115)*y(k,68)
     773   309041954 :          mat(k,694) = rxt(k,120)*y(k,77)
     774   309041954 :          mat(k,102) = rxt(k,121)*y(k,77)
     775   309041954 :          mat(k,157) = rxt(k,205)*y(k,77)
     776             :          mat(k,325) = (rxt(k,276)+rxt(k,281))*y(k,48) + (rxt(k,269)+rxt(k,275) &
     777   309041954 :                        +rxt(k,280))*y(k,49) + rxt(k,176)*y(k,77)
     778   309041954 :          mat(k,262) = rxt(k,152)*y(k,77)
     779   309041954 :          mat(k,70) = rxt(k,128)*y(k,77)
     780   309041954 :          mat(k,141) = (rxt(k,276)+rxt(k,281))*y(k,44)
     781   309041954 :          mat(k,149) = (rxt(k,269)+rxt(k,275)+rxt(k,280))*y(k,44) + rxt(k,179)*y(k,77)
     782   309041954 :          mat(k,389) = rxt(k,115)*y(k,35) + rxt(k,122)*y(k,77)
     783             :          mat(k,650) = rxt(k,237)*y(k,15) + rxt(k,240)*y(k,20) + rxt(k,120)*y(k,36) &
     784             :                       + rxt(k,121)*y(k,38) + rxt(k,205)*y(k,40) + rxt(k,176)*y(k,44) &
     785             :                       + rxt(k,152)*y(k,46) + rxt(k,128)*y(k,47) + rxt(k,179)*y(k,49) &
     786   318792954 :                       + rxt(k,122)*y(k,68) + 2.000_r8*rxt(k,125)*y(k,77)
     787             :       end do
     788     9751000 :       end subroutine nlnmat04
     789     9751000 :       subroutine nlnmat_finit( avec_len, mat, lmat, dti )
     790             :       use chem_mods, only : gas_pcnst, rxntot, nzcnt
     791             :       implicit none
     792             : !----------------------------------------------
     793             : ! ... dummy arguments
     794             : !----------------------------------------------
     795             :       integer, intent(in) :: avec_len
     796             :       real(r8), intent(in) :: dti(veclen)
     797             :       real(r8), intent(in) :: lmat(veclen,nzcnt)
     798             :       real(r8), intent(inout) :: mat(veclen,nzcnt)
     799             : !----------------------------------------------
     800             : ! ... local variables
     801             : !----------------------------------------------
     802             :       integer :: k
     803             : !----------------------------------------------
     804             : ! ... complete matrix entries implicit species
     805             : !----------------------------------------------
     806   318792954 :       do k = 1,avec_len
     807   309041954 :          mat(k, 1) = lmat(k, 1)
     808   309041954 :          mat(k, 2) = lmat(k, 2)
     809   309041954 :          mat(k, 3) = lmat(k, 3)
     810   309041954 :          mat(k, 4) = lmat(k, 4)
     811   309041954 :          mat(k, 5) = mat(k, 5) + lmat(k, 5)
     812   309041954 :          mat(k, 6) = mat(k, 6) + lmat(k, 6)
     813   309041954 :          mat(k, 8) = lmat(k, 8)
     814   309041954 :          mat(k, 9) = lmat(k, 9)
     815   309041954 :          mat(k, 10) = lmat(k, 10)
     816   309041954 :          mat(k, 11) = mat(k, 11) + lmat(k, 11)
     817   309041954 :          mat(k, 12) = mat(k, 12) + lmat(k, 12)
     818   309041954 :          mat(k, 13) = mat(k, 13) + lmat(k, 13)
     819   309041954 :          mat(k, 14) = mat(k, 14) + lmat(k, 14)
     820   309041954 :          mat(k, 15) = lmat(k, 15)
     821   309041954 :          mat(k, 16) = lmat(k, 16)
     822   309041954 :          mat(k, 17) = lmat(k, 17)
     823   309041954 :          mat(k, 18) = mat(k, 18) + lmat(k, 18)
     824   309041954 :          mat(k, 19) = mat(k, 19) + lmat(k, 19)
     825   309041954 :          mat(k, 20) = mat(k, 20) + lmat(k, 20)
     826   309041954 :          mat(k, 22) = lmat(k, 22)
     827   309041954 :          mat(k, 23) = lmat(k, 23)
     828   309041954 :          mat(k, 24) = lmat(k, 24)
     829   309041954 :          mat(k, 25) = lmat(k, 25)
     830   309041954 :          mat(k, 26) = lmat(k, 26)
     831   309041954 :          mat(k, 27) = lmat(k, 27)
     832   309041954 :          mat(k, 29) = mat(k, 29) + lmat(k, 29)
     833   309041954 :          mat(k, 30) = lmat(k, 30)
     834   309041954 :          mat(k, 31) = lmat(k, 31)
     835   309041954 :          mat(k, 33) = mat(k, 33) + lmat(k, 33)
     836   309041954 :          mat(k, 39) = lmat(k, 39)
     837   309041954 :          mat(k, 40) = lmat(k, 40)
     838   309041954 :          mat(k, 41) = lmat(k, 41)
     839   309041954 :          mat(k, 42) = lmat(k, 42)
     840   309041954 :          mat(k, 43) = lmat(k, 43)
     841   309041954 :          mat(k, 44) = lmat(k, 44)
     842   309041954 :          mat(k, 45) = mat(k, 45) + lmat(k, 45)
     843   309041954 :          mat(k, 48) = lmat(k, 48)
     844   309041954 :          mat(k, 49) = mat(k, 49) + lmat(k, 49)
     845   309041954 :          mat(k, 50) = mat(k, 50) + lmat(k, 50)
     846   309041954 :          mat(k, 51) = mat(k, 51) + lmat(k, 51)
     847   309041954 :          mat(k, 52) = lmat(k, 52)
     848   309041954 :          mat(k, 58) = mat(k, 58) + lmat(k, 58)
     849   309041954 :          mat(k, 59) = lmat(k, 59)
     850   309041954 :          mat(k, 61) = mat(k, 61) + lmat(k, 61)
     851   309041954 :          mat(k, 62) = mat(k, 62) + lmat(k, 62)
     852   309041954 :          mat(k, 64) = mat(k, 64) + lmat(k, 64)
     853   309041954 :          mat(k, 65) = lmat(k, 65)
     854   309041954 :          mat(k, 66) = lmat(k, 66)
     855   309041954 :          mat(k, 68) = mat(k, 68) + lmat(k, 68)
     856   309041954 :          mat(k, 69) = mat(k, 69) + lmat(k, 69)
     857   309041954 :          mat(k, 71) = mat(k, 71) + lmat(k, 71)
     858   309041954 :          mat(k, 72) = mat(k, 72) + lmat(k, 72)
     859   309041954 :          mat(k, 73) = lmat(k, 73)
     860   309041954 :          mat(k, 74) = lmat(k, 74)
     861   309041954 :          mat(k, 75) = mat(k, 75) + lmat(k, 75)
     862   309041954 :          mat(k, 76) = lmat(k, 76)
     863   309041954 :          mat(k, 77) = lmat(k, 77)
     864   309041954 :          mat(k, 78) = mat(k, 78) + lmat(k, 78)
     865   309041954 :          mat(k, 79) = lmat(k, 79)
     866   309041954 :          mat(k, 80) = mat(k, 80) + lmat(k, 80)
     867   309041954 :          mat(k, 82) = mat(k, 82) + lmat(k, 82)
     868   309041954 :          mat(k, 84) = mat(k, 84) + lmat(k, 84)
     869   309041954 :          mat(k, 85) = lmat(k, 85)
     870   309041954 :          mat(k, 86) = lmat(k, 86)
     871   309041954 :          mat(k, 87) = lmat(k, 87)
     872   309041954 :          mat(k, 88) = mat(k, 88) + lmat(k, 88)
     873   309041954 :          mat(k, 90) = lmat(k, 90)
     874   309041954 :          mat(k, 91) = mat(k, 91) + lmat(k, 91)
     875   309041954 :          mat(k, 92) = mat(k, 92) + lmat(k, 92)
     876   309041954 :          mat(k, 96) = mat(k, 96) + lmat(k, 96)
     877   309041954 :          mat(k, 101) = mat(k, 101) + lmat(k, 101)
     878   309041954 :          mat(k, 103) = mat(k, 103) + lmat(k, 103)
     879   309041954 :          mat(k, 112) = mat(k, 112) + lmat(k, 112)
     880   309041954 :          mat(k, 119) = mat(k, 119) + lmat(k, 119)
     881   309041954 :          mat(k, 124) = mat(k, 124) + lmat(k, 124)
     882   309041954 :          mat(k, 125) = mat(k, 125) + lmat(k, 125)
     883   309041954 :          mat(k, 128) = lmat(k, 128)
     884   309041954 :          mat(k, 134) = mat(k, 134) + lmat(k, 134)
     885   309041954 :          mat(k, 135) = lmat(k, 135)
     886   309041954 :          mat(k, 139) = mat(k, 139) + lmat(k, 139)
     887   309041954 :          mat(k, 143) = mat(k, 143) + lmat(k, 143)
     888   309041954 :          mat(k, 147) = mat(k, 147) + lmat(k, 147)
     889   309041954 :          mat(k, 148) = mat(k, 148) + lmat(k, 148)
     890   309041954 :          mat(k, 150) = mat(k, 150) + lmat(k, 150)
     891   309041954 :          mat(k, 151) = mat(k, 151) + lmat(k, 151)
     892   309041954 :          mat(k, 152) = mat(k, 152) + lmat(k, 152)
     893   309041954 :          mat(k, 159) = mat(k, 159) + lmat(k, 159)
     894   309041954 :          mat(k, 167) = lmat(k, 167)
     895   309041954 :          mat(k, 168) = lmat(k, 168)
     896   309041954 :          mat(k, 170) = mat(k, 170) + lmat(k, 170)
     897   309041954 :          mat(k, 171) = mat(k, 171) + lmat(k, 171)
     898   309041954 :          mat(k, 174) = lmat(k, 174)
     899   309041954 :          mat(k, 180) = mat(k, 180) + lmat(k, 180)
     900   309041954 :          mat(k, 181) = mat(k, 181) + lmat(k, 181)
     901   309041954 :          mat(k, 188) = mat(k, 188) + lmat(k, 188)
     902   309041954 :          mat(k, 196) = mat(k, 196) + lmat(k, 196)
     903   309041954 :          mat(k, 210) = mat(k, 210) + lmat(k, 210)
     904   309041954 :          mat(k, 220) = lmat(k, 220)
     905   309041954 :          mat(k, 223) = lmat(k, 223)
     906   309041954 :          mat(k, 225) = mat(k, 225) + lmat(k, 225)
     907   309041954 :          mat(k, 235) = mat(k, 235) + lmat(k, 235)
     908   309041954 :          mat(k, 236) = lmat(k, 236)
     909   309041954 :          mat(k, 238) = lmat(k, 238)
     910   309041954 :          mat(k, 242) = mat(k, 242) + lmat(k, 242)
     911   309041954 :          mat(k, 243) = mat(k, 243) + lmat(k, 243)
     912   309041954 :          mat(k, 244) = mat(k, 244) + lmat(k, 244)
     913   309041954 :          mat(k, 246) = mat(k, 246) + lmat(k, 246)
     914   309041954 :          mat(k, 248) = mat(k, 248) + lmat(k, 248)
     915   309041954 :          mat(k, 249) = mat(k, 249) + lmat(k, 249)
     916   309041954 :          mat(k, 250) = lmat(k, 250)
     917   309041954 :          mat(k, 255) = mat(k, 255) + lmat(k, 255)
     918   309041954 :          mat(k, 259) = lmat(k, 259)
     919   309041954 :          mat(k, 260) = mat(k, 260) + lmat(k, 260)
     920   309041954 :          mat(k, 264) = lmat(k, 264)
     921   309041954 :          mat(k, 266) = mat(k, 266) + lmat(k, 266)
     922   309041954 :          mat(k, 270) = mat(k, 270) + lmat(k, 270)
     923   309041954 :          mat(k, 280) = mat(k, 280) + lmat(k, 280)
     924   309041954 :          mat(k, 291) = mat(k, 291) + lmat(k, 291)
     925   309041954 :          mat(k, 308) = mat(k, 308) + lmat(k, 308)
     926   309041954 :          mat(k, 310) = mat(k, 310) + lmat(k, 310)
     927   309041954 :          mat(k, 316) = mat(k, 316) + lmat(k, 316)
     928   309041954 :          mat(k, 328) = mat(k, 328) + lmat(k, 328)
     929   309041954 :          mat(k, 345) = mat(k, 345) + lmat(k, 345)
     930   309041954 :          mat(k, 350) = mat(k, 350) + lmat(k, 350)
     931   309041954 :          mat(k, 352) = mat(k, 352) + lmat(k, 352)
     932   309041954 :          mat(k, 355) = mat(k, 355) + lmat(k, 355)
     933   309041954 :          mat(k, 359) = mat(k, 359) + lmat(k, 359)
     934   309041954 :          mat(k, 361) = mat(k, 361) + lmat(k, 361)
     935   309041954 :          mat(k, 376) = mat(k, 376) + lmat(k, 376)
     936   309041954 :          mat(k, 389) = mat(k, 389) + lmat(k, 389)
     937   309041954 :          mat(k, 393) = mat(k, 393) + lmat(k, 393)
     938   309041954 :          mat(k, 394) = mat(k, 394) + lmat(k, 394)
     939   309041954 :          mat(k, 405) = mat(k, 405) + lmat(k, 405)
     940   309041954 :          mat(k, 407) = lmat(k, 407)
     941   309041954 :          mat(k, 420) = mat(k, 420) + lmat(k, 420)
     942   309041954 :          mat(k, 448) = mat(k, 448) + lmat(k, 448)
     943   309041954 :          mat(k, 449) = mat(k, 449) + lmat(k, 449)
     944   309041954 :          mat(k, 450) = mat(k, 450) + lmat(k, 450)
     945   309041954 :          mat(k, 462) = mat(k, 462) + lmat(k, 462)
     946   309041954 :          mat(k, 468) = lmat(k, 468)
     947   309041954 :          mat(k, 469) = mat(k, 469) + lmat(k, 469)
     948   309041954 :          mat(k, 470) = lmat(k, 470)
     949   309041954 :          mat(k, 472) = mat(k, 472) + lmat(k, 472)
     950   309041954 :          mat(k, 475) = mat(k, 475) + lmat(k, 475)
     951   309041954 :          mat(k, 488) = lmat(k, 488)
     952   309041954 :          mat(k, 489) = mat(k, 489) + lmat(k, 489)
     953   309041954 :          mat(k, 494) = mat(k, 494) + lmat(k, 494)
     954   309041954 :          mat(k, 495) = mat(k, 495) + lmat(k, 495)
     955   309041954 :          mat(k, 496) = lmat(k, 496)
     956   309041954 :          mat(k, 504) = mat(k, 504) + lmat(k, 504)
     957   309041954 :          mat(k, 507) = mat(k, 507) + lmat(k, 507)
     958   309041954 :          mat(k, 508) = mat(k, 508) + lmat(k, 508)
     959   309041954 :          mat(k, 517) = mat(k, 517) + lmat(k, 517)
     960   309041954 :          mat(k, 519) = mat(k, 519) + lmat(k, 519)
     961   309041954 :          mat(k, 520) = mat(k, 520) + lmat(k, 520)
     962   309041954 :          mat(k, 523) = mat(k, 523) + lmat(k, 523)
     963   309041954 :          mat(k, 524) = mat(k, 524) + lmat(k, 524)
     964   309041954 :          mat(k, 526) = lmat(k, 526)
     965   309041954 :          mat(k, 528) = lmat(k, 528)
     966   309041954 :          mat(k, 529) = mat(k, 529) + lmat(k, 529)
     967   309041954 :          mat(k, 531) = mat(k, 531) + lmat(k, 531)
     968   309041954 :          mat(k, 532) = mat(k, 532) + lmat(k, 532)
     969   309041954 :          mat(k, 533) = mat(k, 533) + lmat(k, 533)
     970   309041954 :          mat(k, 534) = lmat(k, 534)
     971   309041954 :          mat(k, 537) = mat(k, 537) + lmat(k, 537)
     972   309041954 :          mat(k, 538) = lmat(k, 538)
     973   309041954 :          mat(k, 539) = mat(k, 539) + lmat(k, 539)
     974   309041954 :          mat(k, 542) = mat(k, 542) + lmat(k, 542)
     975   309041954 :          mat(k, 545) = mat(k, 545) + lmat(k, 545)
     976   309041954 :          mat(k, 556) = mat(k, 556) + lmat(k, 556)
     977   309041954 :          mat(k, 561) = lmat(k, 561)
     978   309041954 :          mat(k, 564) = mat(k, 564) + lmat(k, 564)
     979   309041954 :          mat(k, 573) = mat(k, 573) + lmat(k, 573)
     980   309041954 :          mat(k, 576) = mat(k, 576) + lmat(k, 576)
     981   309041954 :          mat(k, 577) = mat(k, 577) + lmat(k, 577)
     982   309041954 :          mat(k, 579) = mat(k, 579) + lmat(k, 579)
     983   309041954 :          mat(k, 593) = mat(k, 593) + lmat(k, 593)
     984   309041954 :          mat(k, 601) = mat(k, 601) + lmat(k, 601)
     985   309041954 :          mat(k, 608) = mat(k, 608) + lmat(k, 608)
     986   309041954 :          mat(k, 609) = mat(k, 609) + lmat(k, 609)
     987   309041954 :          mat(k, 610) = mat(k, 610) + lmat(k, 610)
     988   309041954 :          mat(k, 614) = lmat(k, 614)
     989   309041954 :          mat(k, 615) = lmat(k, 615)
     990   309041954 :          mat(k, 633) = mat(k, 633) + lmat(k, 633)
     991   309041954 :          mat(k, 635) = mat(k, 635) + lmat(k, 635)
     992   309041954 :          mat(k, 637) = mat(k, 637) + lmat(k, 637)
     993   309041954 :          mat(k, 640) = mat(k, 640) + lmat(k, 640)
     994   309041954 :          mat(k, 646) = mat(k, 646) + lmat(k, 646)
     995   309041954 :          mat(k, 650) = mat(k, 650) + lmat(k, 650)
     996   309041954 :          mat(k, 651) = mat(k, 651) + lmat(k, 651)
     997   309041954 :          mat(k, 653) = lmat(k, 653)
     998   309041954 :          mat(k, 655) = mat(k, 655) + lmat(k, 655)
     999   309041954 :          mat(k, 661) = mat(k, 661) + lmat(k, 661)
    1000   309041954 :          mat(k, 670) = mat(k, 670) + lmat(k, 670)
    1001   309041954 :          mat(k, 692) = mat(k, 692) + lmat(k, 692)
    1002   309041954 :          mat(k, 703) = mat(k, 703) + lmat(k, 703)
    1003   309041954 :          mat(k, 708) = mat(k, 708) + lmat(k, 708)
    1004   309041954 :          mat(k, 719) = mat(k, 719) + lmat(k, 719)
    1005   309041954 :          mat(k, 728) = lmat(k, 728)
    1006   309041954 :          mat(k, 733) = lmat(k, 733)
    1007   309041954 :          mat(k, 737) = mat(k, 737) + lmat(k, 737)
    1008   309041954 :          mat(k, 741) = mat(k, 741) + lmat(k, 741)
    1009   309041954 :          mat(k, 743) = lmat(k, 743)
    1010   309041954 :          mat(k, 745) = mat(k, 745) + lmat(k, 745)
    1011   309041954 :          mat(k, 138) = 0._r8
    1012   309041954 :          mat(k, 162) = 0._r8
    1013   309041954 :          mat(k, 163) = 0._r8
    1014   309041954 :          mat(k, 172) = 0._r8
    1015   309041954 :          mat(k, 175) = 0._r8
    1016   309041954 :          mat(k, 176) = 0._r8
    1017   309041954 :          mat(k, 179) = 0._r8
    1018   309041954 :          mat(k, 183) = 0._r8
    1019   309041954 :          mat(k, 193) = 0._r8
    1020   309041954 :          mat(k, 199) = 0._r8
    1021   309041954 :          mat(k, 200) = 0._r8
    1022   309041954 :          mat(k, 202) = 0._r8
    1023   309041954 :          mat(k, 204) = 0._r8
    1024   309041954 :          mat(k, 205) = 0._r8
    1025   309041954 :          mat(k, 208) = 0._r8
    1026   309041954 :          mat(k, 209) = 0._r8
    1027   309041954 :          mat(k, 212) = 0._r8
    1028   309041954 :          mat(k, 213) = 0._r8
    1029   309041954 :          mat(k, 217) = 0._r8
    1030   309041954 :          mat(k, 221) = 0._r8
    1031   309041954 :          mat(k, 224) = 0._r8
    1032   309041954 :          mat(k, 227) = 0._r8
    1033   309041954 :          mat(k, 230) = 0._r8
    1034   309041954 :          mat(k, 240) = 0._r8
    1035   309041954 :          mat(k, 252) = 0._r8
    1036   309041954 :          mat(k, 256) = 0._r8
    1037   309041954 :          mat(k, 257) = 0._r8
    1038   309041954 :          mat(k, 261) = 0._r8
    1039   309041954 :          mat(k, 269) = 0._r8
    1040   309041954 :          mat(k, 279) = 0._r8
    1041   309041954 :          mat(k, 290) = 0._r8
    1042   309041954 :          mat(k, 293) = 0._r8
    1043   309041954 :          mat(k, 295) = 0._r8
    1044   309041954 :          mat(k, 298) = 0._r8
    1045   309041954 :          mat(k, 299) = 0._r8
    1046   309041954 :          mat(k, 301) = 0._r8
    1047   309041954 :          mat(k, 309) = 0._r8
    1048   309041954 :          mat(k, 311) = 0._r8
    1049   309041954 :          mat(k, 312) = 0._r8
    1050   309041954 :          mat(k, 313) = 0._r8
    1051   309041954 :          mat(k, 317) = 0._r8
    1052   309041954 :          mat(k, 319) = 0._r8
    1053   309041954 :          mat(k, 320) = 0._r8
    1054   309041954 :          mat(k, 321) = 0._r8
    1055   309041954 :          mat(k, 323) = 0._r8
    1056   309041954 :          mat(k, 324) = 0._r8
    1057   309041954 :          mat(k, 327) = 0._r8
    1058   309041954 :          mat(k, 330) = 0._r8
    1059   309041954 :          mat(k, 335) = 0._r8
    1060   309041954 :          mat(k, 337) = 0._r8
    1061   309041954 :          mat(k, 339) = 0._r8
    1062   309041954 :          mat(k, 340) = 0._r8
    1063   309041954 :          mat(k, 346) = 0._r8
    1064   309041954 :          mat(k, 347) = 0._r8
    1065   309041954 :          mat(k, 348) = 0._r8
    1066   309041954 :          mat(k, 349) = 0._r8
    1067   309041954 :          mat(k, 353) = 0._r8
    1068   309041954 :          mat(k, 354) = 0._r8
    1069   309041954 :          mat(k, 356) = 0._r8
    1070   309041954 :          mat(k, 358) = 0._r8
    1071   309041954 :          mat(k, 362) = 0._r8
    1072   309041954 :          mat(k, 363) = 0._r8
    1073   309041954 :          mat(k, 364) = 0._r8
    1074   309041954 :          mat(k, 381) = 0._r8
    1075   309041954 :          mat(k, 382) = 0._r8
    1076   309041954 :          mat(k, 399) = 0._r8
    1077   309041954 :          mat(k, 406) = 0._r8
    1078   309041954 :          mat(k, 410) = 0._r8
    1079   309041954 :          mat(k, 412) = 0._r8
    1080   309041954 :          mat(k, 417) = 0._r8
    1081   309041954 :          mat(k, 424) = 0._r8
    1082   309041954 :          mat(k, 432) = 0._r8
    1083   309041954 :          mat(k, 440) = 0._r8
    1084   309041954 :          mat(k, 442) = 0._r8
    1085   309041954 :          mat(k, 446) = 0._r8
    1086   309041954 :          mat(k, 452) = 0._r8
    1087   309041954 :          mat(k, 454) = 0._r8
    1088   309041954 :          mat(k, 458) = 0._r8
    1089   309041954 :          mat(k, 460) = 0._r8
    1090   309041954 :          mat(k, 466) = 0._r8
    1091   309041954 :          mat(k, 473) = 0._r8
    1092   309041954 :          mat(k, 477) = 0._r8
    1093   309041954 :          mat(k, 480) = 0._r8
    1094   309041954 :          mat(k, 482) = 0._r8
    1095   309041954 :          mat(k, 484) = 0._r8
    1096   309041954 :          mat(k, 485) = 0._r8
    1097   309041954 :          mat(k, 502) = 0._r8
    1098   309041954 :          mat(k, 505) = 0._r8
    1099   309041954 :          mat(k, 506) = 0._r8
    1100   309041954 :          mat(k, 509) = 0._r8
    1101   309041954 :          mat(k, 511) = 0._r8
    1102   309041954 :          mat(k, 512) = 0._r8
    1103   309041954 :          mat(k, 514) = 0._r8
    1104   309041954 :          mat(k, 515) = 0._r8
    1105   309041954 :          mat(k, 516) = 0._r8
    1106   309041954 :          mat(k, 522) = 0._r8
    1107   309041954 :          mat(k, 527) = 0._r8
    1108   309041954 :          mat(k, 536) = 0._r8
    1109   309041954 :          mat(k, 548) = 0._r8
    1110   309041954 :          mat(k, 552) = 0._r8
    1111   309041954 :          mat(k, 554) = 0._r8
    1112   309041954 :          mat(k, 555) = 0._r8
    1113   309041954 :          mat(k, 557) = 0._r8
    1114   309041954 :          mat(k, 558) = 0._r8
    1115   309041954 :          mat(k, 560) = 0._r8
    1116   309041954 :          mat(k, 562) = 0._r8
    1117   309041954 :          mat(k, 578) = 0._r8
    1118   309041954 :          mat(k, 583) = 0._r8
    1119   309041954 :          mat(k, 585) = 0._r8
    1120   309041954 :          mat(k, 589) = 0._r8
    1121   309041954 :          mat(k, 595) = 0._r8
    1122   309041954 :          mat(k, 596) = 0._r8
    1123   309041954 :          mat(k, 597) = 0._r8
    1124   309041954 :          mat(k, 598) = 0._r8
    1125   309041954 :          mat(k, 603) = 0._r8
    1126   309041954 :          mat(k, 605) = 0._r8
    1127   309041954 :          mat(k, 606) = 0._r8
    1128   309041954 :          mat(k, 611) = 0._r8
    1129   309041954 :          mat(k, 613) = 0._r8
    1130   309041954 :          mat(k, 624) = 0._r8
    1131   309041954 :          mat(k, 642) = 0._r8
    1132   309041954 :          mat(k, 654) = 0._r8
    1133   309041954 :          mat(k, 656) = 0._r8
    1134   309041954 :          mat(k, 665) = 0._r8
    1135   309041954 :          mat(k, 671) = 0._r8
    1136   309041954 :          mat(k, 673) = 0._r8
    1137   309041954 :          mat(k, 676) = 0._r8
    1138   309041954 :          mat(k, 679) = 0._r8
    1139   309041954 :          mat(k, 680) = 0._r8
    1140   309041954 :          mat(k, 681) = 0._r8
    1141   309041954 :          mat(k, 683) = 0._r8
    1142   309041954 :          mat(k, 685) = 0._r8
    1143   309041954 :          mat(k, 687) = 0._r8
    1144   309041954 :          mat(k, 688) = 0._r8
    1145   309041954 :          mat(k, 689) = 0._r8
    1146   309041954 :          mat(k, 691) = 0._r8
    1147   309041954 :          mat(k, 693) = 0._r8
    1148   309041954 :          mat(k, 700) = 0._r8
    1149   309041954 :          mat(k, 702) = 0._r8
    1150   309041954 :          mat(k, 704) = 0._r8
    1151   309041954 :          mat(k, 705) = 0._r8
    1152   309041954 :          mat(k, 706) = 0._r8
    1153   309041954 :          mat(k, 712) = 0._r8
    1154   309041954 :          mat(k, 713) = 0._r8
    1155   309041954 :          mat(k, 714) = 0._r8
    1156   309041954 :          mat(k, 718) = 0._r8
    1157   309041954 :          mat(k, 720) = 0._r8
    1158   309041954 :          mat(k, 725) = 0._r8
    1159   309041954 :          mat(k, 726) = 0._r8
    1160   309041954 :          mat(k, 727) = 0._r8
    1161   309041954 :          mat(k, 729) = 0._r8
    1162   309041954 :          mat(k, 730) = 0._r8
    1163   309041954 :          mat(k, 731) = 0._r8
    1164   309041954 :          mat(k, 732) = 0._r8
    1165   309041954 :          mat(k, 734) = 0._r8
    1166   309041954 :          mat(k, 735) = 0._r8
    1167   309041954 :          mat(k, 736) = 0._r8
    1168   309041954 :          mat(k, 738) = 0._r8
    1169   309041954 :          mat(k, 739) = 0._r8
    1170   309041954 :          mat(k, 740) = 0._r8
    1171   309041954 :          mat(k, 742) = 0._r8
    1172   309041954 :          mat(k, 744) = 0._r8
    1173   309041954 :          mat(k, 1) = mat(k, 1) - dti(k)
    1174   309041954 :          mat(k, 2) = mat(k, 2) - dti(k)
    1175   309041954 :          mat(k, 5) = mat(k, 5) - dti(k)
    1176   309041954 :          mat(k, 8) = mat(k, 8) - dti(k)
    1177   309041954 :          mat(k, 11) = mat(k, 11) - dti(k)
    1178   309041954 :          mat(k, 14) = mat(k, 14) - dti(k)
    1179   309041954 :          mat(k, 16) = mat(k, 16) - dti(k)
    1180   309041954 :          mat(k, 18) = mat(k, 18) - dti(k)
    1181   309041954 :          mat(k, 22) = mat(k, 22) - dti(k)
    1182   309041954 :          mat(k, 25) = mat(k, 25) - dti(k)
    1183   309041954 :          mat(k, 29) = mat(k, 29) - dti(k)
    1184   309041954 :          mat(k, 33) = mat(k, 33) - dti(k)
    1185   309041954 :          mat(k, 39) = mat(k, 39) - dti(k)
    1186   309041954 :          mat(k, 45) = mat(k, 45) - dti(k)
    1187   309041954 :          mat(k, 50) = mat(k, 50) - dti(k)
    1188   309041954 :          mat(k, 58) = mat(k, 58) - dti(k)
    1189   309041954 :          mat(k, 64) = mat(k, 64) - dti(k)
    1190   309041954 :          mat(k, 71) = mat(k, 71) - dti(k)
    1191   309041954 :          mat(k, 78) = mat(k, 78) - dti(k)
    1192   309041954 :          mat(k, 84) = mat(k, 84) - dti(k)
    1193   309041954 :          mat(k, 92) = mat(k, 92) - dti(k)
    1194   309041954 :          mat(k, 96) = mat(k, 96) - dti(k)
    1195   309041954 :          mat(k, 103) = mat(k, 103) - dti(k)
    1196   309041954 :          mat(k, 112) = mat(k, 112) - dti(k)
    1197   309041954 :          mat(k, 119) = mat(k, 119) - dti(k)
    1198   309041954 :          mat(k, 125) = mat(k, 125) - dti(k)
    1199   309041954 :          mat(k, 134) = mat(k, 134) - dti(k)
    1200   309041954 :          mat(k, 143) = mat(k, 143) - dti(k)
    1201   309041954 :          mat(k, 150) = mat(k, 150) - dti(k)
    1202   309041954 :          mat(k, 159) = mat(k, 159) - dti(k)
    1203   309041954 :          mat(k, 170) = mat(k, 170) - dti(k)
    1204   309041954 :          mat(k, 181) = mat(k, 181) - dti(k)
    1205   309041954 :          mat(k, 196) = mat(k, 196) - dti(k)
    1206   309041954 :          mat(k, 210) = mat(k, 210) - dti(k)
    1207   309041954 :          mat(k, 225) = mat(k, 225) - dti(k)
    1208   309041954 :          mat(k, 235) = mat(k, 235) - dti(k)
    1209   309041954 :          mat(k, 243) = mat(k, 243) - dti(k)
    1210   309041954 :          mat(k, 255) = mat(k, 255) - dti(k)
    1211   309041954 :          mat(k, 266) = mat(k, 266) - dti(k)
    1212   309041954 :          mat(k, 280) = mat(k, 280) - dti(k)
    1213   309041954 :          mat(k, 291) = mat(k, 291) - dti(k)
    1214   309041954 :          mat(k, 310) = mat(k, 310) - dti(k)
    1215   309041954 :          mat(k, 328) = mat(k, 328) - dti(k)
    1216   309041954 :          mat(k, 350) = mat(k, 350) - dti(k)
    1217   309041954 :          mat(k, 376) = mat(k, 376) - dti(k)
    1218   309041954 :          mat(k, 420) = mat(k, 420) - dti(k)
    1219   309041954 :          mat(k, 449) = mat(k, 449) - dti(k)
    1220   309041954 :          mat(k, 475) = mat(k, 475) - dti(k)
    1221   309041954 :          mat(k, 507) = mat(k, 507) - dti(k)
    1222   309041954 :          mat(k, 533) = mat(k, 533) - dti(k)
    1223   309041954 :          mat(k, 556) = mat(k, 556) - dti(k)
    1224   309041954 :          mat(k, 579) = mat(k, 579) - dti(k)
    1225   309041954 :          mat(k, 608) = mat(k, 608) - dti(k)
    1226   309041954 :          mat(k, 646) = mat(k, 646) - dti(k)
    1227   309041954 :          mat(k, 670) = mat(k, 670) - dti(k)
    1228   309041954 :          mat(k, 692) = mat(k, 692) - dti(k)
    1229   309041954 :          mat(k, 719) = mat(k, 719) - dti(k)
    1230   318792954 :          mat(k, 745) = mat(k, 745) - dti(k)
    1231             :       end do
    1232     9751000 :       end subroutine nlnmat_finit
    1233     9751000 :       subroutine nlnmat( avec_len, mat, y, rxt, lmat, dti )
    1234             :       use chem_mods, only : gas_pcnst, rxntot, nzcnt
    1235             :       implicit none
    1236             : !----------------------------------------------
    1237             : ! ... dummy arguments
    1238             : !----------------------------------------------
    1239             :       integer, intent(in) :: avec_len
    1240             :       real(r8), intent(in) :: dti(veclen)
    1241             :       real(r8), intent(in) :: lmat(veclen,nzcnt)
    1242             :       real(r8), intent(in) :: y(veclen,gas_pcnst)
    1243             :       real(r8), intent(in) :: rxt(veclen,rxntot)
    1244             :       real(r8), intent(inout) :: mat(veclen,nzcnt)
    1245     9751000 :       call nlnmat01( avec_len, mat, y, rxt )
    1246     9751000 :       call nlnmat02( avec_len, mat, y, rxt )
    1247     9751000 :       call nlnmat03( avec_len, mat, y, rxt )
    1248     9751000 :       call nlnmat04( avec_len, mat, y, rxt )
    1249     9751000 :       call nlnmat_finit( avec_len, mat, lmat, dti )
    1250     9751000 :       end subroutine nlnmat
    1251             :       end module mo_nln_matrix

Generated by: LCOV version 1.14