LCOV - code coverage report
Current view: top level - chemistry/pp_trop_strat_mam5_ts2 - mo_lu_solve.F90 (source / functions) Hit Total Coverage
Test: coverage.info Lines: 4210 4210 100.0 %
Date: 2025-03-14 01:18:36 Functions: 21 21 100.0 %

          Line data    Source code
       1             :       module mo_lu_solve
       2             :       use chem_mods, only: veclen
       3             :       private
       4             :       public :: lu_slv
       5             :       contains
       6     8168963 :       subroutine lu_slv01( avec_len, lu, b )
       7             :       use shr_kind_mod, only : r8 => shr_kind_r8
       8             :       use chem_mods, only : clscnt4, nzcnt
       9             :       implicit none
      10             : !-----------------------------------------------------------------------
      11             : ! ... Dummy args
      12             : !-----------------------------------------------------------------------
      13             :       integer, intent(in) :: avec_len
      14             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
      15             :       real(r8), intent(inout) :: b(veclen,clscnt4)
      16             : !-----------------------------------------------------------------------
      17             : ! ... Local variables
      18             : !-----------------------------------------------------------------------
      19             :       integer :: k
      20             : !-----------------------------------------------------------------------
      21             : ! ... solve L * y = b
      22             : !-----------------------------------------------------------------------
      23   263009123 :       do k = 1,avec_len
      24   254840160 :          b(k,310) = b(k,310) - lu(k,115) * b(k,58)
      25   254840160 :          b(k,315) = b(k,315) - lu(k,116) * b(k,58)
      26   254840160 :          b(k,316) = b(k,316) - lu(k,118) * b(k,59)
      27   254840160 :          b(k,317) = b(k,317) - lu(k,119) * b(k,59)
      28   254840160 :          b(k,314) = b(k,314) - lu(k,121) * b(k,60)
      29   254840160 :          b(k,315) = b(k,315) - lu(k,122) * b(k,60)
      30   254840160 :          b(k,307) = b(k,307) - lu(k,124) * b(k,61)
      31   254840160 :          b(k,316) = b(k,316) - lu(k,125) * b(k,61)
      32   254840160 :          b(k,90) = b(k,90) - lu(k,127) * b(k,62)
      33   254840160 :          b(k,276) = b(k,276) - lu(k,128) * b(k,62)
      34   254840160 :          b(k,314) = b(k,314) - lu(k,129) * b(k,62)
      35   254840160 :          b(k,198) = b(k,198) - lu(k,131) * b(k,63)
      36   254840160 :          b(k,316) = b(k,316) - lu(k,132) * b(k,63)
      37   254840160 :          b(k,317) = b(k,317) - lu(k,133) * b(k,63)
      38   254840160 :          b(k,92) = b(k,92) - lu(k,135) * b(k,64)
      39   254840160 :          b(k,314) = b(k,314) - lu(k,136) * b(k,64)
      40   254840160 :          b(k,315) = b(k,315) - lu(k,137) * b(k,64)
      41   254840160 :          b(k,90) = b(k,90) - lu(k,139) * b(k,65)
      42   254840160 :          b(k,314) = b(k,314) - lu(k,140) * b(k,65)
      43   254840160 :          b(k,315) = b(k,315) - lu(k,141) * b(k,65)
      44   254840160 :          b(k,90) = b(k,90) - lu(k,143) * b(k,66)
      45   254840160 :          b(k,314) = b(k,314) - lu(k,144) * b(k,66)
      46   254840160 :          b(k,315) = b(k,315) - lu(k,145) * b(k,66)
      47   254840160 :          b(k,315) = b(k,315) - lu(k,147) * b(k,67)
      48   254840160 :          b(k,316) = b(k,316) - lu(k,148) * b(k,67)
      49   254840160 :          b(k,317) = b(k,317) - lu(k,149) * b(k,67)
      50   254840160 :          b(k,101) = b(k,101) - lu(k,151) * b(k,68)
      51   254840160 :          b(k,316) = b(k,316) - lu(k,152) * b(k,68)
      52   254840160 :          b(k,98) = b(k,98) - lu(k,154) * b(k,69)
      53   254840160 :          b(k,317) = b(k,317) - lu(k,155) * b(k,69)
      54   254840160 :          b(k,144) = b(k,144) - lu(k,157) * b(k,70)
      55   254840160 :          b(k,312) = b(k,312) - lu(k,158) * b(k,70)
      56   254840160 :          b(k,90) = b(k,90) - lu(k,160) * b(k,71)
      57   254840160 :          b(k,276) = b(k,276) - lu(k,161) * b(k,71)
      58   254840160 :          b(k,314) = b(k,314) - lu(k,162) * b(k,71)
      59   254840160 :          b(k,315) = b(k,315) - lu(k,163) * b(k,71)
      60   254840160 :          b(k,90) = b(k,90) - lu(k,165) * b(k,72)
      61   254840160 :          b(k,217) = b(k,217) - lu(k,166) * b(k,72)
      62   254840160 :          b(k,276) = b(k,276) - lu(k,167) * b(k,72)
      63   254840160 :          b(k,314) = b(k,314) - lu(k,168) * b(k,72)
      64   254840160 :          b(k,90) = b(k,90) - lu(k,170) * b(k,73)
      65   254840160 :          b(k,92) = b(k,92) - lu(k,171) * b(k,73)
      66   254840160 :          b(k,314) = b(k,314) - lu(k,172) * b(k,73)
      67   254840160 :          b(k,315) = b(k,315) - lu(k,173) * b(k,73)
      68   254840160 :          b(k,90) = b(k,90) - lu(k,175) * b(k,74)
      69   254840160 :          b(k,217) = b(k,217) - lu(k,176) * b(k,74)
      70   254840160 :          b(k,314) = b(k,314) - lu(k,177) * b(k,74)
      71   254840160 :          b(k,315) = b(k,315) - lu(k,178) * b(k,74)
      72   254840160 :          b(k,315) = b(k,315) - lu(k,180) * b(k,75)
      73   254840160 :          b(k,77) = b(k,77) - lu(k,183) * b(k,76)
      74   254840160 :          b(k,78) = b(k,78) - lu(k,184) * b(k,76)
      75   254840160 :          b(k,139) = b(k,139) - lu(k,185) * b(k,76)
      76   254840160 :          b(k,307) = b(k,307) - lu(k,186) * b(k,76)
      77   254840160 :          b(k,316) = b(k,316) - lu(k,187) * b(k,76)
      78   254840160 :          b(k,132) = b(k,132) - lu(k,189) * b(k,77)
      79   254840160 :          b(k,271) = b(k,271) - lu(k,190) * b(k,77)
      80   254840160 :          b(k,307) = b(k,307) - lu(k,191) * b(k,77)
      81   254840160 :          b(k,130) = b(k,130) - lu(k,193) * b(k,78)
      82   254840160 :          b(k,135) = b(k,135) - lu(k,194) * b(k,78)
      83   254840160 :          b(k,307) = b(k,307) - lu(k,195) * b(k,78)
      84   254840160 :          b(k,316) = b(k,316) - lu(k,196) * b(k,78)
      85   254840160 :          b(k,307) = b(k,307) - lu(k,198) * b(k,79)
      86   254840160 :          b(k,314) = b(k,314) - lu(k,199) * b(k,79)
      87   254840160 :          b(k,316) = b(k,316) - lu(k,200) * b(k,79)
      88   254840160 :          b(k,303) = b(k,303) - lu(k,202) * b(k,80)
      89   254840160 :          b(k,314) = b(k,314) - lu(k,203) * b(k,80)
      90   254840160 :          b(k,211) = b(k,211) - lu(k,205) * b(k,81)
      91   254840160 :          b(k,316) = b(k,316) - lu(k,206) * b(k,81)
      92   254840160 :          b(k,302) = b(k,302) - lu(k,208) * b(k,82)
      93   254840160 :          b(k,312) = b(k,312) - lu(k,209) * b(k,82)
      94   254840160 :          b(k,84) = b(k,84) - lu(k,212) * b(k,83)
      95   254840160 :          b(k,85) = b(k,85) - lu(k,213) * b(k,83)
      96   254840160 :          b(k,127) = b(k,127) - lu(k,214) * b(k,83)
      97   254840160 :          b(k,181) = b(k,181) - lu(k,215) * b(k,83)
      98   254840160 :          b(k,307) = b(k,307) - lu(k,216) * b(k,83)
      99   254840160 :          b(k,316) = b(k,316) - lu(k,217) * b(k,83)
     100   254840160 :          b(k,130) = b(k,130) - lu(k,219) * b(k,84)
     101   254840160 :          b(k,135) = b(k,135) - lu(k,220) * b(k,84)
     102   254840160 :          b(k,307) = b(k,307) - lu(k,221) * b(k,84)
     103   254840160 :          b(k,316) = b(k,316) - lu(k,222) * b(k,84)
     104   254840160 :          b(k,271) = b(k,271) - lu(k,224) * b(k,85)
     105   254840160 :          b(k,300) = b(k,300) - lu(k,225) * b(k,85)
     106   254840160 :          b(k,307) = b(k,307) - lu(k,226) * b(k,85)
     107   254840160 :          b(k,87) = b(k,87) - lu(k,230) * b(k,86)
     108   254840160 :          b(k,127) = b(k,127) - lu(k,231) * b(k,86)
     109   254840160 :          b(k,183) = b(k,183) - lu(k,232) * b(k,86)
     110   254840160 :          b(k,271) = b(k,271) - lu(k,233) * b(k,86)
     111   254840160 :          b(k,300) = b(k,300) - lu(k,234) * b(k,86)
     112   254840160 :          b(k,307) = b(k,307) - lu(k,235) * b(k,86)
     113   254840160 :          b(k,316) = b(k,316) - lu(k,236) * b(k,86)
     114   254840160 :          b(k,135) = b(k,135) - lu(k,238) * b(k,87)
     115   254840160 :          b(k,142) = b(k,142) - lu(k,239) * b(k,87)
     116   254840160 :          b(k,307) = b(k,307) - lu(k,240) * b(k,87)
     117   254840160 :          b(k,316) = b(k,316) - lu(k,241) * b(k,87)
     118   254840160 :          b(k,276) = b(k,276) - lu(k,243) * b(k,88)
     119   254840160 :          b(k,315) = b(k,315) - lu(k,244) * b(k,88)
     120   254840160 :          b(k,144) = b(k,144) - lu(k,246) * b(k,89)
     121   254840160 :          b(k,316) = b(k,316) - lu(k,247) * b(k,89)
     122   254840160 :          b(k,217) = b(k,217) - lu(k,249) * b(k,90)
     123   254840160 :          b(k,314) = b(k,314) - lu(k,250) * b(k,90)
     124   254840160 :          b(k,92) = b(k,92) - lu(k,252) * b(k,91)
     125   254840160 :          b(k,314) = b(k,314) - lu(k,253) * b(k,91)
     126   254840160 :          b(k,315) = b(k,315) - lu(k,254) * b(k,91)
     127   254840160 :          b(k,316) = b(k,316) - lu(k,255) * b(k,91)
     128   254840160 :          b(k,217) = b(k,217) - lu(k,257) * b(k,92)
     129   254840160 :          b(k,314) = b(k,314) - lu(k,258) * b(k,92)
     130   254840160 :          b(k,315) = b(k,315) - lu(k,259) * b(k,92)
     131   254840160 :          b(k,217) = b(k,217) - lu(k,262) * b(k,93)
     132   254840160 :          b(k,314) = b(k,314) - lu(k,263) * b(k,93)
     133   254840160 :          b(k,315) = b(k,315) - lu(k,264) * b(k,93)
     134   254840160 :          b(k,316) = b(k,316) - lu(k,265) * b(k,93)
     135   254840160 :          b(k,262) = b(k,262) - lu(k,267) * b(k,94)
     136   254840160 :          b(k,267) = b(k,267) - lu(k,268) * b(k,94)
     137   254840160 :          b(k,256) = b(k,256) - lu(k,270) * b(k,95)
     138   254840160 :          b(k,267) = b(k,267) - lu(k,271) * b(k,95)
     139   254840160 :          b(k,261) = b(k,261) - lu(k,273) * b(k,96)
     140   254840160 :          b(k,268) = b(k,268) - lu(k,274) * b(k,96)
     141   254840160 :          b(k,257) = b(k,257) - lu(k,276) * b(k,97)
     142   254840160 :          b(k,268) = b(k,268) - lu(k,277) * b(k,97)
     143   254840160 :          b(k,216) = b(k,216) - lu(k,280) * b(k,98)
     144   254840160 :          b(k,305) = b(k,305) - lu(k,281) * b(k,98)
     145   254840160 :          b(k,317) = b(k,317) - lu(k,282) * b(k,98)
     146   254840160 :          b(k,230) = b(k,230) - lu(k,284) * b(k,99)
     147   254840160 :          b(k,307) = b(k,307) - lu(k,285) * b(k,99)
     148   254840160 :          b(k,316) = b(k,316) - lu(k,286) * b(k,99)
     149   254840160 :          b(k,135) = b(k,135) - lu(k,288) * b(k,100)
     150   254840160 :          b(k,164) = b(k,164) - lu(k,289) * b(k,100)
     151   254840160 :          b(k,316) = b(k,316) - lu(k,290) * b(k,100)
     152   254840160 :          b(k,254) = b(k,254) - lu(k,292) * b(k,101)
     153   254840160 :          b(k,306) = b(k,306) - lu(k,293) * b(k,101)
     154   254840160 :          b(k,307) = b(k,307) - lu(k,294) * b(k,101)
     155   254840160 :          b(k,302) = b(k,302) - lu(k,296) * b(k,102)
     156   254840160 :          b(k,303) = b(k,303) - lu(k,297) * b(k,102)
     157   254840160 :          b(k,305) = b(k,305) - lu(k,298) * b(k,102)
     158   254840160 :          b(k,311) = b(k,311) - lu(k,299) * b(k,102)
     159   254840160 :          b(k,312) = b(k,312) - lu(k,300) * b(k,102)
     160   254840160 :          b(k,184) = b(k,184) - lu(k,302) * b(k,103)
     161   254840160 :          b(k,307) = b(k,307) - lu(k,303) * b(k,103)
     162   254840160 :          b(k,216) = b(k,216) - lu(k,305) * b(k,104)
     163   254840160 :          b(k,302) = b(k,302) - lu(k,306) * b(k,104)
     164   254840160 :          b(k,307) = b(k,307) - lu(k,307) * b(k,104)
     165   254840160 :          b(k,311) = b(k,311) - lu(k,308) * b(k,104)
     166   254840160 :          b(k,316) = b(k,316) - lu(k,309) * b(k,104)
     167   254840160 :          b(k,227) = b(k,227) - lu(k,311) * b(k,105)
     168   254840160 :          b(k,235) = b(k,235) - lu(k,312) * b(k,105)
     169   254840160 :          b(k,271) = b(k,271) - lu(k,313) * b(k,105)
     170   254840160 :          b(k,307) = b(k,307) - lu(k,314) * b(k,105)
     171   254840160 :          b(k,316) = b(k,316) - lu(k,315) * b(k,105)
     172   254840160 :          b(k,225) = b(k,225) - lu(k,317) * b(k,106)
     173   254840160 :          b(k,304) = b(k,304) - lu(k,318) * b(k,106)
     174   254840160 :          b(k,315) = b(k,315) - lu(k,319) * b(k,106)
     175   254840160 :          b(k,316) = b(k,316) - lu(k,320) * b(k,106)
     176   254840160 :          b(k,317) = b(k,317) - lu(k,321) * b(k,106)
     177   254840160 :          b(k,217) = b(k,217) - lu(k,323) * b(k,107)
     178   254840160 :          b(k,301) = b(k,301) - lu(k,324) * b(k,107)
     179   254840160 :          b(k,217) = b(k,217) - lu(k,327) * b(k,108)
     180   254840160 :          b(k,314) = b(k,314) - lu(k,328) * b(k,108)
     181   254840160 :          b(k,315) = b(k,315) - lu(k,329) * b(k,108)
     182   254840160 :          b(k,316) = b(k,316) - lu(k,330) * b(k,108)
     183   254840160 :          b(k,317) = b(k,317) - lu(k,331) * b(k,108)
     184   254840160 :          b(k,169) = b(k,169) - lu(k,333) * b(k,109)
     185   254840160 :          b(k,230) = b(k,230) - lu(k,334) * b(k,109)
     186   254840160 :          b(k,300) = b(k,300) - lu(k,335) * b(k,109)
     187   254840160 :          b(k,316) = b(k,316) - lu(k,336) * b(k,109)
     188   254840160 :          b(k,266) = b(k,266) - lu(k,338) * b(k,110)
     189   254840160 :          b(k,271) = b(k,271) - lu(k,339) * b(k,110)
     190   254840160 :          b(k,300) = b(k,300) - lu(k,340) * b(k,110)
     191   254840160 :          b(k,307) = b(k,307) - lu(k,341) * b(k,110)
     192   254840160 :          b(k,216) = b(k,216) - lu(k,343) * b(k,111)
     193   254840160 :          b(k,246) = b(k,246) - lu(k,344) * b(k,111)
     194   254840160 :          b(k,305) = b(k,305) - lu(k,345) * b(k,111)
     195   254840160 :          b(k,310) = b(k,310) - lu(k,346) * b(k,111)
     196   254840160 :          b(k,130) = b(k,130) - lu(k,348) * b(k,112)
     197   254840160 :          b(k,235) = b(k,235) - lu(k,349) * b(k,112)
     198   254840160 :          b(k,307) = b(k,307) - lu(k,350) * b(k,112)
     199   254840160 :          b(k,316) = b(k,316) - lu(k,351) * b(k,112)
     200   254840160 :          b(k,127) = b(k,127) - lu(k,354) * b(k,113)
     201   254840160 :          b(k,144) = b(k,144) - lu(k,355) * b(k,113)
     202   254840160 :          b(k,307) = b(k,307) - lu(k,356) * b(k,113)
     203   254840160 :          b(k,316) = b(k,316) - lu(k,357) * b(k,113)
     204   254840160 :          b(k,225) = b(k,225) - lu(k,359) * b(k,114)
     205   254840160 :          b(k,230) = b(k,230) - lu(k,360) * b(k,114)
     206   254840160 :          b(k,307) = b(k,307) - lu(k,361) * b(k,114)
     207   254840160 :          b(k,316) = b(k,316) - lu(k,362) * b(k,114)
     208   254840160 :          b(k,247) = b(k,247) - lu(k,364) * b(k,115)
     209   254840160 :          b(k,296) = b(k,296) - lu(k,365) * b(k,115)
     210   254840160 :          b(k,297) = b(k,297) - lu(k,366) * b(k,115)
     211   254840160 :          b(k,316) = b(k,316) - lu(k,367) * b(k,115)
     212   254840160 :          b(k,247) = b(k,247) - lu(k,369) * b(k,116)
     213   254840160 :          b(k,295) = b(k,295) - lu(k,370) * b(k,116)
     214   254840160 :          b(k,298) = b(k,298) - lu(k,371) * b(k,116)
     215   254840160 :          b(k,316) = b(k,316) - lu(k,372) * b(k,116)
     216   254840160 :          b(k,161) = b(k,161) - lu(k,374) * b(k,117)
     217   254840160 :          b(k,307) = b(k,307) - lu(k,375) * b(k,117)
     218   254840160 :          b(k,316) = b(k,316) - lu(k,376) * b(k,117)
     219   254840160 :          b(k,152) = b(k,152) - lu(k,378) * b(k,118)
     220   254840160 :          b(k,230) = b(k,230) - lu(k,379) * b(k,118)
     221   254840160 :          b(k,280) = b(k,280) - lu(k,380) * b(k,118)
     222   254840160 :          b(k,306) = b(k,306) - lu(k,381) * b(k,118)
     223   254840160 :          b(k,311) = b(k,311) - lu(k,382) * b(k,118)
     224   254840160 :          b(k,312) = b(k,312) - lu(k,383) * b(k,118)
     225   263009123 :          b(k,316) = b(k,316) - lu(k,384) * b(k,118)
     226             :       end do
     227     8168963 :       end subroutine lu_slv01
     228     8168963 :       subroutine lu_slv02( avec_len, lu, b )
     229             :       use shr_kind_mod, only : r8 => shr_kind_r8
     230             :       use chem_mods, only : clscnt4, nzcnt
     231             :       implicit none
     232             : !-----------------------------------------------------------------------
     233             : ! ... Dummy args
     234             : !-----------------------------------------------------------------------
     235             :       integer, intent(in) :: avec_len
     236             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
     237             :       real(r8), intent(inout) :: b(veclen,clscnt4)
     238             : !-----------------------------------------------------------------------
     239             : ! ... Local variables
     240             : !-----------------------------------------------------------------------
     241             :       integer :: k
     242             : !-----------------------------------------------------------------------
     243             : ! ... solve L * y = b
     244             : !-----------------------------------------------------------------------
     245   263009123 :       do k = 1,avec_len
     246   254840160 :          b(k,143) = b(k,143) - lu(k,386) * b(k,119)
     247   254840160 :          b(k,216) = b(k,216) - lu(k,387) * b(k,119)
     248   254840160 :          b(k,246) = b(k,246) - lu(k,388) * b(k,119)
     249   254840160 :          b(k,271) = b(k,271) - lu(k,389) * b(k,119)
     250   254840160 :          b(k,301) = b(k,301) - lu(k,390) * b(k,119)
     251   254840160 :          b(k,305) = b(k,305) - lu(k,391) * b(k,119)
     252   254840160 :          b(k,316) = b(k,316) - lu(k,392) * b(k,119)
     253   254840160 :          b(k,271) = b(k,271) - lu(k,394) * b(k,120)
     254   254840160 :          b(k,304) = b(k,304) - lu(k,395) * b(k,120)
     255   254840160 :          b(k,307) = b(k,307) - lu(k,396) * b(k,120)
     256   254840160 :          b(k,308) = b(k,308) - lu(k,397) * b(k,120)
     257   254840160 :          b(k,315) = b(k,315) - lu(k,398) * b(k,120)
     258   254840160 :          b(k,316) = b(k,316) - lu(k,399) * b(k,120)
     259   254840160 :          b(k,317) = b(k,317) - lu(k,400) * b(k,120)
     260   254840160 :          b(k,188) = b(k,188) - lu(k,402) * b(k,121)
     261   254840160 :          b(k,271) = b(k,271) - lu(k,403) * b(k,121)
     262   254840160 :          b(k,307) = b(k,307) - lu(k,404) * b(k,121)
     263   254840160 :          b(k,224) = b(k,224) - lu(k,406) * b(k,122)
     264   254840160 :          b(k,300) = b(k,300) - lu(k,407) * b(k,122)
     265   254840160 :          b(k,306) = b(k,306) - lu(k,408) * b(k,122)
     266   254840160 :          b(k,316) = b(k,316) - lu(k,409) * b(k,122)
     267   254840160 :          b(k,317) = b(k,317) - lu(k,410) * b(k,122)
     268   254840160 :          b(k,198) = b(k,198) - lu(k,412) * b(k,123)
     269   254840160 :          b(k,280) = b(k,280) - lu(k,413) * b(k,123)
     270   254840160 :          b(k,307) = b(k,307) - lu(k,414) * b(k,123)
     271   254840160 :          b(k,316) = b(k,316) - lu(k,415) * b(k,123)
     272   254840160 :          b(k,317) = b(k,317) - lu(k,416) * b(k,123)
     273   254840160 :          b(k,132) = b(k,132) - lu(k,418) * b(k,124)
     274   254840160 :          b(k,139) = b(k,139) - lu(k,419) * b(k,124)
     275   254840160 :          b(k,235) = b(k,235) - lu(k,420) * b(k,124)
     276   254840160 :          b(k,307) = b(k,307) - lu(k,421) * b(k,124)
     277   254840160 :          b(k,316) = b(k,316) - lu(k,422) * b(k,124)
     278   254840160 :          b(k,220) = b(k,220) - lu(k,424) * b(k,125)
     279   254840160 :          b(k,271) = b(k,271) - lu(k,425) * b(k,125)
     280   254840160 :          b(k,299) = b(k,299) - lu(k,426) * b(k,125)
     281   254840160 :          b(k,312) = b(k,312) - lu(k,427) * b(k,125)
     282   254840160 :          b(k,316) = b(k,316) - lu(k,428) * b(k,125)
     283   254840160 :          b(k,142) = b(k,142) - lu(k,430) * b(k,126)
     284   254840160 :          b(k,235) = b(k,235) - lu(k,431) * b(k,126)
     285   254840160 :          b(k,266) = b(k,266) - lu(k,432) * b(k,126)
     286   254840160 :          b(k,307) = b(k,307) - lu(k,433) * b(k,126)
     287   254840160 :          b(k,316) = b(k,316) - lu(k,434) * b(k,126)
     288   254840160 :          b(k,144) = b(k,144) - lu(k,438) * b(k,127)
     289   254840160 :          b(k,303) = b(k,303) - lu(k,439) * b(k,127)
     290   254840160 :          b(k,307) = b(k,307) - lu(k,440) * b(k,127)
     291   254840160 :          b(k,312) = b(k,312) - lu(k,441) * b(k,127)
     292   254840160 :          b(k,316) = b(k,316) - lu(k,442) * b(k,127)
     293   254840160 :          b(k,307) = b(k,307) - lu(k,444) * b(k,128)
     294   254840160 :          b(k,311) = b(k,311) - lu(k,445) * b(k,128)
     295   254840160 :          b(k,312) = b(k,312) - lu(k,446) * b(k,128)
     296   254840160 :          b(k,316) = b(k,316) - lu(k,447) * b(k,128)
     297   254840160 :          b(k,317) = b(k,317) - lu(k,448) * b(k,128)
     298   254840160 :          b(k,301) = b(k,301) - lu(k,450) * b(k,129)
     299   254840160 :          b(k,306) = b(k,306) - lu(k,451) * b(k,129)
     300   254840160 :          b(k,308) = b(k,308) - lu(k,452) * b(k,129)
     301   254840160 :          b(k,316) = b(k,316) - lu(k,453) * b(k,129)
     302   254840160 :          b(k,317) = b(k,317) - lu(k,454) * b(k,129)
     303   254840160 :          b(k,235) = b(k,235) - lu(k,457) * b(k,130)
     304   254840160 :          b(k,303) = b(k,303) - lu(k,458) * b(k,130)
     305   254840160 :          b(k,307) = b(k,307) - lu(k,459) * b(k,130)
     306   254840160 :          b(k,312) = b(k,312) - lu(k,460) * b(k,130)
     307   254840160 :          b(k,316) = b(k,316) - lu(k,461) * b(k,130)
     308   254840160 :          b(k,276) = b(k,276) - lu(k,463) * b(k,131)
     309   254840160 :          b(k,304) = b(k,304) - lu(k,464) * b(k,131)
     310   254840160 :          b(k,314) = b(k,314) - lu(k,465) * b(k,131)
     311   254840160 :          b(k,315) = b(k,315) - lu(k,466) * b(k,131)
     312   254840160 :          b(k,316) = b(k,316) - lu(k,467) * b(k,131)
     313   254840160 :          b(k,180) = b(k,180) - lu(k,469) * b(k,132)
     314   254840160 :          b(k,307) = b(k,307) - lu(k,470) * b(k,132)
     315   254840160 :          b(k,196) = b(k,196) - lu(k,472) * b(k,133)
     316   254840160 :          b(k,292) = b(k,292) - lu(k,473) * b(k,133)
     317   254840160 :          b(k,307) = b(k,307) - lu(k,474) * b(k,133)
     318   254840160 :          b(k,316) = b(k,316) - lu(k,475) * b(k,133)
     319   254840160 :          b(k,301) = b(k,301) - lu(k,478) * b(k,134)
     320   254840160 :          b(k,303) = b(k,303) - lu(k,479) * b(k,134)
     321   254840160 :          b(k,305) = b(k,305) - lu(k,480) * b(k,134)
     322   254840160 :          b(k,312) = b(k,312) - lu(k,481) * b(k,134)
     323   254840160 :          b(k,314) = b(k,314) - lu(k,482) * b(k,134)
     324   254840160 :          b(k,316) = b(k,316) - lu(k,483) * b(k,134)
     325   254840160 :          b(k,164) = b(k,164) - lu(k,485) * b(k,135)
     326   254840160 :          b(k,312) = b(k,312) - lu(k,486) * b(k,135)
     327   254840160 :          b(k,313) = b(k,313) - lu(k,487) * b(k,135)
     328   254840160 :          b(k,185) = b(k,185) - lu(k,489) * b(k,136)
     329   254840160 :          b(k,239) = b(k,239) - lu(k,490) * b(k,136)
     330   254840160 :          b(k,270) = b(k,270) - lu(k,491) * b(k,136)
     331   254840160 :          b(k,271) = b(k,271) - lu(k,492) * b(k,136)
     332   254840160 :          b(k,307) = b(k,307) - lu(k,493) * b(k,136)
     333   254840160 :          b(k,316) = b(k,316) - lu(k,494) * b(k,136)
     334   254840160 :          b(k,276) = b(k,276) - lu(k,496) * b(k,137)
     335   254840160 :          b(k,304) = b(k,304) - lu(k,497) * b(k,137)
     336   254840160 :          b(k,314) = b(k,314) - lu(k,498) * b(k,137)
     337   254840160 :          b(k,315) = b(k,315) - lu(k,499) * b(k,137)
     338   254840160 :          b(k,316) = b(k,316) - lu(k,500) * b(k,137)
     339   254840160 :          b(k,317) = b(k,317) - lu(k,501) * b(k,137)
     340   254840160 :          b(k,185) = b(k,185) - lu(k,503) * b(k,138)
     341   254840160 :          b(k,227) = b(k,227) - lu(k,504) * b(k,138)
     342   254840160 :          b(k,249) = b(k,249) - lu(k,505) * b(k,138)
     343   254840160 :          b(k,266) = b(k,266) - lu(k,506) * b(k,138)
     344   254840160 :          b(k,302) = b(k,302) - lu(k,507) * b(k,138)
     345   254840160 :          b(k,306) = b(k,306) - lu(k,508) * b(k,138)
     346   254840160 :          b(k,307) = b(k,307) - lu(k,509) * b(k,138)
     347   254840160 :          b(k,312) = b(k,312) - lu(k,510) * b(k,138)
     348   254840160 :          b(k,316) = b(k,316) - lu(k,511) * b(k,138)
     349   254840160 :          b(k,180) = b(k,180) - lu(k,515) * b(k,139)
     350   254840160 :          b(k,235) = b(k,235) - lu(k,516) * b(k,139)
     351   254840160 :          b(k,303) = b(k,303) - lu(k,517) * b(k,139)
     352   254840160 :          b(k,307) = b(k,307) - lu(k,518) * b(k,139)
     353   254840160 :          b(k,312) = b(k,312) - lu(k,519) * b(k,139)
     354   254840160 :          b(k,316) = b(k,316) - lu(k,520) * b(k,139)
     355   254840160 :          b(k,185) = b(k,185) - lu(k,522) * b(k,140)
     356   254840160 :          b(k,233) = b(k,233) - lu(k,523) * b(k,140)
     357   254840160 :          b(k,269) = b(k,269) - lu(k,524) * b(k,140)
     358   254840160 :          b(k,271) = b(k,271) - lu(k,525) * b(k,140)
     359   254840160 :          b(k,307) = b(k,307) - lu(k,526) * b(k,140)
     360   254840160 :          b(k,316) = b(k,316) - lu(k,527) * b(k,140)
     361   254840160 :          b(k,248) = b(k,248) - lu(k,529) * b(k,141)
     362   254840160 :          b(k,258) = b(k,258) - lu(k,530) * b(k,141)
     363   254840160 :          b(k,271) = b(k,271) - lu(k,531) * b(k,141)
     364   254840160 :          b(k,311) = b(k,311) - lu(k,532) * b(k,141)
     365   254840160 :          b(k,312) = b(k,312) - lu(k,533) * b(k,141)
     366   254840160 :          b(k,316) = b(k,316) - lu(k,534) * b(k,141)
     367   254840160 :          b(k,235) = b(k,235) - lu(k,537) * b(k,142)
     368   254840160 :          b(k,266) = b(k,266) - lu(k,538) * b(k,142)
     369   254840160 :          b(k,303) = b(k,303) - lu(k,539) * b(k,142)
     370   254840160 :          b(k,307) = b(k,307) - lu(k,540) * b(k,142)
     371   254840160 :          b(k,312) = b(k,312) - lu(k,541) * b(k,142)
     372   254840160 :          b(k,316) = b(k,316) - lu(k,542) * b(k,142)
     373   254840160 :          b(k,246) = b(k,246) - lu(k,544) * b(k,143)
     374   254840160 :          b(k,301) = b(k,301) - lu(k,545) * b(k,143)
     375   254840160 :          b(k,305) = b(k,305) - lu(k,546) * b(k,143)
     376   254840160 :          b(k,313) = b(k,313) - lu(k,547) * b(k,143)
     377   254840160 :          b(k,316) = b(k,316) - lu(k,548) * b(k,143)
     378   254840160 :          b(k,164) = b(k,164) - lu(k,551) * b(k,144)
     379   254840160 :          b(k,303) = b(k,303) - lu(k,552) * b(k,144)
     380   254840160 :          b(k,307) = b(k,307) - lu(k,553) * b(k,144)
     381   254840160 :          b(k,312) = b(k,312) - lu(k,554) * b(k,144)
     382   254840160 :          b(k,316) = b(k,316) - lu(k,555) * b(k,144)
     383   254840160 :          b(k,169) = b(k,169) - lu(k,557) * b(k,145)
     384   254840160 :          b(k,225) = b(k,225) - lu(k,558) * b(k,145)
     385   254840160 :          b(k,300) = b(k,300) - lu(k,559) * b(k,145)
     386   254840160 :          b(k,316) = b(k,316) - lu(k,560) * b(k,145)
     387   254840160 :          b(k,195) = b(k,195) - lu(k,562) * b(k,146)
     388   254840160 :          b(k,276) = b(k,276) - lu(k,563) * b(k,146)
     389   254840160 :          b(k,302) = b(k,302) - lu(k,564) * b(k,146)
     390   254840160 :          b(k,305) = b(k,305) - lu(k,565) * b(k,146)
     391   254840160 :          b(k,309) = b(k,309) - lu(k,566) * b(k,146)
     392   254840160 :          b(k,311) = b(k,311) - lu(k,567) * b(k,146)
     393   254840160 :          b(k,312) = b(k,312) - lu(k,568) * b(k,146)
     394   254840160 :          b(k,247) = b(k,247) - lu(k,570) * b(k,147)
     395   254840160 :          b(k,300) = b(k,300) - lu(k,571) * b(k,147)
     396   254840160 :          b(k,306) = b(k,306) - lu(k,572) * b(k,147)
     397   254840160 :          b(k,308) = b(k,308) - lu(k,573) * b(k,147)
     398   254840160 :          b(k,311) = b(k,311) - lu(k,574) * b(k,147)
     399   254840160 :          b(k,312) = b(k,312) - lu(k,575) * b(k,147)
     400   254840160 :          b(k,316) = b(k,316) - lu(k,576) * b(k,147)
     401   254840160 :          b(k,189) = b(k,189) - lu(k,578) * b(k,148)
     402   254840160 :          b(k,230) = b(k,230) - lu(k,579) * b(k,148)
     403   254840160 :          b(k,258) = b(k,258) - lu(k,580) * b(k,148)
     404   254840160 :          b(k,306) = b(k,306) - lu(k,581) * b(k,148)
     405   254840160 :          b(k,307) = b(k,307) - lu(k,582) * b(k,148)
     406   254840160 :          b(k,316) = b(k,316) - lu(k,583) * b(k,148)
     407   254840160 :          b(k,317) = b(k,317) - lu(k,584) * b(k,148)
     408   254840160 :          b(k,179) = b(k,179) - lu(k,586) * b(k,149)
     409   254840160 :          b(k,227) = b(k,227) - lu(k,587) * b(k,149)
     410   254840160 :          b(k,271) = b(k,271) - lu(k,588) * b(k,149)
     411   254840160 :          b(k,306) = b(k,306) - lu(k,589) * b(k,149)
     412   254840160 :          b(k,307) = b(k,307) - lu(k,590) * b(k,149)
     413   254840160 :          b(k,313) = b(k,313) - lu(k,591) * b(k,149)
     414   254840160 :          b(k,316) = b(k,316) - lu(k,592) * b(k,149)
     415   254840160 :          b(k,200) = b(k,200) - lu(k,594) * b(k,150)
     416   254840160 :          b(k,241) = b(k,241) - lu(k,595) * b(k,150)
     417   254840160 :          b(k,269) = b(k,269) - lu(k,596) * b(k,150)
     418   254840160 :          b(k,306) = b(k,306) - lu(k,597) * b(k,150)
     419   254840160 :          b(k,307) = b(k,307) - lu(k,598) * b(k,150)
     420   254840160 :          b(k,312) = b(k,312) - lu(k,599) * b(k,150)
     421   254840160 :          b(k,316) = b(k,316) - lu(k,600) * b(k,150)
     422   254840160 :          b(k,255) = b(k,255) - lu(k,602) * b(k,151)
     423   254840160 :          b(k,307) = b(k,307) - lu(k,603) * b(k,151)
     424   254840160 :          b(k,316) = b(k,316) - lu(k,604) * b(k,151)
     425   254840160 :          b(k,193) = b(k,193) - lu(k,606) * b(k,152)
     426   254840160 :          b(k,230) = b(k,230) - lu(k,607) * b(k,152)
     427   254840160 :          b(k,280) = b(k,280) - lu(k,608) * b(k,152)
     428   254840160 :          b(k,303) = b(k,303) - lu(k,609) * b(k,152)
     429   254840160 :          b(k,306) = b(k,306) - lu(k,610) * b(k,152)
     430   254840160 :          b(k,307) = b(k,307) - lu(k,611) * b(k,152)
     431   254840160 :          b(k,312) = b(k,312) - lu(k,612) * b(k,152)
     432   254840160 :          b(k,155) = b(k,155) - lu(k,614) * b(k,153)
     433   254840160 :          b(k,185) = b(k,185) - lu(k,615) * b(k,153)
     434   254840160 :          b(k,227) = b(k,227) - lu(k,616) * b(k,153)
     435   254840160 :          b(k,240) = b(k,240) - lu(k,617) * b(k,153)
     436   254840160 :          b(k,247) = b(k,247) - lu(k,618) * b(k,153)
     437   254840160 :          b(k,266) = b(k,266) - lu(k,619) * b(k,153)
     438   254840160 :          b(k,270) = b(k,270) - lu(k,620) * b(k,153)
     439   254840160 :          b(k,271) = b(k,271) - lu(k,621) * b(k,153)
     440   254840160 :          b(k,300) = b(k,300) - lu(k,622) * b(k,153)
     441   254840160 :          b(k,307) = b(k,307) - lu(k,623) * b(k,153)
     442   254840160 :          b(k,308) = b(k,308) - lu(k,624) * b(k,153)
     443   254840160 :          b(k,316) = b(k,316) - lu(k,625) * b(k,153)
     444   254840160 :          b(k,155) = b(k,155) - lu(k,627) * b(k,154)
     445   254840160 :          b(k,185) = b(k,185) - lu(k,628) * b(k,154)
     446   254840160 :          b(k,187) = b(k,187) - lu(k,629) * b(k,154)
     447   254840160 :          b(k,243) = b(k,243) - lu(k,630) * b(k,154)
     448   254840160 :          b(k,247) = b(k,247) - lu(k,631) * b(k,154)
     449   254840160 :          b(k,266) = b(k,266) - lu(k,632) * b(k,154)
     450   254840160 :          b(k,269) = b(k,269) - lu(k,633) * b(k,154)
     451   254840160 :          b(k,271) = b(k,271) - lu(k,634) * b(k,154)
     452   254840160 :          b(k,300) = b(k,300) - lu(k,635) * b(k,154)
     453   254840160 :          b(k,307) = b(k,307) - lu(k,636) * b(k,154)
     454   254840160 :          b(k,308) = b(k,308) - lu(k,637) * b(k,154)
     455   263009123 :          b(k,316) = b(k,316) - lu(k,638) * b(k,154)
     456             :       end do
     457     8168963 :       end subroutine lu_slv02
     458     8168963 :       subroutine lu_slv03( avec_len, lu, b )
     459             :       use shr_kind_mod, only : r8 => shr_kind_r8
     460             :       use chem_mods, only : clscnt4, nzcnt
     461             :       implicit none
     462             : !-----------------------------------------------------------------------
     463             : ! ... Dummy args
     464             : !-----------------------------------------------------------------------
     465             :       integer, intent(in) :: avec_len
     466             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
     467             :       real(r8), intent(inout) :: b(veclen,clscnt4)
     468             : !-----------------------------------------------------------------------
     469             : ! ... Local variables
     470             : !-----------------------------------------------------------------------
     471             :       integer :: k
     472             : !-----------------------------------------------------------------------
     473             : ! ... solve L * y = b
     474             : !-----------------------------------------------------------------------
     475   263009123 :       do k = 1,avec_len
     476   254840160 :          b(k,187) = b(k,187) - lu(k,640) * b(k,155)
     477   254840160 :          b(k,266) = b(k,266) - lu(k,641) * b(k,155)
     478   254840160 :          b(k,271) = b(k,271) - lu(k,642) * b(k,155)
     479   254840160 :          b(k,306) = b(k,306) - lu(k,643) * b(k,155)
     480   254840160 :          b(k,307) = b(k,307) - lu(k,644) * b(k,155)
     481   254840160 :          b(k,316) = b(k,316) - lu(k,645) * b(k,155)
     482   254840160 :          b(k,276) = b(k,276) - lu(k,647) * b(k,156)
     483   254840160 :          b(k,304) = b(k,304) - lu(k,648) * b(k,156)
     484   254840160 :          b(k,307) = b(k,307) - lu(k,649) * b(k,156)
     485   254840160 :          b(k,308) = b(k,308) - lu(k,650) * b(k,156)
     486   254840160 :          b(k,314) = b(k,314) - lu(k,651) * b(k,156)
     487   254840160 :          b(k,315) = b(k,315) - lu(k,652) * b(k,156)
     488   254840160 :          b(k,316) = b(k,316) - lu(k,653) * b(k,156)
     489   254840160 :          b(k,317) = b(k,317) - lu(k,654) * b(k,156)
     490   254840160 :          b(k,247) = b(k,247) - lu(k,656) * b(k,157)
     491   254840160 :          b(k,271) = b(k,271) - lu(k,657) * b(k,157)
     492   254840160 :          b(k,280) = b(k,280) - lu(k,658) * b(k,157)
     493   254840160 :          b(k,297) = b(k,297) - lu(k,659) * b(k,157)
     494   254840160 :          b(k,306) = b(k,306) - lu(k,660) * b(k,157)
     495   254840160 :          b(k,307) = b(k,307) - lu(k,661) * b(k,157)
     496   254840160 :          b(k,312) = b(k,312) - lu(k,662) * b(k,157)
     497   254840160 :          b(k,316) = b(k,316) - lu(k,663) * b(k,157)
     498   254840160 :          b(k,247) = b(k,247) - lu(k,665) * b(k,158)
     499   254840160 :          b(k,271) = b(k,271) - lu(k,666) * b(k,158)
     500   254840160 :          b(k,298) = b(k,298) - lu(k,667) * b(k,158)
     501   254840160 :          b(k,300) = b(k,300) - lu(k,668) * b(k,158)
     502   254840160 :          b(k,306) = b(k,306) - lu(k,669) * b(k,158)
     503   254840160 :          b(k,307) = b(k,307) - lu(k,670) * b(k,158)
     504   254840160 :          b(k,312) = b(k,312) - lu(k,671) * b(k,158)
     505   254840160 :          b(k,316) = b(k,316) - lu(k,672) * b(k,158)
     506   254840160 :          b(k,210) = b(k,210) - lu(k,674) * b(k,159)
     507   254840160 :          b(k,241) = b(k,241) - lu(k,675) * b(k,159)
     508   254840160 :          b(k,270) = b(k,270) - lu(k,676) * b(k,159)
     509   254840160 :          b(k,302) = b(k,302) - lu(k,677) * b(k,159)
     510   254840160 :          b(k,306) = b(k,306) - lu(k,678) * b(k,159)
     511   254840160 :          b(k,307) = b(k,307) - lu(k,679) * b(k,159)
     512   254840160 :          b(k,312) = b(k,312) - lu(k,680) * b(k,159)
     513   254840160 :          b(k,316) = b(k,316) - lu(k,681) * b(k,159)
     514   254840160 :          b(k,214) = b(k,214) - lu(k,683) * b(k,160)
     515   254840160 :          b(k,252) = b(k,252) - lu(k,684) * b(k,160)
     516   254840160 :          b(k,293) = b(k,293) - lu(k,685) * b(k,160)
     517   254840160 :          b(k,307) = b(k,307) - lu(k,686) * b(k,160)
     518   254840160 :          b(k,312) = b(k,312) - lu(k,687) * b(k,160)
     519   254840160 :          b(k,316) = b(k,316) - lu(k,688) * b(k,160)
     520   254840160 :          b(k,284) = b(k,284) - lu(k,690) * b(k,161)
     521   254840160 :          b(k,307) = b(k,307) - lu(k,691) * b(k,161)
     522   254840160 :          b(k,316) = b(k,316) - lu(k,692) * b(k,161)
     523   254840160 :          b(k,213) = b(k,213) - lu(k,694) * b(k,162)
     524   254840160 :          b(k,227) = b(k,227) - lu(k,695) * b(k,162)
     525   254840160 :          b(k,303) = b(k,303) - lu(k,696) * b(k,162)
     526   254840160 :          b(k,306) = b(k,306) - lu(k,697) * b(k,162)
     527   254840160 :          b(k,307) = b(k,307) - lu(k,698) * b(k,162)
     528   254840160 :          b(k,312) = b(k,312) - lu(k,699) * b(k,162)
     529   254840160 :          b(k,316) = b(k,316) - lu(k,700) * b(k,162)
     530   254840160 :          b(k,317) = b(k,317) - lu(k,701) * b(k,162)
     531   254840160 :          b(k,247) = b(k,247) - lu(k,703) * b(k,163)
     532   254840160 :          b(k,300) = b(k,300) - lu(k,704) * b(k,163)
     533   254840160 :          b(k,306) = b(k,306) - lu(k,705) * b(k,163)
     534   254840160 :          b(k,308) = b(k,308) - lu(k,706) * b(k,163)
     535   254840160 :          b(k,316) = b(k,316) - lu(k,707) * b(k,163)
     536   254840160 :          b(k,317) = b(k,317) - lu(k,708) * b(k,163)
     537   254840160 :          b(k,303) = b(k,303) - lu(k,712) * b(k,164)
     538   254840160 :          b(k,307) = b(k,307) - lu(k,713) * b(k,164)
     539   254840160 :          b(k,312) = b(k,312) - lu(k,714) * b(k,164)
     540   254840160 :          b(k,313) = b(k,313) - lu(k,715) * b(k,164)
     541   254840160 :          b(k,316) = b(k,316) - lu(k,716) * b(k,164)
     542   254840160 :          b(k,169) = b(k,169) - lu(k,719) * b(k,165)
     543   254840160 :          b(k,211) = b(k,211) - lu(k,720) * b(k,165)
     544   254840160 :          b(k,225) = b(k,225) - lu(k,721) * b(k,165)
     545   254840160 :          b(k,230) = b(k,230) - lu(k,722) * b(k,165)
     546   254840160 :          b(k,280) = b(k,280) - lu(k,723) * b(k,165)
     547   254840160 :          b(k,300) = b(k,300) - lu(k,724) * b(k,165)
     548   254840160 :          b(k,306) = b(k,306) - lu(k,725) * b(k,165)
     549   254840160 :          b(k,307) = b(k,307) - lu(k,726) * b(k,165)
     550   254840160 :          b(k,316) = b(k,316) - lu(k,727) * b(k,165)
     551   254840160 :          b(k,218) = b(k,218) - lu(k,729) * b(k,166)
     552   254840160 :          b(k,231) = b(k,231) - lu(k,730) * b(k,166)
     553   254840160 :          b(k,269) = b(k,269) - lu(k,731) * b(k,166)
     554   254840160 :          b(k,270) = b(k,270) - lu(k,732) * b(k,166)
     555   254840160 :          b(k,274) = b(k,274) - lu(k,733) * b(k,166)
     556   254840160 :          b(k,306) = b(k,306) - lu(k,734) * b(k,166)
     557   254840160 :          b(k,307) = b(k,307) - lu(k,735) * b(k,166)
     558   254840160 :          b(k,312) = b(k,312) - lu(k,736) * b(k,166)
     559   254840160 :          b(k,316) = b(k,316) - lu(k,737) * b(k,166)
     560   254840160 :          b(k,180) = b(k,180) - lu(k,742) * b(k,167)
     561   254840160 :          b(k,181) = b(k,181) - lu(k,743) * b(k,167)
     562   254840160 :          b(k,184) = b(k,184) - lu(k,744) * b(k,167)
     563   254840160 :          b(k,188) = b(k,188) - lu(k,745) * b(k,167)
     564   254840160 :          b(k,235) = b(k,235) - lu(k,746) * b(k,167)
     565   254840160 :          b(k,266) = b(k,266) - lu(k,747) * b(k,167)
     566   254840160 :          b(k,271) = b(k,271) - lu(k,748) * b(k,167)
     567   254840160 :          b(k,307) = b(k,307) - lu(k,749) * b(k,167)
     568   254840160 :          b(k,316) = b(k,316) - lu(k,750) * b(k,167)
     569   254840160 :          b(k,169) = b(k,169) - lu(k,753) * b(k,168)
     570   254840160 :          b(k,225) = b(k,225) - lu(k,754) * b(k,168)
     571   254840160 :          b(k,230) = b(k,230) - lu(k,755) * b(k,168)
     572   254840160 :          b(k,280) = b(k,280) - lu(k,756) * b(k,168)
     573   254840160 :          b(k,300) = b(k,300) - lu(k,757) * b(k,168)
     574   254840160 :          b(k,306) = b(k,306) - lu(k,758) * b(k,168)
     575   254840160 :          b(k,307) = b(k,307) - lu(k,759) * b(k,168)
     576   254840160 :          b(k,312) = b(k,312) - lu(k,760) * b(k,168)
     577   254840160 :          b(k,316) = b(k,316) - lu(k,761) * b(k,168)
     578   254840160 :          b(k,230) = b(k,230) - lu(k,764) * b(k,169)
     579   254840160 :          b(k,300) = b(k,300) - lu(k,765) * b(k,169)
     580   254840160 :          b(k,303) = b(k,303) - lu(k,766) * b(k,169)
     581   254840160 :          b(k,307) = b(k,307) - lu(k,767) * b(k,169)
     582   254840160 :          b(k,312) = b(k,312) - lu(k,768) * b(k,169)
     583   254840160 :          b(k,316) = b(k,316) - lu(k,769) * b(k,169)
     584   254840160 :          b(k,235) = b(k,235) - lu(k,771) * b(k,170)
     585   254840160 :          b(k,254) = b(k,254) - lu(k,772) * b(k,170)
     586   254840160 :          b(k,258) = b(k,258) - lu(k,773) * b(k,170)
     587   254840160 :          b(k,266) = b(k,266) - lu(k,774) * b(k,170)
     588   254840160 :          b(k,271) = b(k,271) - lu(k,775) * b(k,170)
     589   254840160 :          b(k,307) = b(k,307) - lu(k,776) * b(k,170)
     590   254840160 :          b(k,316) = b(k,316) - lu(k,777) * b(k,170)
     591   254840160 :          b(k,247) = b(k,247) - lu(k,779) * b(k,171)
     592   254840160 :          b(k,294) = b(k,294) - lu(k,780) * b(k,171)
     593   254840160 :          b(k,299) = b(k,299) - lu(k,781) * b(k,171)
     594   254840160 :          b(k,316) = b(k,316) - lu(k,782) * b(k,171)
     595   254840160 :          b(k,197) = b(k,197) - lu(k,784) * b(k,172)
     596   254840160 :          b(k,253) = b(k,253) - lu(k,785) * b(k,172)
     597   254840160 :          b(k,293) = b(k,293) - lu(k,786) * b(k,172)
     598   254840160 :          b(k,302) = b(k,302) - lu(k,787) * b(k,172)
     599   254840160 :          b(k,307) = b(k,307) - lu(k,788) * b(k,172)
     600   254840160 :          b(k,312) = b(k,312) - lu(k,789) * b(k,172)
     601   254840160 :          b(k,316) = b(k,316) - lu(k,790) * b(k,172)
     602   254840160 :          b(k,247) = b(k,247) - lu(k,792) * b(k,173)
     603   254840160 :          b(k,308) = b(k,308) - lu(k,793) * b(k,173)
     604   254840160 :          b(k,316) = b(k,316) - lu(k,794) * b(k,173)
     605   254840160 :          b(k,317) = b(k,317) - lu(k,795) * b(k,173)
     606   254840160 :          b(k,192) = b(k,192) - lu(k,798) * b(k,174)
     607   254840160 :          b(k,255) = b(k,255) - lu(k,799) * b(k,174)
     608   254840160 :          b(k,303) = b(k,303) - lu(k,800) * b(k,174)
     609   254840160 :          b(k,306) = b(k,306) - lu(k,801) * b(k,174)
     610   254840160 :          b(k,307) = b(k,307) - lu(k,802) * b(k,174)
     611   254840160 :          b(k,312) = b(k,312) - lu(k,803) * b(k,174)
     612   254840160 :          b(k,316) = b(k,316) - lu(k,804) * b(k,174)
     613   254840160 :          b(k,192) = b(k,192) - lu(k,806) * b(k,175)
     614   254840160 :          b(k,215) = b(k,215) - lu(k,807) * b(k,175)
     615   254840160 :          b(k,244) = b(k,244) - lu(k,808) * b(k,175)
     616   254840160 :          b(k,303) = b(k,303) - lu(k,809) * b(k,175)
     617   254840160 :          b(k,307) = b(k,307) - lu(k,810) * b(k,175)
     618   254840160 :          b(k,312) = b(k,312) - lu(k,811) * b(k,175)
     619   254840160 :          b(k,316) = b(k,316) - lu(k,812) * b(k,175)
     620   254840160 :          b(k,192) = b(k,192) - lu(k,814) * b(k,176)
     621   254840160 :          b(k,215) = b(k,215) - lu(k,815) * b(k,176)
     622   254840160 :          b(k,242) = b(k,242) - lu(k,816) * b(k,176)
     623   254840160 :          b(k,303) = b(k,303) - lu(k,817) * b(k,176)
     624   254840160 :          b(k,307) = b(k,307) - lu(k,818) * b(k,176)
     625   254840160 :          b(k,312) = b(k,312) - lu(k,819) * b(k,176)
     626   254840160 :          b(k,316) = b(k,316) - lu(k,820) * b(k,176)
     627   254840160 :          b(k,258) = b(k,258) - lu(k,828) * b(k,177)
     628   254840160 :          b(k,280) = b(k,280) - lu(k,829) * b(k,177)
     629   254840160 :          b(k,288) = b(k,288) - lu(k,830) * b(k,177)
     630   254840160 :          b(k,291) = b(k,291) - lu(k,831) * b(k,177)
     631   254840160 :          b(k,292) = b(k,292) - lu(k,832) * b(k,177)
     632   254840160 :          b(k,306) = b(k,306) - lu(k,833) * b(k,177)
     633   254840160 :          b(k,307) = b(k,307) - lu(k,834) * b(k,177)
     634   254840160 :          b(k,311) = b(k,311) - lu(k,835) * b(k,177)
     635   254840160 :          b(k,313) = b(k,313) - lu(k,836) * b(k,177)
     636   254840160 :          b(k,316) = b(k,316) - lu(k,837) * b(k,177)
     637   254840160 :          b(k,180) = b(k,180) - lu(k,843) * b(k,178)
     638   254840160 :          b(k,183) = b(k,183) - lu(k,844) * b(k,178)
     639   254840160 :          b(k,184) = b(k,184) - lu(k,845) * b(k,178)
     640   254840160 :          b(k,188) = b(k,188) - lu(k,846) * b(k,178)
     641   254840160 :          b(k,235) = b(k,235) - lu(k,847) * b(k,178)
     642   254840160 :          b(k,266) = b(k,266) - lu(k,848) * b(k,178)
     643   254840160 :          b(k,271) = b(k,271) - lu(k,849) * b(k,178)
     644   254840160 :          b(k,300) = b(k,300) - lu(k,850) * b(k,178)
     645   254840160 :          b(k,307) = b(k,307) - lu(k,851) * b(k,178)
     646   254840160 :          b(k,316) = b(k,316) - lu(k,852) * b(k,178)
     647   254840160 :          b(k,254) = b(k,254) - lu(k,856) * b(k,179)
     648   254840160 :          b(k,303) = b(k,303) - lu(k,857) * b(k,179)
     649   254840160 :          b(k,306) = b(k,306) - lu(k,858) * b(k,179)
     650   254840160 :          b(k,307) = b(k,307) - lu(k,859) * b(k,179)
     651   254840160 :          b(k,312) = b(k,312) - lu(k,860) * b(k,179)
     652   254840160 :          b(k,316) = b(k,316) - lu(k,861) * b(k,179)
     653   254840160 :          b(k,235) = b(k,235) - lu(k,863) * b(k,180)
     654   254840160 :          b(k,271) = b(k,271) - lu(k,864) * b(k,180)
     655   254840160 :          b(k,303) = b(k,303) - lu(k,865) * b(k,180)
     656   254840160 :          b(k,307) = b(k,307) - lu(k,866) * b(k,180)
     657   254840160 :          b(k,312) = b(k,312) - lu(k,867) * b(k,180)
     658   254840160 :          b(k,184) = b(k,184) - lu(k,874) * b(k,181)
     659   254840160 :          b(k,188) = b(k,188) - lu(k,875) * b(k,181)
     660   254840160 :          b(k,235) = b(k,235) - lu(k,876) * b(k,181)
     661   254840160 :          b(k,266) = b(k,266) - lu(k,877) * b(k,181)
     662   254840160 :          b(k,271) = b(k,271) - lu(k,878) * b(k,181)
     663   254840160 :          b(k,303) = b(k,303) - lu(k,879) * b(k,181)
     664   254840160 :          b(k,307) = b(k,307) - lu(k,880) * b(k,181)
     665   254840160 :          b(k,312) = b(k,312) - lu(k,881) * b(k,181)
     666   254840160 :          b(k,316) = b(k,316) - lu(k,882) * b(k,181)
     667   254840160 :          b(k,235) = b(k,235) - lu(k,884) * b(k,182)
     668   254840160 :          b(k,271) = b(k,271) - lu(k,885) * b(k,182)
     669   254840160 :          b(k,306) = b(k,306) - lu(k,886) * b(k,182)
     670   254840160 :          b(k,307) = b(k,307) - lu(k,887) * b(k,182)
     671   254840160 :          b(k,316) = b(k,316) - lu(k,888) * b(k,182)
     672   254840160 :          b(k,184) = b(k,184) - lu(k,896) * b(k,183)
     673   254840160 :          b(k,188) = b(k,188) - lu(k,897) * b(k,183)
     674   254840160 :          b(k,235) = b(k,235) - lu(k,898) * b(k,183)
     675   254840160 :          b(k,266) = b(k,266) - lu(k,899) * b(k,183)
     676   254840160 :          b(k,271) = b(k,271) - lu(k,900) * b(k,183)
     677   254840160 :          b(k,300) = b(k,300) - lu(k,901) * b(k,183)
     678   254840160 :          b(k,303) = b(k,303) - lu(k,902) * b(k,183)
     679   254840160 :          b(k,307) = b(k,307) - lu(k,903) * b(k,183)
     680   254840160 :          b(k,312) = b(k,312) - lu(k,904) * b(k,183)
     681   263009123 :          b(k,316) = b(k,316) - lu(k,905) * b(k,183)
     682             :       end do
     683     8168963 :       end subroutine lu_slv03
     684     8168963 :       subroutine lu_slv04( avec_len, lu, b )
     685             :       use shr_kind_mod, only : r8 => shr_kind_r8
     686             :       use chem_mods, only : clscnt4, nzcnt
     687             :       implicit none
     688             : !-----------------------------------------------------------------------
     689             : ! ... Dummy args
     690             : !-----------------------------------------------------------------------
     691             :       integer, intent(in) :: avec_len
     692             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
     693             :       real(r8), intent(inout) :: b(veclen,clscnt4)
     694             : !-----------------------------------------------------------------------
     695             : ! ... Local variables
     696             : !-----------------------------------------------------------------------
     697             :       integer :: k
     698             : !-----------------------------------------------------------------------
     699             : ! ... solve L * y = b
     700             : !-----------------------------------------------------------------------
     701   263009123 :       do k = 1,avec_len
     702   254840160 :          b(k,266) = b(k,266) - lu(k,907) * b(k,184)
     703   254840160 :          b(k,271) = b(k,271) - lu(k,908) * b(k,184)
     704   254840160 :          b(k,303) = b(k,303) - lu(k,909) * b(k,184)
     705   254840160 :          b(k,307) = b(k,307) - lu(k,910) * b(k,184)
     706   254840160 :          b(k,308) = b(k,308) - lu(k,911) * b(k,184)
     707   254840160 :          b(k,312) = b(k,312) - lu(k,912) * b(k,184)
     708   254840160 :          b(k,316) = b(k,316) - lu(k,913) * b(k,184)
     709   254840160 :          b(k,258) = b(k,258) - lu(k,915) * b(k,185)
     710   254840160 :          b(k,266) = b(k,266) - lu(k,916) * b(k,185)
     711   254840160 :          b(k,271) = b(k,271) - lu(k,917) * b(k,185)
     712   254840160 :          b(k,306) = b(k,306) - lu(k,918) * b(k,185)
     713   254840160 :          b(k,254) = b(k,254) - lu(k,920) * b(k,186)
     714   254840160 :          b(k,258) = b(k,258) - lu(k,921) * b(k,186)
     715   254840160 :          b(k,307) = b(k,307) - lu(k,922) * b(k,186)
     716   254840160 :          b(k,316) = b(k,316) - lu(k,923) * b(k,186)
     717   254840160 :          b(k,266) = b(k,266) - lu(k,925) * b(k,187)
     718   254840160 :          b(k,300) = b(k,300) - lu(k,926) * b(k,187)
     719   254840160 :          b(k,306) = b(k,306) - lu(k,927) * b(k,187)
     720   254840160 :          b(k,316) = b(k,316) - lu(k,928) * b(k,187)
     721   254840160 :          b(k,235) = b(k,235) - lu(k,930) * b(k,188)
     722   254840160 :          b(k,266) = b(k,266) - lu(k,931) * b(k,188)
     723   254840160 :          b(k,271) = b(k,271) - lu(k,932) * b(k,188)
     724   254840160 :          b(k,303) = b(k,303) - lu(k,933) * b(k,188)
     725   254840160 :          b(k,307) = b(k,307) - lu(k,934) * b(k,188)
     726   254840160 :          b(k,308) = b(k,308) - lu(k,935) * b(k,188)
     727   254840160 :          b(k,312) = b(k,312) - lu(k,936) * b(k,188)
     728   254840160 :          b(k,316) = b(k,316) - lu(k,937) * b(k,188)
     729   254840160 :          b(k,230) = b(k,230) - lu(k,940) * b(k,189)
     730   254840160 :          b(k,258) = b(k,258) - lu(k,941) * b(k,189)
     731   254840160 :          b(k,303) = b(k,303) - lu(k,942) * b(k,189)
     732   254840160 :          b(k,306) = b(k,306) - lu(k,943) * b(k,189)
     733   254840160 :          b(k,307) = b(k,307) - lu(k,944) * b(k,189)
     734   254840160 :          b(k,312) = b(k,312) - lu(k,945) * b(k,189)
     735   254840160 :          b(k,316) = b(k,316) - lu(k,946) * b(k,189)
     736   254840160 :          b(k,317) = b(k,317) - lu(k,947) * b(k,189)
     737   254840160 :          b(k,192) = b(k,192) - lu(k,952) * b(k,190)
     738   254840160 :          b(k,255) = b(k,255) - lu(k,953) * b(k,190)
     739   254840160 :          b(k,284) = b(k,284) - lu(k,954) * b(k,190)
     740   254840160 :          b(k,303) = b(k,303) - lu(k,955) * b(k,190)
     741   254840160 :          b(k,306) = b(k,306) - lu(k,956) * b(k,190)
     742   254840160 :          b(k,307) = b(k,307) - lu(k,957) * b(k,190)
     743   254840160 :          b(k,312) = b(k,312) - lu(k,958) * b(k,190)
     744   254840160 :          b(k,316) = b(k,316) - lu(k,959) * b(k,190)
     745   254840160 :          b(k,252) = b(k,252) - lu(k,961) * b(k,191)
     746   254840160 :          b(k,253) = b(k,253) - lu(k,962) * b(k,191)
     747   254840160 :          b(k,282) = b(k,282) - lu(k,963) * b(k,191)
     748   254840160 :          b(k,293) = b(k,293) - lu(k,964) * b(k,191)
     749   254840160 :          b(k,303) = b(k,303) - lu(k,965) * b(k,191)
     750   254840160 :          b(k,307) = b(k,307) - lu(k,966) * b(k,191)
     751   254840160 :          b(k,312) = b(k,312) - lu(k,967) * b(k,191)
     752   254840160 :          b(k,316) = b(k,316) - lu(k,968) * b(k,191)
     753   254840160 :          b(k,244) = b(k,244) - lu(k,970) * b(k,192)
     754   254840160 :          b(k,307) = b(k,307) - lu(k,971) * b(k,192)
     755   254840160 :          b(k,316) = b(k,316) - lu(k,972) * b(k,192)
     756   254840160 :          b(k,230) = b(k,230) - lu(k,975) * b(k,193)
     757   254840160 :          b(k,254) = b(k,254) - lu(k,976) * b(k,193)
     758   254840160 :          b(k,258) = b(k,258) - lu(k,977) * b(k,193)
     759   254840160 :          b(k,271) = b(k,271) - lu(k,978) * b(k,193)
     760   254840160 :          b(k,280) = b(k,280) - lu(k,979) * b(k,193)
     761   254840160 :          b(k,300) = b(k,300) - lu(k,980) * b(k,193)
     762   254840160 :          b(k,302) = b(k,302) - lu(k,981) * b(k,193)
     763   254840160 :          b(k,306) = b(k,306) - lu(k,982) * b(k,193)
     764   254840160 :          b(k,307) = b(k,307) - lu(k,983) * b(k,193)
     765   254840160 :          b(k,312) = b(k,312) - lu(k,984) * b(k,193)
     766   254840160 :          b(k,316) = b(k,316) - lu(k,985) * b(k,193)
     767   254840160 :          b(k,244) = b(k,244) - lu(k,987) * b(k,194)
     768   254840160 :          b(k,284) = b(k,284) - lu(k,988) * b(k,194)
     769   254840160 :          b(k,290) = b(k,290) - lu(k,989) * b(k,194)
     770   254840160 :          b(k,307) = b(k,307) - lu(k,990) * b(k,194)
     771   254840160 :          b(k,312) = b(k,312) - lu(k,991) * b(k,194)
     772   254840160 :          b(k,316) = b(k,316) - lu(k,992) * b(k,194)
     773   254840160 :          b(k,317) = b(k,317) - lu(k,993) * b(k,194)
     774   254840160 :          b(k,276) = b(k,276) - lu(k,996) * b(k,195)
     775   254840160 :          b(k,304) = b(k,304) - lu(k,997) * b(k,195)
     776   254840160 :          b(k,305) = b(k,305) - lu(k,998) * b(k,195)
     777   254840160 :          b(k,309) = b(k,309) - lu(k,999) * b(k,195)
     778   254840160 :          b(k,315) = b(k,315) - lu(k,1000) * b(k,195)
     779   254840160 :          b(k,316) = b(k,316) - lu(k,1001) * b(k,195)
     780   254840160 :          b(k,317) = b(k,317) - lu(k,1002) * b(k,195)
     781   254840160 :          b(k,244) = b(k,244) - lu(k,1007) * b(k,196)
     782   254840160 :          b(k,282) = b(k,282) - lu(k,1008) * b(k,196)
     783   254840160 :          b(k,284) = b(k,284) - lu(k,1009) * b(k,196)
     784   254840160 :          b(k,303) = b(k,303) - lu(k,1010) * b(k,196)
     785   254840160 :          b(k,307) = b(k,307) - lu(k,1011) * b(k,196)
     786   254840160 :          b(k,312) = b(k,312) - lu(k,1012) * b(k,196)
     787   254840160 :          b(k,316) = b(k,316) - lu(k,1013) * b(k,196)
     788   254840160 :          b(k,207) = b(k,207) - lu(k,1016) * b(k,197)
     789   254840160 :          b(k,215) = b(k,215) - lu(k,1017) * b(k,197)
     790   254840160 :          b(k,244) = b(k,244) - lu(k,1018) * b(k,197)
     791   254840160 :          b(k,303) = b(k,303) - lu(k,1019) * b(k,197)
     792   254840160 :          b(k,307) = b(k,307) - lu(k,1020) * b(k,197)
     793   254840160 :          b(k,312) = b(k,312) - lu(k,1021) * b(k,197)
     794   254840160 :          b(k,316) = b(k,316) - lu(k,1022) * b(k,197)
     795   254840160 :          b(k,230) = b(k,230) - lu(k,1025) * b(k,198)
     796   254840160 :          b(k,280) = b(k,280) - lu(k,1026) * b(k,198)
     797   254840160 :          b(k,303) = b(k,303) - lu(k,1027) * b(k,198)
     798   254840160 :          b(k,306) = b(k,306) - lu(k,1028) * b(k,198)
     799   254840160 :          b(k,307) = b(k,307) - lu(k,1029) * b(k,198)
     800   254840160 :          b(k,308) = b(k,308) - lu(k,1030) * b(k,198)
     801   254840160 :          b(k,312) = b(k,312) - lu(k,1031) * b(k,198)
     802   254840160 :          b(k,316) = b(k,316) - lu(k,1032) * b(k,198)
     803   254840160 :          b(k,317) = b(k,317) - lu(k,1033) * b(k,198)
     804   254840160 :          b(k,237) = b(k,237) - lu(k,1042) * b(k,199)
     805   254840160 :          b(k,247) = b(k,247) - lu(k,1043) * b(k,199)
     806   254840160 :          b(k,277) = b(k,277) - lu(k,1044) * b(k,199)
     807   254840160 :          b(k,286) = b(k,286) - lu(k,1045) * b(k,199)
     808   254840160 :          b(k,292) = b(k,292) - lu(k,1046) * b(k,199)
     809   254840160 :          b(k,294) = b(k,294) - lu(k,1047) * b(k,199)
     810   254840160 :          b(k,299) = b(k,299) - lu(k,1048) * b(k,199)
     811   254840160 :          b(k,306) = b(k,306) - lu(k,1049) * b(k,199)
     812   254840160 :          b(k,307) = b(k,307) - lu(k,1050) * b(k,199)
     813   254840160 :          b(k,311) = b(k,311) - lu(k,1051) * b(k,199)
     814   254840160 :          b(k,313) = b(k,313) - lu(k,1052) * b(k,199)
     815   254840160 :          b(k,316) = b(k,316) - lu(k,1053) * b(k,199)
     816   254840160 :          b(k,234) = b(k,234) - lu(k,1055) * b(k,200)
     817   254840160 :          b(k,250) = b(k,250) - lu(k,1056) * b(k,200)
     818   254840160 :          b(k,260) = b(k,260) - lu(k,1057) * b(k,200)
     819   254840160 :          b(k,265) = b(k,265) - lu(k,1058) * b(k,200)
     820   254840160 :          b(k,303) = b(k,303) - lu(k,1059) * b(k,200)
     821   254840160 :          b(k,306) = b(k,306) - lu(k,1060) * b(k,200)
     822   254840160 :          b(k,307) = b(k,307) - lu(k,1061) * b(k,200)
     823   254840160 :          b(k,312) = b(k,312) - lu(k,1062) * b(k,200)
     824   254840160 :          b(k,316) = b(k,316) - lu(k,1063) * b(k,200)
     825   254840160 :          b(k,237) = b(k,237) - lu(k,1072) * b(k,201)
     826   254840160 :          b(k,247) = b(k,247) - lu(k,1073) * b(k,201)
     827   254840160 :          b(k,283) = b(k,283) - lu(k,1074) * b(k,201)
     828   254840160 :          b(k,289) = b(k,289) - lu(k,1075) * b(k,201)
     829   254840160 :          b(k,293) = b(k,293) - lu(k,1076) * b(k,201)
     830   254840160 :          b(k,294) = b(k,294) - lu(k,1077) * b(k,201)
     831   254840160 :          b(k,298) = b(k,298) - lu(k,1078) * b(k,201)
     832   254840160 :          b(k,299) = b(k,299) - lu(k,1079) * b(k,201)
     833   254840160 :          b(k,300) = b(k,300) - lu(k,1080) * b(k,201)
     834   254840160 :          b(k,306) = b(k,306) - lu(k,1081) * b(k,201)
     835   254840160 :          b(k,311) = b(k,311) - lu(k,1082) * b(k,201)
     836   254840160 :          b(k,313) = b(k,313) - lu(k,1083) * b(k,201)
     837   254840160 :          b(k,316) = b(k,316) - lu(k,1084) * b(k,201)
     838   254840160 :          b(k,203) = b(k,203) - lu(k,1093) * b(k,202)
     839   254840160 :          b(k,211) = b(k,211) - lu(k,1094) * b(k,202)
     840   254840160 :          b(k,213) = b(k,213) - lu(k,1095) * b(k,202)
     841   254840160 :          b(k,227) = b(k,227) - lu(k,1096) * b(k,202)
     842   254840160 :          b(k,237) = b(k,237) - lu(k,1097) * b(k,202)
     843   254840160 :          b(k,247) = b(k,247) - lu(k,1098) * b(k,202)
     844   254840160 :          b(k,285) = b(k,285) - lu(k,1099) * b(k,202)
     845   254840160 :          b(k,290) = b(k,290) - lu(k,1100) * b(k,202)
     846   254840160 :          b(k,297) = b(k,297) - lu(k,1101) * b(k,202)
     847   254840160 :          b(k,306) = b(k,306) - lu(k,1102) * b(k,202)
     848   254840160 :          b(k,311) = b(k,311) - lu(k,1103) * b(k,202)
     849   254840160 :          b(k,313) = b(k,313) - lu(k,1104) * b(k,202)
     850   254840160 :          b(k,316) = b(k,316) - lu(k,1105) * b(k,202)
     851   254840160 :          b(k,294) = b(k,294) - lu(k,1107) * b(k,203)
     852   254840160 :          b(k,297) = b(k,297) - lu(k,1108) * b(k,203)
     853   254840160 :          b(k,316) = b(k,316) - lu(k,1109) * b(k,203)
     854   254840160 :          b(k,235) = b(k,235) - lu(k,1111) * b(k,204)
     855   254840160 :          b(k,254) = b(k,254) - lu(k,1112) * b(k,204)
     856   254840160 :          b(k,258) = b(k,258) - lu(k,1113) * b(k,204)
     857   254840160 :          b(k,259) = b(k,259) - lu(k,1114) * b(k,204)
     858   254840160 :          b(k,265) = b(k,265) - lu(k,1115) * b(k,204)
     859   254840160 :          b(k,266) = b(k,266) - lu(k,1116) * b(k,204)
     860   254840160 :          b(k,271) = b(k,271) - lu(k,1117) * b(k,204)
     861   254840160 :          b(k,302) = b(k,302) - lu(k,1118) * b(k,204)
     862   254840160 :          b(k,312) = b(k,312) - lu(k,1119) * b(k,204)
     863   254840160 :          b(k,316) = b(k,316) - lu(k,1120) * b(k,204)
     864   254840160 :          b(k,234) = b(k,234) - lu(k,1122) * b(k,205)
     865   254840160 :          b(k,236) = b(k,236) - lu(k,1123) * b(k,205)
     866   254840160 :          b(k,250) = b(k,250) - lu(k,1124) * b(k,205)
     867   254840160 :          b(k,254) = b(k,254) - lu(k,1125) * b(k,205)
     868   254840160 :          b(k,259) = b(k,259) - lu(k,1126) * b(k,205)
     869   254840160 :          b(k,303) = b(k,303) - lu(k,1127) * b(k,205)
     870   254840160 :          b(k,306) = b(k,306) - lu(k,1128) * b(k,205)
     871   254840160 :          b(k,307) = b(k,307) - lu(k,1129) * b(k,205)
     872   254840160 :          b(k,312) = b(k,312) - lu(k,1130) * b(k,205)
     873   254840160 :          b(k,316) = b(k,316) - lu(k,1131) * b(k,205)
     874   254840160 :          b(k,232) = b(k,232) - lu(k,1133) * b(k,206)
     875   254840160 :          b(k,234) = b(k,234) - lu(k,1134) * b(k,206)
     876   254840160 :          b(k,250) = b(k,250) - lu(k,1135) * b(k,206)
     877   254840160 :          b(k,258) = b(k,258) - lu(k,1136) * b(k,206)
     878   254840160 :          b(k,265) = b(k,265) - lu(k,1137) * b(k,206)
     879   254840160 :          b(k,303) = b(k,303) - lu(k,1138) * b(k,206)
     880   254840160 :          b(k,306) = b(k,306) - lu(k,1139) * b(k,206)
     881   254840160 :          b(k,307) = b(k,307) - lu(k,1140) * b(k,206)
     882   254840160 :          b(k,312) = b(k,312) - lu(k,1141) * b(k,206)
     883   254840160 :          b(k,316) = b(k,316) - lu(k,1142) * b(k,206)
     884   254840160 :          b(k,242) = b(k,242) - lu(k,1144) * b(k,207)
     885   254840160 :          b(k,284) = b(k,284) - lu(k,1145) * b(k,207)
     886   254840160 :          b(k,302) = b(k,302) - lu(k,1146) * b(k,207)
     887   254840160 :          b(k,312) = b(k,312) - lu(k,1147) * b(k,207)
     888   254840160 :          b(k,316) = b(k,316) - lu(k,1148) * b(k,207)
     889   254840160 :          b(k,317) = b(k,317) - lu(k,1149) * b(k,207)
     890   254840160 :          b(k,276) = b(k,276) - lu(k,1151) * b(k,208)
     891   254840160 :          b(k,301) = b(k,301) - lu(k,1152) * b(k,208)
     892   254840160 :          b(k,305) = b(k,305) - lu(k,1153) * b(k,208)
     893   254840160 :          b(k,309) = b(k,309) - lu(k,1154) * b(k,208)
     894   254840160 :          b(k,314) = b(k,314) - lu(k,1155) * b(k,208)
     895   254840160 :          b(k,316) = b(k,316) - lu(k,1156) * b(k,208)
     896   254840160 :          b(k,317) = b(k,317) - lu(k,1157) * b(k,208)
     897   254840160 :          b(k,304) = b(k,304) - lu(k,1160) * b(k,209)
     898   254840160 :          b(k,305) = b(k,305) - lu(k,1161) * b(k,209)
     899   254840160 :          b(k,310) = b(k,310) - lu(k,1162) * b(k,209)
     900   254840160 :          b(k,315) = b(k,315) - lu(k,1163) * b(k,209)
     901   254840160 :          b(k,316) = b(k,316) - lu(k,1164) * b(k,209)
     902   263009123 :          b(k,317) = b(k,317) - lu(k,1165) * b(k,209)
     903             :       end do
     904     8168963 :       end subroutine lu_slv04
     905     8168963 :       subroutine lu_slv05( avec_len, lu, b )
     906             :       use shr_kind_mod, only : r8 => shr_kind_r8
     907             :       use chem_mods, only : clscnt4, nzcnt
     908             :       implicit none
     909             : !-----------------------------------------------------------------------
     910             : ! ... Dummy args
     911             : !-----------------------------------------------------------------------
     912             :       integer, intent(in) :: avec_len
     913             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
     914             :       real(r8), intent(inout) :: b(veclen,clscnt4)
     915             : !-----------------------------------------------------------------------
     916             : ! ... Local variables
     917             : !-----------------------------------------------------------------------
     918             :       integer :: k
     919             : !-----------------------------------------------------------------------
     920             : ! ... solve L * y = b
     921             : !-----------------------------------------------------------------------
     922   263009123 :       do k = 1,avec_len
     923   254840160 :          b(k,234) = b(k,234) - lu(k,1167) * b(k,210)
     924   254840160 :          b(k,250) = b(k,250) - lu(k,1168) * b(k,210)
     925   254840160 :          b(k,254) = b(k,254) - lu(k,1169) * b(k,210)
     926   254840160 :          b(k,258) = b(k,258) - lu(k,1170) * b(k,210)
     927   254840160 :          b(k,259) = b(k,259) - lu(k,1171) * b(k,210)
     928   254840160 :          b(k,260) = b(k,260) - lu(k,1172) * b(k,210)
     929   254840160 :          b(k,303) = b(k,303) - lu(k,1173) * b(k,210)
     930   254840160 :          b(k,306) = b(k,306) - lu(k,1174) * b(k,210)
     931   254840160 :          b(k,307) = b(k,307) - lu(k,1175) * b(k,210)
     932   254840160 :          b(k,312) = b(k,312) - lu(k,1176) * b(k,210)
     933   254840160 :          b(k,316) = b(k,316) - lu(k,1177) * b(k,210)
     934   254840160 :          b(k,225) = b(k,225) - lu(k,1183) * b(k,211)
     935   254840160 :          b(k,230) = b(k,230) - lu(k,1184) * b(k,211)
     936   254840160 :          b(k,280) = b(k,280) - lu(k,1185) * b(k,211)
     937   254840160 :          b(k,300) = b(k,300) - lu(k,1186) * b(k,211)
     938   254840160 :          b(k,303) = b(k,303) - lu(k,1187) * b(k,211)
     939   254840160 :          b(k,306) = b(k,306) - lu(k,1188) * b(k,211)
     940   254840160 :          b(k,307) = b(k,307) - lu(k,1189) * b(k,211)
     941   254840160 :          b(k,312) = b(k,312) - lu(k,1190) * b(k,211)
     942   254840160 :          b(k,316) = b(k,316) - lu(k,1191) * b(k,211)
     943   254840160 :          b(k,222) = b(k,222) - lu(k,1195) * b(k,212)
     944   254840160 :          b(k,227) = b(k,227) - lu(k,1196) * b(k,212)
     945   254840160 :          b(k,249) = b(k,249) - lu(k,1197) * b(k,212)
     946   254840160 :          b(k,258) = b(k,258) - lu(k,1198) * b(k,212)
     947   254840160 :          b(k,266) = b(k,266) - lu(k,1199) * b(k,212)
     948   254840160 :          b(k,269) = b(k,269) - lu(k,1200) * b(k,212)
     949   254840160 :          b(k,270) = b(k,270) - lu(k,1201) * b(k,212)
     950   254840160 :          b(k,271) = b(k,271) - lu(k,1202) * b(k,212)
     951   254840160 :          b(k,274) = b(k,274) - lu(k,1203) * b(k,212)
     952   254840160 :          b(k,275) = b(k,275) - lu(k,1204) * b(k,212)
     953   254840160 :          b(k,302) = b(k,302) - lu(k,1205) * b(k,212)
     954   254840160 :          b(k,306) = b(k,306) - lu(k,1206) * b(k,212)
     955   254840160 :          b(k,307) = b(k,307) - lu(k,1207) * b(k,212)
     956   254840160 :          b(k,312) = b(k,312) - lu(k,1208) * b(k,212)
     957   254840160 :          b(k,316) = b(k,316) - lu(k,1209) * b(k,212)
     958   254840160 :          b(k,227) = b(k,227) - lu(k,1211) * b(k,213)
     959   254840160 :          b(k,306) = b(k,306) - lu(k,1212) * b(k,213)
     960   254840160 :          b(k,307) = b(k,307) - lu(k,1213) * b(k,213)
     961   254840160 :          b(k,316) = b(k,316) - lu(k,1214) * b(k,213)
     962   254840160 :          b(k,317) = b(k,317) - lu(k,1215) * b(k,213)
     963   254840160 :          b(k,215) = b(k,215) - lu(k,1219) * b(k,214)
     964   254840160 :          b(k,244) = b(k,244) - lu(k,1220) * b(k,214)
     965   254840160 :          b(k,284) = b(k,284) - lu(k,1221) * b(k,214)
     966   254840160 :          b(k,290) = b(k,290) - lu(k,1222) * b(k,214)
     967   254840160 :          b(k,303) = b(k,303) - lu(k,1223) * b(k,214)
     968   254840160 :          b(k,307) = b(k,307) - lu(k,1224) * b(k,214)
     969   254840160 :          b(k,312) = b(k,312) - lu(k,1225) * b(k,214)
     970   254840160 :          b(k,316) = b(k,316) - lu(k,1226) * b(k,214)
     971   254840160 :          b(k,317) = b(k,317) - lu(k,1227) * b(k,214)
     972   254840160 :          b(k,244) = b(k,244) - lu(k,1229) * b(k,215)
     973   254840160 :          b(k,302) = b(k,302) - lu(k,1230) * b(k,215)
     974   254840160 :          b(k,307) = b(k,307) - lu(k,1231) * b(k,215)
     975   254840160 :          b(k,312) = b(k,312) - lu(k,1232) * b(k,215)
     976   254840160 :          b(k,316) = b(k,316) - lu(k,1233) * b(k,215)
     977   254840160 :          b(k,246) = b(k,246) - lu(k,1236) * b(k,216)
     978   254840160 :          b(k,305) = b(k,305) - lu(k,1237) * b(k,216)
     979   254840160 :          b(k,307) = b(k,307) - lu(k,1238) * b(k,216)
     980   254840160 :          b(k,316) = b(k,316) - lu(k,1239) * b(k,216)
     981   254840160 :          b(k,317) = b(k,317) - lu(k,1240) * b(k,216)
     982   254840160 :          b(k,251) = b(k,251) - lu(k,1243) * b(k,217)
     983   254840160 :          b(k,279) = b(k,279) - lu(k,1244) * b(k,217)
     984   254840160 :          b(k,301) = b(k,301) - lu(k,1245) * b(k,217)
     985   254840160 :          b(k,302) = b(k,302) - lu(k,1246) * b(k,217)
     986   254840160 :          b(k,308) = b(k,308) - lu(k,1247) * b(k,217)
     987   254840160 :          b(k,311) = b(k,311) - lu(k,1248) * b(k,217)
     988   254840160 :          b(k,316) = b(k,316) - lu(k,1249) * b(k,217)
     989   254840160 :          b(k,317) = b(k,317) - lu(k,1250) * b(k,217)
     990   254840160 :          b(k,236) = b(k,236) - lu(k,1253) * b(k,218)
     991   254840160 :          b(k,247) = b(k,247) - lu(k,1254) * b(k,218)
     992   254840160 :          b(k,249) = b(k,249) - lu(k,1255) * b(k,218)
     993   254840160 :          b(k,258) = b(k,258) - lu(k,1256) * b(k,218)
     994   254840160 :          b(k,265) = b(k,265) - lu(k,1257) * b(k,218)
     995   254840160 :          b(k,266) = b(k,266) - lu(k,1258) * b(k,218)
     996   254840160 :          b(k,271) = b(k,271) - lu(k,1259) * b(k,218)
     997   254840160 :          b(k,302) = b(k,302) - lu(k,1260) * b(k,218)
     998   254840160 :          b(k,306) = b(k,306) - lu(k,1261) * b(k,218)
     999   254840160 :          b(k,307) = b(k,307) - lu(k,1262) * b(k,218)
    1000   254840160 :          b(k,312) = b(k,312) - lu(k,1263) * b(k,218)
    1001   254840160 :          b(k,316) = b(k,316) - lu(k,1264) * b(k,218)
    1002   254840160 :          b(k,220) = b(k,220) - lu(k,1273) * b(k,219)
    1003   254840160 :          b(k,237) = b(k,237) - lu(k,1274) * b(k,219)
    1004   254840160 :          b(k,247) = b(k,247) - lu(k,1275) * b(k,219)
    1005   254840160 :          b(k,271) = b(k,271) - lu(k,1276) * b(k,219)
    1006   254840160 :          b(k,281) = b(k,281) - lu(k,1277) * b(k,219)
    1007   254840160 :          b(k,284) = b(k,284) - lu(k,1278) * b(k,219)
    1008   254840160 :          b(k,287) = b(k,287) - lu(k,1279) * b(k,219)
    1009   254840160 :          b(k,294) = b(k,294) - lu(k,1280) * b(k,219)
    1010   254840160 :          b(k,296) = b(k,296) - lu(k,1281) * b(k,219)
    1011   254840160 :          b(k,297) = b(k,297) - lu(k,1282) * b(k,219)
    1012   254840160 :          b(k,299) = b(k,299) - lu(k,1283) * b(k,219)
    1013   254840160 :          b(k,306) = b(k,306) - lu(k,1284) * b(k,219)
    1014   254840160 :          b(k,307) = b(k,307) - lu(k,1285) * b(k,219)
    1015   254840160 :          b(k,311) = b(k,311) - lu(k,1286) * b(k,219)
    1016   254840160 :          b(k,313) = b(k,313) - lu(k,1287) * b(k,219)
    1017   254840160 :          b(k,316) = b(k,316) - lu(k,1288) * b(k,219)
    1018   254840160 :          b(k,271) = b(k,271) - lu(k,1290) * b(k,220)
    1019   254840160 :          b(k,296) = b(k,296) - lu(k,1291) * b(k,220)
    1020   254840160 :          b(k,297) = b(k,297) - lu(k,1292) * b(k,220)
    1021   254840160 :          b(k,302) = b(k,302) - lu(k,1293) * b(k,220)
    1022   254840160 :          b(k,307) = b(k,307) - lu(k,1294) * b(k,220)
    1023   254840160 :          b(k,311) = b(k,311) - lu(k,1295) * b(k,220)
    1024   254840160 :          b(k,316) = b(k,316) - lu(k,1296) * b(k,220)
    1025   254840160 :          b(k,235) = b(k,235) - lu(k,1299) * b(k,221)
    1026   254840160 :          b(k,254) = b(k,254) - lu(k,1300) * b(k,221)
    1027   254840160 :          b(k,258) = b(k,258) - lu(k,1301) * b(k,221)
    1028   254840160 :          b(k,260) = b(k,260) - lu(k,1302) * b(k,221)
    1029   254840160 :          b(k,266) = b(k,266) - lu(k,1303) * b(k,221)
    1030   254840160 :          b(k,271) = b(k,271) - lu(k,1304) * b(k,221)
    1031   254840160 :          b(k,303) = b(k,303) - lu(k,1305) * b(k,221)
    1032   254840160 :          b(k,307) = b(k,307) - lu(k,1306) * b(k,221)
    1033   254840160 :          b(k,312) = b(k,312) - lu(k,1307) * b(k,221)
    1034   254840160 :          b(k,316) = b(k,316) - lu(k,1308) * b(k,221)
    1035   254840160 :          b(k,232) = b(k,232) - lu(k,1310) * b(k,222)
    1036   254840160 :          b(k,234) = b(k,234) - lu(k,1311) * b(k,222)
    1037   254840160 :          b(k,236) = b(k,236) - lu(k,1312) * b(k,222)
    1038   254840160 :          b(k,250) = b(k,250) - lu(k,1313) * b(k,222)
    1039   254840160 :          b(k,254) = b(k,254) - lu(k,1314) * b(k,222)
    1040   254840160 :          b(k,258) = b(k,258) - lu(k,1315) * b(k,222)
    1041   254840160 :          b(k,259) = b(k,259) - lu(k,1316) * b(k,222)
    1042   254840160 :          b(k,265) = b(k,265) - lu(k,1317) * b(k,222)
    1043   254840160 :          b(k,303) = b(k,303) - lu(k,1318) * b(k,222)
    1044   254840160 :          b(k,306) = b(k,306) - lu(k,1319) * b(k,222)
    1045   254840160 :          b(k,307) = b(k,307) - lu(k,1320) * b(k,222)
    1046   254840160 :          b(k,312) = b(k,312) - lu(k,1321) * b(k,222)
    1047   254840160 :          b(k,316) = b(k,316) - lu(k,1322) * b(k,222)
    1048   254840160 :          b(k,302) = b(k,302) - lu(k,1326) * b(k,223)
    1049   254840160 :          b(k,304) = b(k,304) - lu(k,1327) * b(k,223)
    1050   254840160 :          b(k,305) = b(k,305) - lu(k,1328) * b(k,223)
    1051   254840160 :          b(k,310) = b(k,310) - lu(k,1329) * b(k,223)
    1052   254840160 :          b(k,311) = b(k,311) - lu(k,1330) * b(k,223)
    1053   254840160 :          b(k,312) = b(k,312) - lu(k,1331) * b(k,223)
    1054   254840160 :          b(k,315) = b(k,315) - lu(k,1332) * b(k,223)
    1055   254840160 :          b(k,316) = b(k,316) - lu(k,1333) * b(k,223)
    1056   254840160 :          b(k,317) = b(k,317) - lu(k,1334) * b(k,223)
    1057   254840160 :          b(k,238) = b(k,238) - lu(k,1337) * b(k,224)
    1058   254840160 :          b(k,258) = b(k,258) - lu(k,1338) * b(k,224)
    1059   254840160 :          b(k,266) = b(k,266) - lu(k,1339) * b(k,224)
    1060   254840160 :          b(k,300) = b(k,300) - lu(k,1340) * b(k,224)
    1061   254840160 :          b(k,303) = b(k,303) - lu(k,1341) * b(k,224)
    1062   254840160 :          b(k,306) = b(k,306) - lu(k,1342) * b(k,224)
    1063   254840160 :          b(k,307) = b(k,307) - lu(k,1343) * b(k,224)
    1064   254840160 :          b(k,308) = b(k,308) - lu(k,1344) * b(k,224)
    1065   254840160 :          b(k,312) = b(k,312) - lu(k,1345) * b(k,224)
    1066   254840160 :          b(k,316) = b(k,316) - lu(k,1346) * b(k,224)
    1067   254840160 :          b(k,317) = b(k,317) - lu(k,1347) * b(k,224)
    1068   254840160 :          b(k,230) = b(k,230) - lu(k,1351) * b(k,225)
    1069   254840160 :          b(k,238) = b(k,238) - lu(k,1352) * b(k,225)
    1070   254840160 :          b(k,303) = b(k,303) - lu(k,1353) * b(k,225)
    1071   254840160 :          b(k,306) = b(k,306) - lu(k,1354) * b(k,225)
    1072   254840160 :          b(k,307) = b(k,307) - lu(k,1355) * b(k,225)
    1073   254840160 :          b(k,308) = b(k,308) - lu(k,1356) * b(k,225)
    1074   254840160 :          b(k,312) = b(k,312) - lu(k,1357) * b(k,225)
    1075   254840160 :          b(k,316) = b(k,316) - lu(k,1358) * b(k,225)
    1076   254840160 :          b(k,232) = b(k,232) - lu(k,1362) * b(k,226)
    1077   254840160 :          b(k,234) = b(k,234) - lu(k,1363) * b(k,226)
    1078   254840160 :          b(k,235) = b(k,235) - lu(k,1364) * b(k,226)
    1079   254840160 :          b(k,236) = b(k,236) - lu(k,1365) * b(k,226)
    1080   254840160 :          b(k,250) = b(k,250) - lu(k,1366) * b(k,226)
    1081   254840160 :          b(k,259) = b(k,259) - lu(k,1367) * b(k,226)
    1082   254840160 :          b(k,265) = b(k,265) - lu(k,1368) * b(k,226)
    1083   254840160 :          b(k,266) = b(k,266) - lu(k,1369) * b(k,226)
    1084   254840160 :          b(k,271) = b(k,271) - lu(k,1370) * b(k,226)
    1085   254840160 :          b(k,300) = b(k,300) - lu(k,1371) * b(k,226)
    1086   254840160 :          b(k,303) = b(k,303) - lu(k,1372) * b(k,226)
    1087   254840160 :          b(k,306) = b(k,306) - lu(k,1373) * b(k,226)
    1088   254840160 :          b(k,307) = b(k,307) - lu(k,1374) * b(k,226)
    1089   254840160 :          b(k,312) = b(k,312) - lu(k,1375) * b(k,226)
    1090   254840160 :          b(k,316) = b(k,316) - lu(k,1376) * b(k,226)
    1091   254840160 :          b(k,247) = b(k,247) - lu(k,1378) * b(k,227)
    1092   254840160 :          b(k,307) = b(k,307) - lu(k,1379) * b(k,227)
    1093   254840160 :          b(k,316) = b(k,316) - lu(k,1380) * b(k,227)
    1094   254840160 :          b(k,317) = b(k,317) - lu(k,1381) * b(k,227)
    1095   254840160 :          b(k,230) = b(k,230) - lu(k,1386) * b(k,228)
    1096   254840160 :          b(k,236) = b(k,236) - lu(k,1387) * b(k,228)
    1097   254840160 :          b(k,247) = b(k,247) - lu(k,1388) * b(k,228)
    1098   254840160 :          b(k,258) = b(k,258) - lu(k,1389) * b(k,228)
    1099   254840160 :          b(k,271) = b(k,271) - lu(k,1390) * b(k,228)
    1100   254840160 :          b(k,279) = b(k,279) - lu(k,1391) * b(k,228)
    1101   254840160 :          b(k,303) = b(k,303) - lu(k,1392) * b(k,228)
    1102   254840160 :          b(k,306) = b(k,306) - lu(k,1393) * b(k,228)
    1103   254840160 :          b(k,307) = b(k,307) - lu(k,1394) * b(k,228)
    1104   254840160 :          b(k,308) = b(k,308) - lu(k,1395) * b(k,228)
    1105   254840160 :          b(k,311) = b(k,311) - lu(k,1396) * b(k,228)
    1106   254840160 :          b(k,312) = b(k,312) - lu(k,1397) * b(k,228)
    1107   254840160 :          b(k,313) = b(k,313) - lu(k,1398) * b(k,228)
    1108   254840160 :          b(k,316) = b(k,316) - lu(k,1399) * b(k,228)
    1109   254840160 :          b(k,317) = b(k,317) - lu(k,1400) * b(k,228)
    1110   254840160 :          b(k,237) = b(k,237) - lu(k,1411) * b(k,229)
    1111   254840160 :          b(k,247) = b(k,247) - lu(k,1412) * b(k,229)
    1112   254840160 :          b(k,256) = b(k,256) - lu(k,1413) * b(k,229)
    1113   254840160 :          b(k,257) = b(k,257) - lu(k,1414) * b(k,229)
    1114   254840160 :          b(k,261) = b(k,261) - lu(k,1415) * b(k,229)
    1115   254840160 :          b(k,262) = b(k,262) - lu(k,1416) * b(k,229)
    1116   254840160 :          b(k,267) = b(k,267) - lu(k,1417) * b(k,229)
    1117   254840160 :          b(k,268) = b(k,268) - lu(k,1418) * b(k,229)
    1118   254840160 :          b(k,269) = b(k,269) - lu(k,1419) * b(k,229)
    1119   254840160 :          b(k,270) = b(k,270) - lu(k,1420) * b(k,229)
    1120   254840160 :          b(k,271) = b(k,271) - lu(k,1421) * b(k,229)
    1121   254840160 :          b(k,275) = b(k,275) - lu(k,1422) * b(k,229)
    1122   254840160 :          b(k,300) = b(k,300) - lu(k,1423) * b(k,229)
    1123   254840160 :          b(k,306) = b(k,306) - lu(k,1424) * b(k,229)
    1124   254840160 :          b(k,307) = b(k,307) - lu(k,1425) * b(k,229)
    1125   254840160 :          b(k,308) = b(k,308) - lu(k,1426) * b(k,229)
    1126   254840160 :          b(k,311) = b(k,311) - lu(k,1427) * b(k,229)
    1127   254840160 :          b(k,313) = b(k,313) - lu(k,1428) * b(k,229)
    1128   254840160 :          b(k,316) = b(k,316) - lu(k,1429) * b(k,229)
    1129   263009123 :          b(k,317) = b(k,317) - lu(k,1430) * b(k,229)
    1130             :       end do
    1131     8168963 :       end subroutine lu_slv05
    1132     8168963 :       subroutine lu_slv06( avec_len, lu, b )
    1133             :       use shr_kind_mod, only : r8 => shr_kind_r8
    1134             :       use chem_mods, only : clscnt4, nzcnt
    1135             :       implicit none
    1136             : !-----------------------------------------------------------------------
    1137             : ! ... Dummy args
    1138             : !-----------------------------------------------------------------------
    1139             :       integer, intent(in) :: avec_len
    1140             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    1141             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    1142             : !-----------------------------------------------------------------------
    1143             : ! ... Local variables
    1144             : !-----------------------------------------------------------------------
    1145             :       integer :: k
    1146             : !-----------------------------------------------------------------------
    1147             : ! ... solve L * y = b
    1148             : !-----------------------------------------------------------------------
    1149   263009123 :       do k = 1,avec_len
    1150   254840160 :          b(k,271) = b(k,271) - lu(k,1432) * b(k,230)
    1151   254840160 :          b(k,300) = b(k,300) - lu(k,1433) * b(k,230)
    1152   254840160 :          b(k,302) = b(k,302) - lu(k,1434) * b(k,230)
    1153   254840160 :          b(k,307) = b(k,307) - lu(k,1435) * b(k,230)
    1154   254840160 :          b(k,308) = b(k,308) - lu(k,1436) * b(k,230)
    1155   254840160 :          b(k,311) = b(k,311) - lu(k,1437) * b(k,230)
    1156   254840160 :          b(k,316) = b(k,316) - lu(k,1438) * b(k,230)
    1157   254840160 :          b(k,317) = b(k,317) - lu(k,1439) * b(k,230)
    1158   254840160 :          b(k,232) = b(k,232) - lu(k,1441) * b(k,231)
    1159   254840160 :          b(k,234) = b(k,234) - lu(k,1442) * b(k,231)
    1160   254840160 :          b(k,236) = b(k,236) - lu(k,1443) * b(k,231)
    1161   254840160 :          b(k,250) = b(k,250) - lu(k,1444) * b(k,231)
    1162   254840160 :          b(k,254) = b(k,254) - lu(k,1445) * b(k,231)
    1163   254840160 :          b(k,258) = b(k,258) - lu(k,1446) * b(k,231)
    1164   254840160 :          b(k,259) = b(k,259) - lu(k,1447) * b(k,231)
    1165   254840160 :          b(k,265) = b(k,265) - lu(k,1448) * b(k,231)
    1166   254840160 :          b(k,303) = b(k,303) - lu(k,1449) * b(k,231)
    1167   254840160 :          b(k,306) = b(k,306) - lu(k,1450) * b(k,231)
    1168   254840160 :          b(k,307) = b(k,307) - lu(k,1451) * b(k,231)
    1169   254840160 :          b(k,312) = b(k,312) - lu(k,1452) * b(k,231)
    1170   254840160 :          b(k,316) = b(k,316) - lu(k,1453) * b(k,231)
    1171   254840160 :          b(k,247) = b(k,247) - lu(k,1455) * b(k,232)
    1172   254840160 :          b(k,271) = b(k,271) - lu(k,1456) * b(k,232)
    1173   254840160 :          b(k,306) = b(k,306) - lu(k,1457) * b(k,232)
    1174   254840160 :          b(k,307) = b(k,307) - lu(k,1458) * b(k,232)
    1175   254840160 :          b(k,312) = b(k,312) - lu(k,1459) * b(k,232)
    1176   254840160 :          b(k,316) = b(k,316) - lu(k,1460) * b(k,232)
    1177   254840160 :          b(k,258) = b(k,258) - lu(k,1462) * b(k,233)
    1178   254840160 :          b(k,266) = b(k,266) - lu(k,1463) * b(k,233)
    1179   254840160 :          b(k,271) = b(k,271) - lu(k,1464) * b(k,233)
    1180   254840160 :          b(k,306) = b(k,306) - lu(k,1465) * b(k,233)
    1181   254840160 :          b(k,307) = b(k,307) - lu(k,1466) * b(k,233)
    1182   254840160 :          b(k,316) = b(k,316) - lu(k,1467) * b(k,233)
    1183   254840160 :          b(k,254) = b(k,254) - lu(k,1469) * b(k,234)
    1184   254840160 :          b(k,258) = b(k,258) - lu(k,1470) * b(k,234)
    1185   254840160 :          b(k,260) = b(k,260) - lu(k,1471) * b(k,234)
    1186   254840160 :          b(k,307) = b(k,307) - lu(k,1472) * b(k,234)
    1187   254840160 :          b(k,312) = b(k,312) - lu(k,1473) * b(k,234)
    1188   254840160 :          b(k,316) = b(k,316) - lu(k,1474) * b(k,234)
    1189   254840160 :          b(k,247) = b(k,247) - lu(k,1477) * b(k,235)
    1190   254840160 :          b(k,271) = b(k,271) - lu(k,1478) * b(k,235)
    1191   254840160 :          b(k,307) = b(k,307) - lu(k,1479) * b(k,235)
    1192   254840160 :          b(k,316) = b(k,316) - lu(k,1480) * b(k,235)
    1193   254840160 :          b(k,266) = b(k,266) - lu(k,1482) * b(k,236)
    1194   254840160 :          b(k,300) = b(k,300) - lu(k,1483) * b(k,236)
    1195   254840160 :          b(k,306) = b(k,306) - lu(k,1484) * b(k,236)
    1196   254840160 :          b(k,312) = b(k,312) - lu(k,1485) * b(k,236)
    1197   254840160 :          b(k,316) = b(k,316) - lu(k,1486) * b(k,236)
    1198   254840160 :          b(k,304) = b(k,304) - lu(k,1488) * b(k,237)
    1199   254840160 :          b(k,305) = b(k,305) - lu(k,1489) * b(k,237)
    1200   254840160 :          b(k,307) = b(k,307) - lu(k,1490) * b(k,237)
    1201   254840160 :          b(k,315) = b(k,315) - lu(k,1491) * b(k,237)
    1202   254840160 :          b(k,316) = b(k,316) - lu(k,1492) * b(k,237)
    1203   254840160 :          b(k,317) = b(k,317) - lu(k,1493) * b(k,237)
    1204   254840160 :          b(k,306) = b(k,306) - lu(k,1495) * b(k,238)
    1205   254840160 :          b(k,307) = b(k,307) - lu(k,1496) * b(k,238)
    1206   254840160 :          b(k,316) = b(k,316) - lu(k,1497) * b(k,238)
    1207   254840160 :          b(k,254) = b(k,254) - lu(k,1499) * b(k,239)
    1208   254840160 :          b(k,266) = b(k,266) - lu(k,1500) * b(k,239)
    1209   254840160 :          b(k,271) = b(k,271) - lu(k,1501) * b(k,239)
    1210   254840160 :          b(k,300) = b(k,300) - lu(k,1502) * b(k,239)
    1211   254840160 :          b(k,306) = b(k,306) - lu(k,1503) * b(k,239)
    1212   254840160 :          b(k,307) = b(k,307) - lu(k,1504) * b(k,239)
    1213   254840160 :          b(k,316) = b(k,316) - lu(k,1505) * b(k,239)
    1214   254840160 :          b(k,247) = b(k,247) - lu(k,1509) * b(k,240)
    1215   254840160 :          b(k,254) = b(k,254) - lu(k,1510) * b(k,240)
    1216   254840160 :          b(k,265) = b(k,265) - lu(k,1511) * b(k,240)
    1217   254840160 :          b(k,266) = b(k,266) - lu(k,1512) * b(k,240)
    1218   254840160 :          b(k,271) = b(k,271) - lu(k,1513) * b(k,240)
    1219   254840160 :          b(k,300) = b(k,300) - lu(k,1514) * b(k,240)
    1220   254840160 :          b(k,303) = b(k,303) - lu(k,1515) * b(k,240)
    1221   254840160 :          b(k,306) = b(k,306) - lu(k,1516) * b(k,240)
    1222   254840160 :          b(k,307) = b(k,307) - lu(k,1517) * b(k,240)
    1223   254840160 :          b(k,308) = b(k,308) - lu(k,1518) * b(k,240)
    1224   254840160 :          b(k,312) = b(k,312) - lu(k,1519) * b(k,240)
    1225   254840160 :          b(k,316) = b(k,316) - lu(k,1520) * b(k,240)
    1226   254840160 :          b(k,247) = b(k,247) - lu(k,1525) * b(k,241)
    1227   254840160 :          b(k,254) = b(k,254) - lu(k,1526) * b(k,241)
    1228   254840160 :          b(k,258) = b(k,258) - lu(k,1527) * b(k,241)
    1229   254840160 :          b(k,260) = b(k,260) - lu(k,1528) * b(k,241)
    1230   254840160 :          b(k,266) = b(k,266) - lu(k,1529) * b(k,241)
    1231   254840160 :          b(k,271) = b(k,271) - lu(k,1530) * b(k,241)
    1232   254840160 :          b(k,303) = b(k,303) - lu(k,1531) * b(k,241)
    1233   254840160 :          b(k,306) = b(k,306) - lu(k,1532) * b(k,241)
    1234   254840160 :          b(k,307) = b(k,307) - lu(k,1533) * b(k,241)
    1235   254840160 :          b(k,312) = b(k,312) - lu(k,1534) * b(k,241)
    1236   254840160 :          b(k,316) = b(k,316) - lu(k,1535) * b(k,241)
    1237   254840160 :          b(k,284) = b(k,284) - lu(k,1537) * b(k,242)
    1238   254840160 :          b(k,302) = b(k,302) - lu(k,1538) * b(k,242)
    1239   254840160 :          b(k,307) = b(k,307) - lu(k,1539) * b(k,242)
    1240   254840160 :          b(k,312) = b(k,312) - lu(k,1540) * b(k,242)
    1241   254840160 :          b(k,316) = b(k,316) - lu(k,1541) * b(k,242)
    1242   254840160 :          b(k,247) = b(k,247) - lu(k,1544) * b(k,243)
    1243   254840160 :          b(k,258) = b(k,258) - lu(k,1545) * b(k,243)
    1244   254840160 :          b(k,259) = b(k,259) - lu(k,1546) * b(k,243)
    1245   254840160 :          b(k,266) = b(k,266) - lu(k,1547) * b(k,243)
    1246   254840160 :          b(k,271) = b(k,271) - lu(k,1548) * b(k,243)
    1247   254840160 :          b(k,280) = b(k,280) - lu(k,1549) * b(k,243)
    1248   254840160 :          b(k,300) = b(k,300) - lu(k,1550) * b(k,243)
    1249   254840160 :          b(k,303) = b(k,303) - lu(k,1551) * b(k,243)
    1250   254840160 :          b(k,306) = b(k,306) - lu(k,1552) * b(k,243)
    1251   254840160 :          b(k,307) = b(k,307) - lu(k,1553) * b(k,243)
    1252   254840160 :          b(k,308) = b(k,308) - lu(k,1554) * b(k,243)
    1253   254840160 :          b(k,312) = b(k,312) - lu(k,1555) * b(k,243)
    1254   254840160 :          b(k,316) = b(k,316) - lu(k,1556) * b(k,243)
    1255   254840160 :          b(k,284) = b(k,284) - lu(k,1558) * b(k,244)
    1256   254840160 :          b(k,307) = b(k,307) - lu(k,1559) * b(k,244)
    1257   254840160 :          b(k,312) = b(k,312) - lu(k,1560) * b(k,244)
    1258   254840160 :          b(k,316) = b(k,316) - lu(k,1561) * b(k,244)
    1259   254840160 :          b(k,247) = b(k,247) - lu(k,1573) * b(k,245)
    1260   254840160 :          b(k,249) = b(k,249) - lu(k,1574) * b(k,245)
    1261   254840160 :          b(k,250) = b(k,250) - lu(k,1575) * b(k,245)
    1262   254840160 :          b(k,254) = b(k,254) - lu(k,1576) * b(k,245)
    1263   254840160 :          b(k,258) = b(k,258) - lu(k,1577) * b(k,245)
    1264   254840160 :          b(k,259) = b(k,259) - lu(k,1578) * b(k,245)
    1265   254840160 :          b(k,260) = b(k,260) - lu(k,1579) * b(k,245)
    1266   254840160 :          b(k,265) = b(k,265) - lu(k,1580) * b(k,245)
    1267   254840160 :          b(k,266) = b(k,266) - lu(k,1581) * b(k,245)
    1268   254840160 :          b(k,271) = b(k,271) - lu(k,1582) * b(k,245)
    1269   254840160 :          b(k,274) = b(k,274) - lu(k,1583) * b(k,245)
    1270   254840160 :          b(k,275) = b(k,275) - lu(k,1584) * b(k,245)
    1271   254840160 :          b(k,300) = b(k,300) - lu(k,1585) * b(k,245)
    1272   254840160 :          b(k,302) = b(k,302) - lu(k,1586) * b(k,245)
    1273   254840160 :          b(k,303) = b(k,303) - lu(k,1587) * b(k,245)
    1274   254840160 :          b(k,304) = b(k,304) - lu(k,1588) * b(k,245)
    1275   254840160 :          b(k,305) = b(k,305) - lu(k,1589) * b(k,245)
    1276   254840160 :          b(k,306) = b(k,306) - lu(k,1590) * b(k,245)
    1277   254840160 :          b(k,307) = b(k,307) - lu(k,1591) * b(k,245)
    1278   254840160 :          b(k,312) = b(k,312) - lu(k,1592) * b(k,245)
    1279   254840160 :          b(k,313) = b(k,313) - lu(k,1593) * b(k,245)
    1280   254840160 :          b(k,315) = b(k,315) - lu(k,1594) * b(k,245)
    1281   254840160 :          b(k,316) = b(k,316) - lu(k,1595) * b(k,245)
    1282   254840160 :          b(k,317) = b(k,317) - lu(k,1596) * b(k,245)
    1283   254840160 :          b(k,276) = b(k,276) - lu(k,1601) * b(k,246)
    1284   254840160 :          b(k,301) = b(k,301) - lu(k,1602) * b(k,246)
    1285   254840160 :          b(k,303) = b(k,303) - lu(k,1603) * b(k,246)
    1286   254840160 :          b(k,305) = b(k,305) - lu(k,1604) * b(k,246)
    1287   254840160 :          b(k,307) = b(k,307) - lu(k,1605) * b(k,246)
    1288   254840160 :          b(k,309) = b(k,309) - lu(k,1606) * b(k,246)
    1289   254840160 :          b(k,310) = b(k,310) - lu(k,1607) * b(k,246)
    1290   254840160 :          b(k,312) = b(k,312) - lu(k,1608) * b(k,246)
    1291   254840160 :          b(k,313) = b(k,313) - lu(k,1609) * b(k,246)
    1292   254840160 :          b(k,315) = b(k,315) - lu(k,1610) * b(k,246)
    1293   254840160 :          b(k,316) = b(k,316) - lu(k,1611) * b(k,246)
    1294   254840160 :          b(k,317) = b(k,317) - lu(k,1612) * b(k,246)
    1295   254840160 :          b(k,271) = b(k,271) - lu(k,1614) * b(k,247)
    1296   254840160 :          b(k,305) = b(k,305) - lu(k,1615) * b(k,247)
    1297   254840160 :          b(k,258) = b(k,258) - lu(k,1621) * b(k,248)
    1298   254840160 :          b(k,271) = b(k,271) - lu(k,1622) * b(k,248)
    1299   254840160 :          b(k,300) = b(k,300) - lu(k,1623) * b(k,248)
    1300   254840160 :          b(k,303) = b(k,303) - lu(k,1624) * b(k,248)
    1301   254840160 :          b(k,305) = b(k,305) - lu(k,1625) * b(k,248)
    1302   254840160 :          b(k,306) = b(k,306) - lu(k,1626) * b(k,248)
    1303   254840160 :          b(k,307) = b(k,307) - lu(k,1627) * b(k,248)
    1304   254840160 :          b(k,308) = b(k,308) - lu(k,1628) * b(k,248)
    1305   254840160 :          b(k,311) = b(k,311) - lu(k,1629) * b(k,248)
    1306   254840160 :          b(k,312) = b(k,312) - lu(k,1630) * b(k,248)
    1307   254840160 :          b(k,313) = b(k,313) - lu(k,1631) * b(k,248)
    1308   254840160 :          b(k,316) = b(k,316) - lu(k,1632) * b(k,248)
    1309   254840160 :          b(k,317) = b(k,317) - lu(k,1633) * b(k,248)
    1310   254840160 :          b(k,254) = b(k,254) - lu(k,1641) * b(k,249)
    1311   254840160 :          b(k,258) = b(k,258) - lu(k,1642) * b(k,249)
    1312   254840160 :          b(k,259) = b(k,259) - lu(k,1643) * b(k,249)
    1313   254840160 :          b(k,260) = b(k,260) - lu(k,1644) * b(k,249)
    1314   254840160 :          b(k,265) = b(k,265) - lu(k,1645) * b(k,249)
    1315   254840160 :          b(k,266) = b(k,266) - lu(k,1646) * b(k,249)
    1316   254840160 :          b(k,271) = b(k,271) - lu(k,1647) * b(k,249)
    1317   254840160 :          b(k,300) = b(k,300) - lu(k,1648) * b(k,249)
    1318   254840160 :          b(k,302) = b(k,302) - lu(k,1649) * b(k,249)
    1319   254840160 :          b(k,303) = b(k,303) - lu(k,1650) * b(k,249)
    1320   254840160 :          b(k,305) = b(k,305) - lu(k,1651) * b(k,249)
    1321   254840160 :          b(k,306) = b(k,306) - lu(k,1652) * b(k,249)
    1322   254840160 :          b(k,307) = b(k,307) - lu(k,1653) * b(k,249)
    1323   254840160 :          b(k,312) = b(k,312) - lu(k,1654) * b(k,249)
    1324   254840160 :          b(k,316) = b(k,316) - lu(k,1655) * b(k,249)
    1325   254840160 :          b(k,254) = b(k,254) - lu(k,1660) * b(k,250)
    1326   254840160 :          b(k,258) = b(k,258) - lu(k,1661) * b(k,250)
    1327   254840160 :          b(k,259) = b(k,259) - lu(k,1662) * b(k,250)
    1328   254840160 :          b(k,265) = b(k,265) - lu(k,1663) * b(k,250)
    1329   254840160 :          b(k,266) = b(k,266) - lu(k,1664) * b(k,250)
    1330   254840160 :          b(k,271) = b(k,271) - lu(k,1665) * b(k,250)
    1331   254840160 :          b(k,302) = b(k,302) - lu(k,1666) * b(k,250)
    1332   254840160 :          b(k,305) = b(k,305) - lu(k,1667) * b(k,250)
    1333   254840160 :          b(k,307) = b(k,307) - lu(k,1668) * b(k,250)
    1334   254840160 :          b(k,312) = b(k,312) - lu(k,1669) * b(k,250)
    1335   254840160 :          b(k,316) = b(k,316) - lu(k,1670) * b(k,250)
    1336   254840160 :          b(k,279) = b(k,279) - lu(k,1674) * b(k,251)
    1337   254840160 :          b(k,301) = b(k,301) - lu(k,1675) * b(k,251)
    1338   254840160 :          b(k,302) = b(k,302) - lu(k,1676) * b(k,251)
    1339   254840160 :          b(k,304) = b(k,304) - lu(k,1677) * b(k,251)
    1340   254840160 :          b(k,305) = b(k,305) - lu(k,1678) * b(k,251)
    1341   254840160 :          b(k,308) = b(k,308) - lu(k,1679) * b(k,251)
    1342   254840160 :          b(k,311) = b(k,311) - lu(k,1680) * b(k,251)
    1343   254840160 :          b(k,314) = b(k,314) - lu(k,1681) * b(k,251)
    1344   254840160 :          b(k,315) = b(k,315) - lu(k,1682) * b(k,251)
    1345   254840160 :          b(k,316) = b(k,316) - lu(k,1683) * b(k,251)
    1346   254840160 :          b(k,317) = b(k,317) - lu(k,1684) * b(k,251)
    1347   254840160 :          b(k,284) = b(k,284) - lu(k,1690) * b(k,252)
    1348   254840160 :          b(k,293) = b(k,293) - lu(k,1691) * b(k,252)
    1349   254840160 :          b(k,302) = b(k,302) - lu(k,1692) * b(k,252)
    1350   254840160 :          b(k,303) = b(k,303) - lu(k,1693) * b(k,252)
    1351   254840160 :          b(k,307) = b(k,307) - lu(k,1694) * b(k,252)
    1352   254840160 :          b(k,312) = b(k,312) - lu(k,1695) * b(k,252)
    1353   263009123 :          b(k,316) = b(k,316) - lu(k,1696) * b(k,252)
    1354             :       end do
    1355     8168963 :       end subroutine lu_slv06
    1356     8168963 :       subroutine lu_slv07( avec_len, lu, b )
    1357             :       use shr_kind_mod, only : r8 => shr_kind_r8
    1358             :       use chem_mods, only : clscnt4, nzcnt
    1359             :       implicit none
    1360             : !-----------------------------------------------------------------------
    1361             : ! ... Dummy args
    1362             : !-----------------------------------------------------------------------
    1363             :       integer, intent(in) :: avec_len
    1364             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    1365             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    1366             : !-----------------------------------------------------------------------
    1367             : ! ... Local variables
    1368             : !-----------------------------------------------------------------------
    1369             :       integer :: k
    1370             : !-----------------------------------------------------------------------
    1371             : ! ... solve L * y = b
    1372             : !-----------------------------------------------------------------------
    1373   263009123 :       do k = 1,avec_len
    1374   254840160 :          b(k,284) = b(k,284) - lu(k,1703) * b(k,253)
    1375   254840160 :          b(k,293) = b(k,293) - lu(k,1704) * b(k,253)
    1376   254840160 :          b(k,302) = b(k,302) - lu(k,1705) * b(k,253)
    1377   254840160 :          b(k,303) = b(k,303) - lu(k,1706) * b(k,253)
    1378   254840160 :          b(k,307) = b(k,307) - lu(k,1707) * b(k,253)
    1379   254840160 :          b(k,312) = b(k,312) - lu(k,1708) * b(k,253)
    1380   254840160 :          b(k,316) = b(k,316) - lu(k,1709) * b(k,253)
    1381   254840160 :          b(k,271) = b(k,271) - lu(k,1713) * b(k,254)
    1382   254840160 :          b(k,305) = b(k,305) - lu(k,1714) * b(k,254)
    1383   254840160 :          b(k,306) = b(k,306) - lu(k,1715) * b(k,254)
    1384   254840160 :          b(k,307) = b(k,307) - lu(k,1716) * b(k,254)
    1385   254840160 :          b(k,316) = b(k,316) - lu(k,1717) * b(k,254)
    1386   254840160 :          b(k,271) = b(k,271) - lu(k,1719) * b(k,255)
    1387   254840160 :          b(k,295) = b(k,295) - lu(k,1720) * b(k,255)
    1388   254840160 :          b(k,298) = b(k,298) - lu(k,1721) * b(k,255)
    1389   254840160 :          b(k,302) = b(k,302) - lu(k,1722) * b(k,255)
    1390   254840160 :          b(k,307) = b(k,307) - lu(k,1723) * b(k,255)
    1391   254840160 :          b(k,311) = b(k,311) - lu(k,1724) * b(k,255)
    1392   254840160 :          b(k,316) = b(k,316) - lu(k,1725) * b(k,255)
    1393   254840160 :          b(k,258) = b(k,258) - lu(k,1733) * b(k,256)
    1394   254840160 :          b(k,263) = b(k,263) - lu(k,1734) * b(k,256)
    1395   254840160 :          b(k,264) = b(k,264) - lu(k,1735) * b(k,256)
    1396   254840160 :          b(k,266) = b(k,266) - lu(k,1736) * b(k,256)
    1397   254840160 :          b(k,267) = b(k,267) - lu(k,1737) * b(k,256)
    1398   254840160 :          b(k,271) = b(k,271) - lu(k,1738) * b(k,256)
    1399   254840160 :          b(k,273) = b(k,273) - lu(k,1739) * b(k,256)
    1400   254840160 :          b(k,300) = b(k,300) - lu(k,1740) * b(k,256)
    1401   254840160 :          b(k,303) = b(k,303) - lu(k,1741) * b(k,256)
    1402   254840160 :          b(k,305) = b(k,305) - lu(k,1742) * b(k,256)
    1403   254840160 :          b(k,306) = b(k,306) - lu(k,1743) * b(k,256)
    1404   254840160 :          b(k,307) = b(k,307) - lu(k,1744) * b(k,256)
    1405   254840160 :          b(k,308) = b(k,308) - lu(k,1745) * b(k,256)
    1406   254840160 :          b(k,312) = b(k,312) - lu(k,1746) * b(k,256)
    1407   254840160 :          b(k,316) = b(k,316) - lu(k,1747) * b(k,256)
    1408   254840160 :          b(k,258) = b(k,258) - lu(k,1755) * b(k,257)
    1409   254840160 :          b(k,263) = b(k,263) - lu(k,1756) * b(k,257)
    1410   254840160 :          b(k,264) = b(k,264) - lu(k,1757) * b(k,257)
    1411   254840160 :          b(k,266) = b(k,266) - lu(k,1758) * b(k,257)
    1412   254840160 :          b(k,268) = b(k,268) - lu(k,1759) * b(k,257)
    1413   254840160 :          b(k,271) = b(k,271) - lu(k,1760) * b(k,257)
    1414   254840160 :          b(k,272) = b(k,272) - lu(k,1761) * b(k,257)
    1415   254840160 :          b(k,300) = b(k,300) - lu(k,1762) * b(k,257)
    1416   254840160 :          b(k,303) = b(k,303) - lu(k,1763) * b(k,257)
    1417   254840160 :          b(k,305) = b(k,305) - lu(k,1764) * b(k,257)
    1418   254840160 :          b(k,306) = b(k,306) - lu(k,1765) * b(k,257)
    1419   254840160 :          b(k,307) = b(k,307) - lu(k,1766) * b(k,257)
    1420   254840160 :          b(k,308) = b(k,308) - lu(k,1767) * b(k,257)
    1421   254840160 :          b(k,312) = b(k,312) - lu(k,1768) * b(k,257)
    1422   254840160 :          b(k,316) = b(k,316) - lu(k,1769) * b(k,257)
    1423   254840160 :          b(k,266) = b(k,266) - lu(k,1771) * b(k,258)
    1424   254840160 :          b(k,300) = b(k,300) - lu(k,1772) * b(k,258)
    1425   254840160 :          b(k,306) = b(k,306) - lu(k,1773) * b(k,258)
    1426   254840160 :          b(k,307) = b(k,307) - lu(k,1774) * b(k,258)
    1427   254840160 :          b(k,316) = b(k,316) - lu(k,1775) * b(k,258)
    1428   254840160 :          b(k,266) = b(k,266) - lu(k,1779) * b(k,259)
    1429   254840160 :          b(k,271) = b(k,271) - lu(k,1780) * b(k,259)
    1430   254840160 :          b(k,300) = b(k,300) - lu(k,1781) * b(k,259)
    1431   254840160 :          b(k,306) = b(k,306) - lu(k,1782) * b(k,259)
    1432   254840160 :          b(k,307) = b(k,307) - lu(k,1783) * b(k,259)
    1433   254840160 :          b(k,312) = b(k,312) - lu(k,1784) * b(k,259)
    1434   254840160 :          b(k,316) = b(k,316) - lu(k,1785) * b(k,259)
    1435   254840160 :          b(k,265) = b(k,265) - lu(k,1794) * b(k,260)
    1436   254840160 :          b(k,266) = b(k,266) - lu(k,1795) * b(k,260)
    1437   254840160 :          b(k,271) = b(k,271) - lu(k,1796) * b(k,260)
    1438   254840160 :          b(k,300) = b(k,300) - lu(k,1797) * b(k,260)
    1439   254840160 :          b(k,305) = b(k,305) - lu(k,1798) * b(k,260)
    1440   254840160 :          b(k,306) = b(k,306) - lu(k,1799) * b(k,260)
    1441   254840160 :          b(k,307) = b(k,307) - lu(k,1800) * b(k,260)
    1442   254840160 :          b(k,312) = b(k,312) - lu(k,1801) * b(k,260)
    1443   254840160 :          b(k,316) = b(k,316) - lu(k,1802) * b(k,260)
    1444   254840160 :          b(k,263) = b(k,263) - lu(k,1818) * b(k,261)
    1445   254840160 :          b(k,264) = b(k,264) - lu(k,1819) * b(k,261)
    1446   254840160 :          b(k,266) = b(k,266) - lu(k,1820) * b(k,261)
    1447   254840160 :          b(k,268) = b(k,268) - lu(k,1821) * b(k,261)
    1448   254840160 :          b(k,269) = b(k,269) - lu(k,1822) * b(k,261)
    1449   254840160 :          b(k,271) = b(k,271) - lu(k,1823) * b(k,261)
    1450   254840160 :          b(k,272) = b(k,272) - lu(k,1824) * b(k,261)
    1451   254840160 :          b(k,280) = b(k,280) - lu(k,1825) * b(k,261)
    1452   254840160 :          b(k,300) = b(k,300) - lu(k,1826) * b(k,261)
    1453   254840160 :          b(k,303) = b(k,303) - lu(k,1827) * b(k,261)
    1454   254840160 :          b(k,305) = b(k,305) - lu(k,1828) * b(k,261)
    1455   254840160 :          b(k,306) = b(k,306) - lu(k,1829) * b(k,261)
    1456   254840160 :          b(k,307) = b(k,307) - lu(k,1830) * b(k,261)
    1457   254840160 :          b(k,308) = b(k,308) - lu(k,1831) * b(k,261)
    1458   254840160 :          b(k,312) = b(k,312) - lu(k,1832) * b(k,261)
    1459   254840160 :          b(k,316) = b(k,316) - lu(k,1833) * b(k,261)
    1460   254840160 :          b(k,263) = b(k,263) - lu(k,1849) * b(k,262)
    1461   254840160 :          b(k,264) = b(k,264) - lu(k,1850) * b(k,262)
    1462   254840160 :          b(k,265) = b(k,265) - lu(k,1851) * b(k,262)
    1463   254840160 :          b(k,266) = b(k,266) - lu(k,1852) * b(k,262)
    1464   254840160 :          b(k,267) = b(k,267) - lu(k,1853) * b(k,262)
    1465   254840160 :          b(k,270) = b(k,270) - lu(k,1854) * b(k,262)
    1466   254840160 :          b(k,271) = b(k,271) - lu(k,1855) * b(k,262)
    1467   254840160 :          b(k,273) = b(k,273) - lu(k,1856) * b(k,262)
    1468   254840160 :          b(k,300) = b(k,300) - lu(k,1857) * b(k,262)
    1469   254840160 :          b(k,303) = b(k,303) - lu(k,1858) * b(k,262)
    1470   254840160 :          b(k,305) = b(k,305) - lu(k,1859) * b(k,262)
    1471   254840160 :          b(k,306) = b(k,306) - lu(k,1860) * b(k,262)
    1472   254840160 :          b(k,307) = b(k,307) - lu(k,1861) * b(k,262)
    1473   254840160 :          b(k,308) = b(k,308) - lu(k,1862) * b(k,262)
    1474   254840160 :          b(k,312) = b(k,312) - lu(k,1863) * b(k,262)
    1475   254840160 :          b(k,316) = b(k,316) - lu(k,1864) * b(k,262)
    1476   254840160 :          b(k,317) = b(k,317) - lu(k,1865) * b(k,262)
    1477   254840160 :          b(k,265) = b(k,265) - lu(k,1873) * b(k,263)
    1478   254840160 :          b(k,266) = b(k,266) - lu(k,1874) * b(k,263)
    1479   254840160 :          b(k,271) = b(k,271) - lu(k,1875) * b(k,263)
    1480   254840160 :          b(k,300) = b(k,300) - lu(k,1876) * b(k,263)
    1481   254840160 :          b(k,303) = b(k,303) - lu(k,1877) * b(k,263)
    1482   254840160 :          b(k,305) = b(k,305) - lu(k,1878) * b(k,263)
    1483   254840160 :          b(k,306) = b(k,306) - lu(k,1879) * b(k,263)
    1484   254840160 :          b(k,307) = b(k,307) - lu(k,1880) * b(k,263)
    1485   254840160 :          b(k,312) = b(k,312) - lu(k,1881) * b(k,263)
    1486   254840160 :          b(k,316) = b(k,316) - lu(k,1882) * b(k,263)
    1487   254840160 :          b(k,265) = b(k,265) - lu(k,1897) * b(k,264)
    1488   254840160 :          b(k,266) = b(k,266) - lu(k,1898) * b(k,264)
    1489   254840160 :          b(k,267) = b(k,267) - lu(k,1899) * b(k,264)
    1490   254840160 :          b(k,268) = b(k,268) - lu(k,1900) * b(k,264)
    1491   254840160 :          b(k,269) = b(k,269) - lu(k,1901) * b(k,264)
    1492   254840160 :          b(k,270) = b(k,270) - lu(k,1902) * b(k,264)
    1493   254840160 :          b(k,271) = b(k,271) - lu(k,1903) * b(k,264)
    1494   254840160 :          b(k,300) = b(k,300) - lu(k,1904) * b(k,264)
    1495   254840160 :          b(k,303) = b(k,303) - lu(k,1905) * b(k,264)
    1496   254840160 :          b(k,305) = b(k,305) - lu(k,1906) * b(k,264)
    1497   254840160 :          b(k,306) = b(k,306) - lu(k,1907) * b(k,264)
    1498   254840160 :          b(k,307) = b(k,307) - lu(k,1908) * b(k,264)
    1499   254840160 :          b(k,312) = b(k,312) - lu(k,1909) * b(k,264)
    1500   254840160 :          b(k,316) = b(k,316) - lu(k,1910) * b(k,264)
    1501   254840160 :          b(k,266) = b(k,266) - lu(k,1917) * b(k,265)
    1502   254840160 :          b(k,271) = b(k,271) - lu(k,1918) * b(k,265)
    1503   254840160 :          b(k,300) = b(k,300) - lu(k,1919) * b(k,265)
    1504   254840160 :          b(k,302) = b(k,302) - lu(k,1920) * b(k,265)
    1505   254840160 :          b(k,305) = b(k,305) - lu(k,1921) * b(k,265)
    1506   254840160 :          b(k,306) = b(k,306) - lu(k,1922) * b(k,265)
    1507   254840160 :          b(k,307) = b(k,307) - lu(k,1923) * b(k,265)
    1508   254840160 :          b(k,312) = b(k,312) - lu(k,1924) * b(k,265)
    1509   254840160 :          b(k,316) = b(k,316) - lu(k,1925) * b(k,265)
    1510   254840160 :          b(k,271) = b(k,271) - lu(k,1927) * b(k,266)
    1511   254840160 :          b(k,300) = b(k,300) - lu(k,1928) * b(k,266)
    1512   254840160 :          b(k,302) = b(k,302) - lu(k,1929) * b(k,266)
    1513   254840160 :          b(k,307) = b(k,307) - lu(k,1930) * b(k,266)
    1514   254840160 :          b(k,311) = b(k,311) - lu(k,1931) * b(k,266)
    1515   254840160 :          b(k,316) = b(k,316) - lu(k,1932) * b(k,266)
    1516   254840160 :          b(k,317) = b(k,317) - lu(k,1933) * b(k,266)
    1517   254840160 :          b(k,268) = b(k,268) - lu(k,1954) * b(k,267)
    1518   254840160 :          b(k,269) = b(k,269) - lu(k,1955) * b(k,267)
    1519   254840160 :          b(k,270) = b(k,270) - lu(k,1956) * b(k,267)
    1520   254840160 :          b(k,271) = b(k,271) - lu(k,1957) * b(k,267)
    1521   254840160 :          b(k,273) = b(k,273) - lu(k,1958) * b(k,267)
    1522   254840160 :          b(k,300) = b(k,300) - lu(k,1959) * b(k,267)
    1523   254840160 :          b(k,302) = b(k,302) - lu(k,1960) * b(k,267)
    1524   254840160 :          b(k,303) = b(k,303) - lu(k,1961) * b(k,267)
    1525   254840160 :          b(k,305) = b(k,305) - lu(k,1962) * b(k,267)
    1526   254840160 :          b(k,306) = b(k,306) - lu(k,1963) * b(k,267)
    1527   254840160 :          b(k,307) = b(k,307) - lu(k,1964) * b(k,267)
    1528   254840160 :          b(k,308) = b(k,308) - lu(k,1965) * b(k,267)
    1529   254840160 :          b(k,311) = b(k,311) - lu(k,1966) * b(k,267)
    1530   254840160 :          b(k,312) = b(k,312) - lu(k,1967) * b(k,267)
    1531   254840160 :          b(k,316) = b(k,316) - lu(k,1968) * b(k,267)
    1532   254840160 :          b(k,317) = b(k,317) - lu(k,1969) * b(k,267)
    1533   254840160 :          b(k,269) = b(k,269) - lu(k,1992) * b(k,268)
    1534   254840160 :          b(k,270) = b(k,270) - lu(k,1993) * b(k,268)
    1535   254840160 :          b(k,271) = b(k,271) - lu(k,1994) * b(k,268)
    1536   254840160 :          b(k,272) = b(k,272) - lu(k,1995) * b(k,268)
    1537   254840160 :          b(k,273) = b(k,273) - lu(k,1996) * b(k,268)
    1538   254840160 :          b(k,280) = b(k,280) - lu(k,1997) * b(k,268)
    1539   254840160 :          b(k,300) = b(k,300) - lu(k,1998) * b(k,268)
    1540   254840160 :          b(k,302) = b(k,302) - lu(k,1999) * b(k,268)
    1541   254840160 :          b(k,303) = b(k,303) - lu(k,2000) * b(k,268)
    1542   254840160 :          b(k,305) = b(k,305) - lu(k,2001) * b(k,268)
    1543   254840160 :          b(k,306) = b(k,306) - lu(k,2002) * b(k,268)
    1544   254840160 :          b(k,307) = b(k,307) - lu(k,2003) * b(k,268)
    1545   254840160 :          b(k,308) = b(k,308) - lu(k,2004) * b(k,268)
    1546   254840160 :          b(k,311) = b(k,311) - lu(k,2005) * b(k,268)
    1547   254840160 :          b(k,312) = b(k,312) - lu(k,2006) * b(k,268)
    1548   254840160 :          b(k,316) = b(k,316) - lu(k,2007) * b(k,268)
    1549   254840160 :          b(k,317) = b(k,317) - lu(k,2008) * b(k,268)
    1550   254840160 :          b(k,271) = b(k,271) - lu(k,2017) * b(k,269)
    1551   254840160 :          b(k,280) = b(k,280) - lu(k,2018) * b(k,269)
    1552   254840160 :          b(k,300) = b(k,300) - lu(k,2019) * b(k,269)
    1553   254840160 :          b(k,302) = b(k,302) - lu(k,2020) * b(k,269)
    1554   254840160 :          b(k,303) = b(k,303) - lu(k,2021) * b(k,269)
    1555   254840160 :          b(k,305) = b(k,305) - lu(k,2022) * b(k,269)
    1556   254840160 :          b(k,306) = b(k,306) - lu(k,2023) * b(k,269)
    1557   254840160 :          b(k,307) = b(k,307) - lu(k,2024) * b(k,269)
    1558   254840160 :          b(k,308) = b(k,308) - lu(k,2025) * b(k,269)
    1559   254840160 :          b(k,311) = b(k,311) - lu(k,2026) * b(k,269)
    1560   254840160 :          b(k,312) = b(k,312) - lu(k,2027) * b(k,269)
    1561   254840160 :          b(k,313) = b(k,313) - lu(k,2028) * b(k,269)
    1562   254840160 :          b(k,316) = b(k,316) - lu(k,2029) * b(k,269)
    1563   254840160 :          b(k,317) = b(k,317) - lu(k,2030) * b(k,269)
    1564   254840160 :          b(k,271) = b(k,271) - lu(k,2042) * b(k,270)
    1565   254840160 :          b(k,279) = b(k,279) - lu(k,2043) * b(k,270)
    1566   254840160 :          b(k,300) = b(k,300) - lu(k,2044) * b(k,270)
    1567   254840160 :          b(k,302) = b(k,302) - lu(k,2045) * b(k,270)
    1568   254840160 :          b(k,303) = b(k,303) - lu(k,2046) * b(k,270)
    1569   254840160 :          b(k,305) = b(k,305) - lu(k,2047) * b(k,270)
    1570   254840160 :          b(k,306) = b(k,306) - lu(k,2048) * b(k,270)
    1571   254840160 :          b(k,307) = b(k,307) - lu(k,2049) * b(k,270)
    1572   254840160 :          b(k,308) = b(k,308) - lu(k,2050) * b(k,270)
    1573   254840160 :          b(k,311) = b(k,311) - lu(k,2051) * b(k,270)
    1574   254840160 :          b(k,312) = b(k,312) - lu(k,2052) * b(k,270)
    1575   254840160 :          b(k,313) = b(k,313) - lu(k,2053) * b(k,270)
    1576   254840160 :          b(k,316) = b(k,316) - lu(k,2054) * b(k,270)
    1577   263009123 :          b(k,317) = b(k,317) - lu(k,2055) * b(k,270)
    1578             :       end do
    1579     8168963 :       end subroutine lu_slv07
    1580     8168963 :       subroutine lu_slv08( avec_len, lu, b )
    1581             :       use shr_kind_mod, only : r8 => shr_kind_r8
    1582             :       use chem_mods, only : clscnt4, nzcnt
    1583             :       implicit none
    1584             : !-----------------------------------------------------------------------
    1585             : ! ... Dummy args
    1586             : !-----------------------------------------------------------------------
    1587             :       integer, intent(in) :: avec_len
    1588             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    1589             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    1590             : !-----------------------------------------------------------------------
    1591             : ! ... Local variables
    1592             : !-----------------------------------------------------------------------
    1593             :       integer :: k
    1594             : !-----------------------------------------------------------------------
    1595             : ! ... solve L * y = b
    1596             : !-----------------------------------------------------------------------
    1597   263009123 :       do k = 1,avec_len
    1598   254840160 :          b(k,305) = b(k,305) - lu(k,2058) * b(k,271)
    1599   254840160 :          b(k,307) = b(k,307) - lu(k,2059) * b(k,271)
    1600   254840160 :          b(k,316) = b(k,316) - lu(k,2060) * b(k,271)
    1601   254840160 :          b(k,274) = b(k,274) - lu(k,2079) * b(k,272)
    1602   254840160 :          b(k,300) = b(k,300) - lu(k,2080) * b(k,272)
    1603   254840160 :          b(k,302) = b(k,302) - lu(k,2081) * b(k,272)
    1604   254840160 :          b(k,303) = b(k,303) - lu(k,2082) * b(k,272)
    1605   254840160 :          b(k,304) = b(k,304) - lu(k,2083) * b(k,272)
    1606   254840160 :          b(k,305) = b(k,305) - lu(k,2084) * b(k,272)
    1607   254840160 :          b(k,306) = b(k,306) - lu(k,2085) * b(k,272)
    1608   254840160 :          b(k,307) = b(k,307) - lu(k,2086) * b(k,272)
    1609   254840160 :          b(k,311) = b(k,311) - lu(k,2087) * b(k,272)
    1610   254840160 :          b(k,312) = b(k,312) - lu(k,2088) * b(k,272)
    1611   254840160 :          b(k,313) = b(k,313) - lu(k,2089) * b(k,272)
    1612   254840160 :          b(k,315) = b(k,315) - lu(k,2090) * b(k,272)
    1613   254840160 :          b(k,316) = b(k,316) - lu(k,2091) * b(k,272)
    1614   254840160 :          b(k,317) = b(k,317) - lu(k,2092) * b(k,272)
    1615   254840160 :          b(k,274) = b(k,274) - lu(k,2111) * b(k,273)
    1616   254840160 :          b(k,300) = b(k,300) - lu(k,2112) * b(k,273)
    1617   254840160 :          b(k,302) = b(k,302) - lu(k,2113) * b(k,273)
    1618   254840160 :          b(k,303) = b(k,303) - lu(k,2114) * b(k,273)
    1619   254840160 :          b(k,304) = b(k,304) - lu(k,2115) * b(k,273)
    1620   254840160 :          b(k,305) = b(k,305) - lu(k,2116) * b(k,273)
    1621   254840160 :          b(k,306) = b(k,306) - lu(k,2117) * b(k,273)
    1622   254840160 :          b(k,307) = b(k,307) - lu(k,2118) * b(k,273)
    1623   254840160 :          b(k,311) = b(k,311) - lu(k,2119) * b(k,273)
    1624   254840160 :          b(k,312) = b(k,312) - lu(k,2120) * b(k,273)
    1625   254840160 :          b(k,313) = b(k,313) - lu(k,2121) * b(k,273)
    1626   254840160 :          b(k,315) = b(k,315) - lu(k,2122) * b(k,273)
    1627   254840160 :          b(k,316) = b(k,316) - lu(k,2123) * b(k,273)
    1628   254840160 :          b(k,317) = b(k,317) - lu(k,2124) * b(k,273)
    1629   254840160 :          b(k,300) = b(k,300) - lu(k,2141) * b(k,274)
    1630   254840160 :          b(k,302) = b(k,302) - lu(k,2142) * b(k,274)
    1631   254840160 :          b(k,303) = b(k,303) - lu(k,2143) * b(k,274)
    1632   254840160 :          b(k,304) = b(k,304) - lu(k,2144) * b(k,274)
    1633   254840160 :          b(k,305) = b(k,305) - lu(k,2145) * b(k,274)
    1634   254840160 :          b(k,306) = b(k,306) - lu(k,2146) * b(k,274)
    1635   254840160 :          b(k,307) = b(k,307) - lu(k,2147) * b(k,274)
    1636   254840160 :          b(k,311) = b(k,311) - lu(k,2148) * b(k,274)
    1637   254840160 :          b(k,312) = b(k,312) - lu(k,2149) * b(k,274)
    1638   254840160 :          b(k,313) = b(k,313) - lu(k,2150) * b(k,274)
    1639   254840160 :          b(k,315) = b(k,315) - lu(k,2151) * b(k,274)
    1640   254840160 :          b(k,316) = b(k,316) - lu(k,2152) * b(k,274)
    1641   254840160 :          b(k,317) = b(k,317) - lu(k,2153) * b(k,274)
    1642   254840160 :          b(k,279) = b(k,279) - lu(k,2181) * b(k,275)
    1643   254840160 :          b(k,280) = b(k,280) - lu(k,2182) * b(k,275)
    1644   254840160 :          b(k,300) = b(k,300) - lu(k,2183) * b(k,275)
    1645   254840160 :          b(k,302) = b(k,302) - lu(k,2184) * b(k,275)
    1646   254840160 :          b(k,303) = b(k,303) - lu(k,2185) * b(k,275)
    1647   254840160 :          b(k,304) = b(k,304) - lu(k,2186) * b(k,275)
    1648   254840160 :          b(k,305) = b(k,305) - lu(k,2187) * b(k,275)
    1649   254840160 :          b(k,306) = b(k,306) - lu(k,2188) * b(k,275)
    1650   254840160 :          b(k,307) = b(k,307) - lu(k,2189) * b(k,275)
    1651   254840160 :          b(k,308) = b(k,308) - lu(k,2190) * b(k,275)
    1652   254840160 :          b(k,311) = b(k,311) - lu(k,2191) * b(k,275)
    1653   254840160 :          b(k,312) = b(k,312) - lu(k,2192) * b(k,275)
    1654   254840160 :          b(k,313) = b(k,313) - lu(k,2193) * b(k,275)
    1655   254840160 :          b(k,315) = b(k,315) - lu(k,2194) * b(k,275)
    1656   254840160 :          b(k,316) = b(k,316) - lu(k,2195) * b(k,275)
    1657   254840160 :          b(k,317) = b(k,317) - lu(k,2196) * b(k,275)
    1658   254840160 :          b(k,301) = b(k,301) - lu(k,2200) * b(k,276)
    1659   254840160 :          b(k,305) = b(k,305) - lu(k,2201) * b(k,276)
    1660   254840160 :          b(k,306) = b(k,306) - lu(k,2202) * b(k,276)
    1661   254840160 :          b(k,307) = b(k,307) - lu(k,2203) * b(k,276)
    1662   254840160 :          b(k,309) = b(k,309) - lu(k,2204) * b(k,276)
    1663   254840160 :          b(k,313) = b(k,313) - lu(k,2205) * b(k,276)
    1664   254840160 :          b(k,314) = b(k,314) - lu(k,2206) * b(k,276)
    1665   254840160 :          b(k,316) = b(k,316) - lu(k,2207) * b(k,276)
    1666   254840160 :          b(k,317) = b(k,317) - lu(k,2208) * b(k,276)
    1667   254840160 :          b(k,292) = b(k,292) - lu(k,2214) * b(k,277)
    1668   254840160 :          b(k,294) = b(k,294) - lu(k,2215) * b(k,277)
    1669   254840160 :          b(k,295) = b(k,295) - lu(k,2216) * b(k,277)
    1670   254840160 :          b(k,296) = b(k,296) - lu(k,2217) * b(k,277)
    1671   254840160 :          b(k,297) = b(k,297) - lu(k,2218) * b(k,277)
    1672   254840160 :          b(k,298) = b(k,298) - lu(k,2219) * b(k,277)
    1673   254840160 :          b(k,299) = b(k,299) - lu(k,2220) * b(k,277)
    1674   254840160 :          b(k,300) = b(k,300) - lu(k,2221) * b(k,277)
    1675   254840160 :          b(k,303) = b(k,303) - lu(k,2222) * b(k,277)
    1676   254840160 :          b(k,305) = b(k,305) - lu(k,2223) * b(k,277)
    1677   254840160 :          b(k,306) = b(k,306) - lu(k,2224) * b(k,277)
    1678   254840160 :          b(k,307) = b(k,307) - lu(k,2225) * b(k,277)
    1679   254840160 :          b(k,308) = b(k,308) - lu(k,2226) * b(k,277)
    1680   254840160 :          b(k,311) = b(k,311) - lu(k,2227) * b(k,277)
    1681   254840160 :          b(k,312) = b(k,312) - lu(k,2228) * b(k,277)
    1682   254840160 :          b(k,316) = b(k,316) - lu(k,2229) * b(k,277)
    1683   254840160 :          b(k,280) = b(k,280) - lu(k,2236) * b(k,278)
    1684   254840160 :          b(k,284) = b(k,284) - lu(k,2237) * b(k,278)
    1685   254840160 :          b(k,294) = b(k,294) - lu(k,2238) * b(k,278)
    1686   254840160 :          b(k,295) = b(k,295) - lu(k,2239) * b(k,278)
    1687   254840160 :          b(k,296) = b(k,296) - lu(k,2240) * b(k,278)
    1688   254840160 :          b(k,297) = b(k,297) - lu(k,2241) * b(k,278)
    1689   254840160 :          b(k,298) = b(k,298) - lu(k,2242) * b(k,278)
    1690   254840160 :          b(k,299) = b(k,299) - lu(k,2243) * b(k,278)
    1691   254840160 :          b(k,300) = b(k,300) - lu(k,2244) * b(k,278)
    1692   254840160 :          b(k,302) = b(k,302) - lu(k,2245) * b(k,278)
    1693   254840160 :          b(k,303) = b(k,303) - lu(k,2246) * b(k,278)
    1694   254840160 :          b(k,305) = b(k,305) - lu(k,2247) * b(k,278)
    1695   254840160 :          b(k,306) = b(k,306) - lu(k,2248) * b(k,278)
    1696   254840160 :          b(k,307) = b(k,307) - lu(k,2249) * b(k,278)
    1697   254840160 :          b(k,308) = b(k,308) - lu(k,2250) * b(k,278)
    1698   254840160 :          b(k,311) = b(k,311) - lu(k,2251) * b(k,278)
    1699   254840160 :          b(k,312) = b(k,312) - lu(k,2252) * b(k,278)
    1700   254840160 :          b(k,316) = b(k,316) - lu(k,2253) * b(k,278)
    1701   254840160 :          b(k,301) = b(k,301) - lu(k,2260) * b(k,279)
    1702   254840160 :          b(k,302) = b(k,302) - lu(k,2261) * b(k,279)
    1703   254840160 :          b(k,304) = b(k,304) - lu(k,2262) * b(k,279)
    1704   254840160 :          b(k,305) = b(k,305) - lu(k,2263) * b(k,279)
    1705   254840160 :          b(k,306) = b(k,306) - lu(k,2264) * b(k,279)
    1706   254840160 :          b(k,307) = b(k,307) - lu(k,2265) * b(k,279)
    1707   254840160 :          b(k,308) = b(k,308) - lu(k,2266) * b(k,279)
    1708   254840160 :          b(k,311) = b(k,311) - lu(k,2267) * b(k,279)
    1709   254840160 :          b(k,314) = b(k,314) - lu(k,2268) * b(k,279)
    1710   254840160 :          b(k,315) = b(k,315) - lu(k,2269) * b(k,279)
    1711   254840160 :          b(k,316) = b(k,316) - lu(k,2270) * b(k,279)
    1712   254840160 :          b(k,317) = b(k,317) - lu(k,2271) * b(k,279)
    1713   254840160 :          b(k,300) = b(k,300) - lu(k,2278) * b(k,280)
    1714   254840160 :          b(k,302) = b(k,302) - lu(k,2279) * b(k,280)
    1715   254840160 :          b(k,303) = b(k,303) - lu(k,2280) * b(k,280)
    1716   254840160 :          b(k,305) = b(k,305) - lu(k,2281) * b(k,280)
    1717   254840160 :          b(k,306) = b(k,306) - lu(k,2282) * b(k,280)
    1718   254840160 :          b(k,307) = b(k,307) - lu(k,2283) * b(k,280)
    1719   254840160 :          b(k,308) = b(k,308) - lu(k,2284) * b(k,280)
    1720   254840160 :          b(k,311) = b(k,311) - lu(k,2285) * b(k,280)
    1721   254840160 :          b(k,312) = b(k,312) - lu(k,2286) * b(k,280)
    1722   254840160 :          b(k,316) = b(k,316) - lu(k,2287) * b(k,280)
    1723   254840160 :          b(k,317) = b(k,317) - lu(k,2288) * b(k,280)
    1724   254840160 :          b(k,284) = b(k,284) - lu(k,2297) * b(k,281)
    1725   254840160 :          b(k,294) = b(k,294) - lu(k,2298) * b(k,281)
    1726   254840160 :          b(k,295) = b(k,295) - lu(k,2299) * b(k,281)
    1727   254840160 :          b(k,296) = b(k,296) - lu(k,2300) * b(k,281)
    1728   254840160 :          b(k,297) = b(k,297) - lu(k,2301) * b(k,281)
    1729   254840160 :          b(k,298) = b(k,298) - lu(k,2302) * b(k,281)
    1730   254840160 :          b(k,299) = b(k,299) - lu(k,2303) * b(k,281)
    1731   254840160 :          b(k,300) = b(k,300) - lu(k,2304) * b(k,281)
    1732   254840160 :          b(k,302) = b(k,302) - lu(k,2305) * b(k,281)
    1733   254840160 :          b(k,303) = b(k,303) - lu(k,2306) * b(k,281)
    1734   254840160 :          b(k,305) = b(k,305) - lu(k,2307) * b(k,281)
    1735   254840160 :          b(k,306) = b(k,306) - lu(k,2308) * b(k,281)
    1736   254840160 :          b(k,307) = b(k,307) - lu(k,2309) * b(k,281)
    1737   254840160 :          b(k,308) = b(k,308) - lu(k,2310) * b(k,281)
    1738   254840160 :          b(k,311) = b(k,311) - lu(k,2311) * b(k,281)
    1739   254840160 :          b(k,312) = b(k,312) - lu(k,2312) * b(k,281)
    1740   254840160 :          b(k,316) = b(k,316) - lu(k,2313) * b(k,281)
    1741   254840160 :          b(k,317) = b(k,317) - lu(k,2314) * b(k,281)
    1742   254840160 :          b(k,284) = b(k,284) - lu(k,2321) * b(k,282)
    1743   254840160 :          b(k,293) = b(k,293) - lu(k,2322) * b(k,282)
    1744   254840160 :          b(k,295) = b(k,295) - lu(k,2323) * b(k,282)
    1745   254840160 :          b(k,298) = b(k,298) - lu(k,2324) * b(k,282)
    1746   254840160 :          b(k,302) = b(k,302) - lu(k,2325) * b(k,282)
    1747   254840160 :          b(k,303) = b(k,303) - lu(k,2326) * b(k,282)
    1748   254840160 :          b(k,305) = b(k,305) - lu(k,2327) * b(k,282)
    1749   254840160 :          b(k,306) = b(k,306) - lu(k,2328) * b(k,282)
    1750   254840160 :          b(k,307) = b(k,307) - lu(k,2329) * b(k,282)
    1751   254840160 :          b(k,311) = b(k,311) - lu(k,2330) * b(k,282)
    1752   254840160 :          b(k,312) = b(k,312) - lu(k,2331) * b(k,282)
    1753   254840160 :          b(k,316) = b(k,316) - lu(k,2332) * b(k,282)
    1754   254840160 :          b(k,284) = b(k,284) - lu(k,2340) * b(k,283)
    1755   254840160 :          b(k,293) = b(k,293) - lu(k,2341) * b(k,283)
    1756   254840160 :          b(k,294) = b(k,294) - lu(k,2342) * b(k,283)
    1757   254840160 :          b(k,295) = b(k,295) - lu(k,2343) * b(k,283)
    1758   254840160 :          b(k,296) = b(k,296) - lu(k,2344) * b(k,283)
    1759   254840160 :          b(k,297) = b(k,297) - lu(k,2345) * b(k,283)
    1760   254840160 :          b(k,298) = b(k,298) - lu(k,2346) * b(k,283)
    1761   254840160 :          b(k,299) = b(k,299) - lu(k,2347) * b(k,283)
    1762   254840160 :          b(k,300) = b(k,300) - lu(k,2348) * b(k,283)
    1763   254840160 :          b(k,302) = b(k,302) - lu(k,2349) * b(k,283)
    1764   254840160 :          b(k,303) = b(k,303) - lu(k,2350) * b(k,283)
    1765   254840160 :          b(k,305) = b(k,305) - lu(k,2351) * b(k,283)
    1766   254840160 :          b(k,306) = b(k,306) - lu(k,2352) * b(k,283)
    1767   254840160 :          b(k,307) = b(k,307) - lu(k,2353) * b(k,283)
    1768   254840160 :          b(k,308) = b(k,308) - lu(k,2354) * b(k,283)
    1769   254840160 :          b(k,311) = b(k,311) - lu(k,2355) * b(k,283)
    1770   254840160 :          b(k,312) = b(k,312) - lu(k,2356) * b(k,283)
    1771   254840160 :          b(k,316) = b(k,316) - lu(k,2357) * b(k,283)
    1772   254840160 :          b(k,294) = b(k,294) - lu(k,2360) * b(k,284)
    1773   254840160 :          b(k,296) = b(k,296) - lu(k,2361) * b(k,284)
    1774   254840160 :          b(k,299) = b(k,299) - lu(k,2362) * b(k,284)
    1775   254840160 :          b(k,302) = b(k,302) - lu(k,2363) * b(k,284)
    1776   254840160 :          b(k,305) = b(k,305) - lu(k,2364) * b(k,284)
    1777   254840160 :          b(k,307) = b(k,307) - lu(k,2365) * b(k,284)
    1778   254840160 :          b(k,311) = b(k,311) - lu(k,2366) * b(k,284)
    1779   254840160 :          b(k,316) = b(k,316) - lu(k,2367) * b(k,284)
    1780   254840160 :          b(k,293) = b(k,293) - lu(k,2381) * b(k,285)
    1781   254840160 :          b(k,294) = b(k,294) - lu(k,2382) * b(k,285)
    1782   254840160 :          b(k,295) = b(k,295) - lu(k,2383) * b(k,285)
    1783   254840160 :          b(k,296) = b(k,296) - lu(k,2384) * b(k,285)
    1784   254840160 :          b(k,297) = b(k,297) - lu(k,2385) * b(k,285)
    1785   254840160 :          b(k,298) = b(k,298) - lu(k,2386) * b(k,285)
    1786   254840160 :          b(k,299) = b(k,299) - lu(k,2387) * b(k,285)
    1787   254840160 :          b(k,300) = b(k,300) - lu(k,2388) * b(k,285)
    1788   254840160 :          b(k,302) = b(k,302) - lu(k,2389) * b(k,285)
    1789   254840160 :          b(k,303) = b(k,303) - lu(k,2390) * b(k,285)
    1790   254840160 :          b(k,305) = b(k,305) - lu(k,2391) * b(k,285)
    1791   254840160 :          b(k,306) = b(k,306) - lu(k,2392) * b(k,285)
    1792   254840160 :          b(k,307) = b(k,307) - lu(k,2393) * b(k,285)
    1793   254840160 :          b(k,308) = b(k,308) - lu(k,2394) * b(k,285)
    1794   254840160 :          b(k,311) = b(k,311) - lu(k,2395) * b(k,285)
    1795   254840160 :          b(k,312) = b(k,312) - lu(k,2396) * b(k,285)
    1796   254840160 :          b(k,316) = b(k,316) - lu(k,2397) * b(k,285)
    1797   254840160 :          b(k,317) = b(k,317) - lu(k,2398) * b(k,285)
    1798   254840160 :          b(k,292) = b(k,292) - lu(k,2409) * b(k,286)
    1799   254840160 :          b(k,293) = b(k,293) - lu(k,2410) * b(k,286)
    1800   254840160 :          b(k,294) = b(k,294) - lu(k,2411) * b(k,286)
    1801   254840160 :          b(k,295) = b(k,295) - lu(k,2412) * b(k,286)
    1802   254840160 :          b(k,296) = b(k,296) - lu(k,2413) * b(k,286)
    1803   254840160 :          b(k,297) = b(k,297) - lu(k,2414) * b(k,286)
    1804   254840160 :          b(k,298) = b(k,298) - lu(k,2415) * b(k,286)
    1805   254840160 :          b(k,299) = b(k,299) - lu(k,2416) * b(k,286)
    1806   254840160 :          b(k,300) = b(k,300) - lu(k,2417) * b(k,286)
    1807   254840160 :          b(k,302) = b(k,302) - lu(k,2418) * b(k,286)
    1808   254840160 :          b(k,303) = b(k,303) - lu(k,2419) * b(k,286)
    1809   254840160 :          b(k,305) = b(k,305) - lu(k,2420) * b(k,286)
    1810   254840160 :          b(k,306) = b(k,306) - lu(k,2421) * b(k,286)
    1811   254840160 :          b(k,307) = b(k,307) - lu(k,2422) * b(k,286)
    1812   254840160 :          b(k,308) = b(k,308) - lu(k,2423) * b(k,286)
    1813   254840160 :          b(k,311) = b(k,311) - lu(k,2424) * b(k,286)
    1814   254840160 :          b(k,312) = b(k,312) - lu(k,2425) * b(k,286)
    1815   263009123 :          b(k,316) = b(k,316) - lu(k,2426) * b(k,286)
    1816             :       end do
    1817     8168963 :       end subroutine lu_slv08
    1818     8168963 :       subroutine lu_slv09( avec_len, lu, b )
    1819             :       use shr_kind_mod, only : r8 => shr_kind_r8
    1820             :       use chem_mods, only : clscnt4, nzcnt
    1821             :       implicit none
    1822             : !-----------------------------------------------------------------------
    1823             : ! ... Dummy args
    1824             : !-----------------------------------------------------------------------
    1825             :       integer, intent(in) :: avec_len
    1826             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    1827             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    1828             : !-----------------------------------------------------------------------
    1829             : ! ... Local variables
    1830             : !-----------------------------------------------------------------------
    1831             :       integer :: k
    1832             : !-----------------------------------------------------------------------
    1833             : ! ... solve L * y = b
    1834             : !-----------------------------------------------------------------------
    1835   263009123 :       do k = 1,avec_len
    1836   254840160 :          b(k,293) = b(k,293) - lu(k,2442) * b(k,287)
    1837   254840160 :          b(k,294) = b(k,294) - lu(k,2443) * b(k,287)
    1838   254840160 :          b(k,295) = b(k,295) - lu(k,2444) * b(k,287)
    1839   254840160 :          b(k,296) = b(k,296) - lu(k,2445) * b(k,287)
    1840   254840160 :          b(k,297) = b(k,297) - lu(k,2446) * b(k,287)
    1841   254840160 :          b(k,298) = b(k,298) - lu(k,2447) * b(k,287)
    1842   254840160 :          b(k,299) = b(k,299) - lu(k,2448) * b(k,287)
    1843   254840160 :          b(k,300) = b(k,300) - lu(k,2449) * b(k,287)
    1844   254840160 :          b(k,302) = b(k,302) - lu(k,2450) * b(k,287)
    1845   254840160 :          b(k,303) = b(k,303) - lu(k,2451) * b(k,287)
    1846   254840160 :          b(k,305) = b(k,305) - lu(k,2452) * b(k,287)
    1847   254840160 :          b(k,306) = b(k,306) - lu(k,2453) * b(k,287)
    1848   254840160 :          b(k,307) = b(k,307) - lu(k,2454) * b(k,287)
    1849   254840160 :          b(k,308) = b(k,308) - lu(k,2455) * b(k,287)
    1850   254840160 :          b(k,311) = b(k,311) - lu(k,2456) * b(k,287)
    1851   254840160 :          b(k,312) = b(k,312) - lu(k,2457) * b(k,287)
    1852   254840160 :          b(k,316) = b(k,316) - lu(k,2458) * b(k,287)
    1853   254840160 :          b(k,317) = b(k,317) - lu(k,2459) * b(k,287)
    1854   254840160 :          b(k,292) = b(k,292) - lu(k,2472) * b(k,288)
    1855   254840160 :          b(k,293) = b(k,293) - lu(k,2473) * b(k,288)
    1856   254840160 :          b(k,294) = b(k,294) - lu(k,2474) * b(k,288)
    1857   254840160 :          b(k,295) = b(k,295) - lu(k,2475) * b(k,288)
    1858   254840160 :          b(k,296) = b(k,296) - lu(k,2476) * b(k,288)
    1859   254840160 :          b(k,297) = b(k,297) - lu(k,2477) * b(k,288)
    1860   254840160 :          b(k,298) = b(k,298) - lu(k,2478) * b(k,288)
    1861   254840160 :          b(k,299) = b(k,299) - lu(k,2479) * b(k,288)
    1862   254840160 :          b(k,300) = b(k,300) - lu(k,2480) * b(k,288)
    1863   254840160 :          b(k,302) = b(k,302) - lu(k,2481) * b(k,288)
    1864   254840160 :          b(k,303) = b(k,303) - lu(k,2482) * b(k,288)
    1865   254840160 :          b(k,305) = b(k,305) - lu(k,2483) * b(k,288)
    1866   254840160 :          b(k,306) = b(k,306) - lu(k,2484) * b(k,288)
    1867   254840160 :          b(k,307) = b(k,307) - lu(k,2485) * b(k,288)
    1868   254840160 :          b(k,308) = b(k,308) - lu(k,2486) * b(k,288)
    1869   254840160 :          b(k,311) = b(k,311) - lu(k,2487) * b(k,288)
    1870   254840160 :          b(k,312) = b(k,312) - lu(k,2488) * b(k,288)
    1871   254840160 :          b(k,316) = b(k,316) - lu(k,2489) * b(k,288)
    1872   254840160 :          b(k,317) = b(k,317) - lu(k,2490) * b(k,288)
    1873   254840160 :          b(k,290) = b(k,290) - lu(k,2506) * b(k,289)
    1874   254840160 :          b(k,293) = b(k,293) - lu(k,2507) * b(k,289)
    1875   254840160 :          b(k,294) = b(k,294) - lu(k,2508) * b(k,289)
    1876   254840160 :          b(k,295) = b(k,295) - lu(k,2509) * b(k,289)
    1877   254840160 :          b(k,296) = b(k,296) - lu(k,2510) * b(k,289)
    1878   254840160 :          b(k,297) = b(k,297) - lu(k,2511) * b(k,289)
    1879   254840160 :          b(k,298) = b(k,298) - lu(k,2512) * b(k,289)
    1880   254840160 :          b(k,299) = b(k,299) - lu(k,2513) * b(k,289)
    1881   254840160 :          b(k,300) = b(k,300) - lu(k,2514) * b(k,289)
    1882   254840160 :          b(k,302) = b(k,302) - lu(k,2515) * b(k,289)
    1883   254840160 :          b(k,303) = b(k,303) - lu(k,2516) * b(k,289)
    1884   254840160 :          b(k,305) = b(k,305) - lu(k,2517) * b(k,289)
    1885   254840160 :          b(k,306) = b(k,306) - lu(k,2518) * b(k,289)
    1886   254840160 :          b(k,307) = b(k,307) - lu(k,2519) * b(k,289)
    1887   254840160 :          b(k,308) = b(k,308) - lu(k,2520) * b(k,289)
    1888   254840160 :          b(k,311) = b(k,311) - lu(k,2521) * b(k,289)
    1889   254840160 :          b(k,312) = b(k,312) - lu(k,2522) * b(k,289)
    1890   254840160 :          b(k,316) = b(k,316) - lu(k,2523) * b(k,289)
    1891   254840160 :          b(k,317) = b(k,317) - lu(k,2524) * b(k,289)
    1892   254840160 :          b(k,294) = b(k,294) - lu(k,2537) * b(k,290)
    1893   254840160 :          b(k,295) = b(k,295) - lu(k,2538) * b(k,290)
    1894   254840160 :          b(k,296) = b(k,296) - lu(k,2539) * b(k,290)
    1895   254840160 :          b(k,297) = b(k,297) - lu(k,2540) * b(k,290)
    1896   254840160 :          b(k,298) = b(k,298) - lu(k,2541) * b(k,290)
    1897   254840160 :          b(k,299) = b(k,299) - lu(k,2542) * b(k,290)
    1898   254840160 :          b(k,300) = b(k,300) - lu(k,2543) * b(k,290)
    1899   254840160 :          b(k,302) = b(k,302) - lu(k,2544) * b(k,290)
    1900   254840160 :          b(k,303) = b(k,303) - lu(k,2545) * b(k,290)
    1901   254840160 :          b(k,305) = b(k,305) - lu(k,2546) * b(k,290)
    1902   254840160 :          b(k,306) = b(k,306) - lu(k,2547) * b(k,290)
    1903   254840160 :          b(k,307) = b(k,307) - lu(k,2548) * b(k,290)
    1904   254840160 :          b(k,308) = b(k,308) - lu(k,2549) * b(k,290)
    1905   254840160 :          b(k,311) = b(k,311) - lu(k,2550) * b(k,290)
    1906   254840160 :          b(k,312) = b(k,312) - lu(k,2551) * b(k,290)
    1907   254840160 :          b(k,316) = b(k,316) - lu(k,2552) * b(k,290)
    1908   254840160 :          b(k,317) = b(k,317) - lu(k,2553) * b(k,290)
    1909   254840160 :          b(k,292) = b(k,292) - lu(k,2571) * b(k,291)
    1910   254840160 :          b(k,293) = b(k,293) - lu(k,2572) * b(k,291)
    1911   254840160 :          b(k,294) = b(k,294) - lu(k,2573) * b(k,291)
    1912   254840160 :          b(k,295) = b(k,295) - lu(k,2574) * b(k,291)
    1913   254840160 :          b(k,296) = b(k,296) - lu(k,2575) * b(k,291)
    1914   254840160 :          b(k,297) = b(k,297) - lu(k,2576) * b(k,291)
    1915   254840160 :          b(k,298) = b(k,298) - lu(k,2577) * b(k,291)
    1916   254840160 :          b(k,299) = b(k,299) - lu(k,2578) * b(k,291)
    1917   254840160 :          b(k,300) = b(k,300) - lu(k,2579) * b(k,291)
    1918   254840160 :          b(k,302) = b(k,302) - lu(k,2580) * b(k,291)
    1919   254840160 :          b(k,303) = b(k,303) - lu(k,2581) * b(k,291)
    1920   254840160 :          b(k,305) = b(k,305) - lu(k,2582) * b(k,291)
    1921   254840160 :          b(k,306) = b(k,306) - lu(k,2583) * b(k,291)
    1922   254840160 :          b(k,307) = b(k,307) - lu(k,2584) * b(k,291)
    1923   254840160 :          b(k,308) = b(k,308) - lu(k,2585) * b(k,291)
    1924   254840160 :          b(k,311) = b(k,311) - lu(k,2586) * b(k,291)
    1925   254840160 :          b(k,312) = b(k,312) - lu(k,2587) * b(k,291)
    1926   254840160 :          b(k,316) = b(k,316) - lu(k,2588) * b(k,291)
    1927   254840160 :          b(k,317) = b(k,317) - lu(k,2589) * b(k,291)
    1928   254840160 :          b(k,293) = b(k,293) - lu(k,2601) * b(k,292)
    1929   254840160 :          b(k,294) = b(k,294) - lu(k,2602) * b(k,292)
    1930   254840160 :          b(k,295) = b(k,295) - lu(k,2603) * b(k,292)
    1931   254840160 :          b(k,296) = b(k,296) - lu(k,2604) * b(k,292)
    1932   254840160 :          b(k,298) = b(k,298) - lu(k,2605) * b(k,292)
    1933   254840160 :          b(k,299) = b(k,299) - lu(k,2606) * b(k,292)
    1934   254840160 :          b(k,302) = b(k,302) - lu(k,2607) * b(k,292)
    1935   254840160 :          b(k,303) = b(k,303) - lu(k,2608) * b(k,292)
    1936   254840160 :          b(k,304) = b(k,304) - lu(k,2609) * b(k,292)
    1937   254840160 :          b(k,305) = b(k,305) - lu(k,2610) * b(k,292)
    1938   254840160 :          b(k,306) = b(k,306) - lu(k,2611) * b(k,292)
    1939   254840160 :          b(k,307) = b(k,307) - lu(k,2612) * b(k,292)
    1940   254840160 :          b(k,311) = b(k,311) - lu(k,2613) * b(k,292)
    1941   254840160 :          b(k,312) = b(k,312) - lu(k,2614) * b(k,292)
    1942   254840160 :          b(k,313) = b(k,313) - lu(k,2615) * b(k,292)
    1943   254840160 :          b(k,315) = b(k,315) - lu(k,2616) * b(k,292)
    1944   254840160 :          b(k,316) = b(k,316) - lu(k,2617) * b(k,292)
    1945   254840160 :          b(k,317) = b(k,317) - lu(k,2618) * b(k,292)
    1946   254840160 :          b(k,294) = b(k,294) - lu(k,2630) * b(k,293)
    1947   254840160 :          b(k,295) = b(k,295) - lu(k,2631) * b(k,293)
    1948   254840160 :          b(k,296) = b(k,296) - lu(k,2632) * b(k,293)
    1949   254840160 :          b(k,298) = b(k,298) - lu(k,2633) * b(k,293)
    1950   254840160 :          b(k,299) = b(k,299) - lu(k,2634) * b(k,293)
    1951   254840160 :          b(k,302) = b(k,302) - lu(k,2635) * b(k,293)
    1952   254840160 :          b(k,303) = b(k,303) - lu(k,2636) * b(k,293)
    1953   254840160 :          b(k,304) = b(k,304) - lu(k,2637) * b(k,293)
    1954   254840160 :          b(k,305) = b(k,305) - lu(k,2638) * b(k,293)
    1955   254840160 :          b(k,306) = b(k,306) - lu(k,2639) * b(k,293)
    1956   254840160 :          b(k,307) = b(k,307) - lu(k,2640) * b(k,293)
    1957   254840160 :          b(k,311) = b(k,311) - lu(k,2641) * b(k,293)
    1958   254840160 :          b(k,312) = b(k,312) - lu(k,2642) * b(k,293)
    1959   254840160 :          b(k,313) = b(k,313) - lu(k,2643) * b(k,293)
    1960   254840160 :          b(k,315) = b(k,315) - lu(k,2644) * b(k,293)
    1961   254840160 :          b(k,316) = b(k,316) - lu(k,2645) * b(k,293)
    1962   254840160 :          b(k,317) = b(k,317) - lu(k,2646) * b(k,293)
    1963   254840160 :          b(k,295) = b(k,295) - lu(k,2655) * b(k,294)
    1964   254840160 :          b(k,296) = b(k,296) - lu(k,2656) * b(k,294)
    1965   254840160 :          b(k,297) = b(k,297) - lu(k,2657) * b(k,294)
    1966   254840160 :          b(k,298) = b(k,298) - lu(k,2658) * b(k,294)
    1967   254840160 :          b(k,299) = b(k,299) - lu(k,2659) * b(k,294)
    1968   254840160 :          b(k,300) = b(k,300) - lu(k,2660) * b(k,294)
    1969   254840160 :          b(k,302) = b(k,302) - lu(k,2661) * b(k,294)
    1970   254840160 :          b(k,303) = b(k,303) - lu(k,2662) * b(k,294)
    1971   254840160 :          b(k,305) = b(k,305) - lu(k,2663) * b(k,294)
    1972   254840160 :          b(k,306) = b(k,306) - lu(k,2664) * b(k,294)
    1973   254840160 :          b(k,307) = b(k,307) - lu(k,2665) * b(k,294)
    1974   254840160 :          b(k,308) = b(k,308) - lu(k,2666) * b(k,294)
    1975   254840160 :          b(k,311) = b(k,311) - lu(k,2667) * b(k,294)
    1976   254840160 :          b(k,312) = b(k,312) - lu(k,2668) * b(k,294)
    1977   254840160 :          b(k,316) = b(k,316) - lu(k,2669) * b(k,294)
    1978   254840160 :          b(k,296) = b(k,296) - lu(k,2678) * b(k,295)
    1979   254840160 :          b(k,297) = b(k,297) - lu(k,2679) * b(k,295)
    1980   254840160 :          b(k,298) = b(k,298) - lu(k,2680) * b(k,295)
    1981   254840160 :          b(k,299) = b(k,299) - lu(k,2681) * b(k,295)
    1982   254840160 :          b(k,300) = b(k,300) - lu(k,2682) * b(k,295)
    1983   254840160 :          b(k,302) = b(k,302) - lu(k,2683) * b(k,295)
    1984   254840160 :          b(k,303) = b(k,303) - lu(k,2684) * b(k,295)
    1985   254840160 :          b(k,305) = b(k,305) - lu(k,2685) * b(k,295)
    1986   254840160 :          b(k,306) = b(k,306) - lu(k,2686) * b(k,295)
    1987   254840160 :          b(k,307) = b(k,307) - lu(k,2687) * b(k,295)
    1988   254840160 :          b(k,308) = b(k,308) - lu(k,2688) * b(k,295)
    1989   254840160 :          b(k,311) = b(k,311) - lu(k,2689) * b(k,295)
    1990   254840160 :          b(k,312) = b(k,312) - lu(k,2690) * b(k,295)
    1991   254840160 :          b(k,316) = b(k,316) - lu(k,2691) * b(k,295)
    1992   254840160 :          b(k,297) = b(k,297) - lu(k,2702) * b(k,296)
    1993   254840160 :          b(k,298) = b(k,298) - lu(k,2703) * b(k,296)
    1994   254840160 :          b(k,299) = b(k,299) - lu(k,2704) * b(k,296)
    1995   254840160 :          b(k,300) = b(k,300) - lu(k,2705) * b(k,296)
    1996   254840160 :          b(k,302) = b(k,302) - lu(k,2706) * b(k,296)
    1997   254840160 :          b(k,303) = b(k,303) - lu(k,2707) * b(k,296)
    1998   254840160 :          b(k,305) = b(k,305) - lu(k,2708) * b(k,296)
    1999   254840160 :          b(k,306) = b(k,306) - lu(k,2709) * b(k,296)
    2000   254840160 :          b(k,307) = b(k,307) - lu(k,2710) * b(k,296)
    2001   254840160 :          b(k,308) = b(k,308) - lu(k,2711) * b(k,296)
    2002   254840160 :          b(k,311) = b(k,311) - lu(k,2712) * b(k,296)
    2003   254840160 :          b(k,312) = b(k,312) - lu(k,2713) * b(k,296)
    2004   254840160 :          b(k,316) = b(k,316) - lu(k,2714) * b(k,296)
    2005   254840160 :          b(k,317) = b(k,317) - lu(k,2715) * b(k,296)
    2006   254840160 :          b(k,298) = b(k,298) - lu(k,2746) * b(k,297)
    2007   254840160 :          b(k,299) = b(k,299) - lu(k,2747) * b(k,297)
    2008   254840160 :          b(k,300) = b(k,300) - lu(k,2748) * b(k,297)
    2009   254840160 :          b(k,302) = b(k,302) - lu(k,2749) * b(k,297)
    2010   254840160 :          b(k,303) = b(k,303) - lu(k,2750) * b(k,297)
    2011   254840160 :          b(k,304) = b(k,304) - lu(k,2751) * b(k,297)
    2012   254840160 :          b(k,305) = b(k,305) - lu(k,2752) * b(k,297)
    2013   254840160 :          b(k,306) = b(k,306) - lu(k,2753) * b(k,297)
    2014   254840160 :          b(k,307) = b(k,307) - lu(k,2754) * b(k,297)
    2015   254840160 :          b(k,308) = b(k,308) - lu(k,2755) * b(k,297)
    2016   254840160 :          b(k,311) = b(k,311) - lu(k,2756) * b(k,297)
    2017   254840160 :          b(k,312) = b(k,312) - lu(k,2757) * b(k,297)
    2018   254840160 :          b(k,313) = b(k,313) - lu(k,2758) * b(k,297)
    2019   254840160 :          b(k,315) = b(k,315) - lu(k,2759) * b(k,297)
    2020   254840160 :          b(k,316) = b(k,316) - lu(k,2760) * b(k,297)
    2021   254840160 :          b(k,317) = b(k,317) - lu(k,2761) * b(k,297)
    2022   254840160 :          b(k,299) = b(k,299) - lu(k,2793) * b(k,298)
    2023   254840160 :          b(k,300) = b(k,300) - lu(k,2794) * b(k,298)
    2024   254840160 :          b(k,302) = b(k,302) - lu(k,2795) * b(k,298)
    2025   254840160 :          b(k,303) = b(k,303) - lu(k,2796) * b(k,298)
    2026   254840160 :          b(k,304) = b(k,304) - lu(k,2797) * b(k,298)
    2027   254840160 :          b(k,305) = b(k,305) - lu(k,2798) * b(k,298)
    2028   254840160 :          b(k,306) = b(k,306) - lu(k,2799) * b(k,298)
    2029   254840160 :          b(k,307) = b(k,307) - lu(k,2800) * b(k,298)
    2030   254840160 :          b(k,308) = b(k,308) - lu(k,2801) * b(k,298)
    2031   254840160 :          b(k,311) = b(k,311) - lu(k,2802) * b(k,298)
    2032   254840160 :          b(k,312) = b(k,312) - lu(k,2803) * b(k,298)
    2033   254840160 :          b(k,313) = b(k,313) - lu(k,2804) * b(k,298)
    2034   254840160 :          b(k,315) = b(k,315) - lu(k,2805) * b(k,298)
    2035   254840160 :          b(k,316) = b(k,316) - lu(k,2806) * b(k,298)
    2036   263009123 :          b(k,317) = b(k,317) - lu(k,2807) * b(k,298)
    2037             :       end do
    2038     8168963 :       end subroutine lu_slv09
    2039     8168963 :       subroutine lu_slv10( avec_len, lu, b )
    2040             :       use shr_kind_mod, only : r8 => shr_kind_r8
    2041             :       use chem_mods, only : clscnt4, nzcnt
    2042             :       implicit none
    2043             : !-----------------------------------------------------------------------
    2044             : ! ... Dummy args
    2045             : !-----------------------------------------------------------------------
    2046             :       integer, intent(in) :: avec_len
    2047             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    2048             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    2049             : !-----------------------------------------------------------------------
    2050             : ! ... Local variables
    2051             : !-----------------------------------------------------------------------
    2052             :       integer :: k
    2053             : !-----------------------------------------------------------------------
    2054             : ! ... solve L * y = b
    2055             : !-----------------------------------------------------------------------
    2056   263009123 :       do k = 1,avec_len
    2057   254840160 :          b(k,300) = b(k,300) - lu(k,2841) * b(k,299)
    2058   254840160 :          b(k,302) = b(k,302) - lu(k,2842) * b(k,299)
    2059   254840160 :          b(k,303) = b(k,303) - lu(k,2843) * b(k,299)
    2060   254840160 :          b(k,304) = b(k,304) - lu(k,2844) * b(k,299)
    2061   254840160 :          b(k,305) = b(k,305) - lu(k,2845) * b(k,299)
    2062   254840160 :          b(k,306) = b(k,306) - lu(k,2846) * b(k,299)
    2063   254840160 :          b(k,307) = b(k,307) - lu(k,2847) * b(k,299)
    2064   254840160 :          b(k,308) = b(k,308) - lu(k,2848) * b(k,299)
    2065   254840160 :          b(k,311) = b(k,311) - lu(k,2849) * b(k,299)
    2066   254840160 :          b(k,312) = b(k,312) - lu(k,2850) * b(k,299)
    2067   254840160 :          b(k,313) = b(k,313) - lu(k,2851) * b(k,299)
    2068   254840160 :          b(k,315) = b(k,315) - lu(k,2852) * b(k,299)
    2069   254840160 :          b(k,316) = b(k,316) - lu(k,2853) * b(k,299)
    2070   254840160 :          b(k,317) = b(k,317) - lu(k,2854) * b(k,299)
    2071   254840160 :          b(k,301) = b(k,301) - lu(k,2914) * b(k,300)
    2072   254840160 :          b(k,302) = b(k,302) - lu(k,2915) * b(k,300)
    2073   254840160 :          b(k,303) = b(k,303) - lu(k,2916) * b(k,300)
    2074   254840160 :          b(k,304) = b(k,304) - lu(k,2917) * b(k,300)
    2075   254840160 :          b(k,305) = b(k,305) - lu(k,2918) * b(k,300)
    2076   254840160 :          b(k,306) = b(k,306) - lu(k,2919) * b(k,300)
    2077   254840160 :          b(k,307) = b(k,307) - lu(k,2920) * b(k,300)
    2078   254840160 :          b(k,308) = b(k,308) - lu(k,2921) * b(k,300)
    2079   254840160 :          b(k,311) = b(k,311) - lu(k,2922) * b(k,300)
    2080   254840160 :          b(k,312) = b(k,312) - lu(k,2923) * b(k,300)
    2081   254840160 :          b(k,313) = b(k,313) - lu(k,2924) * b(k,300)
    2082   254840160 :          b(k,314) = b(k,314) - lu(k,2925) * b(k,300)
    2083   254840160 :          b(k,315) = b(k,315) - lu(k,2926) * b(k,300)
    2084   254840160 :          b(k,316) = b(k,316) - lu(k,2927) * b(k,300)
    2085   254840160 :          b(k,317) = b(k,317) - lu(k,2928) * b(k,300)
    2086   254840160 :          b(k,302) = b(k,302) - lu(k,2932) * b(k,301)
    2087   254840160 :          b(k,304) = b(k,304) - lu(k,2933) * b(k,301)
    2088   254840160 :          b(k,305) = b(k,305) - lu(k,2934) * b(k,301)
    2089   254840160 :          b(k,306) = b(k,306) - lu(k,2935) * b(k,301)
    2090   254840160 :          b(k,307) = b(k,307) - lu(k,2936) * b(k,301)
    2091   254840160 :          b(k,308) = b(k,308) - lu(k,2937) * b(k,301)
    2092   254840160 :          b(k,311) = b(k,311) - lu(k,2938) * b(k,301)
    2093   254840160 :          b(k,313) = b(k,313) - lu(k,2939) * b(k,301)
    2094   254840160 :          b(k,314) = b(k,314) - lu(k,2940) * b(k,301)
    2095   254840160 :          b(k,315) = b(k,315) - lu(k,2941) * b(k,301)
    2096   254840160 :          b(k,316) = b(k,316) - lu(k,2942) * b(k,301)
    2097   254840160 :          b(k,317) = b(k,317) - lu(k,2943) * b(k,301)
    2098   254840160 :          b(k,304) = b(k,304) - lu(k,2950) * b(k,302)
    2099   254840160 :          b(k,305) = b(k,305) - lu(k,2951) * b(k,302)
    2100   254840160 :          b(k,306) = b(k,306) - lu(k,2952) * b(k,302)
    2101   254840160 :          b(k,307) = b(k,307) - lu(k,2953) * b(k,302)
    2102   254840160 :          b(k,308) = b(k,308) - lu(k,2954) * b(k,302)
    2103   254840160 :          b(k,311) = b(k,311) - lu(k,2955) * b(k,302)
    2104   254840160 :          b(k,312) = b(k,312) - lu(k,2956) * b(k,302)
    2105   254840160 :          b(k,313) = b(k,313) - lu(k,2957) * b(k,302)
    2106   254840160 :          b(k,314) = b(k,314) - lu(k,2958) * b(k,302)
    2107   254840160 :          b(k,315) = b(k,315) - lu(k,2959) * b(k,302)
    2108   254840160 :          b(k,316) = b(k,316) - lu(k,2960) * b(k,302)
    2109   254840160 :          b(k,317) = b(k,317) - lu(k,2961) * b(k,302)
    2110   254840160 :          b(k,304) = b(k,304) - lu(k,3107) * b(k,303)
    2111   254840160 :          b(k,305) = b(k,305) - lu(k,3108) * b(k,303)
    2112   254840160 :          b(k,306) = b(k,306) - lu(k,3109) * b(k,303)
    2113   254840160 :          b(k,307) = b(k,307) - lu(k,3110) * b(k,303)
    2114   254840160 :          b(k,308) = b(k,308) - lu(k,3111) * b(k,303)
    2115   254840160 :          b(k,309) = b(k,309) - lu(k,3112) * b(k,303)
    2116   254840160 :          b(k,310) = b(k,310) - lu(k,3113) * b(k,303)
    2117   254840160 :          b(k,311) = b(k,311) - lu(k,3114) * b(k,303)
    2118   254840160 :          b(k,312) = b(k,312) - lu(k,3115) * b(k,303)
    2119   254840160 :          b(k,313) = b(k,313) - lu(k,3116) * b(k,303)
    2120   254840160 :          b(k,314) = b(k,314) - lu(k,3117) * b(k,303)
    2121   254840160 :          b(k,315) = b(k,315) - lu(k,3118) * b(k,303)
    2122   254840160 :          b(k,316) = b(k,316) - lu(k,3119) * b(k,303)
    2123   254840160 :          b(k,317) = b(k,317) - lu(k,3120) * b(k,303)
    2124   254840160 :          b(k,305) = b(k,305) - lu(k,3130) * b(k,304)
    2125   254840160 :          b(k,306) = b(k,306) - lu(k,3131) * b(k,304)
    2126   254840160 :          b(k,307) = b(k,307) - lu(k,3132) * b(k,304)
    2127   254840160 :          b(k,308) = b(k,308) - lu(k,3133) * b(k,304)
    2128   254840160 :          b(k,309) = b(k,309) - lu(k,3134) * b(k,304)
    2129   254840160 :          b(k,310) = b(k,310) - lu(k,3135) * b(k,304)
    2130   254840160 :          b(k,311) = b(k,311) - lu(k,3136) * b(k,304)
    2131   254840160 :          b(k,312) = b(k,312) - lu(k,3137) * b(k,304)
    2132   254840160 :          b(k,313) = b(k,313) - lu(k,3138) * b(k,304)
    2133   254840160 :          b(k,314) = b(k,314) - lu(k,3139) * b(k,304)
    2134   254840160 :          b(k,315) = b(k,315) - lu(k,3140) * b(k,304)
    2135   254840160 :          b(k,316) = b(k,316) - lu(k,3141) * b(k,304)
    2136   254840160 :          b(k,317) = b(k,317) - lu(k,3142) * b(k,304)
    2137   254840160 :          b(k,306) = b(k,306) - lu(k,3162) * b(k,305)
    2138   254840160 :          b(k,307) = b(k,307) - lu(k,3163) * b(k,305)
    2139   254840160 :          b(k,308) = b(k,308) - lu(k,3164) * b(k,305)
    2140   254840160 :          b(k,309) = b(k,309) - lu(k,3165) * b(k,305)
    2141   254840160 :          b(k,310) = b(k,310) - lu(k,3166) * b(k,305)
    2142   254840160 :          b(k,311) = b(k,311) - lu(k,3167) * b(k,305)
    2143   254840160 :          b(k,312) = b(k,312) - lu(k,3168) * b(k,305)
    2144   254840160 :          b(k,313) = b(k,313) - lu(k,3169) * b(k,305)
    2145   254840160 :          b(k,314) = b(k,314) - lu(k,3170) * b(k,305)
    2146   254840160 :          b(k,315) = b(k,315) - lu(k,3171) * b(k,305)
    2147   254840160 :          b(k,316) = b(k,316) - lu(k,3172) * b(k,305)
    2148   254840160 :          b(k,317) = b(k,317) - lu(k,3173) * b(k,305)
    2149   254840160 :          b(k,307) = b(k,307) - lu(k,3189) * b(k,306)
    2150   254840160 :          b(k,308) = b(k,308) - lu(k,3190) * b(k,306)
    2151   254840160 :          b(k,309) = b(k,309) - lu(k,3191) * b(k,306)
    2152   254840160 :          b(k,310) = b(k,310) - lu(k,3192) * b(k,306)
    2153   254840160 :          b(k,311) = b(k,311) - lu(k,3193) * b(k,306)
    2154   254840160 :          b(k,312) = b(k,312) - lu(k,3194) * b(k,306)
    2155   254840160 :          b(k,313) = b(k,313) - lu(k,3195) * b(k,306)
    2156   254840160 :          b(k,314) = b(k,314) - lu(k,3196) * b(k,306)
    2157   254840160 :          b(k,315) = b(k,315) - lu(k,3197) * b(k,306)
    2158   254840160 :          b(k,316) = b(k,316) - lu(k,3198) * b(k,306)
    2159   254840160 :          b(k,317) = b(k,317) - lu(k,3199) * b(k,306)
    2160   254840160 :          b(k,308) = b(k,308) - lu(k,3370) * b(k,307)
    2161   254840160 :          b(k,309) = b(k,309) - lu(k,3371) * b(k,307)
    2162   254840160 :          b(k,310) = b(k,310) - lu(k,3372) * b(k,307)
    2163   254840160 :          b(k,311) = b(k,311) - lu(k,3373) * b(k,307)
    2164   254840160 :          b(k,312) = b(k,312) - lu(k,3374) * b(k,307)
    2165   254840160 :          b(k,313) = b(k,313) - lu(k,3375) * b(k,307)
    2166   254840160 :          b(k,314) = b(k,314) - lu(k,3376) * b(k,307)
    2167   254840160 :          b(k,315) = b(k,315) - lu(k,3377) * b(k,307)
    2168   254840160 :          b(k,316) = b(k,316) - lu(k,3378) * b(k,307)
    2169   254840160 :          b(k,317) = b(k,317) - lu(k,3379) * b(k,307)
    2170   254840160 :          b(k,309) = b(k,309) - lu(k,3464) * b(k,308)
    2171   254840160 :          b(k,310) = b(k,310) - lu(k,3465) * b(k,308)
    2172   254840160 :          b(k,311) = b(k,311) - lu(k,3466) * b(k,308)
    2173   254840160 :          b(k,312) = b(k,312) - lu(k,3467) * b(k,308)
    2174   254840160 :          b(k,313) = b(k,313) - lu(k,3468) * b(k,308)
    2175   254840160 :          b(k,314) = b(k,314) - lu(k,3469) * b(k,308)
    2176   254840160 :          b(k,315) = b(k,315) - lu(k,3470) * b(k,308)
    2177   254840160 :          b(k,316) = b(k,316) - lu(k,3471) * b(k,308)
    2178   254840160 :          b(k,317) = b(k,317) - lu(k,3472) * b(k,308)
    2179   254840160 :          b(k,310) = b(k,310) - lu(k,3489) * b(k,309)
    2180   254840160 :          b(k,311) = b(k,311) - lu(k,3490) * b(k,309)
    2181   254840160 :          b(k,312) = b(k,312) - lu(k,3491) * b(k,309)
    2182   254840160 :          b(k,313) = b(k,313) - lu(k,3492) * b(k,309)
    2183   254840160 :          b(k,314) = b(k,314) - lu(k,3493) * b(k,309)
    2184   254840160 :          b(k,315) = b(k,315) - lu(k,3494) * b(k,309)
    2185   254840160 :          b(k,316) = b(k,316) - lu(k,3495) * b(k,309)
    2186   254840160 :          b(k,317) = b(k,317) - lu(k,3496) * b(k,309)
    2187   254840160 :          b(k,311) = b(k,311) - lu(k,3516) * b(k,310)
    2188   254840160 :          b(k,312) = b(k,312) - lu(k,3517) * b(k,310)
    2189   254840160 :          b(k,313) = b(k,313) - lu(k,3518) * b(k,310)
    2190   254840160 :          b(k,314) = b(k,314) - lu(k,3519) * b(k,310)
    2191   254840160 :          b(k,315) = b(k,315) - lu(k,3520) * b(k,310)
    2192   254840160 :          b(k,316) = b(k,316) - lu(k,3521) * b(k,310)
    2193   254840160 :          b(k,317) = b(k,317) - lu(k,3522) * b(k,310)
    2194   254840160 :          b(k,312) = b(k,312) - lu(k,3611) * b(k,311)
    2195   254840160 :          b(k,313) = b(k,313) - lu(k,3612) * b(k,311)
    2196   254840160 :          b(k,314) = b(k,314) - lu(k,3613) * b(k,311)
    2197   254840160 :          b(k,315) = b(k,315) - lu(k,3614) * b(k,311)
    2198   254840160 :          b(k,316) = b(k,316) - lu(k,3615) * b(k,311)
    2199   254840160 :          b(k,317) = b(k,317) - lu(k,3616) * b(k,311)
    2200   254840160 :          b(k,313) = b(k,313) - lu(k,3664) * b(k,312)
    2201   254840160 :          b(k,314) = b(k,314) - lu(k,3665) * b(k,312)
    2202   254840160 :          b(k,315) = b(k,315) - lu(k,3666) * b(k,312)
    2203   254840160 :          b(k,316) = b(k,316) - lu(k,3667) * b(k,312)
    2204   254840160 :          b(k,317) = b(k,317) - lu(k,3668) * b(k,312)
    2205   254840160 :          b(k,314) = b(k,314) - lu(k,3767) * b(k,313)
    2206   254840160 :          b(k,315) = b(k,315) - lu(k,3768) * b(k,313)
    2207   254840160 :          b(k,316) = b(k,316) - lu(k,3769) * b(k,313)
    2208   254840160 :          b(k,317) = b(k,317) - lu(k,3770) * b(k,313)
    2209   254840160 :          b(k,315) = b(k,315) - lu(k,3809) * b(k,314)
    2210   254840160 :          b(k,316) = b(k,316) - lu(k,3810) * b(k,314)
    2211   254840160 :          b(k,317) = b(k,317) - lu(k,3811) * b(k,314)
    2212   254840160 :          b(k,316) = b(k,316) - lu(k,3851) * b(k,315)
    2213   254840160 :          b(k,317) = b(k,317) - lu(k,3852) * b(k,315)
    2214   263009123 :          b(k,317) = b(k,317) - lu(k,4102) * b(k,316)
    2215             :       end do
    2216     8168963 :       end subroutine lu_slv10
    2217     8168963 :       subroutine lu_slv11( avec_len, lu, b )
    2218             :       use shr_kind_mod, only : r8 => shr_kind_r8
    2219             :       use chem_mods, only : clscnt4, nzcnt
    2220             :       implicit none
    2221             : !-----------------------------------------------------------------------
    2222             : ! ... Dummy args
    2223             : !-----------------------------------------------------------------------
    2224             :       integer, intent(in) :: avec_len
    2225             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    2226             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    2227             : !-----------------------------------------------------------------------
    2228             : ! ... Local variables
    2229             : !-----------------------------------------------------------------------
    2230             :       integer :: k
    2231             : !-----------------------------------------------------------------------
    2232             : ! ... solve L * y = b
    2233             : !-----------------------------------------------------------------------
    2234   263009123 :       do k = 1,avec_len
    2235             : !-----------------------------------------------------------------------
    2236             : ! ... Solve U * x = y
    2237             : !-----------------------------------------------------------------------
    2238   254840160 :          b(k,317) = b(k,317) * lu(k,4128)
    2239   254840160 :          b(k,316) = b(k,316) - lu(k,4127) * b(k,317)
    2240   254840160 :          b(k,315) = b(k,315) - lu(k,4126) * b(k,317)
    2241   254840160 :          b(k,314) = b(k,314) - lu(k,4125) * b(k,317)
    2242   254840160 :          b(k,313) = b(k,313) - lu(k,4124) * b(k,317)
    2243   254840160 :          b(k,312) = b(k,312) - lu(k,4123) * b(k,317)
    2244   254840160 :          b(k,311) = b(k,311) - lu(k,4122) * b(k,317)
    2245   254840160 :          b(k,310) = b(k,310) - lu(k,4121) * b(k,317)
    2246   254840160 :          b(k,309) = b(k,309) - lu(k,4120) * b(k,317)
    2247   254840160 :          b(k,308) = b(k,308) - lu(k,4119) * b(k,317)
    2248   254840160 :          b(k,307) = b(k,307) - lu(k,4118) * b(k,317)
    2249   254840160 :          b(k,306) = b(k,306) - lu(k,4117) * b(k,317)
    2250   254840160 :          b(k,305) = b(k,305) - lu(k,4116) * b(k,317)
    2251   254840160 :          b(k,304) = b(k,304) - lu(k,4115) * b(k,317)
    2252   254840160 :          b(k,303) = b(k,303) - lu(k,4114) * b(k,317)
    2253   254840160 :          b(k,302) = b(k,302) - lu(k,4113) * b(k,317)
    2254   254840160 :          b(k,301) = b(k,301) - lu(k,4112) * b(k,317)
    2255   254840160 :          b(k,279) = b(k,279) - lu(k,4111) * b(k,317)
    2256   254840160 :          b(k,276) = b(k,276) - lu(k,4110) * b(k,317)
    2257   254840160 :          b(k,251) = b(k,251) - lu(k,4109) * b(k,317)
    2258   254840160 :          b(k,246) = b(k,246) - lu(k,4108) * b(k,317)
    2259   254840160 :          b(k,217) = b(k,217) - lu(k,4107) * b(k,317)
    2260   254840160 :          b(k,216) = b(k,216) - lu(k,4106) * b(k,317)
    2261   254840160 :          b(k,107) = b(k,107) - lu(k,4105) * b(k,317)
    2262   254840160 :          b(k,98) = b(k,98) - lu(k,4104) * b(k,317)
    2263   254840160 :          b(k,69) = b(k,69) - lu(k,4103) * b(k,317)
    2264   254840160 :          b(k,316) = b(k,316) * lu(k,4101)
    2265   254840160 :          b(k,315) = b(k,315) - lu(k,4100) * b(k,316)
    2266   254840160 :          b(k,314) = b(k,314) - lu(k,4099) * b(k,316)
    2267   254840160 :          b(k,313) = b(k,313) - lu(k,4098) * b(k,316)
    2268   254840160 :          b(k,312) = b(k,312) - lu(k,4097) * b(k,316)
    2269   254840160 :          b(k,311) = b(k,311) - lu(k,4096) * b(k,316)
    2270   254840160 :          b(k,310) = b(k,310) - lu(k,4095) * b(k,316)
    2271   254840160 :          b(k,309) = b(k,309) - lu(k,4094) * b(k,316)
    2272   254840160 :          b(k,308) = b(k,308) - lu(k,4093) * b(k,316)
    2273   254840160 :          b(k,307) = b(k,307) - lu(k,4092) * b(k,316)
    2274   254840160 :          b(k,306) = b(k,306) - lu(k,4091) * b(k,316)
    2275   254840160 :          b(k,305) = b(k,305) - lu(k,4090) * b(k,316)
    2276   254840160 :          b(k,304) = b(k,304) - lu(k,4089) * b(k,316)
    2277   254840160 :          b(k,303) = b(k,303) - lu(k,4088) * b(k,316)
    2278   254840160 :          b(k,302) = b(k,302) - lu(k,4087) * b(k,316)
    2279   254840160 :          b(k,301) = b(k,301) - lu(k,4086) * b(k,316)
    2280   254840160 :          b(k,300) = b(k,300) - lu(k,4085) * b(k,316)
    2281   254840160 :          b(k,299) = b(k,299) - lu(k,4084) * b(k,316)
    2282   254840160 :          b(k,298) = b(k,298) - lu(k,4083) * b(k,316)
    2283   254840160 :          b(k,297) = b(k,297) - lu(k,4082) * b(k,316)
    2284   254840160 :          b(k,296) = b(k,296) - lu(k,4081) * b(k,316)
    2285   254840160 :          b(k,295) = b(k,295) - lu(k,4080) * b(k,316)
    2286   254840160 :          b(k,294) = b(k,294) - lu(k,4079) * b(k,316)
    2287   254840160 :          b(k,293) = b(k,293) - lu(k,4078) * b(k,316)
    2288   254840160 :          b(k,292) = b(k,292) - lu(k,4077) * b(k,316)
    2289   254840160 :          b(k,291) = b(k,291) - lu(k,4076) * b(k,316)
    2290   254840160 :          b(k,290) = b(k,290) - lu(k,4075) * b(k,316)
    2291   254840160 :          b(k,289) = b(k,289) - lu(k,4074) * b(k,316)
    2292   254840160 :          b(k,288) = b(k,288) - lu(k,4073) * b(k,316)
    2293   254840160 :          b(k,287) = b(k,287) - lu(k,4072) * b(k,316)
    2294   254840160 :          b(k,286) = b(k,286) - lu(k,4071) * b(k,316)
    2295   254840160 :          b(k,285) = b(k,285) - lu(k,4070) * b(k,316)
    2296   254840160 :          b(k,284) = b(k,284) - lu(k,4069) * b(k,316)
    2297   254840160 :          b(k,283) = b(k,283) - lu(k,4068) * b(k,316)
    2298   254840160 :          b(k,282) = b(k,282) - lu(k,4067) * b(k,316)
    2299   254840160 :          b(k,281) = b(k,281) - lu(k,4066) * b(k,316)
    2300   254840160 :          b(k,280) = b(k,280) - lu(k,4065) * b(k,316)
    2301   254840160 :          b(k,279) = b(k,279) - lu(k,4064) * b(k,316)
    2302   254840160 :          b(k,277) = b(k,277) - lu(k,4063) * b(k,316)
    2303   254840160 :          b(k,276) = b(k,276) - lu(k,4062) * b(k,316)
    2304   254840160 :          b(k,275) = b(k,275) - lu(k,4061) * b(k,316)
    2305   254840160 :          b(k,274) = b(k,274) - lu(k,4060) * b(k,316)
    2306   254840160 :          b(k,273) = b(k,273) - lu(k,4059) * b(k,316)
    2307   254840160 :          b(k,272) = b(k,272) - lu(k,4058) * b(k,316)
    2308   254840160 :          b(k,271) = b(k,271) - lu(k,4057) * b(k,316)
    2309   254840160 :          b(k,270) = b(k,270) - lu(k,4056) * b(k,316)
    2310   254840160 :          b(k,269) = b(k,269) - lu(k,4055) * b(k,316)
    2311   254840160 :          b(k,268) = b(k,268) - lu(k,4054) * b(k,316)
    2312   254840160 :          b(k,267) = b(k,267) - lu(k,4053) * b(k,316)
    2313   254840160 :          b(k,266) = b(k,266) - lu(k,4052) * b(k,316)
    2314   254840160 :          b(k,265) = b(k,265) - lu(k,4051) * b(k,316)
    2315   254840160 :          b(k,264) = b(k,264) - lu(k,4050) * b(k,316)
    2316   254840160 :          b(k,263) = b(k,263) - lu(k,4049) * b(k,316)
    2317   254840160 :          b(k,262) = b(k,262) - lu(k,4048) * b(k,316)
    2318   254840160 :          b(k,261) = b(k,261) - lu(k,4047) * b(k,316)
    2319   254840160 :          b(k,260) = b(k,260) - lu(k,4046) * b(k,316)
    2320   254840160 :          b(k,259) = b(k,259) - lu(k,4045) * b(k,316)
    2321   254840160 :          b(k,258) = b(k,258) - lu(k,4044) * b(k,316)
    2322   254840160 :          b(k,257) = b(k,257) - lu(k,4043) * b(k,316)
    2323   254840160 :          b(k,256) = b(k,256) - lu(k,4042) * b(k,316)
    2324   254840160 :          b(k,255) = b(k,255) - lu(k,4041) * b(k,316)
    2325   254840160 :          b(k,254) = b(k,254) - lu(k,4040) * b(k,316)
    2326   254840160 :          b(k,253) = b(k,253) - lu(k,4039) * b(k,316)
    2327   254840160 :          b(k,252) = b(k,252) - lu(k,4038) * b(k,316)
    2328   254840160 :          b(k,251) = b(k,251) - lu(k,4037) * b(k,316)
    2329   254840160 :          b(k,250) = b(k,250) - lu(k,4036) * b(k,316)
    2330   254840160 :          b(k,249) = b(k,249) - lu(k,4035) * b(k,316)
    2331   254840160 :          b(k,248) = b(k,248) - lu(k,4034) * b(k,316)
    2332   254840160 :          b(k,247) = b(k,247) - lu(k,4033) * b(k,316)
    2333   254840160 :          b(k,246) = b(k,246) - lu(k,4032) * b(k,316)
    2334   254840160 :          b(k,245) = b(k,245) - lu(k,4031) * b(k,316)
    2335   254840160 :          b(k,244) = b(k,244) - lu(k,4030) * b(k,316)
    2336   254840160 :          b(k,243) = b(k,243) - lu(k,4029) * b(k,316)
    2337   254840160 :          b(k,242) = b(k,242) - lu(k,4028) * b(k,316)
    2338   254840160 :          b(k,241) = b(k,241) - lu(k,4027) * b(k,316)
    2339   254840160 :          b(k,240) = b(k,240) - lu(k,4026) * b(k,316)
    2340   254840160 :          b(k,239) = b(k,239) - lu(k,4025) * b(k,316)
    2341   254840160 :          b(k,238) = b(k,238) - lu(k,4024) * b(k,316)
    2342   254840160 :          b(k,237) = b(k,237) - lu(k,4023) * b(k,316)
    2343   254840160 :          b(k,236) = b(k,236) - lu(k,4022) * b(k,316)
    2344   254840160 :          b(k,235) = b(k,235) - lu(k,4021) * b(k,316)
    2345   254840160 :          b(k,234) = b(k,234) - lu(k,4020) * b(k,316)
    2346   254840160 :          b(k,233) = b(k,233) - lu(k,4019) * b(k,316)
    2347   254840160 :          b(k,232) = b(k,232) - lu(k,4018) * b(k,316)
    2348   254840160 :          b(k,231) = b(k,231) - lu(k,4017) * b(k,316)
    2349   254840160 :          b(k,230) = b(k,230) - lu(k,4016) * b(k,316)
    2350   254840160 :          b(k,229) = b(k,229) - lu(k,4015) * b(k,316)
    2351   254840160 :          b(k,228) = b(k,228) - lu(k,4014) * b(k,316)
    2352   254840160 :          b(k,227) = b(k,227) - lu(k,4013) * b(k,316)
    2353   254840160 :          b(k,226) = b(k,226) - lu(k,4012) * b(k,316)
    2354   254840160 :          b(k,225) = b(k,225) - lu(k,4011) * b(k,316)
    2355   254840160 :          b(k,224) = b(k,224) - lu(k,4010) * b(k,316)
    2356   254840160 :          b(k,223) = b(k,223) - lu(k,4009) * b(k,316)
    2357   254840160 :          b(k,222) = b(k,222) - lu(k,4008) * b(k,316)
    2358   254840160 :          b(k,221) = b(k,221) - lu(k,4007) * b(k,316)
    2359   254840160 :          b(k,220) = b(k,220) - lu(k,4006) * b(k,316)
    2360   254840160 :          b(k,219) = b(k,219) - lu(k,4005) * b(k,316)
    2361   254840160 :          b(k,218) = b(k,218) - lu(k,4004) * b(k,316)
    2362   254840160 :          b(k,217) = b(k,217) - lu(k,4003) * b(k,316)
    2363   254840160 :          b(k,216) = b(k,216) - lu(k,4002) * b(k,316)
    2364   254840160 :          b(k,215) = b(k,215) - lu(k,4001) * b(k,316)
    2365   254840160 :          b(k,214) = b(k,214) - lu(k,4000) * b(k,316)
    2366   254840160 :          b(k,213) = b(k,213) - lu(k,3999) * b(k,316)
    2367   254840160 :          b(k,212) = b(k,212) - lu(k,3998) * b(k,316)
    2368   254840160 :          b(k,211) = b(k,211) - lu(k,3997) * b(k,316)
    2369   254840160 :          b(k,210) = b(k,210) - lu(k,3996) * b(k,316)
    2370   254840160 :          b(k,209) = b(k,209) - lu(k,3995) * b(k,316)
    2371   254840160 :          b(k,208) = b(k,208) - lu(k,3994) * b(k,316)
    2372   254840160 :          b(k,207) = b(k,207) - lu(k,3993) * b(k,316)
    2373   254840160 :          b(k,206) = b(k,206) - lu(k,3992) * b(k,316)
    2374   254840160 :          b(k,205) = b(k,205) - lu(k,3991) * b(k,316)
    2375   254840160 :          b(k,204) = b(k,204) - lu(k,3990) * b(k,316)
    2376   254840160 :          b(k,203) = b(k,203) - lu(k,3989) * b(k,316)
    2377   254840160 :          b(k,202) = b(k,202) - lu(k,3988) * b(k,316)
    2378   254840160 :          b(k,201) = b(k,201) - lu(k,3987) * b(k,316)
    2379   254840160 :          b(k,200) = b(k,200) - lu(k,3986) * b(k,316)
    2380   254840160 :          b(k,199) = b(k,199) - lu(k,3985) * b(k,316)
    2381   254840160 :          b(k,198) = b(k,198) - lu(k,3984) * b(k,316)
    2382   254840160 :          b(k,197) = b(k,197) - lu(k,3983) * b(k,316)
    2383   254840160 :          b(k,196) = b(k,196) - lu(k,3982) * b(k,316)
    2384   254840160 :          b(k,194) = b(k,194) - lu(k,3981) * b(k,316)
    2385   254840160 :          b(k,193) = b(k,193) - lu(k,3980) * b(k,316)
    2386   254840160 :          b(k,192) = b(k,192) - lu(k,3979) * b(k,316)
    2387   254840160 :          b(k,191) = b(k,191) - lu(k,3978) * b(k,316)
    2388   254840160 :          b(k,190) = b(k,190) - lu(k,3977) * b(k,316)
    2389   254840160 :          b(k,189) = b(k,189) - lu(k,3976) * b(k,316)
    2390   254840160 :          b(k,188) = b(k,188) - lu(k,3975) * b(k,316)
    2391   254840160 :          b(k,187) = b(k,187) - lu(k,3974) * b(k,316)
    2392   254840160 :          b(k,186) = b(k,186) - lu(k,3973) * b(k,316)
    2393   254840160 :          b(k,185) = b(k,185) - lu(k,3972) * b(k,316)
    2394   254840160 :          b(k,184) = b(k,184) - lu(k,3971) * b(k,316)
    2395   254840160 :          b(k,183) = b(k,183) - lu(k,3970) * b(k,316)
    2396   254840160 :          b(k,182) = b(k,182) - lu(k,3969) * b(k,316)
    2397   254840160 :          b(k,181) = b(k,181) - lu(k,3968) * b(k,316)
    2398   254840160 :          b(k,180) = b(k,180) - lu(k,3967) * b(k,316)
    2399   254840160 :          b(k,179) = b(k,179) - lu(k,3966) * b(k,316)
    2400   254840160 :          b(k,178) = b(k,178) - lu(k,3965) * b(k,316)
    2401   254840160 :          b(k,177) = b(k,177) - lu(k,3964) * b(k,316)
    2402   254840160 :          b(k,176) = b(k,176) - lu(k,3963) * b(k,316)
    2403   254840160 :          b(k,175) = b(k,175) - lu(k,3962) * b(k,316)
    2404   254840160 :          b(k,174) = b(k,174) - lu(k,3961) * b(k,316)
    2405   254840160 :          b(k,173) = b(k,173) - lu(k,3960) * b(k,316)
    2406   254840160 :          b(k,172) = b(k,172) - lu(k,3959) * b(k,316)
    2407   254840160 :          b(k,171) = b(k,171) - lu(k,3958) * b(k,316)
    2408   254840160 :          b(k,170) = b(k,170) - lu(k,3957) * b(k,316)
    2409   254840160 :          b(k,169) = b(k,169) - lu(k,3956) * b(k,316)
    2410   254840160 :          b(k,168) = b(k,168) - lu(k,3955) * b(k,316)
    2411   254840160 :          b(k,167) = b(k,167) - lu(k,3954) * b(k,316)
    2412   254840160 :          b(k,166) = b(k,166) - lu(k,3953) * b(k,316)
    2413   254840160 :          b(k,165) = b(k,165) - lu(k,3952) * b(k,316)
    2414   254840160 :          b(k,164) = b(k,164) - lu(k,3951) * b(k,316)
    2415   254840160 :          b(k,163) = b(k,163) - lu(k,3950) * b(k,316)
    2416   254840160 :          b(k,161) = b(k,161) - lu(k,3949) * b(k,316)
    2417   254840160 :          b(k,160) = b(k,160) - lu(k,3948) * b(k,316)
    2418   254840160 :          b(k,159) = b(k,159) - lu(k,3947) * b(k,316)
    2419   254840160 :          b(k,158) = b(k,158) - lu(k,3946) * b(k,316)
    2420   254840160 :          b(k,157) = b(k,157) - lu(k,3945) * b(k,316)
    2421   254840160 :          b(k,156) = b(k,156) - lu(k,3944) * b(k,316)
    2422   254840160 :          b(k,155) = b(k,155) - lu(k,3943) * b(k,316)
    2423   254840160 :          b(k,154) = b(k,154) - lu(k,3942) * b(k,316)
    2424   254840160 :          b(k,153) = b(k,153) - lu(k,3941) * b(k,316)
    2425   254840160 :          b(k,152) = b(k,152) - lu(k,3940) * b(k,316)
    2426   254840160 :          b(k,151) = b(k,151) - lu(k,3939) * b(k,316)
    2427   254840160 :          b(k,150) = b(k,150) - lu(k,3938) * b(k,316)
    2428   254840160 :          b(k,149) = b(k,149) - lu(k,3937) * b(k,316)
    2429   254840160 :          b(k,148) = b(k,148) - lu(k,3936) * b(k,316)
    2430   254840160 :          b(k,147) = b(k,147) - lu(k,3935) * b(k,316)
    2431   254840160 :          b(k,145) = b(k,145) - lu(k,3934) * b(k,316)
    2432   254840160 :          b(k,144) = b(k,144) - lu(k,3933) * b(k,316)
    2433   254840160 :          b(k,143) = b(k,143) - lu(k,3932) * b(k,316)
    2434   254840160 :          b(k,142) = b(k,142) - lu(k,3931) * b(k,316)
    2435   254840160 :          b(k,141) = b(k,141) - lu(k,3930) * b(k,316)
    2436   254840160 :          b(k,140) = b(k,140) - lu(k,3929) * b(k,316)
    2437   254840160 :          b(k,139) = b(k,139) - lu(k,3928) * b(k,316)
    2438   254840160 :          b(k,138) = b(k,138) - lu(k,3927) * b(k,316)
    2439   254840160 :          b(k,137) = b(k,137) - lu(k,3926) * b(k,316)
    2440   254840160 :          b(k,136) = b(k,136) - lu(k,3925) * b(k,316)
    2441   254840160 :          b(k,135) = b(k,135) - lu(k,3924) * b(k,316)
    2442   254840160 :          b(k,134) = b(k,134) - lu(k,3923) * b(k,316)
    2443   254840160 :          b(k,133) = b(k,133) - lu(k,3922) * b(k,316)
    2444   254840160 :          b(k,132) = b(k,132) - lu(k,3921) * b(k,316)
    2445   254840160 :          b(k,131) = b(k,131) - lu(k,3920) * b(k,316)
    2446   254840160 :          b(k,130) = b(k,130) - lu(k,3919) * b(k,316)
    2447   254840160 :          b(k,129) = b(k,129) - lu(k,3918) * b(k,316)
    2448   254840160 :          b(k,128) = b(k,128) - lu(k,3917) * b(k,316)
    2449   254840160 :          b(k,127) = b(k,127) - lu(k,3916) * b(k,316)
    2450   254840160 :          b(k,126) = b(k,126) - lu(k,3915) * b(k,316)
    2451   254840160 :          b(k,125) = b(k,125) - lu(k,3914) * b(k,316)
    2452   254840160 :          b(k,124) = b(k,124) - lu(k,3913) * b(k,316)
    2453   254840160 :          b(k,123) = b(k,123) - lu(k,3912) * b(k,316)
    2454   254840160 :          b(k,122) = b(k,122) - lu(k,3911) * b(k,316)
    2455   254840160 :          b(k,120) = b(k,120) - lu(k,3910) * b(k,316)
    2456   254840160 :          b(k,119) = b(k,119) - lu(k,3909) * b(k,316)
    2457   254840160 :          b(k,118) = b(k,118) - lu(k,3908) * b(k,316)
    2458   254840160 :          b(k,117) = b(k,117) - lu(k,3907) * b(k,316)
    2459   254840160 :          b(k,116) = b(k,116) - lu(k,3906) * b(k,316)
    2460   254840160 :          b(k,115) = b(k,115) - lu(k,3905) * b(k,316)
    2461   254840160 :          b(k,114) = b(k,114) - lu(k,3904) * b(k,316)
    2462   254840160 :          b(k,113) = b(k,113) - lu(k,3903) * b(k,316)
    2463   254840160 :          b(k,112) = b(k,112) - lu(k,3902) * b(k,316)
    2464   254840160 :          b(k,109) = b(k,109) - lu(k,3901) * b(k,316)
    2465   254840160 :          b(k,108) = b(k,108) - lu(k,3900) * b(k,316)
    2466   254840160 :          b(k,106) = b(k,106) - lu(k,3899) * b(k,316)
    2467   254840160 :          b(k,105) = b(k,105) - lu(k,3898) * b(k,316)
    2468   254840160 :          b(k,104) = b(k,104) - lu(k,3897) * b(k,316)
    2469   254840160 :          b(k,100) = b(k,100) - lu(k,3896) * b(k,316)
    2470   254840160 :          b(k,99) = b(k,99) - lu(k,3895) * b(k,316)
    2471   254840160 :          b(k,98) = b(k,98) - lu(k,3894) * b(k,316)
    2472   254840160 :          b(k,97) = b(k,97) - lu(k,3893) * b(k,316)
    2473   254840160 :          b(k,96) = b(k,96) - lu(k,3892) * b(k,316)
    2474   254840160 :          b(k,95) = b(k,95) - lu(k,3891) * b(k,316)
    2475   254840160 :          b(k,94) = b(k,94) - lu(k,3890) * b(k,316)
    2476   254840160 :          b(k,93) = b(k,93) - lu(k,3889) * b(k,316)
    2477   254840160 :          b(k,92) = b(k,92) - lu(k,3888) * b(k,316)
    2478   254840160 :          b(k,91) = b(k,91) - lu(k,3887) * b(k,316)
    2479   254840160 :          b(k,90) = b(k,90) - lu(k,3886) * b(k,316)
    2480   254840160 :          b(k,89) = b(k,89) - lu(k,3885) * b(k,316)
    2481   254840160 :          b(k,87) = b(k,87) - lu(k,3884) * b(k,316)
    2482   254840160 :          b(k,86) = b(k,86) - lu(k,3883) * b(k,316)
    2483   254840160 :          b(k,85) = b(k,85) - lu(k,3882) * b(k,316)
    2484   254840160 :          b(k,84) = b(k,84) - lu(k,3881) * b(k,316)
    2485   254840160 :          b(k,83) = b(k,83) - lu(k,3880) * b(k,316)
    2486   254840160 :          b(k,82) = b(k,82) - lu(k,3879) * b(k,316)
    2487   254840160 :          b(k,81) = b(k,81) - lu(k,3878) * b(k,316)
    2488   254840160 :          b(k,79) = b(k,79) - lu(k,3877) * b(k,316)
    2489   254840160 :          b(k,78) = b(k,78) - lu(k,3876) * b(k,316)
    2490   254840160 :          b(k,77) = b(k,77) - lu(k,3875) * b(k,316)
    2491   254840160 :          b(k,76) = b(k,76) - lu(k,3874) * b(k,316)
    2492   254840160 :          b(k,67) = b(k,67) - lu(k,3873) * b(k,316)
    2493   254840160 :          b(k,63) = b(k,63) - lu(k,3872) * b(k,316)
    2494   254840160 :          b(k,61) = b(k,61) - lu(k,3871) * b(k,316)
    2495   254840160 :          b(k,59) = b(k,59) - lu(k,3870) * b(k,316)
    2496   254840160 :          b(k,57) = b(k,57) - lu(k,3869) * b(k,316)
    2497   254840160 :          b(k,56) = b(k,56) - lu(k,3868) * b(k,316)
    2498   254840160 :          b(k,55) = b(k,55) - lu(k,3867) * b(k,316)
    2499   254840160 :          b(k,54) = b(k,54) - lu(k,3866) * b(k,316)
    2500   254840160 :          b(k,53) = b(k,53) - lu(k,3865) * b(k,316)
    2501   254840160 :          b(k,52) = b(k,52) - lu(k,3864) * b(k,316)
    2502   254840160 :          b(k,51) = b(k,51) - lu(k,3863) * b(k,316)
    2503   254840160 :          b(k,50) = b(k,50) - lu(k,3862) * b(k,316)
    2504   254840160 :          b(k,49) = b(k,49) - lu(k,3861) * b(k,316)
    2505   254840160 :          b(k,48) = b(k,48) - lu(k,3860) * b(k,316)
    2506   254840160 :          b(k,47) = b(k,47) - lu(k,3859) * b(k,316)
    2507   254840160 :          b(k,46) = b(k,46) - lu(k,3858) * b(k,316)
    2508   254840160 :          b(k,43) = b(k,43) - lu(k,3857) * b(k,316)
    2509   254840160 :          b(k,42) = b(k,42) - lu(k,3856) * b(k,316)
    2510   254840160 :          b(k,41) = b(k,41) - lu(k,3855) * b(k,316)
    2511   254840160 :          b(k,40) = b(k,40) - lu(k,3854) * b(k,316)
    2512   263009123 :          b(k,39) = b(k,39) - lu(k,3853) * b(k,316)
    2513             :       end do
    2514     8168963 :       end subroutine lu_slv11
    2515     8168963 :       subroutine lu_slv12( avec_len, lu, b )
    2516             :       use shr_kind_mod, only : r8 => shr_kind_r8
    2517             :       use chem_mods, only : clscnt4, nzcnt
    2518             :       implicit none
    2519             : !-----------------------------------------------------------------------
    2520             : ! ... Dummy args
    2521             : !-----------------------------------------------------------------------
    2522             :       integer, intent(in) :: avec_len
    2523             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    2524             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    2525             : !-----------------------------------------------------------------------
    2526             : ! ... Local variables
    2527             : !-----------------------------------------------------------------------
    2528             :       integer :: k
    2529             : !-----------------------------------------------------------------------
    2530             : ! ... solve L * y = b
    2531             : !-----------------------------------------------------------------------
    2532   263009123 :       do k = 1,avec_len
    2533   254840160 :          b(k,315) = b(k,315) * lu(k,3850)
    2534   254840160 :          b(k,314) = b(k,314) - lu(k,3849) * b(k,315)
    2535   254840160 :          b(k,313) = b(k,313) - lu(k,3848) * b(k,315)
    2536   254840160 :          b(k,312) = b(k,312) - lu(k,3847) * b(k,315)
    2537   254840160 :          b(k,311) = b(k,311) - lu(k,3846) * b(k,315)
    2538   254840160 :          b(k,310) = b(k,310) - lu(k,3845) * b(k,315)
    2539   254840160 :          b(k,309) = b(k,309) - lu(k,3844) * b(k,315)
    2540   254840160 :          b(k,308) = b(k,308) - lu(k,3843) * b(k,315)
    2541   254840160 :          b(k,307) = b(k,307) - lu(k,3842) * b(k,315)
    2542   254840160 :          b(k,306) = b(k,306) - lu(k,3841) * b(k,315)
    2543   254840160 :          b(k,305) = b(k,305) - lu(k,3840) * b(k,315)
    2544   254840160 :          b(k,304) = b(k,304) - lu(k,3839) * b(k,315)
    2545   254840160 :          b(k,303) = b(k,303) - lu(k,3838) * b(k,315)
    2546   254840160 :          b(k,302) = b(k,302) - lu(k,3837) * b(k,315)
    2547   254840160 :          b(k,301) = b(k,301) - lu(k,3836) * b(k,315)
    2548   254840160 :          b(k,300) = b(k,300) - lu(k,3835) * b(k,315)
    2549   254840160 :          b(k,279) = b(k,279) - lu(k,3834) * b(k,315)
    2550   254840160 :          b(k,276) = b(k,276) - lu(k,3833) * b(k,315)
    2551   254840160 :          b(k,271) = b(k,271) - lu(k,3832) * b(k,315)
    2552   254840160 :          b(k,254) = b(k,254) - lu(k,3831) * b(k,315)
    2553   254840160 :          b(k,251) = b(k,251) - lu(k,3830) * b(k,315)
    2554   254840160 :          b(k,247) = b(k,247) - lu(k,3829) * b(k,315)
    2555   254840160 :          b(k,238) = b(k,238) - lu(k,3828) * b(k,315)
    2556   254840160 :          b(k,237) = b(k,237) - lu(k,3827) * b(k,315)
    2557   254840160 :          b(k,235) = b(k,235) - lu(k,3826) * b(k,315)
    2558   254840160 :          b(k,230) = b(k,230) - lu(k,3825) * b(k,315)
    2559   254840160 :          b(k,227) = b(k,227) - lu(k,3824) * b(k,315)
    2560   254840160 :          b(k,225) = b(k,225) - lu(k,3823) * b(k,315)
    2561   254840160 :          b(k,223) = b(k,223) - lu(k,3822) * b(k,315)
    2562   254840160 :          b(k,209) = b(k,209) - lu(k,3821) * b(k,315)
    2563   254840160 :          b(k,179) = b(k,179) - lu(k,3820) * b(k,315)
    2564   254840160 :          b(k,156) = b(k,156) - lu(k,3819) * b(k,315)
    2565   254840160 :          b(k,149) = b(k,149) - lu(k,3818) * b(k,315)
    2566   254840160 :          b(k,137) = b(k,137) - lu(k,3817) * b(k,315)
    2567   254840160 :          b(k,131) = b(k,131) - lu(k,3816) * b(k,315)
    2568   254840160 :          b(k,120) = b(k,120) - lu(k,3815) * b(k,315)
    2569   254840160 :          b(k,106) = b(k,106) - lu(k,3814) * b(k,315)
    2570   254840160 :          b(k,105) = b(k,105) - lu(k,3813) * b(k,315)
    2571   254840160 :          b(k,75) = b(k,75) - lu(k,3812) * b(k,315)
    2572   254840160 :          b(k,314) = b(k,314) * lu(k,3808)
    2573   254840160 :          b(k,313) = b(k,313) - lu(k,3807) * b(k,314)
    2574   254840160 :          b(k,312) = b(k,312) - lu(k,3806) * b(k,314)
    2575   254840160 :          b(k,311) = b(k,311) - lu(k,3805) * b(k,314)
    2576   254840160 :          b(k,310) = b(k,310) - lu(k,3804) * b(k,314)
    2577   254840160 :          b(k,309) = b(k,309) - lu(k,3803) * b(k,314)
    2578   254840160 :          b(k,308) = b(k,308) - lu(k,3802) * b(k,314)
    2579   254840160 :          b(k,307) = b(k,307) - lu(k,3801) * b(k,314)
    2580   254840160 :          b(k,306) = b(k,306) - lu(k,3800) * b(k,314)
    2581   254840160 :          b(k,305) = b(k,305) - lu(k,3799) * b(k,314)
    2582   254840160 :          b(k,304) = b(k,304) - lu(k,3798) * b(k,314)
    2583   254840160 :          b(k,303) = b(k,303) - lu(k,3797) * b(k,314)
    2584   254840160 :          b(k,302) = b(k,302) - lu(k,3796) * b(k,314)
    2585   254840160 :          b(k,301) = b(k,301) - lu(k,3795) * b(k,314)
    2586   254840160 :          b(k,279) = b(k,279) - lu(k,3794) * b(k,314)
    2587   254840160 :          b(k,276) = b(k,276) - lu(k,3793) * b(k,314)
    2588   254840160 :          b(k,251) = b(k,251) - lu(k,3792) * b(k,314)
    2589   254840160 :          b(k,217) = b(k,217) - lu(k,3791) * b(k,314)
    2590   254840160 :          b(k,208) = b(k,208) - lu(k,3790) * b(k,314)
    2591   254840160 :          b(k,156) = b(k,156) - lu(k,3789) * b(k,314)
    2592   254840160 :          b(k,137) = b(k,137) - lu(k,3788) * b(k,314)
    2593   254840160 :          b(k,131) = b(k,131) - lu(k,3787) * b(k,314)
    2594   254840160 :          b(k,108) = b(k,108) - lu(k,3786) * b(k,314)
    2595   254840160 :          b(k,93) = b(k,93) - lu(k,3785) * b(k,314)
    2596   254840160 :          b(k,92) = b(k,92) - lu(k,3784) * b(k,314)
    2597   254840160 :          b(k,91) = b(k,91) - lu(k,3783) * b(k,314)
    2598   254840160 :          b(k,90) = b(k,90) - lu(k,3782) * b(k,314)
    2599   254840160 :          b(k,80) = b(k,80) - lu(k,3781) * b(k,314)
    2600   254840160 :          b(k,79) = b(k,79) - lu(k,3780) * b(k,314)
    2601   254840160 :          b(k,74) = b(k,74) - lu(k,3779) * b(k,314)
    2602   254840160 :          b(k,73) = b(k,73) - lu(k,3778) * b(k,314)
    2603   254840160 :          b(k,72) = b(k,72) - lu(k,3777) * b(k,314)
    2604   254840160 :          b(k,71) = b(k,71) - lu(k,3776) * b(k,314)
    2605   254840160 :          b(k,66) = b(k,66) - lu(k,3775) * b(k,314)
    2606   254840160 :          b(k,65) = b(k,65) - lu(k,3774) * b(k,314)
    2607   254840160 :          b(k,64) = b(k,64) - lu(k,3773) * b(k,314)
    2608   254840160 :          b(k,62) = b(k,62) - lu(k,3772) * b(k,314)
    2609   254840160 :          b(k,60) = b(k,60) - lu(k,3771) * b(k,314)
    2610   254840160 :          b(k,313) = b(k,313) * lu(k,3766)
    2611   254840160 :          b(k,312) = b(k,312) - lu(k,3765) * b(k,313)
    2612   254840160 :          b(k,311) = b(k,311) - lu(k,3764) * b(k,313)
    2613   254840160 :          b(k,310) = b(k,310) - lu(k,3763) * b(k,313)
    2614   254840160 :          b(k,309) = b(k,309) - lu(k,3762) * b(k,313)
    2615   254840160 :          b(k,308) = b(k,308) - lu(k,3761) * b(k,313)
    2616   254840160 :          b(k,307) = b(k,307) - lu(k,3760) * b(k,313)
    2617   254840160 :          b(k,306) = b(k,306) - lu(k,3759) * b(k,313)
    2618   254840160 :          b(k,305) = b(k,305) - lu(k,3758) * b(k,313)
    2619   254840160 :          b(k,304) = b(k,304) - lu(k,3757) * b(k,313)
    2620   254840160 :          b(k,303) = b(k,303) - lu(k,3756) * b(k,313)
    2621   254840160 :          b(k,302) = b(k,302) - lu(k,3755) * b(k,313)
    2622   254840160 :          b(k,301) = b(k,301) - lu(k,3754) * b(k,313)
    2623   254840160 :          b(k,300) = b(k,300) - lu(k,3753) * b(k,313)
    2624   254840160 :          b(k,299) = b(k,299) - lu(k,3752) * b(k,313)
    2625   254840160 :          b(k,298) = b(k,298) - lu(k,3751) * b(k,313)
    2626   254840160 :          b(k,297) = b(k,297) - lu(k,3750) * b(k,313)
    2627   254840160 :          b(k,296) = b(k,296) - lu(k,3749) * b(k,313)
    2628   254840160 :          b(k,295) = b(k,295) - lu(k,3748) * b(k,313)
    2629   254840160 :          b(k,294) = b(k,294) - lu(k,3747) * b(k,313)
    2630   254840160 :          b(k,293) = b(k,293) - lu(k,3746) * b(k,313)
    2631   254840160 :          b(k,292) = b(k,292) - lu(k,3745) * b(k,313)
    2632   254840160 :          b(k,291) = b(k,291) - lu(k,3744) * b(k,313)
    2633   254840160 :          b(k,290) = b(k,290) - lu(k,3743) * b(k,313)
    2634   254840160 :          b(k,289) = b(k,289) - lu(k,3742) * b(k,313)
    2635   254840160 :          b(k,288) = b(k,288) - lu(k,3741) * b(k,313)
    2636   254840160 :          b(k,287) = b(k,287) - lu(k,3740) * b(k,313)
    2637   254840160 :          b(k,286) = b(k,286) - lu(k,3739) * b(k,313)
    2638   254840160 :          b(k,285) = b(k,285) - lu(k,3738) * b(k,313)
    2639   254840160 :          b(k,284) = b(k,284) - lu(k,3737) * b(k,313)
    2640   254840160 :          b(k,283) = b(k,283) - lu(k,3736) * b(k,313)
    2641   254840160 :          b(k,281) = b(k,281) - lu(k,3735) * b(k,313)
    2642   254840160 :          b(k,280) = b(k,280) - lu(k,3734) * b(k,313)
    2643   254840160 :          b(k,279) = b(k,279) - lu(k,3733) * b(k,313)
    2644   254840160 :          b(k,277) = b(k,277) - lu(k,3732) * b(k,313)
    2645   254840160 :          b(k,276) = b(k,276) - lu(k,3731) * b(k,313)
    2646   254840160 :          b(k,275) = b(k,275) - lu(k,3730) * b(k,313)
    2647   254840160 :          b(k,274) = b(k,274) - lu(k,3729) * b(k,313)
    2648   254840160 :          b(k,273) = b(k,273) - lu(k,3728) * b(k,313)
    2649   254840160 :          b(k,272) = b(k,272) - lu(k,3727) * b(k,313)
    2650   254840160 :          b(k,271) = b(k,271) - lu(k,3726) * b(k,313)
    2651   254840160 :          b(k,270) = b(k,270) - lu(k,3725) * b(k,313)
    2652   254840160 :          b(k,269) = b(k,269) - lu(k,3724) * b(k,313)
    2653   254840160 :          b(k,268) = b(k,268) - lu(k,3723) * b(k,313)
    2654   254840160 :          b(k,267) = b(k,267) - lu(k,3722) * b(k,313)
    2655   254840160 :          b(k,266) = b(k,266) - lu(k,3721) * b(k,313)
    2656   254840160 :          b(k,265) = b(k,265) - lu(k,3720) * b(k,313)
    2657   254840160 :          b(k,264) = b(k,264) - lu(k,3719) * b(k,313)
    2658   254840160 :          b(k,263) = b(k,263) - lu(k,3718) * b(k,313)
    2659   254840160 :          b(k,262) = b(k,262) - lu(k,3717) * b(k,313)
    2660   254840160 :          b(k,261) = b(k,261) - lu(k,3716) * b(k,313)
    2661   254840160 :          b(k,260) = b(k,260) - lu(k,3715) * b(k,313)
    2662   254840160 :          b(k,259) = b(k,259) - lu(k,3714) * b(k,313)
    2663   254840160 :          b(k,258) = b(k,258) - lu(k,3713) * b(k,313)
    2664   254840160 :          b(k,257) = b(k,257) - lu(k,3712) * b(k,313)
    2665   254840160 :          b(k,256) = b(k,256) - lu(k,3711) * b(k,313)
    2666   254840160 :          b(k,255) = b(k,255) - lu(k,3710) * b(k,313)
    2667   254840160 :          b(k,254) = b(k,254) - lu(k,3709) * b(k,313)
    2668   254840160 :          b(k,250) = b(k,250) - lu(k,3708) * b(k,313)
    2669   254840160 :          b(k,249) = b(k,249) - lu(k,3707) * b(k,313)
    2670   254840160 :          b(k,247) = b(k,247) - lu(k,3706) * b(k,313)
    2671   254840160 :          b(k,246) = b(k,246) - lu(k,3705) * b(k,313)
    2672   254840160 :          b(k,245) = b(k,245) - lu(k,3704) * b(k,313)
    2673   254840160 :          b(k,238) = b(k,238) - lu(k,3703) * b(k,313)
    2674   254840160 :          b(k,237) = b(k,237) - lu(k,3702) * b(k,313)
    2675   254840160 :          b(k,236) = b(k,236) - lu(k,3701) * b(k,313)
    2676   254840160 :          b(k,235) = b(k,235) - lu(k,3700) * b(k,313)
    2677   254840160 :          b(k,232) = b(k,232) - lu(k,3699) * b(k,313)
    2678   254840160 :          b(k,230) = b(k,230) - lu(k,3698) * b(k,313)
    2679   254840160 :          b(k,229) = b(k,229) - lu(k,3697) * b(k,313)
    2680   254840160 :          b(k,228) = b(k,228) - lu(k,3696) * b(k,313)
    2681   254840160 :          b(k,227) = b(k,227) - lu(k,3695) * b(k,313)
    2682   254840160 :          b(k,225) = b(k,225) - lu(k,3694) * b(k,313)
    2683   254840160 :          b(k,220) = b(k,220) - lu(k,3693) * b(k,313)
    2684   254840160 :          b(k,219) = b(k,219) - lu(k,3692) * b(k,313)
    2685   254840160 :          b(k,216) = b(k,216) - lu(k,3691) * b(k,313)
    2686   254840160 :          b(k,213) = b(k,213) - lu(k,3690) * b(k,313)
    2687   254840160 :          b(k,211) = b(k,211) - lu(k,3689) * b(k,313)
    2688   254840160 :          b(k,203) = b(k,203) - lu(k,3688) * b(k,313)
    2689   254840160 :          b(k,202) = b(k,202) - lu(k,3687) * b(k,313)
    2690   254840160 :          b(k,201) = b(k,201) - lu(k,3686) * b(k,313)
    2691   254840160 :          b(k,199) = b(k,199) - lu(k,3685) * b(k,313)
    2692   254840160 :          b(k,187) = b(k,187) - lu(k,3684) * b(k,313)
    2693   254840160 :          b(k,182) = b(k,182) - lu(k,3683) * b(k,313)
    2694   254840160 :          b(k,179) = b(k,179) - lu(k,3682) * b(k,313)
    2695   254840160 :          b(k,177) = b(k,177) - lu(k,3681) * b(k,313)
    2696   254840160 :          b(k,173) = b(k,173) - lu(k,3680) * b(k,313)
    2697   254840160 :          b(k,171) = b(k,171) - lu(k,3679) * b(k,313)
    2698   254840160 :          b(k,164) = b(k,164) - lu(k,3678) * b(k,313)
    2699   254840160 :          b(k,149) = b(k,149) - lu(k,3677) * b(k,313)
    2700   254840160 :          b(k,143) = b(k,143) - lu(k,3676) * b(k,313)
    2701   254840160 :          b(k,135) = b(k,135) - lu(k,3675) * b(k,313)
    2702   254840160 :          b(k,81) = b(k,81) - lu(k,3674) * b(k,313)
    2703   254840160 :          b(k,43) = b(k,43) - lu(k,3673) * b(k,313)
    2704   254840160 :          b(k,42) = b(k,42) - lu(k,3672) * b(k,313)
    2705   254840160 :          b(k,41) = b(k,41) - lu(k,3671) * b(k,313)
    2706   254840160 :          b(k,40) = b(k,40) - lu(k,3670) * b(k,313)
    2707   254840160 :          b(k,39) = b(k,39) - lu(k,3669) * b(k,313)
    2708   254840160 :          b(k,312) = b(k,312) * lu(k,3663)
    2709   254840160 :          b(k,311) = b(k,311) - lu(k,3662) * b(k,312)
    2710   254840160 :          b(k,310) = b(k,310) - lu(k,3661) * b(k,312)
    2711   254840160 :          b(k,309) = b(k,309) - lu(k,3660) * b(k,312)
    2712   254840160 :          b(k,308) = b(k,308) - lu(k,3659) * b(k,312)
    2713   254840160 :          b(k,307) = b(k,307) - lu(k,3658) * b(k,312)
    2714   254840160 :          b(k,306) = b(k,306) - lu(k,3657) * b(k,312)
    2715   254840160 :          b(k,305) = b(k,305) - lu(k,3656) * b(k,312)
    2716   254840160 :          b(k,304) = b(k,304) - lu(k,3655) * b(k,312)
    2717   254840160 :          b(k,303) = b(k,303) - lu(k,3654) * b(k,312)
    2718   254840160 :          b(k,302) = b(k,302) - lu(k,3653) * b(k,312)
    2719   254840160 :          b(k,301) = b(k,301) - lu(k,3652) * b(k,312)
    2720   254840160 :          b(k,300) = b(k,300) - lu(k,3651) * b(k,312)
    2721   254840160 :          b(k,299) = b(k,299) - lu(k,3650) * b(k,312)
    2722   254840160 :          b(k,298) = b(k,298) - lu(k,3649) * b(k,312)
    2723   254840160 :          b(k,297) = b(k,297) - lu(k,3648) * b(k,312)
    2724   254840160 :          b(k,296) = b(k,296) - lu(k,3647) * b(k,312)
    2725   254840160 :          b(k,280) = b(k,280) - lu(k,3646) * b(k,312)
    2726   254840160 :          b(k,276) = b(k,276) - lu(k,3645) * b(k,312)
    2727   254840160 :          b(k,271) = b(k,271) - lu(k,3644) * b(k,312)
    2728   254840160 :          b(k,266) = b(k,266) - lu(k,3643) * b(k,312)
    2729   254840160 :          b(k,258) = b(k,258) - lu(k,3642) * b(k,312)
    2730   254840160 :          b(k,248) = b(k,248) - lu(k,3641) * b(k,312)
    2731   254840160 :          b(k,247) = b(k,247) - lu(k,3640) * b(k,312)
    2732   254840160 :          b(k,246) = b(k,246) - lu(k,3639) * b(k,312)
    2733   254840160 :          b(k,235) = b(k,235) - lu(k,3638) * b(k,312)
    2734   254840160 :          b(k,223) = b(k,223) - lu(k,3637) * b(k,312)
    2735   254840160 :          b(k,220) = b(k,220) - lu(k,3636) * b(k,312)
    2736   254840160 :          b(k,216) = b(k,216) - lu(k,3635) * b(k,312)
    2737   254840160 :          b(k,195) = b(k,195) - lu(k,3634) * b(k,312)
    2738   254840160 :          b(k,188) = b(k,188) - lu(k,3633) * b(k,312)
    2739   254840160 :          b(k,184) = b(k,184) - lu(k,3632) * b(k,312)
    2740   254840160 :          b(k,180) = b(k,180) - lu(k,3631) * b(k,312)
    2741   254840160 :          b(k,164) = b(k,164) - lu(k,3630) * b(k,312)
    2742   254840160 :          b(k,158) = b(k,158) - lu(k,3629) * b(k,312)
    2743   254840160 :          b(k,157) = b(k,157) - lu(k,3628) * b(k,312)
    2744   254840160 :          b(k,147) = b(k,147) - lu(k,3627) * b(k,312)
    2745   254840160 :          b(k,146) = b(k,146) - lu(k,3626) * b(k,312)
    2746   254840160 :          b(k,144) = b(k,144) - lu(k,3625) * b(k,312)
    2747   254840160 :          b(k,141) = b(k,141) - lu(k,3624) * b(k,312)
    2748   254840160 :          b(k,135) = b(k,135) - lu(k,3623) * b(k,312)
    2749   254840160 :          b(k,134) = b(k,134) - lu(k,3622) * b(k,312)
    2750   254840160 :          b(k,128) = b(k,128) - lu(k,3621) * b(k,312)
    2751   254840160 :          b(k,125) = b(k,125) - lu(k,3620) * b(k,312)
    2752   254840160 :          b(k,102) = b(k,102) - lu(k,3619) * b(k,312)
    2753   254840160 :          b(k,80) = b(k,80) - lu(k,3618) * b(k,312)
    2754   263009123 :          b(k,70) = b(k,70) - lu(k,3617) * b(k,312)
    2755             :       end do
    2756     8168963 :       end subroutine lu_slv12
    2757     8168963 :       subroutine lu_slv13( avec_len, lu, b )
    2758             :       use shr_kind_mod, only : r8 => shr_kind_r8
    2759             :       use chem_mods, only : clscnt4, nzcnt
    2760             :       implicit none
    2761             : !-----------------------------------------------------------------------
    2762             : ! ... Dummy args
    2763             : !-----------------------------------------------------------------------
    2764             :       integer, intent(in) :: avec_len
    2765             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    2766             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    2767             : !-----------------------------------------------------------------------
    2768             : ! ... Local variables
    2769             : !-----------------------------------------------------------------------
    2770             :       integer :: k
    2771             : !-----------------------------------------------------------------------
    2772             : ! ... solve L * y = b
    2773             : !-----------------------------------------------------------------------
    2774   263009123 :       do k = 1,avec_len
    2775   254840160 :          b(k,311) = b(k,311) * lu(k,3610)
    2776   254840160 :          b(k,310) = b(k,310) - lu(k,3609) * b(k,311)
    2777   254840160 :          b(k,309) = b(k,309) - lu(k,3608) * b(k,311)
    2778   254840160 :          b(k,308) = b(k,308) - lu(k,3607) * b(k,311)
    2779   254840160 :          b(k,307) = b(k,307) - lu(k,3606) * b(k,311)
    2780   254840160 :          b(k,306) = b(k,306) - lu(k,3605) * b(k,311)
    2781   254840160 :          b(k,305) = b(k,305) - lu(k,3604) * b(k,311)
    2782   254840160 :          b(k,304) = b(k,304) - lu(k,3603) * b(k,311)
    2783   254840160 :          b(k,303) = b(k,303) - lu(k,3602) * b(k,311)
    2784   254840160 :          b(k,302) = b(k,302) - lu(k,3601) * b(k,311)
    2785   254840160 :          b(k,301) = b(k,301) - lu(k,3600) * b(k,311)
    2786   254840160 :          b(k,300) = b(k,300) - lu(k,3599) * b(k,311)
    2787   254840160 :          b(k,299) = b(k,299) - lu(k,3598) * b(k,311)
    2788   254840160 :          b(k,298) = b(k,298) - lu(k,3597) * b(k,311)
    2789   254840160 :          b(k,297) = b(k,297) - lu(k,3596) * b(k,311)
    2790   254840160 :          b(k,296) = b(k,296) - lu(k,3595) * b(k,311)
    2791   254840160 :          b(k,295) = b(k,295) - lu(k,3594) * b(k,311)
    2792   254840160 :          b(k,294) = b(k,294) - lu(k,3593) * b(k,311)
    2793   254840160 :          b(k,293) = b(k,293) - lu(k,3592) * b(k,311)
    2794   254840160 :          b(k,292) = b(k,292) - lu(k,3591) * b(k,311)
    2795   254840160 :          b(k,291) = b(k,291) - lu(k,3590) * b(k,311)
    2796   254840160 :          b(k,290) = b(k,290) - lu(k,3589) * b(k,311)
    2797   254840160 :          b(k,289) = b(k,289) - lu(k,3588) * b(k,311)
    2798   254840160 :          b(k,288) = b(k,288) - lu(k,3587) * b(k,311)
    2799   254840160 :          b(k,287) = b(k,287) - lu(k,3586) * b(k,311)
    2800   254840160 :          b(k,286) = b(k,286) - lu(k,3585) * b(k,311)
    2801   254840160 :          b(k,285) = b(k,285) - lu(k,3584) * b(k,311)
    2802   254840160 :          b(k,284) = b(k,284) - lu(k,3583) * b(k,311)
    2803   254840160 :          b(k,283) = b(k,283) - lu(k,3582) * b(k,311)
    2804   254840160 :          b(k,282) = b(k,282) - lu(k,3581) * b(k,311)
    2805   254840160 :          b(k,281) = b(k,281) - lu(k,3580) * b(k,311)
    2806   254840160 :          b(k,280) = b(k,280) - lu(k,3579) * b(k,311)
    2807   254840160 :          b(k,279) = b(k,279) - lu(k,3578) * b(k,311)
    2808   254840160 :          b(k,278) = b(k,278) - lu(k,3577) * b(k,311)
    2809   254840160 :          b(k,277) = b(k,277) - lu(k,3576) * b(k,311)
    2810   254840160 :          b(k,276) = b(k,276) - lu(k,3575) * b(k,311)
    2811   254840160 :          b(k,275) = b(k,275) - lu(k,3574) * b(k,311)
    2812   254840160 :          b(k,274) = b(k,274) - lu(k,3573) * b(k,311)
    2813   254840160 :          b(k,273) = b(k,273) - lu(k,3572) * b(k,311)
    2814   254840160 :          b(k,272) = b(k,272) - lu(k,3571) * b(k,311)
    2815   254840160 :          b(k,271) = b(k,271) - lu(k,3570) * b(k,311)
    2816   254840160 :          b(k,270) = b(k,270) - lu(k,3569) * b(k,311)
    2817   254840160 :          b(k,269) = b(k,269) - lu(k,3568) * b(k,311)
    2818   254840160 :          b(k,268) = b(k,268) - lu(k,3567) * b(k,311)
    2819   254840160 :          b(k,267) = b(k,267) - lu(k,3566) * b(k,311)
    2820   254840160 :          b(k,266) = b(k,266) - lu(k,3565) * b(k,311)
    2821   254840160 :          b(k,265) = b(k,265) - lu(k,3564) * b(k,311)
    2822   254840160 :          b(k,264) = b(k,264) - lu(k,3563) * b(k,311)
    2823   254840160 :          b(k,263) = b(k,263) - lu(k,3562) * b(k,311)
    2824   254840160 :          b(k,262) = b(k,262) - lu(k,3561) * b(k,311)
    2825   254840160 :          b(k,261) = b(k,261) - lu(k,3560) * b(k,311)
    2826   254840160 :          b(k,258) = b(k,258) - lu(k,3559) * b(k,311)
    2827   254840160 :          b(k,257) = b(k,257) - lu(k,3558) * b(k,311)
    2828   254840160 :          b(k,256) = b(k,256) - lu(k,3557) * b(k,311)
    2829   254840160 :          b(k,255) = b(k,255) - lu(k,3556) * b(k,311)
    2830   254840160 :          b(k,254) = b(k,254) - lu(k,3555) * b(k,311)
    2831   254840160 :          b(k,253) = b(k,253) - lu(k,3554) * b(k,311)
    2832   254840160 :          b(k,252) = b(k,252) - lu(k,3553) * b(k,311)
    2833   254840160 :          b(k,248) = b(k,248) - lu(k,3552) * b(k,311)
    2834   254840160 :          b(k,247) = b(k,247) - lu(k,3551) * b(k,311)
    2835   254840160 :          b(k,246) = b(k,246) - lu(k,3550) * b(k,311)
    2836   254840160 :          b(k,244) = b(k,244) - lu(k,3549) * b(k,311)
    2837   254840160 :          b(k,242) = b(k,242) - lu(k,3548) * b(k,311)
    2838   254840160 :          b(k,238) = b(k,238) - lu(k,3547) * b(k,311)
    2839   254840160 :          b(k,237) = b(k,237) - lu(k,3546) * b(k,311)
    2840   254840160 :          b(k,236) = b(k,236) - lu(k,3545) * b(k,311)
    2841   254840160 :          b(k,230) = b(k,230) - lu(k,3544) * b(k,311)
    2842   254840160 :          b(k,229) = b(k,229) - lu(k,3543) * b(k,311)
    2843   254840160 :          b(k,228) = b(k,228) - lu(k,3542) * b(k,311)
    2844   254840160 :          b(k,227) = b(k,227) - lu(k,3541) * b(k,311)
    2845   254840160 :          b(k,225) = b(k,225) - lu(k,3540) * b(k,311)
    2846   254840160 :          b(k,220) = b(k,220) - lu(k,3539) * b(k,311)
    2847   254840160 :          b(k,219) = b(k,219) - lu(k,3538) * b(k,311)
    2848   254840160 :          b(k,216) = b(k,216) - lu(k,3537) * b(k,311)
    2849   254840160 :          b(k,213) = b(k,213) - lu(k,3536) * b(k,311)
    2850   254840160 :          b(k,211) = b(k,211) - lu(k,3535) * b(k,311)
    2851   254840160 :          b(k,203) = b(k,203) - lu(k,3534) * b(k,311)
    2852   254840160 :          b(k,202) = b(k,202) - lu(k,3533) * b(k,311)
    2853   254840160 :          b(k,201) = b(k,201) - lu(k,3532) * b(k,311)
    2854   254840160 :          b(k,199) = b(k,199) - lu(k,3531) * b(k,311)
    2855   254840160 :          b(k,193) = b(k,193) - lu(k,3530) * b(k,311)
    2856   254840160 :          b(k,177) = b(k,177) - lu(k,3529) * b(k,311)
    2857   254840160 :          b(k,152) = b(k,152) - lu(k,3528) * b(k,311)
    2858   254840160 :          b(k,118) = b(k,118) - lu(k,3527) * b(k,311)
    2859   254840160 :          b(k,104) = b(k,104) - lu(k,3526) * b(k,311)
    2860   254840160 :          b(k,102) = b(k,102) - lu(k,3525) * b(k,311)
    2861   254840160 :          b(k,43) = b(k,43) - lu(k,3524) * b(k,311)
    2862   254840160 :          b(k,42) = b(k,42) - lu(k,3523) * b(k,311)
    2863   254840160 :          b(k,310) = b(k,310) * lu(k,3515)
    2864   254840160 :          b(k,309) = b(k,309) - lu(k,3514) * b(k,310)
    2865   254840160 :          b(k,308) = b(k,308) - lu(k,3513) * b(k,310)
    2866   254840160 :          b(k,307) = b(k,307) - lu(k,3512) * b(k,310)
    2867   254840160 :          b(k,306) = b(k,306) - lu(k,3511) * b(k,310)
    2868   254840160 :          b(k,305) = b(k,305) - lu(k,3510) * b(k,310)
    2869   254840160 :          b(k,304) = b(k,304) - lu(k,3509) * b(k,310)
    2870   254840160 :          b(k,303) = b(k,303) - lu(k,3508) * b(k,310)
    2871   254840160 :          b(k,302) = b(k,302) - lu(k,3507) * b(k,310)
    2872   254840160 :          b(k,301) = b(k,301) - lu(k,3506) * b(k,310)
    2873   254840160 :          b(k,276) = b(k,276) - lu(k,3505) * b(k,310)
    2874   254840160 :          b(k,246) = b(k,246) - lu(k,3504) * b(k,310)
    2875   254840160 :          b(k,223) = b(k,223) - lu(k,3503) * b(k,310)
    2876   254840160 :          b(k,216) = b(k,216) - lu(k,3502) * b(k,310)
    2877   254840160 :          b(k,209) = b(k,209) - lu(k,3501) * b(k,310)
    2878   254840160 :          b(k,111) = b(k,111) - lu(k,3500) * b(k,310)
    2879   254840160 :          b(k,88) = b(k,88) - lu(k,3499) * b(k,310)
    2880   254840160 :          b(k,75) = b(k,75) - lu(k,3498) * b(k,310)
    2881   254840160 :          b(k,58) = b(k,58) - lu(k,3497) * b(k,310)
    2882   254840160 :          b(k,309) = b(k,309) * lu(k,3488)
    2883   254840160 :          b(k,308) = b(k,308) - lu(k,3487) * b(k,309)
    2884   254840160 :          b(k,307) = b(k,307) - lu(k,3486) * b(k,309)
    2885   254840160 :          b(k,306) = b(k,306) - lu(k,3485) * b(k,309)
    2886   254840160 :          b(k,305) = b(k,305) - lu(k,3484) * b(k,309)
    2887   254840160 :          b(k,304) = b(k,304) - lu(k,3483) * b(k,309)
    2888   254840160 :          b(k,303) = b(k,303) - lu(k,3482) * b(k,309)
    2889   254840160 :          b(k,302) = b(k,302) - lu(k,3481) * b(k,309)
    2890   254840160 :          b(k,301) = b(k,301) - lu(k,3480) * b(k,309)
    2891   254840160 :          b(k,276) = b(k,276) - lu(k,3479) * b(k,309)
    2892   254840160 :          b(k,246) = b(k,246) - lu(k,3478) * b(k,309)
    2893   254840160 :          b(k,216) = b(k,216) - lu(k,3477) * b(k,309)
    2894   254840160 :          b(k,195) = b(k,195) - lu(k,3476) * b(k,309)
    2895   254840160 :          b(k,146) = b(k,146) - lu(k,3475) * b(k,309)
    2896   254840160 :          b(k,111) = b(k,111) - lu(k,3474) * b(k,309)
    2897   254840160 :          b(k,88) = b(k,88) - lu(k,3473) * b(k,309)
    2898   254840160 :          b(k,308) = b(k,308) * lu(k,3463)
    2899   254840160 :          b(k,307) = b(k,307) - lu(k,3462) * b(k,308)
    2900   254840160 :          b(k,306) = b(k,306) - lu(k,3461) * b(k,308)
    2901   254840160 :          b(k,305) = b(k,305) - lu(k,3460) * b(k,308)
    2902   254840160 :          b(k,304) = b(k,304) - lu(k,3459) * b(k,308)
    2903   254840160 :          b(k,303) = b(k,303) - lu(k,3458) * b(k,308)
    2904   254840160 :          b(k,302) = b(k,302) - lu(k,3457) * b(k,308)
    2905   254840160 :          b(k,301) = b(k,301) - lu(k,3456) * b(k,308)
    2906   254840160 :          b(k,300) = b(k,300) - lu(k,3455) * b(k,308)
    2907   254840160 :          b(k,299) = b(k,299) - lu(k,3454) * b(k,308)
    2908   254840160 :          b(k,298) = b(k,298) - lu(k,3453) * b(k,308)
    2909   254840160 :          b(k,297) = b(k,297) - lu(k,3452) * b(k,308)
    2910   254840160 :          b(k,296) = b(k,296) - lu(k,3451) * b(k,308)
    2911   254840160 :          b(k,295) = b(k,295) - lu(k,3450) * b(k,308)
    2912   254840160 :          b(k,294) = b(k,294) - lu(k,3449) * b(k,308)
    2913   254840160 :          b(k,293) = b(k,293) - lu(k,3448) * b(k,308)
    2914   254840160 :          b(k,292) = b(k,292) - lu(k,3447) * b(k,308)
    2915   254840160 :          b(k,291) = b(k,291) - lu(k,3446) * b(k,308)
    2916   254840160 :          b(k,290) = b(k,290) - lu(k,3445) * b(k,308)
    2917   254840160 :          b(k,289) = b(k,289) - lu(k,3444) * b(k,308)
    2918   254840160 :          b(k,288) = b(k,288) - lu(k,3443) * b(k,308)
    2919   254840160 :          b(k,287) = b(k,287) - lu(k,3442) * b(k,308)
    2920   254840160 :          b(k,286) = b(k,286) - lu(k,3441) * b(k,308)
    2921   254840160 :          b(k,285) = b(k,285) - lu(k,3440) * b(k,308)
    2922   254840160 :          b(k,284) = b(k,284) - lu(k,3439) * b(k,308)
    2923   254840160 :          b(k,283) = b(k,283) - lu(k,3438) * b(k,308)
    2924   254840160 :          b(k,282) = b(k,282) - lu(k,3437) * b(k,308)
    2925   254840160 :          b(k,281) = b(k,281) - lu(k,3436) * b(k,308)
    2926   254840160 :          b(k,280) = b(k,280) - lu(k,3435) * b(k,308)
    2927   254840160 :          b(k,279) = b(k,279) - lu(k,3434) * b(k,308)
    2928   254840160 :          b(k,278) = b(k,278) - lu(k,3433) * b(k,308)
    2929   254840160 :          b(k,277) = b(k,277) - lu(k,3432) * b(k,308)
    2930   254840160 :          b(k,275) = b(k,275) - lu(k,3431) * b(k,308)
    2931   254840160 :          b(k,274) = b(k,274) - lu(k,3430) * b(k,308)
    2932   254840160 :          b(k,273) = b(k,273) - lu(k,3429) * b(k,308)
    2933   254840160 :          b(k,272) = b(k,272) - lu(k,3428) * b(k,308)
    2934   254840160 :          b(k,271) = b(k,271) - lu(k,3427) * b(k,308)
    2935   254840160 :          b(k,270) = b(k,270) - lu(k,3426) * b(k,308)
    2936   254840160 :          b(k,269) = b(k,269) - lu(k,3425) * b(k,308)
    2937   254840160 :          b(k,268) = b(k,268) - lu(k,3424) * b(k,308)
    2938   254840160 :          b(k,267) = b(k,267) - lu(k,3423) * b(k,308)
    2939   254840160 :          b(k,266) = b(k,266) - lu(k,3422) * b(k,308)
    2940   254840160 :          b(k,265) = b(k,265) - lu(k,3421) * b(k,308)
    2941   254840160 :          b(k,264) = b(k,264) - lu(k,3420) * b(k,308)
    2942   254840160 :          b(k,263) = b(k,263) - lu(k,3419) * b(k,308)
    2943   254840160 :          b(k,262) = b(k,262) - lu(k,3418) * b(k,308)
    2944   254840160 :          b(k,261) = b(k,261) - lu(k,3417) * b(k,308)
    2945   254840160 :          b(k,260) = b(k,260) - lu(k,3416) * b(k,308)
    2946   254840160 :          b(k,259) = b(k,259) - lu(k,3415) * b(k,308)
    2947   254840160 :          b(k,258) = b(k,258) - lu(k,3414) * b(k,308)
    2948   254840160 :          b(k,257) = b(k,257) - lu(k,3413) * b(k,308)
    2949   254840160 :          b(k,256) = b(k,256) - lu(k,3412) * b(k,308)
    2950   254840160 :          b(k,255) = b(k,255) - lu(k,3411) * b(k,308)
    2951   254840160 :          b(k,254) = b(k,254) - lu(k,3410) * b(k,308)
    2952   254840160 :          b(k,253) = b(k,253) - lu(k,3409) * b(k,308)
    2953   254840160 :          b(k,252) = b(k,252) - lu(k,3408) * b(k,308)
    2954   254840160 :          b(k,250) = b(k,250) - lu(k,3407) * b(k,308)
    2955   254840160 :          b(k,249) = b(k,249) - lu(k,3406) * b(k,308)
    2956   254840160 :          b(k,248) = b(k,248) - lu(k,3405) * b(k,308)
    2957   254840160 :          b(k,247) = b(k,247) - lu(k,3404) * b(k,308)
    2958   254840160 :          b(k,244) = b(k,244) - lu(k,3403) * b(k,308)
    2959   254840160 :          b(k,243) = b(k,243) - lu(k,3402) * b(k,308)
    2960   254840160 :          b(k,242) = b(k,242) - lu(k,3401) * b(k,308)
    2961   254840160 :          b(k,240) = b(k,240) - lu(k,3400) * b(k,308)
    2962   254840160 :          b(k,239) = b(k,239) - lu(k,3399) * b(k,308)
    2963   254840160 :          b(k,238) = b(k,238) - lu(k,3398) * b(k,308)
    2964   254840160 :          b(k,236) = b(k,236) - lu(k,3397) * b(k,308)
    2965   254840160 :          b(k,234) = b(k,234) - lu(k,3396) * b(k,308)
    2966   254840160 :          b(k,233) = b(k,233) - lu(k,3395) * b(k,308)
    2967   254840160 :          b(k,232) = b(k,232) - lu(k,3394) * b(k,308)
    2968   254840160 :          b(k,231) = b(k,231) - lu(k,3393) * b(k,308)
    2969   254840160 :          b(k,230) = b(k,230) - lu(k,3392) * b(k,308)
    2970   254840160 :          b(k,225) = b(k,225) - lu(k,3391) * b(k,308)
    2971   254840160 :          b(k,224) = b(k,224) - lu(k,3390) * b(k,308)
    2972   254840160 :          b(k,220) = b(k,220) - lu(k,3389) * b(k,308)
    2973   254840160 :          b(k,218) = b(k,218) - lu(k,3388) * b(k,308)
    2974   254840160 :          b(k,203) = b(k,203) - lu(k,3387) * b(k,308)
    2975   254840160 :          b(k,198) = b(k,198) - lu(k,3386) * b(k,308)
    2976   254840160 :          b(k,186) = b(k,186) - lu(k,3385) * b(k,308)
    2977   254840160 :          b(k,173) = b(k,173) - lu(k,3384) * b(k,308)
    2978   254840160 :          b(k,166) = b(k,166) - lu(k,3383) * b(k,308)
    2979   254840160 :          b(k,129) = b(k,129) - lu(k,3382) * b(k,308)
    2980   254840160 :          b(k,99) = b(k,99) - lu(k,3381) * b(k,308)
    2981   263009123 :          b(k,44) = b(k,44) - lu(k,3380) * b(k,308)
    2982             :       end do
    2983     8168963 :       end subroutine lu_slv13
    2984     8168963 :       subroutine lu_slv14( avec_len, lu, b )
    2985             :       use shr_kind_mod, only : r8 => shr_kind_r8
    2986             :       use chem_mods, only : clscnt4, nzcnt
    2987             :       implicit none
    2988             : !-----------------------------------------------------------------------
    2989             : ! ... Dummy args
    2990             : !-----------------------------------------------------------------------
    2991             :       integer, intent(in) :: avec_len
    2992             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    2993             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    2994             : !-----------------------------------------------------------------------
    2995             : ! ... Local variables
    2996             : !-----------------------------------------------------------------------
    2997             :       integer :: k
    2998             : !-----------------------------------------------------------------------
    2999             : ! ... solve L * y = b
    3000             : !-----------------------------------------------------------------------
    3001   263009123 :       do k = 1,avec_len
    3002   254840160 :          b(k,307) = b(k,307) * lu(k,3369)
    3003   254840160 :          b(k,306) = b(k,306) - lu(k,3368) * b(k,307)
    3004   254840160 :          b(k,305) = b(k,305) - lu(k,3367) * b(k,307)
    3005   254840160 :          b(k,304) = b(k,304) - lu(k,3366) * b(k,307)
    3006   254840160 :          b(k,303) = b(k,303) - lu(k,3365) * b(k,307)
    3007   254840160 :          b(k,302) = b(k,302) - lu(k,3364) * b(k,307)
    3008   254840160 :          b(k,301) = b(k,301) - lu(k,3363) * b(k,307)
    3009   254840160 :          b(k,300) = b(k,300) - lu(k,3362) * b(k,307)
    3010   254840160 :          b(k,299) = b(k,299) - lu(k,3361) * b(k,307)
    3011   254840160 :          b(k,298) = b(k,298) - lu(k,3360) * b(k,307)
    3012   254840160 :          b(k,297) = b(k,297) - lu(k,3359) * b(k,307)
    3013   254840160 :          b(k,296) = b(k,296) - lu(k,3358) * b(k,307)
    3014   254840160 :          b(k,295) = b(k,295) - lu(k,3357) * b(k,307)
    3015   254840160 :          b(k,294) = b(k,294) - lu(k,3356) * b(k,307)
    3016   254840160 :          b(k,293) = b(k,293) - lu(k,3355) * b(k,307)
    3017   254840160 :          b(k,292) = b(k,292) - lu(k,3354) * b(k,307)
    3018   254840160 :          b(k,291) = b(k,291) - lu(k,3353) * b(k,307)
    3019   254840160 :          b(k,290) = b(k,290) - lu(k,3352) * b(k,307)
    3020   254840160 :          b(k,289) = b(k,289) - lu(k,3351) * b(k,307)
    3021   254840160 :          b(k,288) = b(k,288) - lu(k,3350) * b(k,307)
    3022   254840160 :          b(k,287) = b(k,287) - lu(k,3349) * b(k,307)
    3023   254840160 :          b(k,286) = b(k,286) - lu(k,3348) * b(k,307)
    3024   254840160 :          b(k,285) = b(k,285) - lu(k,3347) * b(k,307)
    3025   254840160 :          b(k,284) = b(k,284) - lu(k,3346) * b(k,307)
    3026   254840160 :          b(k,283) = b(k,283) - lu(k,3345) * b(k,307)
    3027   254840160 :          b(k,282) = b(k,282) - lu(k,3344) * b(k,307)
    3028   254840160 :          b(k,281) = b(k,281) - lu(k,3343) * b(k,307)
    3029   254840160 :          b(k,280) = b(k,280) - lu(k,3342) * b(k,307)
    3030   254840160 :          b(k,279) = b(k,279) - lu(k,3341) * b(k,307)
    3031   254840160 :          b(k,278) = b(k,278) - lu(k,3340) * b(k,307)
    3032   254840160 :          b(k,277) = b(k,277) - lu(k,3339) * b(k,307)
    3033   254840160 :          b(k,276) = b(k,276) - lu(k,3338) * b(k,307)
    3034   254840160 :          b(k,275) = b(k,275) - lu(k,3337) * b(k,307)
    3035   254840160 :          b(k,274) = b(k,274) - lu(k,3336) * b(k,307)
    3036   254840160 :          b(k,273) = b(k,273) - lu(k,3335) * b(k,307)
    3037   254840160 :          b(k,272) = b(k,272) - lu(k,3334) * b(k,307)
    3038   254840160 :          b(k,271) = b(k,271) - lu(k,3333) * b(k,307)
    3039   254840160 :          b(k,270) = b(k,270) - lu(k,3332) * b(k,307)
    3040   254840160 :          b(k,269) = b(k,269) - lu(k,3331) * b(k,307)
    3041   254840160 :          b(k,268) = b(k,268) - lu(k,3330) * b(k,307)
    3042   254840160 :          b(k,267) = b(k,267) - lu(k,3329) * b(k,307)
    3043   254840160 :          b(k,266) = b(k,266) - lu(k,3328) * b(k,307)
    3044   254840160 :          b(k,265) = b(k,265) - lu(k,3327) * b(k,307)
    3045   254840160 :          b(k,264) = b(k,264) - lu(k,3326) * b(k,307)
    3046   254840160 :          b(k,263) = b(k,263) - lu(k,3325) * b(k,307)
    3047   254840160 :          b(k,262) = b(k,262) - lu(k,3324) * b(k,307)
    3048   254840160 :          b(k,261) = b(k,261) - lu(k,3323) * b(k,307)
    3049   254840160 :          b(k,260) = b(k,260) - lu(k,3322) * b(k,307)
    3050   254840160 :          b(k,259) = b(k,259) - lu(k,3321) * b(k,307)
    3051   254840160 :          b(k,258) = b(k,258) - lu(k,3320) * b(k,307)
    3052   254840160 :          b(k,257) = b(k,257) - lu(k,3319) * b(k,307)
    3053   254840160 :          b(k,256) = b(k,256) - lu(k,3318) * b(k,307)
    3054   254840160 :          b(k,255) = b(k,255) - lu(k,3317) * b(k,307)
    3055   254840160 :          b(k,254) = b(k,254) - lu(k,3316) * b(k,307)
    3056   254840160 :          b(k,253) = b(k,253) - lu(k,3315) * b(k,307)
    3057   254840160 :          b(k,252) = b(k,252) - lu(k,3314) * b(k,307)
    3058   254840160 :          b(k,251) = b(k,251) - lu(k,3313) * b(k,307)
    3059   254840160 :          b(k,250) = b(k,250) - lu(k,3312) * b(k,307)
    3060   254840160 :          b(k,249) = b(k,249) - lu(k,3311) * b(k,307)
    3061   254840160 :          b(k,248) = b(k,248) - lu(k,3310) * b(k,307)
    3062   254840160 :          b(k,247) = b(k,247) - lu(k,3309) * b(k,307)
    3063   254840160 :          b(k,245) = b(k,245) - lu(k,3308) * b(k,307)
    3064   254840160 :          b(k,244) = b(k,244) - lu(k,3307) * b(k,307)
    3065   254840160 :          b(k,243) = b(k,243) - lu(k,3306) * b(k,307)
    3066   254840160 :          b(k,242) = b(k,242) - lu(k,3305) * b(k,307)
    3067   254840160 :          b(k,240) = b(k,240) - lu(k,3304) * b(k,307)
    3068   254840160 :          b(k,239) = b(k,239) - lu(k,3303) * b(k,307)
    3069   254840160 :          b(k,238) = b(k,238) - lu(k,3302) * b(k,307)
    3070   254840160 :          b(k,237) = b(k,237) - lu(k,3301) * b(k,307)
    3071   254840160 :          b(k,236) = b(k,236) - lu(k,3300) * b(k,307)
    3072   254840160 :          b(k,235) = b(k,235) - lu(k,3299) * b(k,307)
    3073   254840160 :          b(k,234) = b(k,234) - lu(k,3298) * b(k,307)
    3074   254840160 :          b(k,233) = b(k,233) - lu(k,3297) * b(k,307)
    3075   254840160 :          b(k,232) = b(k,232) - lu(k,3296) * b(k,307)
    3076   254840160 :          b(k,231) = b(k,231) - lu(k,3295) * b(k,307)
    3077   254840160 :          b(k,230) = b(k,230) - lu(k,3294) * b(k,307)
    3078   254840160 :          b(k,227) = b(k,227) - lu(k,3293) * b(k,307)
    3079   254840160 :          b(k,226) = b(k,226) - lu(k,3292) * b(k,307)
    3080   254840160 :          b(k,225) = b(k,225) - lu(k,3291) * b(k,307)
    3081   254840160 :          b(k,224) = b(k,224) - lu(k,3290) * b(k,307)
    3082   254840160 :          b(k,222) = b(k,222) - lu(k,3289) * b(k,307)
    3083   254840160 :          b(k,221) = b(k,221) - lu(k,3288) * b(k,307)
    3084   254840160 :          b(k,215) = b(k,215) - lu(k,3287) * b(k,307)
    3085   254840160 :          b(k,214) = b(k,214) - lu(k,3286) * b(k,307)
    3086   254840160 :          b(k,213) = b(k,213) - lu(k,3285) * b(k,307)
    3087   254840160 :          b(k,212) = b(k,212) - lu(k,3284) * b(k,307)
    3088   254840160 :          b(k,211) = b(k,211) - lu(k,3283) * b(k,307)
    3089   254840160 :          b(k,210) = b(k,210) - lu(k,3282) * b(k,307)
    3090   254840160 :          b(k,209) = b(k,209) - lu(k,3281) * b(k,307)
    3091   254840160 :          b(k,208) = b(k,208) - lu(k,3280) * b(k,307)
    3092   254840160 :          b(k,207) = b(k,207) - lu(k,3279) * b(k,307)
    3093   254840160 :          b(k,206) = b(k,206) - lu(k,3278) * b(k,307)
    3094   254840160 :          b(k,205) = b(k,205) - lu(k,3277) * b(k,307)
    3095   254840160 :          b(k,203) = b(k,203) - lu(k,3276) * b(k,307)
    3096   254840160 :          b(k,200) = b(k,200) - lu(k,3275) * b(k,307)
    3097   254840160 :          b(k,198) = b(k,198) - lu(k,3274) * b(k,307)
    3098   254840160 :          b(k,197) = b(k,197) - lu(k,3273) * b(k,307)
    3099   254840160 :          b(k,196) = b(k,196) - lu(k,3272) * b(k,307)
    3100   254840160 :          b(k,195) = b(k,195) - lu(k,3271) * b(k,307)
    3101   254840160 :          b(k,194) = b(k,194) - lu(k,3270) * b(k,307)
    3102   254840160 :          b(k,192) = b(k,192) - lu(k,3269) * b(k,307)
    3103   254840160 :          b(k,191) = b(k,191) - lu(k,3268) * b(k,307)
    3104   254840160 :          b(k,190) = b(k,190) - lu(k,3267) * b(k,307)
    3105   254840160 :          b(k,189) = b(k,189) - lu(k,3266) * b(k,307)
    3106   254840160 :          b(k,188) = b(k,188) - lu(k,3265) * b(k,307)
    3107   254840160 :          b(k,187) = b(k,187) - lu(k,3264) * b(k,307)
    3108   254840160 :          b(k,184) = b(k,184) - lu(k,3263) * b(k,307)
    3109   254840160 :          b(k,183) = b(k,183) - lu(k,3262) * b(k,307)
    3110   254840160 :          b(k,182) = b(k,182) - lu(k,3261) * b(k,307)
    3111   254840160 :          b(k,181) = b(k,181) - lu(k,3260) * b(k,307)
    3112   254840160 :          b(k,180) = b(k,180) - lu(k,3259) * b(k,307)
    3113   254840160 :          b(k,179) = b(k,179) - lu(k,3258) * b(k,307)
    3114   254840160 :          b(k,178) = b(k,178) - lu(k,3257) * b(k,307)
    3115   254840160 :          b(k,176) = b(k,176) - lu(k,3256) * b(k,307)
    3116   254840160 :          b(k,175) = b(k,175) - lu(k,3255) * b(k,307)
    3117   254840160 :          b(k,174) = b(k,174) - lu(k,3254) * b(k,307)
    3118   254840160 :          b(k,173) = b(k,173) - lu(k,3253) * b(k,307)
    3119   254840160 :          b(k,172) = b(k,172) - lu(k,3252) * b(k,307)
    3120   254840160 :          b(k,171) = b(k,171) - lu(k,3251) * b(k,307)
    3121   254840160 :          b(k,170) = b(k,170) - lu(k,3250) * b(k,307)
    3122   254840160 :          b(k,169) = b(k,169) - lu(k,3249) * b(k,307)
    3123   254840160 :          b(k,167) = b(k,167) - lu(k,3248) * b(k,307)
    3124   254840160 :          b(k,165) = b(k,165) - lu(k,3247) * b(k,307)
    3125   254840160 :          b(k,164) = b(k,164) - lu(k,3246) * b(k,307)
    3126   254840160 :          b(k,163) = b(k,163) - lu(k,3245) * b(k,307)
    3127   254840160 :          b(k,162) = b(k,162) - lu(k,3244) * b(k,307)
    3128   254840160 :          b(k,161) = b(k,161) - lu(k,3243) * b(k,307)
    3129   254840160 :          b(k,160) = b(k,160) - lu(k,3242) * b(k,307)
    3130   254840160 :          b(k,151) = b(k,151) - lu(k,3241) * b(k,307)
    3131   254840160 :          b(k,148) = b(k,148) - lu(k,3240) * b(k,307)
    3132   254840160 :          b(k,144) = b(k,144) - lu(k,3239) * b(k,307)
    3133   254840160 :          b(k,142) = b(k,142) - lu(k,3238) * b(k,307)
    3134   254840160 :          b(k,139) = b(k,139) - lu(k,3237) * b(k,307)
    3135   254840160 :          b(k,135) = b(k,135) - lu(k,3236) * b(k,307)
    3136   254840160 :          b(k,133) = b(k,133) - lu(k,3235) * b(k,307)
    3137   254840160 :          b(k,132) = b(k,132) - lu(k,3234) * b(k,307)
    3138   254840160 :          b(k,130) = b(k,130) - lu(k,3233) * b(k,307)
    3139   254840160 :          b(k,129) = b(k,129) - lu(k,3232) * b(k,307)
    3140   254840160 :          b(k,128) = b(k,128) - lu(k,3231) * b(k,307)
    3141   254840160 :          b(k,127) = b(k,127) - lu(k,3230) * b(k,307)
    3142   254840160 :          b(k,126) = b(k,126) - lu(k,3229) * b(k,307)
    3143   254840160 :          b(k,124) = b(k,124) - lu(k,3228) * b(k,307)
    3144   254840160 :          b(k,123) = b(k,123) - lu(k,3227) * b(k,307)
    3145   254840160 :          b(k,122) = b(k,122) - lu(k,3226) * b(k,307)
    3146   254840160 :          b(k,117) = b(k,117) - lu(k,3225) * b(k,307)
    3147   254840160 :          b(k,116) = b(k,116) - lu(k,3224) * b(k,307)
    3148   254840160 :          b(k,115) = b(k,115) - lu(k,3223) * b(k,307)
    3149   254840160 :          b(k,114) = b(k,114) - lu(k,3222) * b(k,307)
    3150   254840160 :          b(k,113) = b(k,113) - lu(k,3221) * b(k,307)
    3151   254840160 :          b(k,112) = b(k,112) - lu(k,3220) * b(k,307)
    3152   254840160 :          b(k,109) = b(k,109) - lu(k,3219) * b(k,307)
    3153   254840160 :          b(k,101) = b(k,101) - lu(k,3218) * b(k,307)
    3154   254840160 :          b(k,100) = b(k,100) - lu(k,3217) * b(k,307)
    3155   254840160 :          b(k,68) = b(k,68) - lu(k,3216) * b(k,307)
    3156   254840160 :          b(k,57) = b(k,57) - lu(k,3215) * b(k,307)
    3157   254840160 :          b(k,56) = b(k,56) - lu(k,3214) * b(k,307)
    3158   254840160 :          b(k,55) = b(k,55) - lu(k,3213) * b(k,307)
    3159   254840160 :          b(k,54) = b(k,54) - lu(k,3212) * b(k,307)
    3160   254840160 :          b(k,52) = b(k,52) - lu(k,3211) * b(k,307)
    3161   254840160 :          b(k,51) = b(k,51) - lu(k,3210) * b(k,307)
    3162   254840160 :          b(k,50) = b(k,50) - lu(k,3209) * b(k,307)
    3163   254840160 :          b(k,49) = b(k,49) - lu(k,3208) * b(k,307)
    3164   254840160 :          b(k,48) = b(k,48) - lu(k,3207) * b(k,307)
    3165   254840160 :          b(k,47) = b(k,47) - lu(k,3206) * b(k,307)
    3166   254840160 :          b(k,44) = b(k,44) - lu(k,3205) * b(k,307)
    3167   254840160 :          b(k,43) = b(k,43) - lu(k,3204) * b(k,307)
    3168   254840160 :          b(k,42) = b(k,42) - lu(k,3203) * b(k,307)
    3169   254840160 :          b(k,41) = b(k,41) - lu(k,3202) * b(k,307)
    3170   254840160 :          b(k,40) = b(k,40) - lu(k,3201) * b(k,307)
    3171   254840160 :          b(k,39) = b(k,39) - lu(k,3200) * b(k,307)
    3172   254840160 :          b(k,306) = b(k,306) * lu(k,3188)
    3173   254840160 :          b(k,305) = b(k,305) - lu(k,3187) * b(k,306)
    3174   254840160 :          b(k,304) = b(k,304) - lu(k,3186) * b(k,306)
    3175   254840160 :          b(k,303) = b(k,303) - lu(k,3185) * b(k,306)
    3176   254840160 :          b(k,302) = b(k,302) - lu(k,3184) * b(k,306)
    3177   254840160 :          b(k,301) = b(k,301) - lu(k,3183) * b(k,306)
    3178   254840160 :          b(k,279) = b(k,279) - lu(k,3182) * b(k,306)
    3179   254840160 :          b(k,276) = b(k,276) - lu(k,3181) * b(k,306)
    3180   254840160 :          b(k,271) = b(k,271) - lu(k,3180) * b(k,306)
    3181   254840160 :          b(k,251) = b(k,251) - lu(k,3179) * b(k,306)
    3182   254840160 :          b(k,247) = b(k,247) - lu(k,3178) * b(k,306)
    3183   254840160 :          b(k,227) = b(k,227) - lu(k,3177) * b(k,306)
    3184   254840160 :          b(k,213) = b(k,213) - lu(k,3176) * b(k,306)
    3185   254840160 :          b(k,208) = b(k,208) - lu(k,3175) * b(k,306)
    3186   254840160 :          b(k,162) = b(k,162) - lu(k,3174) * b(k,306)
    3187   254840160 :          b(k,305) = b(k,305) * lu(k,3161)
    3188   254840160 :          b(k,304) = b(k,304) - lu(k,3160) * b(k,305)
    3189   254840160 :          b(k,303) = b(k,303) - lu(k,3159) * b(k,305)
    3190   254840160 :          b(k,302) = b(k,302) - lu(k,3158) * b(k,305)
    3191   254840160 :          b(k,301) = b(k,301) - lu(k,3157) * b(k,305)
    3192   254840160 :          b(k,279) = b(k,279) - lu(k,3156) * b(k,305)
    3193   254840160 :          b(k,276) = b(k,276) - lu(k,3155) * b(k,305)
    3194   254840160 :          b(k,271) = b(k,271) - lu(k,3154) * b(k,305)
    3195   254840160 :          b(k,251) = b(k,251) - lu(k,3153) * b(k,305)
    3196   254840160 :          b(k,246) = b(k,246) - lu(k,3152) * b(k,305)
    3197   254840160 :          b(k,237) = b(k,237) - lu(k,3151) * b(k,305)
    3198   254840160 :          b(k,223) = b(k,223) - lu(k,3150) * b(k,305)
    3199   254840160 :          b(k,216) = b(k,216) - lu(k,3149) * b(k,305)
    3200   254840160 :          b(k,209) = b(k,209) - lu(k,3148) * b(k,305)
    3201   254840160 :          b(k,208) = b(k,208) - lu(k,3147) * b(k,305)
    3202   254840160 :          b(k,195) = b(k,195) - lu(k,3146) * b(k,305)
    3203   254840160 :          b(k,146) = b(k,146) - lu(k,3145) * b(k,305)
    3204   254840160 :          b(k,143) = b(k,143) - lu(k,3144) * b(k,305)
    3205   263009123 :          b(k,119) = b(k,119) - lu(k,3143) * b(k,305)
    3206             :       end do
    3207     8168963 :       end subroutine lu_slv14
    3208     8168963 :       subroutine lu_slv15( avec_len, lu, b )
    3209             :       use shr_kind_mod, only : r8 => shr_kind_r8
    3210             :       use chem_mods, only : clscnt4, nzcnt
    3211             :       implicit none
    3212             : !-----------------------------------------------------------------------
    3213             : ! ... Dummy args
    3214             : !-----------------------------------------------------------------------
    3215             :       integer, intent(in) :: avec_len
    3216             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    3217             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    3218             : !-----------------------------------------------------------------------
    3219             : ! ... Local variables
    3220             : !-----------------------------------------------------------------------
    3221             :       integer :: k
    3222             : !-----------------------------------------------------------------------
    3223             : ! ... solve L * y = b
    3224             : !-----------------------------------------------------------------------
    3225   263009123 :       do k = 1,avec_len
    3226   254840160 :          b(k,304) = b(k,304) * lu(k,3129)
    3227   254840160 :          b(k,302) = b(k,302) - lu(k,3128) * b(k,304)
    3228   254840160 :          b(k,301) = b(k,301) - lu(k,3127) * b(k,304)
    3229   254840160 :          b(k,276) = b(k,276) - lu(k,3126) * b(k,304)
    3230   254840160 :          b(k,223) = b(k,223) - lu(k,3125) * b(k,304)
    3231   254840160 :          b(k,209) = b(k,209) - lu(k,3124) * b(k,304)
    3232   254840160 :          b(k,195) = b(k,195) - lu(k,3123) * b(k,304)
    3233   254840160 :          b(k,88) = b(k,88) - lu(k,3122) * b(k,304)
    3234   254840160 :          b(k,75) = b(k,75) - lu(k,3121) * b(k,304)
    3235   254840160 :          b(k,303) = b(k,303) * lu(k,3106)
    3236   254840160 :          b(k,302) = b(k,302) - lu(k,3105) * b(k,303)
    3237   254840160 :          b(k,301) = b(k,301) - lu(k,3104) * b(k,303)
    3238   254840160 :          b(k,300) = b(k,300) - lu(k,3103) * b(k,303)
    3239   254840160 :          b(k,299) = b(k,299) - lu(k,3102) * b(k,303)
    3240   254840160 :          b(k,298) = b(k,298) - lu(k,3101) * b(k,303)
    3241   254840160 :          b(k,297) = b(k,297) - lu(k,3100) * b(k,303)
    3242   254840160 :          b(k,296) = b(k,296) - lu(k,3099) * b(k,303)
    3243   254840160 :          b(k,295) = b(k,295) - lu(k,3098) * b(k,303)
    3244   254840160 :          b(k,294) = b(k,294) - lu(k,3097) * b(k,303)
    3245   254840160 :          b(k,293) = b(k,293) - lu(k,3096) * b(k,303)
    3246   254840160 :          b(k,292) = b(k,292) - lu(k,3095) * b(k,303)
    3247   254840160 :          b(k,291) = b(k,291) - lu(k,3094) * b(k,303)
    3248   254840160 :          b(k,290) = b(k,290) - lu(k,3093) * b(k,303)
    3249   254840160 :          b(k,289) = b(k,289) - lu(k,3092) * b(k,303)
    3250   254840160 :          b(k,288) = b(k,288) - lu(k,3091) * b(k,303)
    3251   254840160 :          b(k,287) = b(k,287) - lu(k,3090) * b(k,303)
    3252   254840160 :          b(k,286) = b(k,286) - lu(k,3089) * b(k,303)
    3253   254840160 :          b(k,285) = b(k,285) - lu(k,3088) * b(k,303)
    3254   254840160 :          b(k,284) = b(k,284) - lu(k,3087) * b(k,303)
    3255   254840160 :          b(k,283) = b(k,283) - lu(k,3086) * b(k,303)
    3256   254840160 :          b(k,282) = b(k,282) - lu(k,3085) * b(k,303)
    3257   254840160 :          b(k,281) = b(k,281) - lu(k,3084) * b(k,303)
    3258   254840160 :          b(k,280) = b(k,280) - lu(k,3083) * b(k,303)
    3259   254840160 :          b(k,279) = b(k,279) - lu(k,3082) * b(k,303)
    3260   254840160 :          b(k,278) = b(k,278) - lu(k,3081) * b(k,303)
    3261   254840160 :          b(k,277) = b(k,277) - lu(k,3080) * b(k,303)
    3262   254840160 :          b(k,276) = b(k,276) - lu(k,3079) * b(k,303)
    3263   254840160 :          b(k,275) = b(k,275) - lu(k,3078) * b(k,303)
    3264   254840160 :          b(k,274) = b(k,274) - lu(k,3077) * b(k,303)
    3265   254840160 :          b(k,273) = b(k,273) - lu(k,3076) * b(k,303)
    3266   254840160 :          b(k,272) = b(k,272) - lu(k,3075) * b(k,303)
    3267   254840160 :          b(k,271) = b(k,271) - lu(k,3074) * b(k,303)
    3268   254840160 :          b(k,270) = b(k,270) - lu(k,3073) * b(k,303)
    3269   254840160 :          b(k,269) = b(k,269) - lu(k,3072) * b(k,303)
    3270   254840160 :          b(k,268) = b(k,268) - lu(k,3071) * b(k,303)
    3271   254840160 :          b(k,267) = b(k,267) - lu(k,3070) * b(k,303)
    3272   254840160 :          b(k,266) = b(k,266) - lu(k,3069) * b(k,303)
    3273   254840160 :          b(k,265) = b(k,265) - lu(k,3068) * b(k,303)
    3274   254840160 :          b(k,264) = b(k,264) - lu(k,3067) * b(k,303)
    3275   254840160 :          b(k,263) = b(k,263) - lu(k,3066) * b(k,303)
    3276   254840160 :          b(k,262) = b(k,262) - lu(k,3065) * b(k,303)
    3277   254840160 :          b(k,261) = b(k,261) - lu(k,3064) * b(k,303)
    3278   254840160 :          b(k,260) = b(k,260) - lu(k,3063) * b(k,303)
    3279   254840160 :          b(k,259) = b(k,259) - lu(k,3062) * b(k,303)
    3280   254840160 :          b(k,258) = b(k,258) - lu(k,3061) * b(k,303)
    3281   254840160 :          b(k,257) = b(k,257) - lu(k,3060) * b(k,303)
    3282   254840160 :          b(k,256) = b(k,256) - lu(k,3059) * b(k,303)
    3283   254840160 :          b(k,255) = b(k,255) - lu(k,3058) * b(k,303)
    3284   254840160 :          b(k,254) = b(k,254) - lu(k,3057) * b(k,303)
    3285   254840160 :          b(k,253) = b(k,253) - lu(k,3056) * b(k,303)
    3286   254840160 :          b(k,252) = b(k,252) - lu(k,3055) * b(k,303)
    3287   254840160 :          b(k,250) = b(k,250) - lu(k,3054) * b(k,303)
    3288   254840160 :          b(k,249) = b(k,249) - lu(k,3053) * b(k,303)
    3289   254840160 :          b(k,248) = b(k,248) - lu(k,3052) * b(k,303)
    3290   254840160 :          b(k,247) = b(k,247) - lu(k,3051) * b(k,303)
    3291   254840160 :          b(k,244) = b(k,244) - lu(k,3050) * b(k,303)
    3292   254840160 :          b(k,243) = b(k,243) - lu(k,3049) * b(k,303)
    3293   254840160 :          b(k,242) = b(k,242) - lu(k,3048) * b(k,303)
    3294   254840160 :          b(k,241) = b(k,241) - lu(k,3047) * b(k,303)
    3295   254840160 :          b(k,240) = b(k,240) - lu(k,3046) * b(k,303)
    3296   254840160 :          b(k,239) = b(k,239) - lu(k,3045) * b(k,303)
    3297   254840160 :          b(k,238) = b(k,238) - lu(k,3044) * b(k,303)
    3298   254840160 :          b(k,236) = b(k,236) - lu(k,3043) * b(k,303)
    3299   254840160 :          b(k,235) = b(k,235) - lu(k,3042) * b(k,303)
    3300   254840160 :          b(k,234) = b(k,234) - lu(k,3041) * b(k,303)
    3301   254840160 :          b(k,233) = b(k,233) - lu(k,3040) * b(k,303)
    3302   254840160 :          b(k,232) = b(k,232) - lu(k,3039) * b(k,303)
    3303   254840160 :          b(k,231) = b(k,231) - lu(k,3038) * b(k,303)
    3304   254840160 :          b(k,230) = b(k,230) - lu(k,3037) * b(k,303)
    3305   254840160 :          b(k,227) = b(k,227) - lu(k,3036) * b(k,303)
    3306   254840160 :          b(k,226) = b(k,226) - lu(k,3035) * b(k,303)
    3307   254840160 :          b(k,225) = b(k,225) - lu(k,3034) * b(k,303)
    3308   254840160 :          b(k,224) = b(k,224) - lu(k,3033) * b(k,303)
    3309   254840160 :          b(k,222) = b(k,222) - lu(k,3032) * b(k,303)
    3310   254840160 :          b(k,221) = b(k,221) - lu(k,3031) * b(k,303)
    3311   254840160 :          b(k,215) = b(k,215) - lu(k,3030) * b(k,303)
    3312   254840160 :          b(k,214) = b(k,214) - lu(k,3029) * b(k,303)
    3313   254840160 :          b(k,213) = b(k,213) - lu(k,3028) * b(k,303)
    3314   254840160 :          b(k,211) = b(k,211) - lu(k,3027) * b(k,303)
    3315   254840160 :          b(k,210) = b(k,210) - lu(k,3026) * b(k,303)
    3316   254840160 :          b(k,207) = b(k,207) - lu(k,3025) * b(k,303)
    3317   254840160 :          b(k,206) = b(k,206) - lu(k,3024) * b(k,303)
    3318   254840160 :          b(k,205) = b(k,205) - lu(k,3023) * b(k,303)
    3319   254840160 :          b(k,204) = b(k,204) - lu(k,3022) * b(k,303)
    3320   254840160 :          b(k,203) = b(k,203) - lu(k,3021) * b(k,303)
    3321   254840160 :          b(k,200) = b(k,200) - lu(k,3020) * b(k,303)
    3322   254840160 :          b(k,198) = b(k,198) - lu(k,3019) * b(k,303)
    3323   254840160 :          b(k,197) = b(k,197) - lu(k,3018) * b(k,303)
    3324   254840160 :          b(k,196) = b(k,196) - lu(k,3017) * b(k,303)
    3325   254840160 :          b(k,194) = b(k,194) - lu(k,3016) * b(k,303)
    3326   254840160 :          b(k,193) = b(k,193) - lu(k,3015) * b(k,303)
    3327   254840160 :          b(k,192) = b(k,192) - lu(k,3014) * b(k,303)
    3328   254840160 :          b(k,191) = b(k,191) - lu(k,3013) * b(k,303)
    3329   254840160 :          b(k,190) = b(k,190) - lu(k,3012) * b(k,303)
    3330   254840160 :          b(k,189) = b(k,189) - lu(k,3011) * b(k,303)
    3331   254840160 :          b(k,188) = b(k,188) - lu(k,3010) * b(k,303)
    3332   254840160 :          b(k,187) = b(k,187) - lu(k,3009) * b(k,303)
    3333   254840160 :          b(k,184) = b(k,184) - lu(k,3008) * b(k,303)
    3334   254840160 :          b(k,183) = b(k,183) - lu(k,3007) * b(k,303)
    3335   254840160 :          b(k,182) = b(k,182) - lu(k,3006) * b(k,303)
    3336   254840160 :          b(k,181) = b(k,181) - lu(k,3005) * b(k,303)
    3337   254840160 :          b(k,180) = b(k,180) - lu(k,3004) * b(k,303)
    3338   254840160 :          b(k,179) = b(k,179) - lu(k,3003) * b(k,303)
    3339   254840160 :          b(k,176) = b(k,176) - lu(k,3002) * b(k,303)
    3340   254840160 :          b(k,175) = b(k,175) - lu(k,3001) * b(k,303)
    3341   254840160 :          b(k,174) = b(k,174) - lu(k,3000) * b(k,303)
    3342   254840160 :          b(k,169) = b(k,169) - lu(k,2999) * b(k,303)
    3343   254840160 :          b(k,168) = b(k,168) - lu(k,2998) * b(k,303)
    3344   254840160 :          b(k,164) = b(k,164) - lu(k,2997) * b(k,303)
    3345   254840160 :          b(k,162) = b(k,162) - lu(k,2996) * b(k,303)
    3346   254840160 :          b(k,159) = b(k,159) - lu(k,2995) * b(k,303)
    3347   254840160 :          b(k,152) = b(k,152) - lu(k,2994) * b(k,303)
    3348   254840160 :          b(k,151) = b(k,151) - lu(k,2993) * b(k,303)
    3349   254840160 :          b(k,150) = b(k,150) - lu(k,2992) * b(k,303)
    3350   254840160 :          b(k,145) = b(k,145) - lu(k,2991) * b(k,303)
    3351   254840160 :          b(k,144) = b(k,144) - lu(k,2990) * b(k,303)
    3352   254840160 :          b(k,142) = b(k,142) - lu(k,2989) * b(k,303)
    3353   254840160 :          b(k,139) = b(k,139) - lu(k,2988) * b(k,303)
    3354   254840160 :          b(k,135) = b(k,135) - lu(k,2987) * b(k,303)
    3355   254840160 :          b(k,134) = b(k,134) - lu(k,2986) * b(k,303)
    3356   254840160 :          b(k,132) = b(k,132) - lu(k,2985) * b(k,303)
    3357   254840160 :          b(k,130) = b(k,130) - lu(k,2984) * b(k,303)
    3358   254840160 :          b(k,127) = b(k,127) - lu(k,2983) * b(k,303)
    3359   254840160 :          b(k,121) = b(k,121) - lu(k,2982) * b(k,303)
    3360   254840160 :          b(k,110) = b(k,110) - lu(k,2981) * b(k,303)
    3361   254840160 :          b(k,103) = b(k,103) - lu(k,2980) * b(k,303)
    3362   254840160 :          b(k,101) = b(k,101) - lu(k,2979) * b(k,303)
    3363   254840160 :          b(k,89) = b(k,89) - lu(k,2978) * b(k,303)
    3364   254840160 :          b(k,57) = b(k,57) - lu(k,2977) * b(k,303)
    3365   254840160 :          b(k,56) = b(k,56) - lu(k,2976) * b(k,303)
    3366   254840160 :          b(k,55) = b(k,55) - lu(k,2975) * b(k,303)
    3367   254840160 :          b(k,54) = b(k,54) - lu(k,2974) * b(k,303)
    3368   254840160 :          b(k,52) = b(k,52) - lu(k,2973) * b(k,303)
    3369   254840160 :          b(k,51) = b(k,51) - lu(k,2972) * b(k,303)
    3370   254840160 :          b(k,50) = b(k,50) - lu(k,2971) * b(k,303)
    3371   254840160 :          b(k,49) = b(k,49) - lu(k,2970) * b(k,303)
    3372   254840160 :          b(k,48) = b(k,48) - lu(k,2969) * b(k,303)
    3373   254840160 :          b(k,47) = b(k,47) - lu(k,2968) * b(k,303)
    3374   254840160 :          b(k,44) = b(k,44) - lu(k,2967) * b(k,303)
    3375   254840160 :          b(k,43) = b(k,43) - lu(k,2966) * b(k,303)
    3376   254840160 :          b(k,42) = b(k,42) - lu(k,2965) * b(k,303)
    3377   254840160 :          b(k,41) = b(k,41) - lu(k,2964) * b(k,303)
    3378   254840160 :          b(k,40) = b(k,40) - lu(k,2963) * b(k,303)
    3379   254840160 :          b(k,39) = b(k,39) - lu(k,2962) * b(k,303)
    3380   254840160 :          b(k,302) = b(k,302) * lu(k,2949)
    3381   254840160 :          b(k,301) = b(k,301) - lu(k,2948) * b(k,302)
    3382   254840160 :          b(k,279) = b(k,279) - lu(k,2947) * b(k,302)
    3383   254840160 :          b(k,251) = b(k,251) - lu(k,2946) * b(k,302)
    3384   254840160 :          b(k,217) = b(k,217) - lu(k,2945) * b(k,302)
    3385   254840160 :          b(k,107) = b(k,107) - lu(k,2944) * b(k,302)
    3386   254840160 :          b(k,301) = b(k,301) * lu(k,2931)
    3387   254840160 :          b(k,279) = b(k,279) - lu(k,2930) * b(k,301)
    3388   254840160 :          b(k,251) = b(k,251) - lu(k,2929) * b(k,301)
    3389   254840160 :          b(k,300) = b(k,300) * lu(k,2913)
    3390   254840160 :          b(k,299) = b(k,299) - lu(k,2912) * b(k,300)
    3391   254840160 :          b(k,298) = b(k,298) - lu(k,2911) * b(k,300)
    3392   254840160 :          b(k,297) = b(k,297) - lu(k,2910) * b(k,300)
    3393   254840160 :          b(k,296) = b(k,296) - lu(k,2909) * b(k,300)
    3394   254840160 :          b(k,295) = b(k,295) - lu(k,2908) * b(k,300)
    3395   254840160 :          b(k,294) = b(k,294) - lu(k,2907) * b(k,300)
    3396   254840160 :          b(k,293) = b(k,293) - lu(k,2906) * b(k,300)
    3397   254840160 :          b(k,292) = b(k,292) - lu(k,2905) * b(k,300)
    3398   254840160 :          b(k,291) = b(k,291) - lu(k,2904) * b(k,300)
    3399   254840160 :          b(k,290) = b(k,290) - lu(k,2903) * b(k,300)
    3400   254840160 :          b(k,289) = b(k,289) - lu(k,2902) * b(k,300)
    3401   254840160 :          b(k,288) = b(k,288) - lu(k,2901) * b(k,300)
    3402   254840160 :          b(k,287) = b(k,287) - lu(k,2900) * b(k,300)
    3403   254840160 :          b(k,286) = b(k,286) - lu(k,2899) * b(k,300)
    3404   254840160 :          b(k,285) = b(k,285) - lu(k,2898) * b(k,300)
    3405   254840160 :          b(k,284) = b(k,284) - lu(k,2897) * b(k,300)
    3406   254840160 :          b(k,283) = b(k,283) - lu(k,2896) * b(k,300)
    3407   254840160 :          b(k,282) = b(k,282) - lu(k,2895) * b(k,300)
    3408   254840160 :          b(k,281) = b(k,281) - lu(k,2894) * b(k,300)
    3409   254840160 :          b(k,280) = b(k,280) - lu(k,2893) * b(k,300)
    3410   254840160 :          b(k,279) = b(k,279) - lu(k,2892) * b(k,300)
    3411   254840160 :          b(k,278) = b(k,278) - lu(k,2891) * b(k,300)
    3412   254840160 :          b(k,277) = b(k,277) - lu(k,2890) * b(k,300)
    3413   254840160 :          b(k,275) = b(k,275) - lu(k,2889) * b(k,300)
    3414   254840160 :          b(k,274) = b(k,274) - lu(k,2888) * b(k,300)
    3415   254840160 :          b(k,273) = b(k,273) - lu(k,2887) * b(k,300)
    3416   254840160 :          b(k,272) = b(k,272) - lu(k,2886) * b(k,300)
    3417   254840160 :          b(k,271) = b(k,271) - lu(k,2885) * b(k,300)
    3418   254840160 :          b(k,270) = b(k,270) - lu(k,2884) * b(k,300)
    3419   254840160 :          b(k,269) = b(k,269) - lu(k,2883) * b(k,300)
    3420   254840160 :          b(k,268) = b(k,268) - lu(k,2882) * b(k,300)
    3421   254840160 :          b(k,267) = b(k,267) - lu(k,2881) * b(k,300)
    3422   254840160 :          b(k,266) = b(k,266) - lu(k,2880) * b(k,300)
    3423   254840160 :          b(k,265) = b(k,265) - lu(k,2879) * b(k,300)
    3424   254840160 :          b(k,264) = b(k,264) - lu(k,2878) * b(k,300)
    3425   254840160 :          b(k,263) = b(k,263) - lu(k,2877) * b(k,300)
    3426   254840160 :          b(k,262) = b(k,262) - lu(k,2876) * b(k,300)
    3427   254840160 :          b(k,261) = b(k,261) - lu(k,2875) * b(k,300)
    3428   254840160 :          b(k,259) = b(k,259) - lu(k,2874) * b(k,300)
    3429   254840160 :          b(k,258) = b(k,258) - lu(k,2873) * b(k,300)
    3430   254840160 :          b(k,257) = b(k,257) - lu(k,2872) * b(k,300)
    3431   254840160 :          b(k,256) = b(k,256) - lu(k,2871) * b(k,300)
    3432   254840160 :          b(k,255) = b(k,255) - lu(k,2870) * b(k,300)
    3433   254840160 :          b(k,254) = b(k,254) - lu(k,2869) * b(k,300)
    3434   254840160 :          b(k,253) = b(k,253) - lu(k,2868) * b(k,300)
    3435   254840160 :          b(k,252) = b(k,252) - lu(k,2867) * b(k,300)
    3436   254840160 :          b(k,248) = b(k,248) - lu(k,2866) * b(k,300)
    3437   254840160 :          b(k,247) = b(k,247) - lu(k,2865) * b(k,300)
    3438   254840160 :          b(k,244) = b(k,244) - lu(k,2864) * b(k,300)
    3439   254840160 :          b(k,243) = b(k,243) - lu(k,2863) * b(k,300)
    3440   254840160 :          b(k,242) = b(k,242) - lu(k,2862) * b(k,300)
    3441   254840160 :          b(k,240) = b(k,240) - lu(k,2861) * b(k,300)
    3442   254840160 :          b(k,239) = b(k,239) - lu(k,2860) * b(k,300)
    3443   254840160 :          b(k,233) = b(k,233) - lu(k,2859) * b(k,300)
    3444   254840160 :          b(k,203) = b(k,203) - lu(k,2858) * b(k,300)
    3445   254840160 :          b(k,173) = b(k,173) - lu(k,2857) * b(k,300)
    3446   254840160 :          b(k,163) = b(k,163) - lu(k,2856) * b(k,300)
    3447   263009123 :          b(k,147) = b(k,147) - lu(k,2855) * b(k,300)
    3448             :       end do
    3449     8168963 :       end subroutine lu_slv15
    3450     8168963 :       subroutine lu_slv16( avec_len, lu, b )
    3451             :       use shr_kind_mod, only : r8 => shr_kind_r8
    3452             :       use chem_mods, only : clscnt4, nzcnt
    3453             :       implicit none
    3454             : !-----------------------------------------------------------------------
    3455             : ! ... Dummy args
    3456             : !-----------------------------------------------------------------------
    3457             :       integer, intent(in) :: avec_len
    3458             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    3459             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    3460             : !-----------------------------------------------------------------------
    3461             : ! ... Local variables
    3462             : !-----------------------------------------------------------------------
    3463             :       integer :: k
    3464             : !-----------------------------------------------------------------------
    3465             : ! ... solve L * y = b
    3466             : !-----------------------------------------------------------------------
    3467   263009123 :       do k = 1,avec_len
    3468   254840160 :          b(k,299) = b(k,299) * lu(k,2840)
    3469   254840160 :          b(k,298) = b(k,298) - lu(k,2839) * b(k,299)
    3470   254840160 :          b(k,297) = b(k,297) - lu(k,2838) * b(k,299)
    3471   254840160 :          b(k,296) = b(k,296) - lu(k,2837) * b(k,299)
    3472   254840160 :          b(k,295) = b(k,295) - lu(k,2836) * b(k,299)
    3473   254840160 :          b(k,294) = b(k,294) - lu(k,2835) * b(k,299)
    3474   254840160 :          b(k,293) = b(k,293) - lu(k,2834) * b(k,299)
    3475   254840160 :          b(k,292) = b(k,292) - lu(k,2833) * b(k,299)
    3476   254840160 :          b(k,291) = b(k,291) - lu(k,2832) * b(k,299)
    3477   254840160 :          b(k,290) = b(k,290) - lu(k,2831) * b(k,299)
    3478   254840160 :          b(k,289) = b(k,289) - lu(k,2830) * b(k,299)
    3479   254840160 :          b(k,288) = b(k,288) - lu(k,2829) * b(k,299)
    3480   254840160 :          b(k,287) = b(k,287) - lu(k,2828) * b(k,299)
    3481   254840160 :          b(k,286) = b(k,286) - lu(k,2827) * b(k,299)
    3482   254840160 :          b(k,285) = b(k,285) - lu(k,2826) * b(k,299)
    3483   254840160 :          b(k,284) = b(k,284) - lu(k,2825) * b(k,299)
    3484   254840160 :          b(k,283) = b(k,283) - lu(k,2824) * b(k,299)
    3485   254840160 :          b(k,282) = b(k,282) - lu(k,2823) * b(k,299)
    3486   254840160 :          b(k,281) = b(k,281) - lu(k,2822) * b(k,299)
    3487   254840160 :          b(k,280) = b(k,280) - lu(k,2821) * b(k,299)
    3488   254840160 :          b(k,278) = b(k,278) - lu(k,2820) * b(k,299)
    3489   254840160 :          b(k,277) = b(k,277) - lu(k,2819) * b(k,299)
    3490   254840160 :          b(k,271) = b(k,271) - lu(k,2818) * b(k,299)
    3491   254840160 :          b(k,255) = b(k,255) - lu(k,2817) * b(k,299)
    3492   254840160 :          b(k,253) = b(k,253) - lu(k,2816) * b(k,299)
    3493   254840160 :          b(k,252) = b(k,252) - lu(k,2815) * b(k,299)
    3494   254840160 :          b(k,247) = b(k,247) - lu(k,2814) * b(k,299)
    3495   254840160 :          b(k,244) = b(k,244) - lu(k,2813) * b(k,299)
    3496   254840160 :          b(k,242) = b(k,242) - lu(k,2812) * b(k,299)
    3497   254840160 :          b(k,220) = b(k,220) - lu(k,2811) * b(k,299)
    3498   254840160 :          b(k,203) = b(k,203) - lu(k,2810) * b(k,299)
    3499   254840160 :          b(k,171) = b(k,171) - lu(k,2809) * b(k,299)
    3500   254840160 :          b(k,125) = b(k,125) - lu(k,2808) * b(k,299)
    3501   254840160 :          b(k,298) = b(k,298) * lu(k,2792)
    3502   254840160 :          b(k,297) = b(k,297) - lu(k,2791) * b(k,298)
    3503   254840160 :          b(k,296) = b(k,296) - lu(k,2790) * b(k,298)
    3504   254840160 :          b(k,295) = b(k,295) - lu(k,2789) * b(k,298)
    3505   254840160 :          b(k,294) = b(k,294) - lu(k,2788) * b(k,298)
    3506   254840160 :          b(k,293) = b(k,293) - lu(k,2787) * b(k,298)
    3507   254840160 :          b(k,292) = b(k,292) - lu(k,2786) * b(k,298)
    3508   254840160 :          b(k,291) = b(k,291) - lu(k,2785) * b(k,298)
    3509   254840160 :          b(k,290) = b(k,290) - lu(k,2784) * b(k,298)
    3510   254840160 :          b(k,289) = b(k,289) - lu(k,2783) * b(k,298)
    3511   254840160 :          b(k,288) = b(k,288) - lu(k,2782) * b(k,298)
    3512   254840160 :          b(k,287) = b(k,287) - lu(k,2781) * b(k,298)
    3513   254840160 :          b(k,286) = b(k,286) - lu(k,2780) * b(k,298)
    3514   254840160 :          b(k,285) = b(k,285) - lu(k,2779) * b(k,298)
    3515   254840160 :          b(k,284) = b(k,284) - lu(k,2778) * b(k,298)
    3516   254840160 :          b(k,283) = b(k,283) - lu(k,2777) * b(k,298)
    3517   254840160 :          b(k,282) = b(k,282) - lu(k,2776) * b(k,298)
    3518   254840160 :          b(k,281) = b(k,281) - lu(k,2775) * b(k,298)
    3519   254840160 :          b(k,280) = b(k,280) - lu(k,2774) * b(k,298)
    3520   254840160 :          b(k,278) = b(k,278) - lu(k,2773) * b(k,298)
    3521   254840160 :          b(k,277) = b(k,277) - lu(k,2772) * b(k,298)
    3522   254840160 :          b(k,271) = b(k,271) - lu(k,2771) * b(k,298)
    3523   254840160 :          b(k,255) = b(k,255) - lu(k,2770) * b(k,298)
    3524   254840160 :          b(k,253) = b(k,253) - lu(k,2769) * b(k,298)
    3525   254840160 :          b(k,252) = b(k,252) - lu(k,2768) * b(k,298)
    3526   254840160 :          b(k,247) = b(k,247) - lu(k,2767) * b(k,298)
    3527   254840160 :          b(k,244) = b(k,244) - lu(k,2766) * b(k,298)
    3528   254840160 :          b(k,242) = b(k,242) - lu(k,2765) * b(k,298)
    3529   254840160 :          b(k,203) = b(k,203) - lu(k,2764) * b(k,298)
    3530   254840160 :          b(k,158) = b(k,158) - lu(k,2763) * b(k,298)
    3531   254840160 :          b(k,116) = b(k,116) - lu(k,2762) * b(k,298)
    3532   254840160 :          b(k,297) = b(k,297) * lu(k,2745)
    3533   254840160 :          b(k,296) = b(k,296) - lu(k,2744) * b(k,297)
    3534   254840160 :          b(k,295) = b(k,295) - lu(k,2743) * b(k,297)
    3535   254840160 :          b(k,294) = b(k,294) - lu(k,2742) * b(k,297)
    3536   254840160 :          b(k,293) = b(k,293) - lu(k,2741) * b(k,297)
    3537   254840160 :          b(k,292) = b(k,292) - lu(k,2740) * b(k,297)
    3538   254840160 :          b(k,291) = b(k,291) - lu(k,2739) * b(k,297)
    3539   254840160 :          b(k,290) = b(k,290) - lu(k,2738) * b(k,297)
    3540   254840160 :          b(k,289) = b(k,289) - lu(k,2737) * b(k,297)
    3541   254840160 :          b(k,288) = b(k,288) - lu(k,2736) * b(k,297)
    3542   254840160 :          b(k,287) = b(k,287) - lu(k,2735) * b(k,297)
    3543   254840160 :          b(k,286) = b(k,286) - lu(k,2734) * b(k,297)
    3544   254840160 :          b(k,285) = b(k,285) - lu(k,2733) * b(k,297)
    3545   254840160 :          b(k,284) = b(k,284) - lu(k,2732) * b(k,297)
    3546   254840160 :          b(k,283) = b(k,283) - lu(k,2731) * b(k,297)
    3547   254840160 :          b(k,282) = b(k,282) - lu(k,2730) * b(k,297)
    3548   254840160 :          b(k,281) = b(k,281) - lu(k,2729) * b(k,297)
    3549   254840160 :          b(k,280) = b(k,280) - lu(k,2728) * b(k,297)
    3550   254840160 :          b(k,278) = b(k,278) - lu(k,2727) * b(k,297)
    3551   254840160 :          b(k,277) = b(k,277) - lu(k,2726) * b(k,297)
    3552   254840160 :          b(k,271) = b(k,271) - lu(k,2725) * b(k,297)
    3553   254840160 :          b(k,255) = b(k,255) - lu(k,2724) * b(k,297)
    3554   254840160 :          b(k,253) = b(k,253) - lu(k,2723) * b(k,297)
    3555   254840160 :          b(k,252) = b(k,252) - lu(k,2722) * b(k,297)
    3556   254840160 :          b(k,247) = b(k,247) - lu(k,2721) * b(k,297)
    3557   254840160 :          b(k,244) = b(k,244) - lu(k,2720) * b(k,297)
    3558   254840160 :          b(k,242) = b(k,242) - lu(k,2719) * b(k,297)
    3559   254840160 :          b(k,203) = b(k,203) - lu(k,2718) * b(k,297)
    3560   254840160 :          b(k,157) = b(k,157) - lu(k,2717) * b(k,297)
    3561   254840160 :          b(k,115) = b(k,115) - lu(k,2716) * b(k,297)
    3562   254840160 :          b(k,296) = b(k,296) * lu(k,2701)
    3563   254840160 :          b(k,295) = b(k,295) - lu(k,2700) * b(k,296)
    3564   254840160 :          b(k,294) = b(k,294) - lu(k,2699) * b(k,296)
    3565   254840160 :          b(k,284) = b(k,284) - lu(k,2698) * b(k,296)
    3566   254840160 :          b(k,280) = b(k,280) - lu(k,2697) * b(k,296)
    3567   254840160 :          b(k,278) = b(k,278) - lu(k,2696) * b(k,296)
    3568   254840160 :          b(k,271) = b(k,271) - lu(k,2695) * b(k,296)
    3569   254840160 :          b(k,247) = b(k,247) - lu(k,2694) * b(k,296)
    3570   254840160 :          b(k,242) = b(k,242) - lu(k,2693) * b(k,296)
    3571   254840160 :          b(k,161) = b(k,161) - lu(k,2692) * b(k,296)
    3572   254840160 :          b(k,295) = b(k,295) * lu(k,2677)
    3573   254840160 :          b(k,294) = b(k,294) - lu(k,2676) * b(k,295)
    3574   254840160 :          b(k,284) = b(k,284) - lu(k,2675) * b(k,295)
    3575   254840160 :          b(k,271) = b(k,271) - lu(k,2674) * b(k,295)
    3576   254840160 :          b(k,255) = b(k,255) - lu(k,2673) * b(k,295)
    3577   254840160 :          b(k,247) = b(k,247) - lu(k,2672) * b(k,295)
    3578   254840160 :          b(k,244) = b(k,244) - lu(k,2671) * b(k,295)
    3579   254840160 :          b(k,151) = b(k,151) - lu(k,2670) * b(k,295)
    3580   254840160 :          b(k,294) = b(k,294) * lu(k,2654)
    3581   254840160 :          b(k,284) = b(k,284) - lu(k,2653) * b(k,294)
    3582   254840160 :          b(k,271) = b(k,271) - lu(k,2652) * b(k,294)
    3583   254840160 :          b(k,247) = b(k,247) - lu(k,2651) * b(k,294)
    3584   254840160 :          b(k,244) = b(k,244) - lu(k,2650) * b(k,294)
    3585   254840160 :          b(k,238) = b(k,238) - lu(k,2649) * b(k,294)
    3586   254840160 :          b(k,220) = b(k,220) - lu(k,2648) * b(k,294)
    3587   254840160 :          b(k,161) = b(k,161) - lu(k,2647) * b(k,294)
    3588   254840160 :          b(k,293) = b(k,293) * lu(k,2629)
    3589   254840160 :          b(k,284) = b(k,284) - lu(k,2628) * b(k,293)
    3590   254840160 :          b(k,271) = b(k,271) - lu(k,2627) * b(k,293)
    3591   254840160 :          b(k,255) = b(k,255) - lu(k,2626) * b(k,293)
    3592   254840160 :          b(k,247) = b(k,247) - lu(k,2625) * b(k,293)
    3593   254840160 :          b(k,244) = b(k,244) - lu(k,2624) * b(k,293)
    3594   254840160 :          b(k,237) = b(k,237) - lu(k,2623) * b(k,293)
    3595   254840160 :          b(k,227) = b(k,227) - lu(k,2622) * b(k,293)
    3596   254840160 :          b(k,213) = b(k,213) - lu(k,2621) * b(k,293)
    3597   254840160 :          b(k,192) = b(k,192) - lu(k,2620) * b(k,293)
    3598   254840160 :          b(k,174) = b(k,174) - lu(k,2619) * b(k,293)
    3599   254840160 :          b(k,292) = b(k,292) * lu(k,2600)
    3600   254840160 :          b(k,284) = b(k,284) - lu(k,2599) * b(k,292)
    3601   254840160 :          b(k,282) = b(k,282) - lu(k,2598) * b(k,292)
    3602   254840160 :          b(k,271) = b(k,271) - lu(k,2597) * b(k,292)
    3603   254840160 :          b(k,253) = b(k,253) - lu(k,2596) * b(k,292)
    3604   254840160 :          b(k,252) = b(k,252) - lu(k,2595) * b(k,292)
    3605   254840160 :          b(k,247) = b(k,247) - lu(k,2594) * b(k,292)
    3606   254840160 :          b(k,237) = b(k,237) - lu(k,2593) * b(k,292)
    3607   254840160 :          b(k,227) = b(k,227) - lu(k,2592) * b(k,292)
    3608   254840160 :          b(k,213) = b(k,213) - lu(k,2591) * b(k,292)
    3609   254840160 :          b(k,191) = b(k,191) - lu(k,2590) * b(k,292)
    3610   254840160 :          b(k,291) = b(k,291) * lu(k,2570)
    3611   254840160 :          b(k,290) = b(k,290) - lu(k,2569) * b(k,291)
    3612   254840160 :          b(k,284) = b(k,284) - lu(k,2568) * b(k,291)
    3613   254840160 :          b(k,280) = b(k,280) - lu(k,2567) * b(k,291)
    3614   254840160 :          b(k,271) = b(k,271) - lu(k,2566) * b(k,291)
    3615   254840160 :          b(k,253) = b(k,253) - lu(k,2565) * b(k,291)
    3616   254840160 :          b(k,252) = b(k,252) - lu(k,2564) * b(k,291)
    3617   254840160 :          b(k,247) = b(k,247) - lu(k,2563) * b(k,291)
    3618   254840160 :          b(k,244) = b(k,244) - lu(k,2562) * b(k,291)
    3619   254840160 :          b(k,242) = b(k,242) - lu(k,2561) * b(k,291)
    3620   254840160 :          b(k,238) = b(k,238) - lu(k,2560) * b(k,291)
    3621   254840160 :          b(k,215) = b(k,215) - lu(k,2559) * b(k,291)
    3622   254840160 :          b(k,214) = b(k,214) - lu(k,2558) * b(k,291)
    3623   254840160 :          b(k,207) = b(k,207) - lu(k,2557) * b(k,291)
    3624   254840160 :          b(k,197) = b(k,197) - lu(k,2556) * b(k,291)
    3625   254840160 :          b(k,172) = b(k,172) - lu(k,2555) * b(k,291)
    3626   254840160 :          b(k,160) = b(k,160) - lu(k,2554) * b(k,291)
    3627   254840160 :          b(k,290) = b(k,290) * lu(k,2536)
    3628   254840160 :          b(k,284) = b(k,284) - lu(k,2535) * b(k,290)
    3629   254840160 :          b(k,271) = b(k,271) - lu(k,2534) * b(k,290)
    3630   254840160 :          b(k,255) = b(k,255) - lu(k,2533) * b(k,290)
    3631   254840160 :          b(k,247) = b(k,247) - lu(k,2532) * b(k,290)
    3632   254840160 :          b(k,244) = b(k,244) - lu(k,2531) * b(k,290)
    3633   254840160 :          b(k,242) = b(k,242) - lu(k,2530) * b(k,290)
    3634   254840160 :          b(k,238) = b(k,238) - lu(k,2529) * b(k,290)
    3635   254840160 :          b(k,215) = b(k,215) - lu(k,2528) * b(k,290)
    3636   254840160 :          b(k,207) = b(k,207) - lu(k,2527) * b(k,290)
    3637   254840160 :          b(k,203) = b(k,203) - lu(k,2526) * b(k,290)
    3638   254840160 :          b(k,194) = b(k,194) - lu(k,2525) * b(k,290)
    3639   254840160 :          b(k,289) = b(k,289) * lu(k,2505)
    3640   254840160 :          b(k,284) = b(k,284) - lu(k,2504) * b(k,289)
    3641   254840160 :          b(k,271) = b(k,271) - lu(k,2503) * b(k,289)
    3642   254840160 :          b(k,253) = b(k,253) - lu(k,2502) * b(k,289)
    3643   254840160 :          b(k,252) = b(k,252) - lu(k,2501) * b(k,289)
    3644   254840160 :          b(k,247) = b(k,247) - lu(k,2500) * b(k,289)
    3645   254840160 :          b(k,244) = b(k,244) - lu(k,2499) * b(k,289)
    3646   254840160 :          b(k,242) = b(k,242) - lu(k,2498) * b(k,289)
    3647   254840160 :          b(k,238) = b(k,238) - lu(k,2497) * b(k,289)
    3648   254840160 :          b(k,215) = b(k,215) - lu(k,2496) * b(k,289)
    3649   254840160 :          b(k,214) = b(k,214) - lu(k,2495) * b(k,289)
    3650   254840160 :          b(k,207) = b(k,207) - lu(k,2494) * b(k,289)
    3651   254840160 :          b(k,197) = b(k,197) - lu(k,2493) * b(k,289)
    3652   254840160 :          b(k,172) = b(k,172) - lu(k,2492) * b(k,289)
    3653   254840160 :          b(k,160) = b(k,160) - lu(k,2491) * b(k,289)
    3654   254840160 :          b(k,288) = b(k,288) * lu(k,2471)
    3655   254840160 :          b(k,284) = b(k,284) - lu(k,2470) * b(k,288)
    3656   254840160 :          b(k,282) = b(k,282) - lu(k,2469) * b(k,288)
    3657   254840160 :          b(k,280) = b(k,280) - lu(k,2468) * b(k,288)
    3658   254840160 :          b(k,271) = b(k,271) - lu(k,2467) * b(k,288)
    3659   254840160 :          b(k,253) = b(k,253) - lu(k,2466) * b(k,288)
    3660   254840160 :          b(k,252) = b(k,252) - lu(k,2465) * b(k,288)
    3661   254840160 :          b(k,247) = b(k,247) - lu(k,2464) * b(k,288)
    3662   254840160 :          b(k,244) = b(k,244) - lu(k,2463) * b(k,288)
    3663   254840160 :          b(k,238) = b(k,238) - lu(k,2462) * b(k,288)
    3664   254840160 :          b(k,196) = b(k,196) - lu(k,2461) * b(k,288)
    3665   254840160 :          b(k,133) = b(k,133) - lu(k,2460) * b(k,288)
    3666   254840160 :          b(k,287) = b(k,287) * lu(k,2441)
    3667   254840160 :          b(k,284) = b(k,284) - lu(k,2440) * b(k,287)
    3668   254840160 :          b(k,282) = b(k,282) - lu(k,2439) * b(k,287)
    3669   254840160 :          b(k,280) = b(k,280) - lu(k,2438) * b(k,287)
    3670   254840160 :          b(k,271) = b(k,271) - lu(k,2437) * b(k,287)
    3671   254840160 :          b(k,255) = b(k,255) - lu(k,2436) * b(k,287)
    3672   254840160 :          b(k,253) = b(k,253) - lu(k,2435) * b(k,287)
    3673   254840160 :          b(k,252) = b(k,252) - lu(k,2434) * b(k,287)
    3674   254840160 :          b(k,247) = b(k,247) - lu(k,2433) * b(k,287)
    3675   254840160 :          b(k,244) = b(k,244) - lu(k,2432) * b(k,287)
    3676   254840160 :          b(k,242) = b(k,242) - lu(k,2431) * b(k,287)
    3677   254840160 :          b(k,238) = b(k,238) - lu(k,2430) * b(k,287)
    3678   254840160 :          b(k,203) = b(k,203) - lu(k,2429) * b(k,287)
    3679   254840160 :          b(k,192) = b(k,192) - lu(k,2428) * b(k,287)
    3680   263009123 :          b(k,161) = b(k,161) - lu(k,2427) * b(k,287)
    3681             :       end do
    3682     8168963 :       end subroutine lu_slv16
    3683     8168963 :       subroutine lu_slv17( avec_len, lu, b )
    3684             :       use shr_kind_mod, only : r8 => shr_kind_r8
    3685             :       use chem_mods, only : clscnt4, nzcnt
    3686             :       implicit none
    3687             : !-----------------------------------------------------------------------
    3688             : ! ... Dummy args
    3689             : !-----------------------------------------------------------------------
    3690             :       integer, intent(in) :: avec_len
    3691             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    3692             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    3693             : !-----------------------------------------------------------------------
    3694             : ! ... Local variables
    3695             : !-----------------------------------------------------------------------
    3696             :       integer :: k
    3697             : !-----------------------------------------------------------------------
    3698             : ! ... solve L * y = b
    3699             : !-----------------------------------------------------------------------
    3700   263009123 :       do k = 1,avec_len
    3701   254840160 :          b(k,286) = b(k,286) * lu(k,2408)
    3702   254840160 :          b(k,284) = b(k,284) - lu(k,2407) * b(k,286)
    3703   254840160 :          b(k,282) = b(k,282) - lu(k,2406) * b(k,286)
    3704   254840160 :          b(k,271) = b(k,271) - lu(k,2405) * b(k,286)
    3705   254840160 :          b(k,247) = b(k,247) - lu(k,2404) * b(k,286)
    3706   254840160 :          b(k,244) = b(k,244) - lu(k,2403) * b(k,286)
    3707   254840160 :          b(k,238) = b(k,238) - lu(k,2402) * b(k,286)
    3708   254840160 :          b(k,196) = b(k,196) - lu(k,2401) * b(k,286)
    3709   254840160 :          b(k,133) = b(k,133) - lu(k,2400) * b(k,286)
    3710   254840160 :          b(k,44) = b(k,44) - lu(k,2399) * b(k,286)
    3711   254840160 :          b(k,285) = b(k,285) * lu(k,2380)
    3712   254840160 :          b(k,284) = b(k,284) - lu(k,2379) * b(k,285)
    3713   254840160 :          b(k,282) = b(k,282) - lu(k,2378) * b(k,285)
    3714   254840160 :          b(k,280) = b(k,280) - lu(k,2377) * b(k,285)
    3715   254840160 :          b(k,271) = b(k,271) - lu(k,2376) * b(k,285)
    3716   254840160 :          b(k,255) = b(k,255) - lu(k,2375) * b(k,285)
    3717   254840160 :          b(k,253) = b(k,253) - lu(k,2374) * b(k,285)
    3718   254840160 :          b(k,252) = b(k,252) - lu(k,2373) * b(k,285)
    3719   254840160 :          b(k,247) = b(k,247) - lu(k,2372) * b(k,285)
    3720   254840160 :          b(k,244) = b(k,244) - lu(k,2371) * b(k,285)
    3721   254840160 :          b(k,242) = b(k,242) - lu(k,2370) * b(k,285)
    3722   254840160 :          b(k,203) = b(k,203) - lu(k,2369) * b(k,285)
    3723   254840160 :          b(k,161) = b(k,161) - lu(k,2368) * b(k,285)
    3724   254840160 :          b(k,284) = b(k,284) * lu(k,2359)
    3725   254840160 :          b(k,271) = b(k,271) - lu(k,2358) * b(k,284)
    3726   254840160 :          b(k,283) = b(k,283) * lu(k,2339)
    3727   254840160 :          b(k,282) = b(k,282) - lu(k,2338) * b(k,283)
    3728   254840160 :          b(k,271) = b(k,271) - lu(k,2337) * b(k,283)
    3729   254840160 :          b(k,253) = b(k,253) - lu(k,2336) * b(k,283)
    3730   254840160 :          b(k,252) = b(k,252) - lu(k,2335) * b(k,283)
    3731   254840160 :          b(k,247) = b(k,247) - lu(k,2334) * b(k,283)
    3732   254840160 :          b(k,238) = b(k,238) - lu(k,2333) * b(k,283)
    3733   254840160 :          b(k,282) = b(k,282) * lu(k,2320)
    3734   254840160 :          b(k,271) = b(k,271) - lu(k,2319) * b(k,282)
    3735   254840160 :          b(k,255) = b(k,255) - lu(k,2318) * b(k,282)
    3736   254840160 :          b(k,244) = b(k,244) - lu(k,2317) * b(k,282)
    3737   254840160 :          b(k,192) = b(k,192) - lu(k,2316) * b(k,282)
    3738   254840160 :          b(k,190) = b(k,190) - lu(k,2315) * b(k,282)
    3739   254840160 :          b(k,281) = b(k,281) * lu(k,2296)
    3740   254840160 :          b(k,271) = b(k,271) - lu(k,2295) * b(k,281)
    3741   254840160 :          b(k,247) = b(k,247) - lu(k,2294) * b(k,281)
    3742   254840160 :          b(k,244) = b(k,244) - lu(k,2293) * b(k,281)
    3743   254840160 :          b(k,242) = b(k,242) - lu(k,2292) * b(k,281)
    3744   254840160 :          b(k,238) = b(k,238) - lu(k,2291) * b(k,281)
    3745   254840160 :          b(k,215) = b(k,215) - lu(k,2290) * b(k,281)
    3746   254840160 :          b(k,207) = b(k,207) - lu(k,2289) * b(k,281)
    3747   254840160 :          b(k,280) = b(k,280) * lu(k,2277)
    3748   254840160 :          b(k,271) = b(k,271) - lu(k,2276) * b(k,280)
    3749   254840160 :          b(k,266) = b(k,266) - lu(k,2275) * b(k,280)
    3750   254840160 :          b(k,258) = b(k,258) - lu(k,2274) * b(k,280)
    3751   254840160 :          b(k,238) = b(k,238) - lu(k,2273) * b(k,280)
    3752   254840160 :          b(k,224) = b(k,224) - lu(k,2272) * b(k,280)
    3753   254840160 :          b(k,279) = b(k,279) * lu(k,2259)
    3754   254840160 :          b(k,271) = b(k,271) - lu(k,2258) * b(k,279)
    3755   254840160 :          b(k,251) = b(k,251) - lu(k,2257) * b(k,279)
    3756   254840160 :          b(k,247) = b(k,247) - lu(k,2256) * b(k,279)
    3757   254840160 :          b(k,217) = b(k,217) - lu(k,2255) * b(k,279)
    3758   254840160 :          b(k,107) = b(k,107) - lu(k,2254) * b(k,279)
    3759   254840160 :          b(k,278) = b(k,278) * lu(k,2235)
    3760   254840160 :          b(k,271) = b(k,271) - lu(k,2234) * b(k,278)
    3761   254840160 :          b(k,255) = b(k,255) - lu(k,2233) * b(k,278)
    3762   254840160 :          b(k,247) = b(k,247) - lu(k,2232) * b(k,278)
    3763   254840160 :          b(k,242) = b(k,242) - lu(k,2231) * b(k,278)
    3764   254840160 :          b(k,151) = b(k,151) - lu(k,2230) * b(k,278)
    3765   254840160 :          b(k,277) = b(k,277) * lu(k,2213)
    3766   254840160 :          b(k,271) = b(k,271) - lu(k,2212) * b(k,277)
    3767   254840160 :          b(k,247) = b(k,247) - lu(k,2211) * b(k,277)
    3768   254840160 :          b(k,238) = b(k,238) - lu(k,2210) * b(k,277)
    3769   254840160 :          b(k,44) = b(k,44) - lu(k,2209) * b(k,277)
    3770   254840160 :          b(k,276) = b(k,276) * lu(k,2199)
    3771   254840160 :          b(k,271) = b(k,271) - lu(k,2198) * b(k,276)
    3772   254840160 :          b(k,208) = b(k,208) - lu(k,2197) * b(k,276)
    3773   254840160 :          b(k,275) = b(k,275) * lu(k,2180)
    3774   254840160 :          b(k,274) = b(k,274) - lu(k,2179) * b(k,275)
    3775   254840160 :          b(k,273) = b(k,273) - lu(k,2178) * b(k,275)
    3776   254840160 :          b(k,272) = b(k,272) - lu(k,2177) * b(k,275)
    3777   254840160 :          b(k,271) = b(k,271) - lu(k,2176) * b(k,275)
    3778   254840160 :          b(k,270) = b(k,270) - lu(k,2175) * b(k,275)
    3779   254840160 :          b(k,269) = b(k,269) - lu(k,2174) * b(k,275)
    3780   254840160 :          b(k,266) = b(k,266) - lu(k,2173) * b(k,275)
    3781   254840160 :          b(k,265) = b(k,265) - lu(k,2172) * b(k,275)
    3782   254840160 :          b(k,260) = b(k,260) - lu(k,2171) * b(k,275)
    3783   254840160 :          b(k,259) = b(k,259) - lu(k,2170) * b(k,275)
    3784   254840160 :          b(k,258) = b(k,258) - lu(k,2169) * b(k,275)
    3785   254840160 :          b(k,254) = b(k,254) - lu(k,2168) * b(k,275)
    3786   254840160 :          b(k,250) = b(k,250) - lu(k,2167) * b(k,275)
    3787   254840160 :          b(k,249) = b(k,249) - lu(k,2166) * b(k,275)
    3788   254840160 :          b(k,247) = b(k,247) - lu(k,2165) * b(k,275)
    3789   254840160 :          b(k,245) = b(k,245) - lu(k,2164) * b(k,275)
    3790   254840160 :          b(k,238) = b(k,238) - lu(k,2163) * b(k,275)
    3791   254840160 :          b(k,236) = b(k,236) - lu(k,2162) * b(k,275)
    3792   254840160 :          b(k,234) = b(k,234) - lu(k,2161) * b(k,275)
    3793   254840160 :          b(k,232) = b(k,232) - lu(k,2160) * b(k,275)
    3794   254840160 :          b(k,231) = b(k,231) - lu(k,2159) * b(k,275)
    3795   254840160 :          b(k,227) = b(k,227) - lu(k,2158) * b(k,275)
    3796   254840160 :          b(k,222) = b(k,222) - lu(k,2157) * b(k,275)
    3797   254840160 :          b(k,218) = b(k,218) - lu(k,2156) * b(k,275)
    3798   254840160 :          b(k,212) = b(k,212) - lu(k,2155) * b(k,275)
    3799   254840160 :          b(k,166) = b(k,166) - lu(k,2154) * b(k,275)
    3800   254840160 :          b(k,274) = b(k,274) * lu(k,2140)
    3801   254840160 :          b(k,271) = b(k,271) - lu(k,2139) * b(k,274)
    3802   254840160 :          b(k,266) = b(k,266) - lu(k,2138) * b(k,274)
    3803   254840160 :          b(k,265) = b(k,265) - lu(k,2137) * b(k,274)
    3804   254840160 :          b(k,263) = b(k,263) - lu(k,2136) * b(k,274)
    3805   254840160 :          b(k,260) = b(k,260) - lu(k,2135) * b(k,274)
    3806   254840160 :          b(k,259) = b(k,259) - lu(k,2134) * b(k,274)
    3807   254840160 :          b(k,258) = b(k,258) - lu(k,2133) * b(k,274)
    3808   254840160 :          b(k,254) = b(k,254) - lu(k,2132) * b(k,274)
    3809   254840160 :          b(k,249) = b(k,249) - lu(k,2131) * b(k,274)
    3810   254840160 :          b(k,247) = b(k,247) - lu(k,2130) * b(k,274)
    3811   254840160 :          b(k,237) = b(k,237) - lu(k,2129) * b(k,274)
    3812   254840160 :          b(k,236) = b(k,236) - lu(k,2128) * b(k,274)
    3813   254840160 :          b(k,235) = b(k,235) - lu(k,2127) * b(k,274)
    3814   254840160 :          b(k,232) = b(k,232) - lu(k,2126) * b(k,274)
    3815   254840160 :          b(k,185) = b(k,185) - lu(k,2125) * b(k,274)
    3816   254840160 :          b(k,273) = b(k,273) * lu(k,2110)
    3817   254840160 :          b(k,271) = b(k,271) - lu(k,2109) * b(k,273)
    3818   254840160 :          b(k,266) = b(k,266) - lu(k,2108) * b(k,273)
    3819   254840160 :          b(k,265) = b(k,265) - lu(k,2107) * b(k,273)
    3820   254840160 :          b(k,263) = b(k,263) - lu(k,2106) * b(k,273)
    3821   254840160 :          b(k,260) = b(k,260) - lu(k,2105) * b(k,273)
    3822   254840160 :          b(k,259) = b(k,259) - lu(k,2104) * b(k,273)
    3823   254840160 :          b(k,258) = b(k,258) - lu(k,2103) * b(k,273)
    3824   254840160 :          b(k,254) = b(k,254) - lu(k,2102) * b(k,273)
    3825   254840160 :          b(k,250) = b(k,250) - lu(k,2101) * b(k,273)
    3826   254840160 :          b(k,247) = b(k,247) - lu(k,2100) * b(k,273)
    3827   254840160 :          b(k,241) = b(k,241) - lu(k,2099) * b(k,273)
    3828   254840160 :          b(k,239) = b(k,239) - lu(k,2098) * b(k,273)
    3829   254840160 :          b(k,237) = b(k,237) - lu(k,2097) * b(k,273)
    3830   254840160 :          b(k,235) = b(k,235) - lu(k,2096) * b(k,273)
    3831   254840160 :          b(k,234) = b(k,234) - lu(k,2095) * b(k,273)
    3832   254840160 :          b(k,232) = b(k,232) - lu(k,2094) * b(k,273)
    3833   254840160 :          b(k,206) = b(k,206) - lu(k,2093) * b(k,273)
    3834   254840160 :          b(k,272) = b(k,272) * lu(k,2078)
    3835   254840160 :          b(k,271) = b(k,271) - lu(k,2077) * b(k,272)
    3836   254840160 :          b(k,266) = b(k,266) - lu(k,2076) * b(k,272)
    3837   254840160 :          b(k,265) = b(k,265) - lu(k,2075) * b(k,272)
    3838   254840160 :          b(k,263) = b(k,263) - lu(k,2074) * b(k,272)
    3839   254840160 :          b(k,260) = b(k,260) - lu(k,2073) * b(k,272)
    3840   254840160 :          b(k,259) = b(k,259) - lu(k,2072) * b(k,272)
    3841   254840160 :          b(k,258) = b(k,258) - lu(k,2071) * b(k,272)
    3842   254840160 :          b(k,254) = b(k,254) - lu(k,2070) * b(k,272)
    3843   254840160 :          b(k,250) = b(k,250) - lu(k,2069) * b(k,272)
    3844   254840160 :          b(k,247) = b(k,247) - lu(k,2068) * b(k,272)
    3845   254840160 :          b(k,241) = b(k,241) - lu(k,2067) * b(k,272)
    3846   254840160 :          b(k,237) = b(k,237) - lu(k,2066) * b(k,272)
    3847   254840160 :          b(k,236) = b(k,236) - lu(k,2065) * b(k,272)
    3848   254840160 :          b(k,235) = b(k,235) - lu(k,2064) * b(k,272)
    3849   254840160 :          b(k,234) = b(k,234) - lu(k,2063) * b(k,272)
    3850   254840160 :          b(k,233) = b(k,233) - lu(k,2062) * b(k,272)
    3851   254840160 :          b(k,205) = b(k,205) - lu(k,2061) * b(k,272)
    3852   254840160 :          b(k,271) = b(k,271) * lu(k,2057)
    3853   254840160 :          b(k,247) = b(k,247) - lu(k,2056) * b(k,271)
    3854   254840160 :          b(k,270) = b(k,270) * lu(k,2041)
    3855   254840160 :          b(k,266) = b(k,266) - lu(k,2040) * b(k,270)
    3856   254840160 :          b(k,265) = b(k,265) - lu(k,2039) * b(k,270)
    3857   254840160 :          b(k,258) = b(k,258) - lu(k,2038) * b(k,270)
    3858   254840160 :          b(k,254) = b(k,254) - lu(k,2037) * b(k,270)
    3859   254840160 :          b(k,247) = b(k,247) - lu(k,2036) * b(k,270)
    3860   254840160 :          b(k,240) = b(k,240) - lu(k,2035) * b(k,270)
    3861   254840160 :          b(k,236) = b(k,236) - lu(k,2034) * b(k,270)
    3862   254840160 :          b(k,230) = b(k,230) - lu(k,2033) * b(k,270)
    3863   254840160 :          b(k,228) = b(k,228) - lu(k,2032) * b(k,270)
    3864   254840160 :          b(k,227) = b(k,227) - lu(k,2031) * b(k,270)
    3865   254840160 :          b(k,269) = b(k,269) * lu(k,2016)
    3866   254840160 :          b(k,266) = b(k,266) - lu(k,2015) * b(k,269)
    3867   254840160 :          b(k,259) = b(k,259) - lu(k,2014) * b(k,269)
    3868   254840160 :          b(k,258) = b(k,258) - lu(k,2013) * b(k,269)
    3869   254840160 :          b(k,248) = b(k,248) - lu(k,2012) * b(k,269)
    3870   254840160 :          b(k,247) = b(k,247) - lu(k,2011) * b(k,269)
    3871   254840160 :          b(k,243) = b(k,243) - lu(k,2010) * b(k,269)
    3872   254840160 :          b(k,227) = b(k,227) - lu(k,2009) * b(k,269)
    3873   254840160 :          b(k,268) = b(k,268) * lu(k,1991)
    3874   254840160 :          b(k,267) = b(k,267) - lu(k,1990) * b(k,268)
    3875   254840160 :          b(k,266) = b(k,266) - lu(k,1989) * b(k,268)
    3876   254840160 :          b(k,265) = b(k,265) - lu(k,1988) * b(k,268)
    3877   254840160 :          b(k,264) = b(k,264) - lu(k,1987) * b(k,268)
    3878   254840160 :          b(k,263) = b(k,263) - lu(k,1986) * b(k,268)
    3879   254840160 :          b(k,261) = b(k,261) - lu(k,1985) * b(k,268)
    3880   254840160 :          b(k,260) = b(k,260) - lu(k,1984) * b(k,268)
    3881   254840160 :          b(k,259) = b(k,259) - lu(k,1983) * b(k,268)
    3882   254840160 :          b(k,258) = b(k,258) - lu(k,1982) * b(k,268)
    3883   254840160 :          b(k,257) = b(k,257) - lu(k,1981) * b(k,268)
    3884   254840160 :          b(k,254) = b(k,254) - lu(k,1980) * b(k,268)
    3885   254840160 :          b(k,250) = b(k,250) - lu(k,1979) * b(k,268)
    3886   254840160 :          b(k,247) = b(k,247) - lu(k,1978) * b(k,268)
    3887   254840160 :          b(k,241) = b(k,241) - lu(k,1977) * b(k,268)
    3888   254840160 :          b(k,238) = b(k,238) - lu(k,1976) * b(k,268)
    3889   254840160 :          b(k,234) = b(k,234) - lu(k,1975) * b(k,268)
    3890   254840160 :          b(k,200) = b(k,200) - lu(k,1974) * b(k,268)
    3891   254840160 :          b(k,186) = b(k,186) - lu(k,1973) * b(k,268)
    3892   254840160 :          b(k,150) = b(k,150) - lu(k,1972) * b(k,268)
    3893   254840160 :          b(k,97) = b(k,97) - lu(k,1971) * b(k,268)
    3894   254840160 :          b(k,96) = b(k,96) - lu(k,1970) * b(k,268)
    3895   254840160 :          b(k,267) = b(k,267) * lu(k,1953)
    3896   254840160 :          b(k,266) = b(k,266) - lu(k,1952) * b(k,267)
    3897   254840160 :          b(k,265) = b(k,265) - lu(k,1951) * b(k,267)
    3898   254840160 :          b(k,264) = b(k,264) - lu(k,1950) * b(k,267)
    3899   254840160 :          b(k,263) = b(k,263) - lu(k,1949) * b(k,267)
    3900   254840160 :          b(k,262) = b(k,262) - lu(k,1948) * b(k,267)
    3901   254840160 :          b(k,260) = b(k,260) - lu(k,1947) * b(k,267)
    3902   254840160 :          b(k,259) = b(k,259) - lu(k,1946) * b(k,267)
    3903   254840160 :          b(k,258) = b(k,258) - lu(k,1945) * b(k,267)
    3904   254840160 :          b(k,256) = b(k,256) - lu(k,1944) * b(k,267)
    3905   254840160 :          b(k,254) = b(k,254) - lu(k,1943) * b(k,267)
    3906   254840160 :          b(k,250) = b(k,250) - lu(k,1942) * b(k,267)
    3907   254840160 :          b(k,247) = b(k,247) - lu(k,1941) * b(k,267)
    3908   254840160 :          b(k,241) = b(k,241) - lu(k,1940) * b(k,267)
    3909   254840160 :          b(k,234) = b(k,234) - lu(k,1939) * b(k,267)
    3910   254840160 :          b(k,210) = b(k,210) - lu(k,1938) * b(k,267)
    3911   254840160 :          b(k,186) = b(k,186) - lu(k,1937) * b(k,267)
    3912   254840160 :          b(k,159) = b(k,159) - lu(k,1936) * b(k,267)
    3913   254840160 :          b(k,95) = b(k,95) - lu(k,1935) * b(k,267)
    3914   263009123 :          b(k,94) = b(k,94) - lu(k,1934) * b(k,267)
    3915             :       end do
    3916     8168963 :       end subroutine lu_slv17
    3917     8168963 :       subroutine lu_slv18( avec_len, lu, b )
    3918             :       use shr_kind_mod, only : r8 => shr_kind_r8
    3919             :       use chem_mods, only : clscnt4, nzcnt
    3920             :       implicit none
    3921             : !-----------------------------------------------------------------------
    3922             : ! ... Dummy args
    3923             : !-----------------------------------------------------------------------
    3924             :       integer, intent(in) :: avec_len
    3925             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    3926             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    3927             : !-----------------------------------------------------------------------
    3928             : ! ... Local variables
    3929             : !-----------------------------------------------------------------------
    3930             :       integer :: k
    3931             : !-----------------------------------------------------------------------
    3932             : ! ... solve L * y = b
    3933             : !-----------------------------------------------------------------------
    3934   263009123 :       do k = 1,avec_len
    3935   254840160 :          b(k,266) = b(k,266) * lu(k,1926)
    3936   254840160 :          b(k,265) = b(k,265) * lu(k,1916)
    3937   254840160 :          b(k,254) = b(k,254) - lu(k,1915) * b(k,265)
    3938   254840160 :          b(k,247) = b(k,247) - lu(k,1914) * b(k,265)
    3939   254840160 :          b(k,236) = b(k,236) - lu(k,1913) * b(k,265)
    3940   254840160 :          b(k,232) = b(k,232) - lu(k,1912) * b(k,265)
    3941   254840160 :          b(k,82) = b(k,82) - lu(k,1911) * b(k,265)
    3942   254840160 :          b(k,264) = b(k,264) * lu(k,1896)
    3943   254840160 :          b(k,263) = b(k,263) - lu(k,1895) * b(k,264)
    3944   254840160 :          b(k,260) = b(k,260) - lu(k,1894) * b(k,264)
    3945   254840160 :          b(k,258) = b(k,258) - lu(k,1893) * b(k,264)
    3946   254840160 :          b(k,254) = b(k,254) - lu(k,1892) * b(k,264)
    3947   254840160 :          b(k,247) = b(k,247) - lu(k,1891) * b(k,264)
    3948   254840160 :          b(k,241) = b(k,241) - lu(k,1890) * b(k,264)
    3949   254840160 :          b(k,239) = b(k,239) - lu(k,1889) * b(k,264)
    3950   254840160 :          b(k,235) = b(k,235) - lu(k,1888) * b(k,264)
    3951   254840160 :          b(k,233) = b(k,233) - lu(k,1887) * b(k,264)
    3952   254840160 :          b(k,185) = b(k,185) - lu(k,1886) * b(k,264)
    3953   254840160 :          b(k,170) = b(k,170) - lu(k,1885) * b(k,264)
    3954   254840160 :          b(k,140) = b(k,140) - lu(k,1884) * b(k,264)
    3955   254840160 :          b(k,136) = b(k,136) - lu(k,1883) * b(k,264)
    3956   254840160 :          b(k,263) = b(k,263) * lu(k,1872)
    3957   254840160 :          b(k,260) = b(k,260) - lu(k,1871) * b(k,263)
    3958   254840160 :          b(k,258) = b(k,258) - lu(k,1870) * b(k,263)
    3959   254840160 :          b(k,254) = b(k,254) - lu(k,1869) * b(k,263)
    3960   254840160 :          b(k,247) = b(k,247) - lu(k,1868) * b(k,263)
    3961   254840160 :          b(k,235) = b(k,235) - lu(k,1867) * b(k,263)
    3962   254840160 :          b(k,221) = b(k,221) - lu(k,1866) * b(k,263)
    3963   254840160 :          b(k,262) = b(k,262) * lu(k,1848)
    3964   254840160 :          b(k,258) = b(k,258) - lu(k,1847) * b(k,262)
    3965   254840160 :          b(k,254) = b(k,254) - lu(k,1846) * b(k,262)
    3966   254840160 :          b(k,247) = b(k,247) - lu(k,1845) * b(k,262)
    3967   254840160 :          b(k,240) = b(k,240) - lu(k,1844) * b(k,262)
    3968   254840160 :          b(k,239) = b(k,239) - lu(k,1843) * b(k,262)
    3969   254840160 :          b(k,238) = b(k,238) - lu(k,1842) * b(k,262)
    3970   254840160 :          b(k,227) = b(k,227) - lu(k,1841) * b(k,262)
    3971   254840160 :          b(k,187) = b(k,187) - lu(k,1840) * b(k,262)
    3972   254840160 :          b(k,186) = b(k,186) - lu(k,1839) * b(k,262)
    3973   254840160 :          b(k,185) = b(k,185) - lu(k,1838) * b(k,262)
    3974   254840160 :          b(k,155) = b(k,155) - lu(k,1837) * b(k,262)
    3975   254840160 :          b(k,153) = b(k,153) - lu(k,1836) * b(k,262)
    3976   254840160 :          b(k,136) = b(k,136) - lu(k,1835) * b(k,262)
    3977   254840160 :          b(k,94) = b(k,94) - lu(k,1834) * b(k,262)
    3978   254840160 :          b(k,261) = b(k,261) * lu(k,1817)
    3979   254840160 :          b(k,259) = b(k,259) - lu(k,1816) * b(k,261)
    3980   254840160 :          b(k,258) = b(k,258) - lu(k,1815) * b(k,261)
    3981   254840160 :          b(k,254) = b(k,254) - lu(k,1814) * b(k,261)
    3982   254840160 :          b(k,247) = b(k,247) - lu(k,1813) * b(k,261)
    3983   254840160 :          b(k,243) = b(k,243) - lu(k,1812) * b(k,261)
    3984   254840160 :          b(k,238) = b(k,238) - lu(k,1811) * b(k,261)
    3985   254840160 :          b(k,233) = b(k,233) - lu(k,1810) * b(k,261)
    3986   254840160 :          b(k,187) = b(k,187) - lu(k,1809) * b(k,261)
    3987   254840160 :          b(k,186) = b(k,186) - lu(k,1808) * b(k,261)
    3988   254840160 :          b(k,185) = b(k,185) - lu(k,1807) * b(k,261)
    3989   254840160 :          b(k,155) = b(k,155) - lu(k,1806) * b(k,261)
    3990   254840160 :          b(k,154) = b(k,154) - lu(k,1805) * b(k,261)
    3991   254840160 :          b(k,140) = b(k,140) - lu(k,1804) * b(k,261)
    3992   254840160 :          b(k,96) = b(k,96) - lu(k,1803) * b(k,261)
    3993   254840160 :          b(k,260) = b(k,260) * lu(k,1793)
    3994   254840160 :          b(k,259) = b(k,259) - lu(k,1792) * b(k,260)
    3995   254840160 :          b(k,258) = b(k,258) - lu(k,1791) * b(k,260)
    3996   254840160 :          b(k,254) = b(k,254) - lu(k,1790) * b(k,260)
    3997   254840160 :          b(k,247) = b(k,247) - lu(k,1789) * b(k,260)
    3998   254840160 :          b(k,239) = b(k,239) - lu(k,1788) * b(k,260)
    3999   254840160 :          b(k,235) = b(k,235) - lu(k,1787) * b(k,260)
    4000   254840160 :          b(k,233) = b(k,233) - lu(k,1786) * b(k,260)
    4001   254840160 :          b(k,259) = b(k,259) * lu(k,1778)
    4002   254840160 :          b(k,258) = b(k,258) - lu(k,1777) * b(k,259)
    4003   254840160 :          b(k,236) = b(k,236) - lu(k,1776) * b(k,259)
    4004   254840160 :          b(k,258) = b(k,258) * lu(k,1770)
    4005   254840160 :          b(k,257) = b(k,257) * lu(k,1754)
    4006   254840160 :          b(k,254) = b(k,254) - lu(k,1753) * b(k,257)
    4007   254840160 :          b(k,247) = b(k,247) - lu(k,1752) * b(k,257)
    4008   254840160 :          b(k,238) = b(k,238) - lu(k,1751) * b(k,257)
    4009   254840160 :          b(k,233) = b(k,233) - lu(k,1750) * b(k,257)
    4010   254840160 :          b(k,186) = b(k,186) - lu(k,1749) * b(k,257)
    4011   254840160 :          b(k,97) = b(k,97) - lu(k,1748) * b(k,257)
    4012   254840160 :          b(k,256) = b(k,256) * lu(k,1732)
    4013   254840160 :          b(k,254) = b(k,254) - lu(k,1731) * b(k,256)
    4014   254840160 :          b(k,247) = b(k,247) - lu(k,1730) * b(k,256)
    4015   254840160 :          b(k,239) = b(k,239) - lu(k,1729) * b(k,256)
    4016   254840160 :          b(k,238) = b(k,238) - lu(k,1728) * b(k,256)
    4017   254840160 :          b(k,186) = b(k,186) - lu(k,1727) * b(k,256)
    4018   254840160 :          b(k,95) = b(k,95) - lu(k,1726) * b(k,256)
    4019   254840160 :          b(k,255) = b(k,255) * lu(k,1718)
    4020   254840160 :          b(k,254) = b(k,254) * lu(k,1712)
    4021   254840160 :          b(k,247) = b(k,247) - lu(k,1711) * b(k,254)
    4022   254840160 :          b(k,235) = b(k,235) - lu(k,1710) * b(k,254)
    4023   254840160 :          b(k,253) = b(k,253) * lu(k,1702)
    4024   254840160 :          b(k,244) = b(k,244) - lu(k,1701) * b(k,253)
    4025   254840160 :          b(k,242) = b(k,242) - lu(k,1700) * b(k,253)
    4026   254840160 :          b(k,215) = b(k,215) - lu(k,1699) * b(k,253)
    4027   254840160 :          b(k,192) = b(k,192) - lu(k,1698) * b(k,253)
    4028   254840160 :          b(k,176) = b(k,176) - lu(k,1697) * b(k,253)
    4029   254840160 :          b(k,252) = b(k,252) * lu(k,1689)
    4030   254840160 :          b(k,244) = b(k,244) - lu(k,1688) * b(k,252)
    4031   254840160 :          b(k,215) = b(k,215) - lu(k,1687) * b(k,252)
    4032   254840160 :          b(k,192) = b(k,192) - lu(k,1686) * b(k,252)
    4033   254840160 :          b(k,175) = b(k,175) - lu(k,1685) * b(k,252)
    4034   254840160 :          b(k,251) = b(k,251) * lu(k,1673)
    4035   254840160 :          b(k,217) = b(k,217) - lu(k,1672) * b(k,251)
    4036   254840160 :          b(k,107) = b(k,107) - lu(k,1671) * b(k,251)
    4037   254840160 :          b(k,250) = b(k,250) * lu(k,1659)
    4038   254840160 :          b(k,247) = b(k,247) - lu(k,1658) * b(k,250)
    4039   254840160 :          b(k,235) = b(k,235) - lu(k,1657) * b(k,250)
    4040   254840160 :          b(k,204) = b(k,204) - lu(k,1656) * b(k,250)
    4041   254840160 :          b(k,249) = b(k,249) * lu(k,1640)
    4042   254840160 :          b(k,247) = b(k,247) - lu(k,1639) * b(k,249)
    4043   254840160 :          b(k,236) = b(k,236) - lu(k,1638) * b(k,249)
    4044   254840160 :          b(k,235) = b(k,235) - lu(k,1637) * b(k,249)
    4045   254840160 :          b(k,234) = b(k,234) - lu(k,1636) * b(k,249)
    4046   254840160 :          b(k,232) = b(k,232) - lu(k,1635) * b(k,249)
    4047   254840160 :          b(k,204) = b(k,204) - lu(k,1634) * b(k,249)
    4048   254840160 :          b(k,248) = b(k,248) * lu(k,1620)
    4049   254840160 :          b(k,247) = b(k,247) - lu(k,1619) * b(k,248)
    4050   254840160 :          b(k,173) = b(k,173) - lu(k,1618) * b(k,248)
    4051   254840160 :          b(k,163) = b(k,163) - lu(k,1617) * b(k,248)
    4052   254840160 :          b(k,141) = b(k,141) - lu(k,1616) * b(k,248)
    4053   254840160 :          b(k,247) = b(k,247) * lu(k,1613)
    4054   254840160 :          b(k,246) = b(k,246) * lu(k,1600)
    4055   254840160 :          b(k,216) = b(k,216) - lu(k,1599) * b(k,246)
    4056   254840160 :          b(k,143) = b(k,143) - lu(k,1598) * b(k,246)
    4057   254840160 :          b(k,111) = b(k,111) - lu(k,1597) * b(k,246)
    4058   254840160 :          b(k,245) = b(k,245) * lu(k,1572)
    4059   254840160 :          b(k,241) = b(k,241) - lu(k,1571) * b(k,245)
    4060   254840160 :          b(k,237) = b(k,237) - lu(k,1570) * b(k,245)
    4061   254840160 :          b(k,236) = b(k,236) - lu(k,1569) * b(k,245)
    4062   254840160 :          b(k,235) = b(k,235) - lu(k,1568) * b(k,245)
    4063   254840160 :          b(k,234) = b(k,234) - lu(k,1567) * b(k,245)
    4064   254840160 :          b(k,232) = b(k,232) - lu(k,1566) * b(k,245)
    4065   254840160 :          b(k,226) = b(k,226) - lu(k,1565) * b(k,245)
    4066   254840160 :          b(k,218) = b(k,218) - lu(k,1564) * b(k,245)
    4067   254840160 :          b(k,187) = b(k,187) - lu(k,1563) * b(k,245)
    4068   254840160 :          b(k,182) = b(k,182) - lu(k,1562) * b(k,245)
    4069   254840160 :          b(k,244) = b(k,244) * lu(k,1557)
    4070   254840160 :          b(k,243) = b(k,243) * lu(k,1543)
    4071   254840160 :          b(k,233) = b(k,233) - lu(k,1542) * b(k,243)
    4072   254840160 :          b(k,242) = b(k,242) * lu(k,1536)
    4073   254840160 :          b(k,241) = b(k,241) * lu(k,1524)
    4074   254840160 :          b(k,235) = b(k,235) - lu(k,1523) * b(k,241)
    4075   254840160 :          b(k,221) = b(k,221) - lu(k,1522) * b(k,241)
    4076   254840160 :          b(k,185) = b(k,185) - lu(k,1521) * b(k,241)
    4077   254840160 :          b(k,240) = b(k,240) * lu(k,1508)
    4078   254840160 :          b(k,239) = b(k,239) - lu(k,1507) * b(k,240)
    4079   254840160 :          b(k,238) = b(k,238) - lu(k,1506) * b(k,240)
    4080   254840160 :          b(k,239) = b(k,239) * lu(k,1498)
    4081   254840160 :          b(k,238) = b(k,238) * lu(k,1494)
    4082   254840160 :          b(k,237) = b(k,237) * lu(k,1487)
    4083   254840160 :          b(k,236) = b(k,236) * lu(k,1481)
    4084   254840160 :          b(k,235) = b(k,235) * lu(k,1476)
    4085   254840160 :          b(k,39) = b(k,39) - lu(k,1475) * b(k,235)
    4086   254840160 :          b(k,234) = b(k,234) * lu(k,1468)
    4087   254840160 :          b(k,233) = b(k,233) * lu(k,1461)
    4088   254840160 :          b(k,232) = b(k,232) * lu(k,1454)
    4089   254840160 :          b(k,231) = b(k,231) * lu(k,1440)
    4090   254840160 :          b(k,230) = b(k,230) * lu(k,1431)
    4091   254840160 :          b(k,229) = b(k,229) * lu(k,1410)
    4092   254840160 :          b(k,227) = b(k,227) - lu(k,1409) * b(k,229)
    4093   254840160 :          b(k,213) = b(k,213) - lu(k,1408) * b(k,229)
    4094   254840160 :          b(k,97) = b(k,97) - lu(k,1407) * b(k,229)
    4095   254840160 :          b(k,96) = b(k,96) - lu(k,1406) * b(k,229)
    4096   254840160 :          b(k,95) = b(k,95) - lu(k,1405) * b(k,229)
    4097   254840160 :          b(k,94) = b(k,94) - lu(k,1404) * b(k,229)
    4098   254840160 :          b(k,51) = b(k,51) - lu(k,1403) * b(k,229)
    4099   254840160 :          b(k,43) = b(k,43) - lu(k,1402) * b(k,229)
    4100   254840160 :          b(k,42) = b(k,42) - lu(k,1401) * b(k,229)
    4101   254840160 :          b(k,228) = b(k,228) * lu(k,1385)
    4102   254840160 :          b(k,227) = b(k,227) - lu(k,1384) * b(k,228)
    4103   254840160 :          b(k,189) = b(k,189) - lu(k,1383) * b(k,228)
    4104   254840160 :          b(k,173) = b(k,173) - lu(k,1382) * b(k,228)
    4105   254840160 :          b(k,227) = b(k,227) * lu(k,1377)
    4106   254840160 :          b(k,226) = b(k,226) * lu(k,1361)
    4107   254840160 :          b(k,187) = b(k,187) - lu(k,1360) * b(k,226)
    4108   254840160 :          b(k,182) = b(k,182) - lu(k,1359) * b(k,226)
    4109   254840160 :          b(k,225) = b(k,225) * lu(k,1350)
    4110   254840160 :          b(k,114) = b(k,114) - lu(k,1349) * b(k,225)
    4111   254840160 :          b(k,99) = b(k,99) - lu(k,1348) * b(k,225)
    4112   254840160 :          b(k,224) = b(k,224) * lu(k,1336)
    4113   254840160 :          b(k,122) = b(k,122) - lu(k,1335) * b(k,224)
    4114   254840160 :          b(k,223) = b(k,223) * lu(k,1325)
    4115   254840160 :          b(k,209) = b(k,209) - lu(k,1324) * b(k,223)
    4116   254840160 :          b(k,75) = b(k,75) - lu(k,1323) * b(k,223)
    4117   254840160 :          b(k,222) = b(k,222) * lu(k,1309)
    4118   254840160 :          b(k,221) = b(k,221) * lu(k,1298)
    4119   254840160 :          b(k,170) = b(k,170) - lu(k,1297) * b(k,221)
    4120   254840160 :          b(k,220) = b(k,220) * lu(k,1289)
    4121   254840160 :          b(k,219) = b(k,219) * lu(k,1272)
    4122   254840160 :          b(k,171) = b(k,171) - lu(k,1271) * b(k,219)
    4123   254840160 :          b(k,47) = b(k,47) - lu(k,1270) * b(k,219)
    4124   254840160 :          b(k,43) = b(k,43) - lu(k,1269) * b(k,219)
    4125   254840160 :          b(k,42) = b(k,42) - lu(k,1268) * b(k,219)
    4126   254840160 :          b(k,41) = b(k,41) - lu(k,1267) * b(k,219)
    4127   254840160 :          b(k,40) = b(k,40) - lu(k,1266) * b(k,219)
    4128   254840160 :          b(k,39) = b(k,39) - lu(k,1265) * b(k,219)
    4129   254840160 :          b(k,218) = b(k,218) * lu(k,1252)
    4130   254840160 :          b(k,185) = b(k,185) - lu(k,1251) * b(k,218)
    4131   254840160 :          b(k,217) = b(k,217) * lu(k,1242)
    4132   254840160 :          b(k,107) = b(k,107) - lu(k,1241) * b(k,217)
    4133   254840160 :          b(k,216) = b(k,216) * lu(k,1235)
    4134   254840160 :          b(k,98) = b(k,98) - lu(k,1234) * b(k,216)
    4135   263009123 :          b(k,215) = b(k,215) * lu(k,1228)
    4136             :       end do
    4137     8168963 :       end subroutine lu_slv18
    4138     8168963 :       subroutine lu_slv19( avec_len, lu, b )
    4139             :       use shr_kind_mod, only : r8 => shr_kind_r8
    4140             :       use chem_mods, only : clscnt4, nzcnt
    4141             :       implicit none
    4142             : !-----------------------------------------------------------------------
    4143             : ! ... Dummy args
    4144             : !-----------------------------------------------------------------------
    4145             :       integer, intent(in) :: avec_len
    4146             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    4147             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    4148             : !-----------------------------------------------------------------------
    4149             : ! ... Local variables
    4150             : !-----------------------------------------------------------------------
    4151             :       integer :: k
    4152             : !-----------------------------------------------------------------------
    4153             : ! ... solve L * y = b
    4154             : !-----------------------------------------------------------------------
    4155   263009123 :       do k = 1,avec_len
    4156   254840160 :          b(k,214) = b(k,214) * lu(k,1218)
    4157   254840160 :          b(k,194) = b(k,194) - lu(k,1217) * b(k,214)
    4158   254840160 :          b(k,192) = b(k,192) - lu(k,1216) * b(k,214)
    4159   254840160 :          b(k,213) = b(k,213) * lu(k,1210)
    4160   254840160 :          b(k,212) = b(k,212) * lu(k,1194)
    4161   254840160 :          b(k,185) = b(k,185) - lu(k,1193) * b(k,212)
    4162   254840160 :          b(k,138) = b(k,138) - lu(k,1192) * b(k,212)
    4163   254840160 :          b(k,211) = b(k,211) * lu(k,1182)
    4164   254840160 :          b(k,169) = b(k,169) - lu(k,1181) * b(k,211)
    4165   254840160 :          b(k,168) = b(k,168) - lu(k,1180) * b(k,211)
    4166   254840160 :          b(k,165) = b(k,165) - lu(k,1179) * b(k,211)
    4167   254840160 :          b(k,145) = b(k,145) - lu(k,1178) * b(k,211)
    4168   254840160 :          b(k,210) = b(k,210) * lu(k,1166)
    4169   254840160 :          b(k,209) = b(k,209) * lu(k,1159)
    4170   254840160 :          b(k,75) = b(k,75) - lu(k,1158) * b(k,209)
    4171   254840160 :          b(k,208) = b(k,208) * lu(k,1150)
    4172   254840160 :          b(k,207) = b(k,207) * lu(k,1143)
    4173   254840160 :          b(k,206) = b(k,206) * lu(k,1132)
    4174   254840160 :          b(k,205) = b(k,205) * lu(k,1121)
    4175   254840160 :          b(k,204) = b(k,204) * lu(k,1110)
    4176   254840160 :          b(k,203) = b(k,203) * lu(k,1106)
    4177   254840160 :          b(k,202) = b(k,202) * lu(k,1092)
    4178   254840160 :          b(k,81) = b(k,81) - lu(k,1091) * b(k,202)
    4179   254840160 :          b(k,50) = b(k,50) - lu(k,1090) * b(k,202)
    4180   254840160 :          b(k,43) = b(k,43) - lu(k,1089) * b(k,202)
    4181   254840160 :          b(k,42) = b(k,42) - lu(k,1088) * b(k,202)
    4182   254840160 :          b(k,41) = b(k,41) - lu(k,1087) * b(k,202)
    4183   254840160 :          b(k,40) = b(k,40) - lu(k,1086) * b(k,202)
    4184   254840160 :          b(k,39) = b(k,39) - lu(k,1085) * b(k,202)
    4185   254840160 :          b(k,201) = b(k,201) * lu(k,1071)
    4186   254840160 :          b(k,171) = b(k,171) - lu(k,1070) * b(k,201)
    4187   254840160 :          b(k,54) = b(k,54) - lu(k,1069) * b(k,201)
    4188   254840160 :          b(k,43) = b(k,43) - lu(k,1068) * b(k,201)
    4189   254840160 :          b(k,42) = b(k,42) - lu(k,1067) * b(k,201)
    4190   254840160 :          b(k,41) = b(k,41) - lu(k,1066) * b(k,201)
    4191   254840160 :          b(k,40) = b(k,40) - lu(k,1065) * b(k,201)
    4192   254840160 :          b(k,39) = b(k,39) - lu(k,1064) * b(k,201)
    4193   254840160 :          b(k,200) = b(k,200) * lu(k,1054)
    4194   254840160 :          b(k,199) = b(k,199) * lu(k,1041)
    4195   254840160 :          b(k,171) = b(k,171) - lu(k,1040) * b(k,199)
    4196   254840160 :          b(k,48) = b(k,48) - lu(k,1039) * b(k,199)
    4197   254840160 :          b(k,43) = b(k,43) - lu(k,1038) * b(k,199)
    4198   254840160 :          b(k,42) = b(k,42) - lu(k,1037) * b(k,199)
    4199   254840160 :          b(k,41) = b(k,41) - lu(k,1036) * b(k,199)
    4200   254840160 :          b(k,40) = b(k,40) - lu(k,1035) * b(k,199)
    4201   254840160 :          b(k,39) = b(k,39) - lu(k,1034) * b(k,199)
    4202   254840160 :          b(k,198) = b(k,198) * lu(k,1024)
    4203   254840160 :          b(k,123) = b(k,123) - lu(k,1023) * b(k,198)
    4204   254840160 :          b(k,197) = b(k,197) * lu(k,1015)
    4205   254840160 :          b(k,192) = b(k,192) - lu(k,1014) * b(k,197)
    4206   254840160 :          b(k,196) = b(k,196) * lu(k,1006)
    4207   254840160 :          b(k,192) = b(k,192) - lu(k,1005) * b(k,196)
    4208   254840160 :          b(k,161) = b(k,161) - lu(k,1004) * b(k,196)
    4209   254840160 :          b(k,117) = b(k,117) - lu(k,1003) * b(k,196)
    4210   254840160 :          b(k,195) = b(k,195) * lu(k,995)
    4211   254840160 :          b(k,88) = b(k,88) - lu(k,994) * b(k,195)
    4212   254840160 :          b(k,194) = b(k,194) * lu(k,986)
    4213   254840160 :          b(k,193) = b(k,193) * lu(k,974)
    4214   254840160 :          b(k,82) = b(k,82) - lu(k,973) * b(k,193)
    4215   254840160 :          b(k,192) = b(k,192) * lu(k,969)
    4216   254840160 :          b(k,191) = b(k,191) * lu(k,960)
    4217   254840160 :          b(k,190) = b(k,190) * lu(k,951)
    4218   254840160 :          b(k,161) = b(k,161) - lu(k,950) * b(k,190)
    4219   254840160 :          b(k,151) = b(k,151) - lu(k,949) * b(k,190)
    4220   254840160 :          b(k,117) = b(k,117) - lu(k,948) * b(k,190)
    4221   254840160 :          b(k,189) = b(k,189) * lu(k,939)
    4222   254840160 :          b(k,148) = b(k,148) - lu(k,938) * b(k,189)
    4223   254840160 :          b(k,188) = b(k,188) * lu(k,929)
    4224   254840160 :          b(k,187) = b(k,187) * lu(k,924)
    4225   254840160 :          b(k,186) = b(k,186) * lu(k,919)
    4226   254840160 :          b(k,185) = b(k,185) * lu(k,914)
    4227   254840160 :          b(k,184) = b(k,184) * lu(k,906)
    4228   254840160 :          b(k,183) = b(k,183) * lu(k,895)
    4229   254840160 :          b(k,180) = b(k,180) - lu(k,894) * b(k,183)
    4230   254840160 :          b(k,178) = b(k,178) - lu(k,893) * b(k,183)
    4231   254840160 :          b(k,132) = b(k,132) - lu(k,892) * b(k,183)
    4232   254840160 :          b(k,121) = b(k,121) - lu(k,891) * b(k,183)
    4233   254840160 :          b(k,110) = b(k,110) - lu(k,890) * b(k,183)
    4234   254840160 :          b(k,103) = b(k,103) - lu(k,889) * b(k,183)
    4235   254840160 :          b(k,182) = b(k,182) * lu(k,883)
    4236   254840160 :          b(k,181) = b(k,181) * lu(k,873)
    4237   254840160 :          b(k,180) = b(k,180) - lu(k,872) * b(k,181)
    4238   254840160 :          b(k,167) = b(k,167) - lu(k,871) * b(k,181)
    4239   254840160 :          b(k,132) = b(k,132) - lu(k,870) * b(k,181)
    4240   254840160 :          b(k,121) = b(k,121) - lu(k,869) * b(k,181)
    4241   254840160 :          b(k,103) = b(k,103) - lu(k,868) * b(k,181)
    4242   254840160 :          b(k,180) = b(k,180) * lu(k,862)
    4243   254840160 :          b(k,179) = b(k,179) * lu(k,855)
    4244   254840160 :          b(k,101) = b(k,101) - lu(k,854) * b(k,179)
    4245   254840160 :          b(k,68) = b(k,68) - lu(k,853) * b(k,179)
    4246   254840160 :          b(k,178) = b(k,178) * lu(k,842)
    4247   254840160 :          b(k,132) = b(k,132) - lu(k,841) * b(k,178)
    4248   254840160 :          b(k,121) = b(k,121) - lu(k,840) * b(k,178)
    4249   254840160 :          b(k,110) = b(k,110) - lu(k,839) * b(k,178)
    4250   254840160 :          b(k,103) = b(k,103) - lu(k,838) * b(k,178)
    4251   254840160 :          b(k,177) = b(k,177) * lu(k,827)
    4252   254840160 :          b(k,55) = b(k,55) - lu(k,826) * b(k,177)
    4253   254840160 :          b(k,43) = b(k,43) - lu(k,825) * b(k,177)
    4254   254840160 :          b(k,42) = b(k,42) - lu(k,824) * b(k,177)
    4255   254840160 :          b(k,41) = b(k,41) - lu(k,823) * b(k,177)
    4256   254840160 :          b(k,40) = b(k,40) - lu(k,822) * b(k,177)
    4257   254840160 :          b(k,39) = b(k,39) - lu(k,821) * b(k,177)
    4258   254840160 :          b(k,176) = b(k,176) * lu(k,813)
    4259   254840160 :          b(k,175) = b(k,175) * lu(k,805)
    4260   254840160 :          b(k,174) = b(k,174) * lu(k,797)
    4261   254840160 :          b(k,151) = b(k,151) - lu(k,796) * b(k,174)
    4262   254840160 :          b(k,173) = b(k,173) * lu(k,791)
    4263   254840160 :          b(k,172) = b(k,172) * lu(k,783)
    4264   254840160 :          b(k,171) = b(k,171) * lu(k,778)
    4265   254840160 :          b(k,170) = b(k,170) * lu(k,770)
    4266   254840160 :          b(k,169) = b(k,169) * lu(k,763)
    4267   254840160 :          b(k,109) = b(k,109) - lu(k,762) * b(k,169)
    4268   254840160 :          b(k,168) = b(k,168) * lu(k,752)
    4269   254840160 :          b(k,145) = b(k,145) - lu(k,751) * b(k,168)
    4270   254840160 :          b(k,167) = b(k,167) * lu(k,741)
    4271   254840160 :          b(k,132) = b(k,132) - lu(k,740) * b(k,167)
    4272   254840160 :          b(k,121) = b(k,121) - lu(k,739) * b(k,167)
    4273   254840160 :          b(k,103) = b(k,103) - lu(k,738) * b(k,167)
    4274   254840160 :          b(k,166) = b(k,166) * lu(k,728)
    4275   254840160 :          b(k,165) = b(k,165) * lu(k,718)
    4276   254840160 :          b(k,145) = b(k,145) - lu(k,717) * b(k,165)
    4277   254840160 :          b(k,164) = b(k,164) * lu(k,711)
    4278   254840160 :          b(k,135) = b(k,135) - lu(k,710) * b(k,164)
    4279   254840160 :          b(k,100) = b(k,100) - lu(k,709) * b(k,164)
    4280   254840160 :          b(k,163) = b(k,163) * lu(k,702)
    4281   254840160 :          b(k,162) = b(k,162) * lu(k,693)
    4282   254840160 :          b(k,161) = b(k,161) * lu(k,689)
    4283   254840160 :          b(k,160) = b(k,160) * lu(k,682)
    4284   254840160 :          b(k,159) = b(k,159) * lu(k,673)
    4285   254840160 :          b(k,158) = b(k,158) * lu(k,664)
    4286   254840160 :          b(k,157) = b(k,157) * lu(k,655)
    4287   254840160 :          b(k,156) = b(k,156) * lu(k,646)
    4288   254840160 :          b(k,155) = b(k,155) * lu(k,639)
    4289   254840160 :          b(k,154) = b(k,154) * lu(k,626)
    4290   254840160 :          b(k,153) = b(k,153) * lu(k,613)
    4291   254840160 :          b(k,152) = b(k,152) * lu(k,605)
    4292   254840160 :          b(k,151) = b(k,151) * lu(k,601)
    4293   254840160 :          b(k,150) = b(k,150) * lu(k,593)
    4294   254840160 :          b(k,149) = b(k,149) * lu(k,585)
    4295   254840160 :          b(k,148) = b(k,148) * lu(k,577)
    4296   254840160 :          b(k,147) = b(k,147) * lu(k,569)
    4297   254840160 :          b(k,146) = b(k,146) * lu(k,561)
    4298   254840160 :          b(k,145) = b(k,145) * lu(k,556)
    4299   254840160 :          b(k,144) = b(k,144) * lu(k,550)
    4300   254840160 :          b(k,70) = b(k,70) - lu(k,549) * b(k,144)
    4301   254840160 :          b(k,143) = b(k,143) * lu(k,543)
    4302   254840160 :          b(k,142) = b(k,142) * lu(k,536)
    4303   254840160 :          b(k,126) = b(k,126) - lu(k,535) * b(k,142)
    4304   254840160 :          b(k,141) = b(k,141) * lu(k,528)
    4305   254840160 :          b(k,140) = b(k,140) * lu(k,521)
    4306   254840160 :          b(k,139) = b(k,139) * lu(k,514)
    4307   254840160 :          b(k,132) = b(k,132) - lu(k,513) * b(k,139)
    4308   254840160 :          b(k,124) = b(k,124) - lu(k,512) * b(k,139)
    4309   254840160 :          b(k,138) = b(k,138) * lu(k,502)
    4310   254840160 :          b(k,137) = b(k,137) * lu(k,495)
    4311   254840160 :          b(k,136) = b(k,136) * lu(k,488)
    4312   254840160 :          b(k,135) = b(k,135) * lu(k,484)
    4313   254840160 :          b(k,134) = b(k,134) * lu(k,477)
    4314   254840160 :          b(k,80) = b(k,80) - lu(k,476) * b(k,134)
    4315   254840160 :          b(k,133) = b(k,133) * lu(k,471)
    4316   254840160 :          b(k,132) = b(k,132) * lu(k,468)
    4317   254840160 :          b(k,131) = b(k,131) * lu(k,462)
    4318   254840160 :          b(k,130) = b(k,130) * lu(k,456)
    4319   254840160 :          b(k,112) = b(k,112) - lu(k,455) * b(k,130)
    4320   254840160 :          b(k,129) = b(k,129) * lu(k,449)
    4321   254840160 :          b(k,128) = b(k,128) * lu(k,443)
    4322   254840160 :          b(k,127) = b(k,127) * lu(k,437)
    4323   254840160 :          b(k,113) = b(k,113) - lu(k,436) * b(k,127)
    4324   254840160 :          b(k,89) = b(k,89) - lu(k,435) * b(k,127)
    4325   254840160 :          b(k,126) = b(k,126) * lu(k,429)
    4326   254840160 :          b(k,125) = b(k,125) * lu(k,423)
    4327   254840160 :          b(k,124) = b(k,124) * lu(k,417)
    4328   254840160 :          b(k,123) = b(k,123) * lu(k,411)
    4329   254840160 :          b(k,122) = b(k,122) * lu(k,405)
    4330   254840160 :          b(k,121) = b(k,121) * lu(k,401)
    4331   254840160 :          b(k,120) = b(k,120) * lu(k,393)
    4332   254840160 :          b(k,119) = b(k,119) * lu(k,385)
    4333   254840160 :          b(k,118) = b(k,118) * lu(k,377)
    4334   254840160 :          b(k,117) = b(k,117) * lu(k,373)
    4335   254840160 :          b(k,116) = b(k,116) * lu(k,368)
    4336   254840160 :          b(k,115) = b(k,115) * lu(k,363)
    4337   254840160 :          b(k,114) = b(k,114) * lu(k,358)
    4338   254840160 :          b(k,113) = b(k,113) * lu(k,353)
    4339   254840160 :          b(k,89) = b(k,89) - lu(k,352) * b(k,113)
    4340   254840160 :          b(k,112) = b(k,112) * lu(k,347)
    4341   254840160 :          b(k,111) = b(k,111) * lu(k,342)
    4342   254840160 :          b(k,110) = b(k,110) * lu(k,337)
    4343   254840160 :          b(k,109) = b(k,109) * lu(k,332)
    4344   254840160 :          b(k,108) = b(k,108) * lu(k,326)
    4345   254840160 :          b(k,90) = b(k,90) - lu(k,325) * b(k,108)
    4346   254840160 :          b(k,107) = b(k,107) * lu(k,322)
    4347   254840160 :          b(k,106) = b(k,106) * lu(k,316)
    4348   254840160 :          b(k,105) = b(k,105) * lu(k,310)
    4349   254840160 :          b(k,104) = b(k,104) * lu(k,304)
    4350   254840160 :          b(k,103) = b(k,103) * lu(k,301)
    4351   254840160 :          b(k,102) = b(k,102) * lu(k,295)
    4352   254840160 :          b(k,101) = b(k,101) * lu(k,291)
    4353   254840160 :          b(k,100) = b(k,100) * lu(k,287)
    4354   254840160 :          b(k,99) = b(k,99) * lu(k,283)
    4355   254840160 :          b(k,98) = b(k,98) * lu(k,279)
    4356   263009123 :          b(k,69) = b(k,69) - lu(k,278) * b(k,98)
    4357             :       end do
    4358     8168963 :       end subroutine lu_slv19
    4359     8168963 :       subroutine lu_slv20( avec_len, lu, b )
    4360             :       use shr_kind_mod, only : r8 => shr_kind_r8
    4361             :       use chem_mods, only : clscnt4, nzcnt
    4362             :       implicit none
    4363             : !-----------------------------------------------------------------------
    4364             : ! ... Dummy args
    4365             : !-----------------------------------------------------------------------
    4366             :       integer, intent(in) :: avec_len
    4367             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    4368             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    4369             : !-----------------------------------------------------------------------
    4370             : ! ... Local variables
    4371             : !-----------------------------------------------------------------------
    4372             :       integer :: k
    4373             : !-----------------------------------------------------------------------
    4374             : ! ... solve L * y = b
    4375             : !-----------------------------------------------------------------------
    4376   263009123 :       do k = 1,avec_len
    4377   254840160 :          b(k,97) = b(k,97) * lu(k,275)
    4378   254840160 :          b(k,96) = b(k,96) * lu(k,272)
    4379   254840160 :          b(k,95) = b(k,95) * lu(k,269)
    4380   254840160 :          b(k,94) = b(k,94) * lu(k,266)
    4381   254840160 :          b(k,93) = b(k,93) * lu(k,261)
    4382   254840160 :          b(k,90) = b(k,90) - lu(k,260) * b(k,93)
    4383   254840160 :          b(k,92) = b(k,92) * lu(k,256)
    4384   254840160 :          b(k,91) = b(k,91) * lu(k,251)
    4385   254840160 :          b(k,90) = b(k,90) * lu(k,248)
    4386   254840160 :          b(k,89) = b(k,89) * lu(k,245)
    4387   254840160 :          b(k,88) = b(k,88) * lu(k,242)
    4388   254840160 :          b(k,87) = b(k,87) * lu(k,237)
    4389   254840160 :          b(k,86) = b(k,86) * lu(k,229)
    4390   254840160 :          b(k,85) = b(k,85) - lu(k,228) * b(k,86)
    4391   254840160 :          b(k,57) = b(k,57) - lu(k,227) * b(k,86)
    4392   254840160 :          b(k,85) = b(k,85) * lu(k,223)
    4393   254840160 :          b(k,84) = b(k,84) * lu(k,218)
    4394   254840160 :          b(k,83) = b(k,83) * lu(k,211)
    4395   254840160 :          b(k,56) = b(k,56) - lu(k,210) * b(k,83)
    4396   254840160 :          b(k,82) = b(k,82) * lu(k,207)
    4397   254840160 :          b(k,81) = b(k,81) * lu(k,204)
    4398   254840160 :          b(k,80) = b(k,80) * lu(k,201)
    4399   254840160 :          b(k,79) = b(k,79) * lu(k,197)
    4400   254840160 :          b(k,78) = b(k,78) * lu(k,192)
    4401   254840160 :          b(k,77) = b(k,77) * lu(k,188)
    4402   254840160 :          b(k,76) = b(k,76) * lu(k,182)
    4403   254840160 :          b(k,49) = b(k,49) - lu(k,181) * b(k,76)
    4404   254840160 :          b(k,75) = b(k,75) * lu(k,179)
    4405   254840160 :          b(k,74) = b(k,74) * lu(k,174)
    4406   254840160 :          b(k,73) = b(k,73) * lu(k,169)
    4407   254840160 :          b(k,72) = b(k,72) * lu(k,164)
    4408   254840160 :          b(k,71) = b(k,71) * lu(k,159)
    4409   254840160 :          b(k,70) = b(k,70) * lu(k,156)
    4410   254840160 :          b(k,69) = b(k,69) * lu(k,153)
    4411   254840160 :          b(k,68) = b(k,68) * lu(k,150)
    4412   254840160 :          b(k,67) = b(k,67) * lu(k,146)
    4413   254840160 :          b(k,66) = b(k,66) * lu(k,142)
    4414   254840160 :          b(k,65) = b(k,65) * lu(k,138)
    4415   254840160 :          b(k,64) = b(k,64) * lu(k,134)
    4416   254840160 :          b(k,63) = b(k,63) * lu(k,130)
    4417   254840160 :          b(k,62) = b(k,62) * lu(k,126)
    4418   254840160 :          b(k,61) = b(k,61) * lu(k,123)
    4419   254840160 :          b(k,60) = b(k,60) * lu(k,120)
    4420   254840160 :          b(k,59) = b(k,59) * lu(k,117)
    4421   254840160 :          b(k,58) = b(k,58) * lu(k,114)
    4422   254840160 :          b(k,57) = b(k,57) * lu(k,113)
    4423   254840160 :          b(k,43) = b(k,43) - lu(k,112) * b(k,57)
    4424   254840160 :          b(k,42) = b(k,42) - lu(k,111) * b(k,57)
    4425   254840160 :          b(k,41) = b(k,41) - lu(k,110) * b(k,57)
    4426   254840160 :          b(k,40) = b(k,40) - lu(k,109) * b(k,57)
    4427   254840160 :          b(k,39) = b(k,39) - lu(k,108) * b(k,57)
    4428   254840160 :          b(k,56) = b(k,56) * lu(k,107)
    4429   254840160 :          b(k,43) = b(k,43) - lu(k,106) * b(k,56)
    4430   254840160 :          b(k,42) = b(k,42) - lu(k,105) * b(k,56)
    4431   254840160 :          b(k,41) = b(k,41) - lu(k,104) * b(k,56)
    4432   254840160 :          b(k,40) = b(k,40) - lu(k,103) * b(k,56)
    4433   254840160 :          b(k,39) = b(k,39) - lu(k,102) * b(k,56)
    4434   254840160 :          b(k,55) = b(k,55) * lu(k,101)
    4435   254840160 :          b(k,43) = b(k,43) - lu(k,100) * b(k,55)
    4436   254840160 :          b(k,42) = b(k,42) - lu(k,99) * b(k,55)
    4437   254840160 :          b(k,41) = b(k,41) - lu(k,98) * b(k,55)
    4438   254840160 :          b(k,40) = b(k,40) - lu(k,97) * b(k,55)
    4439   254840160 :          b(k,39) = b(k,39) - lu(k,96) * b(k,55)
    4440   254840160 :          b(k,54) = b(k,54) * lu(k,95)
    4441   254840160 :          b(k,43) = b(k,43) - lu(k,94) * b(k,54)
    4442   254840160 :          b(k,42) = b(k,42) - lu(k,93) * b(k,54)
    4443   254840160 :          b(k,41) = b(k,41) - lu(k,92) * b(k,54)
    4444   254840160 :          b(k,40) = b(k,40) - lu(k,91) * b(k,54)
    4445   254840160 :          b(k,39) = b(k,39) - lu(k,90) * b(k,54)
    4446   254840160 :          b(k,53) = b(k,53) * lu(k,89)
    4447   254840160 :          b(k,52) = b(k,52) - lu(k,88) * b(k,53)
    4448   254840160 :          b(k,52) = b(k,52) * lu(k,87)
    4449   254840160 :          b(k,43) = b(k,43) - lu(k,86) * b(k,52)
    4450   254840160 :          b(k,42) = b(k,42) - lu(k,85) * b(k,52)
    4451   254840160 :          b(k,41) = b(k,41) - lu(k,84) * b(k,52)
    4452   254840160 :          b(k,40) = b(k,40) - lu(k,83) * b(k,52)
    4453   254840160 :          b(k,39) = b(k,39) - lu(k,82) * b(k,52)
    4454   254840160 :          b(k,51) = b(k,51) * lu(k,81)
    4455   254840160 :          b(k,43) = b(k,43) - lu(k,80) * b(k,51)
    4456   254840160 :          b(k,42) = b(k,42) - lu(k,79) * b(k,51)
    4457   254840160 :          b(k,41) = b(k,41) - lu(k,78) * b(k,51)
    4458   254840160 :          b(k,40) = b(k,40) - lu(k,77) * b(k,51)
    4459   254840160 :          b(k,39) = b(k,39) - lu(k,76) * b(k,51)
    4460   254840160 :          b(k,50) = b(k,50) * lu(k,75)
    4461   254840160 :          b(k,43) = b(k,43) - lu(k,74) * b(k,50)
    4462   254840160 :          b(k,42) = b(k,42) - lu(k,73) * b(k,50)
    4463   254840160 :          b(k,41) = b(k,41) - lu(k,72) * b(k,50)
    4464   254840160 :          b(k,40) = b(k,40) - lu(k,71) * b(k,50)
    4465   254840160 :          b(k,39) = b(k,39) - lu(k,70) * b(k,50)
    4466   254840160 :          b(k,49) = b(k,49) * lu(k,69)
    4467   254840160 :          b(k,43) = b(k,43) - lu(k,68) * b(k,49)
    4468   254840160 :          b(k,42) = b(k,42) - lu(k,67) * b(k,49)
    4469   254840160 :          b(k,41) = b(k,41) - lu(k,66) * b(k,49)
    4470   254840160 :          b(k,40) = b(k,40) - lu(k,65) * b(k,49)
    4471   254840160 :          b(k,39) = b(k,39) - lu(k,64) * b(k,49)
    4472   254840160 :          b(k,48) = b(k,48) * lu(k,63)
    4473   254840160 :          b(k,43) = b(k,43) - lu(k,62) * b(k,48)
    4474   254840160 :          b(k,42) = b(k,42) - lu(k,61) * b(k,48)
    4475   254840160 :          b(k,41) = b(k,41) - lu(k,60) * b(k,48)
    4476   254840160 :          b(k,40) = b(k,40) - lu(k,59) * b(k,48)
    4477   254840160 :          b(k,39) = b(k,39) - lu(k,58) * b(k,48)
    4478   254840160 :          b(k,47) = b(k,47) * lu(k,57)
    4479   254840160 :          b(k,43) = b(k,43) - lu(k,56) * b(k,47)
    4480   254840160 :          b(k,42) = b(k,42) - lu(k,55) * b(k,47)
    4481   254840160 :          b(k,41) = b(k,41) - lu(k,54) * b(k,47)
    4482   254840160 :          b(k,40) = b(k,40) - lu(k,53) * b(k,47)
    4483   254840160 :          b(k,39) = b(k,39) - lu(k,52) * b(k,47)
    4484   254840160 :          b(k,46) = b(k,46) * lu(k,51)
    4485   254840160 :          b(k,43) = b(k,43) - lu(k,50) * b(k,46)
    4486   254840160 :          b(k,42) = b(k,42) - lu(k,49) * b(k,46)
    4487   254840160 :          b(k,41) = b(k,41) - lu(k,48) * b(k,46)
    4488   254840160 :          b(k,40) = b(k,40) - lu(k,47) * b(k,46)
    4489   254840160 :          b(k,39) = b(k,39) - lu(k,46) * b(k,46)
    4490   254840160 :          b(k,45) = b(k,45) * lu(k,45)
    4491   254840160 :          b(k,44) = b(k,44) * lu(k,44)
    4492   254840160 :          b(k,43) = b(k,43) * lu(k,43)
    4493   254840160 :          b(k,42) = b(k,42) * lu(k,42)
    4494   254840160 :          b(k,41) = b(k,41) * lu(k,41)
    4495   254840160 :          b(k,40) = b(k,40) * lu(k,40)
    4496   254840160 :          b(k,39) = b(k,39) * lu(k,39)
    4497   254840160 :          b(k,38) = b(k,38) * lu(k,38)
    4498   254840160 :          b(k,37) = b(k,37) * lu(k,37)
    4499   254840160 :          b(k,36) = b(k,36) * lu(k,36)
    4500   254840160 :          b(k,35) = b(k,35) * lu(k,35)
    4501   254840160 :          b(k,34) = b(k,34) * lu(k,34)
    4502   254840160 :          b(k,33) = b(k,33) * lu(k,33)
    4503   254840160 :          b(k,32) = b(k,32) * lu(k,32)
    4504   254840160 :          b(k,31) = b(k,31) * lu(k,31)
    4505   254840160 :          b(k,30) = b(k,30) * lu(k,30)
    4506   254840160 :          b(k,29) = b(k,29) * lu(k,29)
    4507   254840160 :          b(k,28) = b(k,28) * lu(k,28)
    4508   254840160 :          b(k,27) = b(k,27) * lu(k,27)
    4509   254840160 :          b(k,26) = b(k,26) * lu(k,26)
    4510   254840160 :          b(k,25) = b(k,25) * lu(k,25)
    4511   254840160 :          b(k,24) = b(k,24) * lu(k,24)
    4512   254840160 :          b(k,23) = b(k,23) * lu(k,23)
    4513   254840160 :          b(k,22) = b(k,22) * lu(k,22)
    4514   254840160 :          b(k,21) = b(k,21) * lu(k,21)
    4515   254840160 :          b(k,20) = b(k,20) * lu(k,20)
    4516   254840160 :          b(k,19) = b(k,19) * lu(k,19)
    4517   254840160 :          b(k,18) = b(k,18) * lu(k,18)
    4518   254840160 :          b(k,17) = b(k,17) * lu(k,17)
    4519   254840160 :          b(k,16) = b(k,16) * lu(k,16)
    4520   254840160 :          b(k,15) = b(k,15) * lu(k,15)
    4521   254840160 :          b(k,14) = b(k,14) * lu(k,14)
    4522   254840160 :          b(k,13) = b(k,13) * lu(k,13)
    4523   254840160 :          b(k,12) = b(k,12) * lu(k,12)
    4524   254840160 :          b(k,11) = b(k,11) * lu(k,11)
    4525   254840160 :          b(k,10) = b(k,10) * lu(k,10)
    4526   254840160 :          b(k,9) = b(k,9) * lu(k,9)
    4527   254840160 :          b(k,8) = b(k,8) * lu(k,8)
    4528   254840160 :          b(k,7) = b(k,7) * lu(k,7)
    4529   254840160 :          b(k,6) = b(k,6) * lu(k,6)
    4530   254840160 :          b(k,5) = b(k,5) * lu(k,5)
    4531   254840160 :          b(k,4) = b(k,4) * lu(k,4)
    4532   254840160 :          b(k,3) = b(k,3) * lu(k,3)
    4533   254840160 :          b(k,2) = b(k,2) * lu(k,2)
    4534   263009123 :          b(k,1) = b(k,1) * lu(k,1)
    4535             :       end do
    4536     8168963 :       end subroutine lu_slv20
    4537     8168963 :       subroutine lu_slv( avec_len, lu, b )
    4538             :       use shr_kind_mod, only : r8 => shr_kind_r8
    4539             :       use chem_mods, only : clscnt4, nzcnt
    4540             :       implicit none
    4541             : !-----------------------------------------------------------------------
    4542             : ! ... Dummy args
    4543             : !-----------------------------------------------------------------------
    4544             :       integer, intent(in) :: avec_len
    4545             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    4546             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    4547     8168963 :       call lu_slv01( avec_len, lu, b )
    4548     8168963 :       call lu_slv02( avec_len, lu, b )
    4549     8168963 :       call lu_slv03( avec_len, lu, b )
    4550     8168963 :       call lu_slv04( avec_len, lu, b )
    4551     8168963 :       call lu_slv05( avec_len, lu, b )
    4552     8168963 :       call lu_slv06( avec_len, lu, b )
    4553     8168963 :       call lu_slv07( avec_len, lu, b )
    4554     8168963 :       call lu_slv08( avec_len, lu, b )
    4555     8168963 :       call lu_slv09( avec_len, lu, b )
    4556     8168963 :       call lu_slv10( avec_len, lu, b )
    4557     8168963 :       call lu_slv11( avec_len, lu, b )
    4558     8168963 :       call lu_slv12( avec_len, lu, b )
    4559     8168963 :       call lu_slv13( avec_len, lu, b )
    4560     8168963 :       call lu_slv14( avec_len, lu, b )
    4561     8168963 :       call lu_slv15( avec_len, lu, b )
    4562     8168963 :       call lu_slv16( avec_len, lu, b )
    4563     8168963 :       call lu_slv17( avec_len, lu, b )
    4564     8168963 :       call lu_slv18( avec_len, lu, b )
    4565     8168963 :       call lu_slv19( avec_len, lu, b )
    4566     8168963 :       call lu_slv20( avec_len, lu, b )
    4567     8168963 :       end subroutine lu_slv
    4568             :       end module mo_lu_solve

Generated by: LCOV version 1.14