LCOV - code coverage report
Current view: top level - chemistry/pp_trop_strat_mam5_vbsext - mo_lu_solve.F90 (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2415 2415 100.0 %
Date: 2025-03-14 01:21:06 Functions: 13 13 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     4411704 :       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   145586232 :       do k = 1,avec_len
      24   141174528 :          b(k,251) = b(k,251) - lu(k,139) * b(k,86)
      25   141174528 :          b(k,261) = b(k,261) - lu(k,140) * b(k,86)
      26   141174528 :          b(k,250) = b(k,250) - lu(k,142) * b(k,87)
      27   141174528 :          b(k,257) = b(k,257) - lu(k,143) * b(k,87)
      28   141174528 :          b(k,251) = b(k,251) - lu(k,145) * b(k,88)
      29   141174528 :          b(k,259) = b(k,259) - lu(k,146) * b(k,88)
      30   141174528 :          b(k,257) = b(k,257) - lu(k,148) * b(k,89)
      31   141174528 :          b(k,260) = b(k,260) - lu(k,149) * b(k,89)
      32   141174528 :          b(k,121) = b(k,121) - lu(k,151) * b(k,90)
      33   141174528 :          b(k,243) = b(k,243) - lu(k,152) * b(k,90)
      34   141174528 :          b(k,250) = b(k,250) - lu(k,153) * b(k,90)
      35   141174528 :          b(k,201) = b(k,201) - lu(k,155) * b(k,91)
      36   141174528 :          b(k,251) = b(k,251) - lu(k,156) * b(k,91)
      37   141174528 :          b(k,261) = b(k,261) - lu(k,157) * b(k,91)
      38   141174528 :          b(k,123) = b(k,123) - lu(k,159) * b(k,92)
      39   141174528 :          b(k,250) = b(k,250) - lu(k,160) * b(k,92)
      40   141174528 :          b(k,257) = b(k,257) - lu(k,161) * b(k,92)
      41   141174528 :          b(k,121) = b(k,121) - lu(k,163) * b(k,93)
      42   141174528 :          b(k,250) = b(k,250) - lu(k,164) * b(k,93)
      43   141174528 :          b(k,257) = b(k,257) - lu(k,165) * b(k,93)
      44   141174528 :          b(k,121) = b(k,121) - lu(k,167) * b(k,94)
      45   141174528 :          b(k,250) = b(k,250) - lu(k,168) * b(k,94)
      46   141174528 :          b(k,257) = b(k,257) - lu(k,169) * b(k,94)
      47   141174528 :          b(k,251) = b(k,251) - lu(k,171) * b(k,95)
      48   141174528 :          b(k,257) = b(k,257) - lu(k,172) * b(k,95)
      49   141174528 :          b(k,261) = b(k,261) - lu(k,173) * b(k,95)
      50   141174528 :          b(k,231) = b(k,231) - lu(k,175) * b(k,96)
      51   141174528 :          b(k,251) = b(k,251) - lu(k,176) * b(k,96)
      52   141174528 :          b(k,170) = b(k,170) - lu(k,178) * b(k,97)
      53   141174528 :          b(k,248) = b(k,248) - lu(k,179) * b(k,97)
      54   141174528 :          b(k,121) = b(k,121) - lu(k,181) * b(k,98)
      55   141174528 :          b(k,243) = b(k,243) - lu(k,182) * b(k,98)
      56   141174528 :          b(k,250) = b(k,250) - lu(k,183) * b(k,98)
      57   141174528 :          b(k,257) = b(k,257) - lu(k,184) * b(k,98)
      58   141174528 :          b(k,121) = b(k,121) - lu(k,186) * b(k,99)
      59   141174528 :          b(k,209) = b(k,209) - lu(k,187) * b(k,99)
      60   141174528 :          b(k,243) = b(k,243) - lu(k,188) * b(k,99)
      61   141174528 :          b(k,250) = b(k,250) - lu(k,189) * b(k,99)
      62   141174528 :          b(k,121) = b(k,121) - lu(k,191) * b(k,100)
      63   141174528 :          b(k,123) = b(k,123) - lu(k,192) * b(k,100)
      64   141174528 :          b(k,250) = b(k,250) - lu(k,193) * b(k,100)
      65   141174528 :          b(k,257) = b(k,257) - lu(k,194) * b(k,100)
      66   141174528 :          b(k,121) = b(k,121) - lu(k,196) * b(k,101)
      67   141174528 :          b(k,209) = b(k,209) - lu(k,197) * b(k,101)
      68   141174528 :          b(k,250) = b(k,250) - lu(k,198) * b(k,101)
      69   141174528 :          b(k,257) = b(k,257) - lu(k,199) * b(k,101)
      70   141174528 :          b(k,128) = b(k,128) - lu(k,201) * b(k,102)
      71   141174528 :          b(k,251) = b(k,251) - lu(k,202) * b(k,102)
      72   141174528 :          b(k,125) = b(k,125) - lu(k,204) * b(k,103)
      73   141174528 :          b(k,261) = b(k,261) - lu(k,205) * b(k,103)
      74   141174528 :          b(k,105) = b(k,105) - lu(k,208) * b(k,104)
      75   141174528 :          b(k,106) = b(k,106) - lu(k,209) * b(k,104)
      76   141174528 :          b(k,166) = b(k,166) - lu(k,210) * b(k,104)
      77   141174528 :          b(k,251) = b(k,251) - lu(k,211) * b(k,104)
      78   141174528 :          b(k,259) = b(k,259) - lu(k,212) * b(k,104)
      79   141174528 :          b(k,161) = b(k,161) - lu(k,214) * b(k,105)
      80   141174528 :          b(k,225) = b(k,225) - lu(k,215) * b(k,105)
      81   141174528 :          b(k,259) = b(k,259) - lu(k,216) * b(k,105)
      82   141174528 :          b(k,160) = b(k,160) - lu(k,218) * b(k,106)
      83   141174528 :          b(k,164) = b(k,164) - lu(k,219) * b(k,106)
      84   141174528 :          b(k,251) = b(k,251) - lu(k,220) * b(k,106)
      85   141174528 :          b(k,259) = b(k,259) - lu(k,221) * b(k,106)
      86   141174528 :          b(k,257) = b(k,257) - lu(k,223) * b(k,107)
      87   141174528 :          b(k,250) = b(k,250) - lu(k,225) * b(k,108)
      88   141174528 :          b(k,253) = b(k,253) - lu(k,226) * b(k,108)
      89   141174528 :          b(k,250) = b(k,250) - lu(k,228) * b(k,109)
      90   141174528 :          b(k,251) = b(k,251) - lu(k,229) * b(k,109)
      91   141174528 :          b(k,259) = b(k,259) - lu(k,230) * b(k,109)
      92   141174528 :          b(k,111) = b(k,111) - lu(k,233) * b(k,110)
      93   141174528 :          b(k,112) = b(k,112) - lu(k,234) * b(k,110)
      94   141174528 :          b(k,158) = b(k,158) - lu(k,235) * b(k,110)
      95   141174528 :          b(k,194) = b(k,194) - lu(k,236) * b(k,110)
      96   141174528 :          b(k,251) = b(k,251) - lu(k,237) * b(k,110)
      97   141174528 :          b(k,259) = b(k,259) - lu(k,238) * b(k,110)
      98   141174528 :          b(k,160) = b(k,160) - lu(k,240) * b(k,111)
      99   141174528 :          b(k,164) = b(k,164) - lu(k,241) * b(k,111)
     100   141174528 :          b(k,251) = b(k,251) - lu(k,242) * b(k,111)
     101   141174528 :          b(k,259) = b(k,259) - lu(k,243) * b(k,111)
     102   141174528 :          b(k,225) = b(k,225) - lu(k,245) * b(k,112)
     103   141174528 :          b(k,241) = b(k,241) - lu(k,246) * b(k,112)
     104   141174528 :          b(k,259) = b(k,259) - lu(k,247) * b(k,112)
     105   141174528 :          b(k,231) = b(k,231) - lu(k,249) * b(k,113)
     106   141174528 :          b(k,251) = b(k,251) - lu(k,250) * b(k,113)
     107   141174528 :          b(k,115) = b(k,115) - lu(k,254) * b(k,114)
     108   141174528 :          b(k,158) = b(k,158) - lu(k,255) * b(k,114)
     109   141174528 :          b(k,196) = b(k,196) - lu(k,256) * b(k,114)
     110   141174528 :          b(k,225) = b(k,225) - lu(k,257) * b(k,114)
     111   141174528 :          b(k,241) = b(k,241) - lu(k,258) * b(k,114)
     112   141174528 :          b(k,251) = b(k,251) - lu(k,259) * b(k,114)
     113   141174528 :          b(k,259) = b(k,259) - lu(k,260) * b(k,114)
     114   141174528 :          b(k,164) = b(k,164) - lu(k,262) * b(k,115)
     115   141174528 :          b(k,167) = b(k,167) - lu(k,263) * b(k,115)
     116   141174528 :          b(k,251) = b(k,251) - lu(k,264) * b(k,115)
     117   141174528 :          b(k,259) = b(k,259) - lu(k,265) * b(k,115)
     118   141174528 :          b(k,212) = b(k,212) - lu(k,267) * b(k,116)
     119   141174528 :          b(k,251) = b(k,251) - lu(k,268) * b(k,116)
     120   141174528 :          b(k,245) = b(k,245) - lu(k,270) * b(k,117)
     121   141174528 :          b(k,248) = b(k,248) - lu(k,271) * b(k,117)
     122   141174528 :          b(k,243) = b(k,243) - lu(k,273) * b(k,118)
     123   141174528 :          b(k,257) = b(k,257) - lu(k,274) * b(k,118)
     124   141174528 :          b(k,170) = b(k,170) - lu(k,276) * b(k,119)
     125   141174528 :          b(k,251) = b(k,251) - lu(k,277) * b(k,119)
     126   141174528 :          b(k,180) = b(k,180) - lu(k,279) * b(k,120)
     127   141174528 :          b(k,231) = b(k,231) - lu(k,280) * b(k,120)
     128   141174528 :          b(k,251) = b(k,251) - lu(k,281) * b(k,120)
     129   141174528 :          b(k,259) = b(k,259) - lu(k,282) * b(k,120)
     130   141174528 :          b(k,209) = b(k,209) - lu(k,284) * b(k,121)
     131   141174528 :          b(k,250) = b(k,250) - lu(k,285) * b(k,121)
     132   141174528 :          b(k,123) = b(k,123) - lu(k,287) * b(k,122)
     133   141174528 :          b(k,250) = b(k,250) - lu(k,288) * b(k,122)
     134   141174528 :          b(k,251) = b(k,251) - lu(k,289) * b(k,122)
     135   141174528 :          b(k,257) = b(k,257) - lu(k,290) * b(k,122)
     136   141174528 :          b(k,209) = b(k,209) - lu(k,292) * b(k,123)
     137   141174528 :          b(k,250) = b(k,250) - lu(k,293) * b(k,123)
     138   141174528 :          b(k,257) = b(k,257) - lu(k,294) * b(k,123)
     139   141174528 :          b(k,209) = b(k,209) - lu(k,297) * b(k,124)
     140   141174528 :          b(k,250) = b(k,250) - lu(k,298) * b(k,124)
     141   141174528 :          b(k,251) = b(k,251) - lu(k,299) * b(k,124)
     142   141174528 :          b(k,257) = b(k,257) - lu(k,300) * b(k,124)
     143   141174528 :          b(k,208) = b(k,208) - lu(k,303) * b(k,125)
     144   141174528 :          b(k,249) = b(k,249) - lu(k,304) * b(k,125)
     145   141174528 :          b(k,261) = b(k,261) - lu(k,305) * b(k,125)
     146   141174528 :          b(k,221) = b(k,221) - lu(k,307) * b(k,126)
     147   141174528 :          b(k,251) = b(k,251) - lu(k,308) * b(k,126)
     148   141174528 :          b(k,259) = b(k,259) - lu(k,309) * b(k,126)
     149   141174528 :          b(k,164) = b(k,164) - lu(k,311) * b(k,127)
     150   141174528 :          b(k,184) = b(k,184) - lu(k,312) * b(k,127)
     151   141174528 :          b(k,251) = b(k,251) - lu(k,313) * b(k,127)
     152   141174528 :          b(k,222) = b(k,222) - lu(k,315) * b(k,128)
     153   141174528 :          b(k,247) = b(k,247) - lu(k,316) * b(k,128)
     154   141174528 :          b(k,259) = b(k,259) - lu(k,317) * b(k,128)
     155   141174528 :          b(k,197) = b(k,197) - lu(k,319) * b(k,129)
     156   141174528 :          b(k,259) = b(k,259) - lu(k,320) * b(k,129)
     157   141174528 :          b(k,215) = b(k,215) - lu(k,322) * b(k,130)
     158   141174528 :          b(k,216) = b(k,216) - lu(k,323) * b(k,130)
     159   141174528 :          b(k,225) = b(k,225) - lu(k,324) * b(k,130)
     160   141174528 :          b(k,251) = b(k,251) - lu(k,325) * b(k,130)
     161   141174528 :          b(k,259) = b(k,259) - lu(k,326) * b(k,130)
     162   141174528 :          b(k,204) = b(k,204) - lu(k,328) * b(k,131)
     163   141174528 :          b(k,251) = b(k,251) - lu(k,329) * b(k,131)
     164   141174528 :          b(k,255) = b(k,255) - lu(k,330) * b(k,131)
     165   141174528 :          b(k,257) = b(k,257) - lu(k,331) * b(k,131)
     166   141174528 :          b(k,261) = b(k,261) - lu(k,332) * b(k,131)
     167   141174528 :          b(k,209) = b(k,209) - lu(k,335) * b(k,132)
     168   141174528 :          b(k,250) = b(k,250) - lu(k,336) * b(k,132)
     169   141174528 :          b(k,251) = b(k,251) - lu(k,337) * b(k,132)
     170   141174528 :          b(k,257) = b(k,257) - lu(k,338) * b(k,132)
     171   141174528 :          b(k,261) = b(k,261) - lu(k,339) * b(k,132)
     172   141174528 :          b(k,209) = b(k,209) - lu(k,341) * b(k,133)
     173   141174528 :          b(k,246) = b(k,246) - lu(k,342) * b(k,133)
     174   141174528 :          b(k,245) = b(k,245) - lu(k,344) * b(k,134)
     175   141174528 :          b(k,248) = b(k,248) - lu(k,345) * b(k,134)
     176   141174528 :          b(k,249) = b(k,249) - lu(k,346) * b(k,134)
     177   141174528 :          b(k,253) = b(k,253) - lu(k,347) * b(k,134)
     178   141174528 :          b(k,256) = b(k,256) - lu(k,348) * b(k,134)
     179   141174528 :          b(k,208) = b(k,208) - lu(k,350) * b(k,135)
     180   141174528 :          b(k,245) = b(k,245) - lu(k,351) * b(k,135)
     181   141174528 :          b(k,251) = b(k,251) - lu(k,352) * b(k,135)
     182   141174528 :          b(k,256) = b(k,256) - lu(k,353) * b(k,135)
     183   141174528 :          b(k,259) = b(k,259) - lu(k,354) * b(k,135)
     184   141174528 :          b(k,225) = b(k,225) - lu(k,356) * b(k,136)
     185   141174528 :          b(k,234) = b(k,234) - lu(k,357) * b(k,136)
     186   141174528 :          b(k,241) = b(k,241) - lu(k,358) * b(k,136)
     187   141174528 :          b(k,259) = b(k,259) - lu(k,359) * b(k,136)
     188   141174528 :          b(k,208) = b(k,208) - lu(k,361) * b(k,137)
     189   141174528 :          b(k,235) = b(k,235) - lu(k,362) * b(k,137)
     190   141174528 :          b(k,249) = b(k,249) - lu(k,363) * b(k,137)
     191   141174528 :          b(k,260) = b(k,260) - lu(k,364) * b(k,137)
     192   141174528 :          b(k,160) = b(k,160) - lu(k,366) * b(k,138)
     193   141174528 :          b(k,216) = b(k,216) - lu(k,367) * b(k,138)
     194   141174528 :          b(k,251) = b(k,251) - lu(k,368) * b(k,138)
     195   141174528 :          b(k,259) = b(k,259) - lu(k,369) * b(k,138)
     196   141174528 :          b(k,158) = b(k,158) - lu(k,372) * b(k,139)
     197   141174528 :          b(k,170) = b(k,170) - lu(k,373) * b(k,139)
     198   141174528 :          b(k,251) = b(k,251) - lu(k,374) * b(k,139)
     199   141174528 :          b(k,259) = b(k,259) - lu(k,375) * b(k,139)
     200   141174528 :          b(k,204) = b(k,204) - lu(k,377) * b(k,140)
     201   141174528 :          b(k,221) = b(k,221) - lu(k,378) * b(k,140)
     202   141174528 :          b(k,251) = b(k,251) - lu(k,379) * b(k,140)
     203   141174528 :          b(k,259) = b(k,259) - lu(k,380) * b(k,140)
     204   141174528 :          b(k,231) = b(k,231) - lu(k,382) * b(k,141)
     205   141174528 :          b(k,251) = b(k,251) - lu(k,383) * b(k,141)
     206   141174528 :          b(k,238) = b(k,238) - lu(k,385) * b(k,142)
     207   141174528 :          b(k,240) = b(k,240) - lu(k,386) * b(k,142)
     208   141174528 :          b(k,251) = b(k,251) - lu(k,387) * b(k,142)
     209   141174528 :          b(k,259) = b(k,259) - lu(k,388) * b(k,142)
     210   141174528 :          b(k,187) = b(k,187) - lu(k,390) * b(k,143)
     211   141174528 :          b(k,221) = b(k,221) - lu(k,391) * b(k,143)
     212   141174528 :          b(k,241) = b(k,241) - lu(k,392) * b(k,143)
     213   141174528 :          b(k,251) = b(k,251) - lu(k,393) * b(k,143)
     214   141174528 :          b(k,176) = b(k,176) - lu(k,395) * b(k,144)
     215   141174528 :          b(k,214) = b(k,214) - lu(k,396) * b(k,144)
     216   141174528 :          b(k,221) = b(k,221) - lu(k,397) * b(k,144)
     217   141174528 :          b(k,247) = b(k,247) - lu(k,398) * b(k,144)
     218   141174528 :          b(k,248) = b(k,248) - lu(k,399) * b(k,144)
     219   141174528 :          b(k,251) = b(k,251) - lu(k,400) * b(k,144)
     220   141174528 :          b(k,256) = b(k,256) - lu(k,401) * b(k,144)
     221   141174528 :          b(k,225) = b(k,225) - lu(k,403) * b(k,145)
     222   141174528 :          b(k,251) = b(k,251) - lu(k,404) * b(k,145)
     223   141174528 :          b(k,254) = b(k,254) - lu(k,405) * b(k,145)
     224   141174528 :          b(k,255) = b(k,255) - lu(k,406) * b(k,145)
     225   141174528 :          b(k,257) = b(k,257) - lu(k,407) * b(k,145)
     226   141174528 :          b(k,259) = b(k,259) - lu(k,408) * b(k,145)
     227   145586232 :          b(k,261) = b(k,261) - lu(k,409) * b(k,145)
     228             :       end do
     229     4411704 :       end subroutine lu_slv01
     230     4411704 :       subroutine lu_slv02( avec_len, lu, b )
     231             :       use shr_kind_mod, only : r8 => shr_kind_r8
     232             :       use chem_mods, only : clscnt4, nzcnt
     233             :       implicit none
     234             : !-----------------------------------------------------------------------
     235             : ! ... Dummy args
     236             : !-----------------------------------------------------------------------
     237             :       integer, intent(in) :: avec_len
     238             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
     239             :       real(r8), intent(inout) :: b(veclen,clscnt4)
     240             : !-----------------------------------------------------------------------
     241             : ! ... Local variables
     242             : !-----------------------------------------------------------------------
     243             :       integer :: k
     244             : !-----------------------------------------------------------------------
     245             : ! ... solve L * y = b
     246             : !-----------------------------------------------------------------------
     247   145586232 :       do k = 1,avec_len
     248   141174528 :          b(k,169) = b(k,169) - lu(k,411) * b(k,146)
     249   141174528 :          b(k,208) = b(k,208) - lu(k,412) * b(k,146)
     250   141174528 :          b(k,225) = b(k,225) - lu(k,413) * b(k,146)
     251   141174528 :          b(k,235) = b(k,235) - lu(k,414) * b(k,146)
     252   141174528 :          b(k,246) = b(k,246) - lu(k,415) * b(k,146)
     253   141174528 :          b(k,249) = b(k,249) - lu(k,416) * b(k,146)
     254   141174528 :          b(k,251) = b(k,251) - lu(k,417) * b(k,146)
     255   141174528 :          b(k,230) = b(k,230) - lu(k,419) * b(k,147)
     256   141174528 :          b(k,241) = b(k,241) - lu(k,420) * b(k,147)
     257   141174528 :          b(k,247) = b(k,247) - lu(k,421) * b(k,147)
     258   141174528 :          b(k,251) = b(k,251) - lu(k,422) * b(k,147)
     259   141174528 :          b(k,261) = b(k,261) - lu(k,423) * b(k,147)
     260   141174528 :          b(k,195) = b(k,195) - lu(k,425) * b(k,148)
     261   141174528 :          b(k,207) = b(k,207) - lu(k,426) * b(k,148)
     262   141174528 :          b(k,248) = b(k,248) - lu(k,427) * b(k,148)
     263   141174528 :          b(k,251) = b(k,251) - lu(k,428) * b(k,148)
     264   141174528 :          b(k,259) = b(k,259) - lu(k,429) * b(k,148)
     265   141174528 :          b(k,216) = b(k,216) - lu(k,431) * b(k,149)
     266   141174528 :          b(k,225) = b(k,225) - lu(k,432) * b(k,149)
     267   141174528 :          b(k,234) = b(k,234) - lu(k,433) * b(k,149)
     268   141174528 :          b(k,241) = b(k,241) - lu(k,434) * b(k,149)
     269   141174528 :          b(k,259) = b(k,259) - lu(k,435) * b(k,149)
     270   141174528 :          b(k,201) = b(k,201) - lu(k,437) * b(k,150)
     271   141174528 :          b(k,214) = b(k,214) - lu(k,438) * b(k,150)
     272   141174528 :          b(k,251) = b(k,251) - lu(k,439) * b(k,150)
     273   141174528 :          b(k,259) = b(k,259) - lu(k,440) * b(k,150)
     274   141174528 :          b(k,261) = b(k,261) - lu(k,441) * b(k,150)
     275   141174528 :          b(k,248) = b(k,248) - lu(k,443) * b(k,151)
     276   141174528 :          b(k,251) = b(k,251) - lu(k,444) * b(k,151)
     277   141174528 :          b(k,256) = b(k,256) - lu(k,445) * b(k,151)
     278   141174528 :          b(k,259) = b(k,259) - lu(k,446) * b(k,151)
     279   141174528 :          b(k,261) = b(k,261) - lu(k,447) * b(k,151)
     280   141174528 :          b(k,218) = b(k,218) - lu(k,449) * b(k,152)
     281   141174528 :          b(k,223) = b(k,223) - lu(k,450) * b(k,152)
     282   141174528 :          b(k,245) = b(k,245) - lu(k,451) * b(k,152)
     283   141174528 :          b(k,248) = b(k,248) - lu(k,452) * b(k,152)
     284   141174528 :          b(k,251) = b(k,251) - lu(k,453) * b(k,152)
     285   141174528 :          b(k,246) = b(k,246) - lu(k,455) * b(k,153)
     286   141174528 :          b(k,247) = b(k,247) - lu(k,456) * b(k,153)
     287   141174528 :          b(k,251) = b(k,251) - lu(k,457) * b(k,153)
     288   141174528 :          b(k,254) = b(k,254) - lu(k,458) * b(k,153)
     289   141174528 :          b(k,261) = b(k,261) - lu(k,459) * b(k,153)
     290   141174528 :          b(k,243) = b(k,243) - lu(k,461) * b(k,154)
     291   141174528 :          b(k,250) = b(k,250) - lu(k,462) * b(k,154)
     292   141174528 :          b(k,251) = b(k,251) - lu(k,463) * b(k,154)
     293   141174528 :          b(k,255) = b(k,255) - lu(k,464) * b(k,154)
     294   141174528 :          b(k,257) = b(k,257) - lu(k,465) * b(k,154)
     295   141174528 :          b(k,207) = b(k,207) - lu(k,467) * b(k,155)
     296   141174528 :          b(k,222) = b(k,222) - lu(k,468) * b(k,155)
     297   141174528 :          b(k,245) = b(k,245) - lu(k,469) * b(k,155)
     298   141174528 :          b(k,251) = b(k,251) - lu(k,470) * b(k,155)
     299   141174528 :          b(k,259) = b(k,259) - lu(k,471) * b(k,155)
     300   141174528 :          b(k,161) = b(k,161) - lu(k,473) * b(k,156)
     301   141174528 :          b(k,166) = b(k,166) - lu(k,474) * b(k,156)
     302   141174528 :          b(k,216) = b(k,216) - lu(k,475) * b(k,156)
     303   141174528 :          b(k,251) = b(k,251) - lu(k,476) * b(k,156)
     304   141174528 :          b(k,259) = b(k,259) - lu(k,477) * b(k,156)
     305   141174528 :          b(k,167) = b(k,167) - lu(k,479) * b(k,157)
     306   141174528 :          b(k,216) = b(k,216) - lu(k,480) * b(k,157)
     307   141174528 :          b(k,234) = b(k,234) - lu(k,481) * b(k,157)
     308   141174528 :          b(k,251) = b(k,251) - lu(k,482) * b(k,157)
     309   141174528 :          b(k,259) = b(k,259) - lu(k,483) * b(k,157)
     310   141174528 :          b(k,170) = b(k,170) - lu(k,487) * b(k,158)
     311   141174528 :          b(k,248) = b(k,248) - lu(k,488) * b(k,158)
     312   141174528 :          b(k,251) = b(k,251) - lu(k,489) * b(k,158)
     313   141174528 :          b(k,253) = b(k,253) - lu(k,490) * b(k,158)
     314   141174528 :          b(k,259) = b(k,259) - lu(k,491) * b(k,158)
     315   141174528 :          b(k,215) = b(k,215) - lu(k,493) * b(k,159)
     316   141174528 :          b(k,247) = b(k,247) - lu(k,494) * b(k,159)
     317   141174528 :          b(k,248) = b(k,248) - lu(k,495) * b(k,159)
     318   141174528 :          b(k,253) = b(k,253) - lu(k,496) * b(k,159)
     319   141174528 :          b(k,259) = b(k,259) - lu(k,497) * b(k,159)
     320   141174528 :          b(k,216) = b(k,216) - lu(k,500) * b(k,160)
     321   141174528 :          b(k,248) = b(k,248) - lu(k,501) * b(k,160)
     322   141174528 :          b(k,251) = b(k,251) - lu(k,502) * b(k,160)
     323   141174528 :          b(k,253) = b(k,253) - lu(k,503) * b(k,160)
     324   141174528 :          b(k,259) = b(k,259) - lu(k,504) * b(k,160)
     325   141174528 :          b(k,193) = b(k,193) - lu(k,506) * b(k,161)
     326   141174528 :          b(k,259) = b(k,259) - lu(k,507) * b(k,161)
     327   141174528 :          b(k,243) = b(k,243) - lu(k,509) * b(k,162)
     328   141174528 :          b(k,250) = b(k,250) - lu(k,510) * b(k,162)
     329   141174528 :          b(k,251) = b(k,251) - lu(k,511) * b(k,162)
     330   141174528 :          b(k,255) = b(k,255) - lu(k,512) * b(k,162)
     331   141174528 :          b(k,257) = b(k,257) - lu(k,513) * b(k,162)
     332   141174528 :          b(k,261) = b(k,261) - lu(k,514) * b(k,162)
     333   141174528 :          b(k,214) = b(k,214) - lu(k,516) * b(k,163)
     334   141174528 :          b(k,218) = b(k,218) - lu(k,517) * b(k,163)
     335   141174528 :          b(k,229) = b(k,229) - lu(k,518) * b(k,163)
     336   141174528 :          b(k,247) = b(k,247) - lu(k,519) * b(k,163)
     337   141174528 :          b(k,251) = b(k,251) - lu(k,520) * b(k,163)
     338   141174528 :          b(k,259) = b(k,259) - lu(k,521) * b(k,163)
     339   141174528 :          b(k,184) = b(k,184) - lu(k,523) * b(k,164)
     340   141174528 :          b(k,248) = b(k,248) - lu(k,524) * b(k,164)
     341   141174528 :          b(k,258) = b(k,258) - lu(k,525) * b(k,164)
     342   141174528 :          b(k,246) = b(k,246) - lu(k,528) * b(k,165)
     343   141174528 :          b(k,248) = b(k,248) - lu(k,529) * b(k,165)
     344   141174528 :          b(k,249) = b(k,249) - lu(k,530) * b(k,165)
     345   141174528 :          b(k,250) = b(k,250) - lu(k,531) * b(k,165)
     346   141174528 :          b(k,251) = b(k,251) - lu(k,532) * b(k,165)
     347   141174528 :          b(k,253) = b(k,253) - lu(k,533) * b(k,165)
     348   141174528 :          b(k,193) = b(k,193) - lu(k,537) * b(k,166)
     349   141174528 :          b(k,216) = b(k,216) - lu(k,538) * b(k,166)
     350   141174528 :          b(k,248) = b(k,248) - lu(k,539) * b(k,166)
     351   141174528 :          b(k,251) = b(k,251) - lu(k,540) * b(k,166)
     352   141174528 :          b(k,253) = b(k,253) - lu(k,541) * b(k,166)
     353   141174528 :          b(k,259) = b(k,259) - lu(k,542) * b(k,166)
     354   141174528 :          b(k,216) = b(k,216) - lu(k,545) * b(k,167)
     355   141174528 :          b(k,234) = b(k,234) - lu(k,546) * b(k,167)
     356   141174528 :          b(k,248) = b(k,248) - lu(k,547) * b(k,167)
     357   141174528 :          b(k,251) = b(k,251) - lu(k,548) * b(k,167)
     358   141174528 :          b(k,253) = b(k,253) - lu(k,549) * b(k,167)
     359   141174528 :          b(k,259) = b(k,259) - lu(k,550) * b(k,167)
     360   141174528 :          b(k,187) = b(k,187) - lu(k,552) * b(k,168)
     361   141174528 :          b(k,204) = b(k,204) - lu(k,553) * b(k,168)
     362   141174528 :          b(k,241) = b(k,241) - lu(k,554) * b(k,168)
     363   141174528 :          b(k,251) = b(k,251) - lu(k,555) * b(k,168)
     364   141174528 :          b(k,235) = b(k,235) - lu(k,557) * b(k,169)
     365   141174528 :          b(k,246) = b(k,246) - lu(k,558) * b(k,169)
     366   141174528 :          b(k,249) = b(k,249) - lu(k,559) * b(k,169)
     367   141174528 :          b(k,251) = b(k,251) - lu(k,560) * b(k,169)
     368   141174528 :          b(k,258) = b(k,258) - lu(k,561) * b(k,169)
     369   141174528 :          b(k,184) = b(k,184) - lu(k,564) * b(k,170)
     370   141174528 :          b(k,248) = b(k,248) - lu(k,565) * b(k,170)
     371   141174528 :          b(k,251) = b(k,251) - lu(k,566) * b(k,170)
     372   141174528 :          b(k,253) = b(k,253) - lu(k,567) * b(k,170)
     373   141174528 :          b(k,259) = b(k,259) - lu(k,568) * b(k,170)
     374   141174528 :          b(k,205) = b(k,205) - lu(k,570) * b(k,171)
     375   141174528 :          b(k,241) = b(k,241) - lu(k,571) * b(k,171)
     376   141174528 :          b(k,247) = b(k,247) - lu(k,572) * b(k,171)
     377   141174528 :          b(k,248) = b(k,248) - lu(k,573) * b(k,171)
     378   141174528 :          b(k,251) = b(k,251) - lu(k,574) * b(k,171)
     379   141174528 :          b(k,254) = b(k,254) - lu(k,575) * b(k,171)
     380   141174528 :          b(k,256) = b(k,256) - lu(k,576) * b(k,171)
     381   141174528 :          b(k,199) = b(k,199) - lu(k,578) * b(k,172)
     382   141174528 :          b(k,243) = b(k,243) - lu(k,579) * b(k,172)
     383   141174528 :          b(k,245) = b(k,245) - lu(k,580) * b(k,172)
     384   141174528 :          b(k,248) = b(k,248) - lu(k,581) * b(k,172)
     385   141174528 :          b(k,249) = b(k,249) - lu(k,582) * b(k,172)
     386   141174528 :          b(k,252) = b(k,252) - lu(k,583) * b(k,172)
     387   141174528 :          b(k,256) = b(k,256) - lu(k,584) * b(k,172)
     388   141174528 :          b(k,198) = b(k,198) - lu(k,586) * b(k,173)
     389   141174528 :          b(k,221) = b(k,221) - lu(k,587) * b(k,173)
     390   141174528 :          b(k,227) = b(k,227) - lu(k,588) * b(k,173)
     391   141174528 :          b(k,247) = b(k,247) - lu(k,589) * b(k,173)
     392   141174528 :          b(k,251) = b(k,251) - lu(k,590) * b(k,173)
     393   141174528 :          b(k,259) = b(k,259) - lu(k,591) * b(k,173)
     394   141174528 :          b(k,261) = b(k,261) - lu(k,592) * b(k,173)
     395   141174528 :          b(k,207) = b(k,207) - lu(k,594) * b(k,174)
     396   141174528 :          b(k,222) = b(k,222) - lu(k,595) * b(k,174)
     397   141174528 :          b(k,226) = b(k,226) - lu(k,596) * b(k,174)
     398   141174528 :          b(k,227) = b(k,227) - lu(k,597) * b(k,174)
     399   141174528 :          b(k,245) = b(k,245) - lu(k,598) * b(k,174)
     400   141174528 :          b(k,251) = b(k,251) - lu(k,599) * b(k,174)
     401   141174528 :          b(k,259) = b(k,259) - lu(k,600) * b(k,174)
     402   141174528 :          b(k,192) = b(k,192) - lu(k,602) * b(k,175)
     403   141174528 :          b(k,215) = b(k,215) - lu(k,603) * b(k,175)
     404   141174528 :          b(k,225) = b(k,225) - lu(k,604) * b(k,175)
     405   141174528 :          b(k,247) = b(k,247) - lu(k,605) * b(k,175)
     406   141174528 :          b(k,251) = b(k,251) - lu(k,606) * b(k,175)
     407   141174528 :          b(k,258) = b(k,258) - lu(k,607) * b(k,175)
     408   141174528 :          b(k,259) = b(k,259) - lu(k,608) * b(k,175)
     409   141174528 :          b(k,214) = b(k,214) - lu(k,610) * b(k,176)
     410   141174528 :          b(k,221) = b(k,221) - lu(k,611) * b(k,176)
     411   141174528 :          b(k,226) = b(k,226) - lu(k,612) * b(k,176)
     412   141174528 :          b(k,247) = b(k,247) - lu(k,613) * b(k,176)
     413   141174528 :          b(k,248) = b(k,248) - lu(k,614) * b(k,176)
     414   141174528 :          b(k,253) = b(k,253) - lu(k,615) * b(k,176)
     415   141174528 :          b(k,259) = b(k,259) - lu(k,616) * b(k,176)
     416   141174528 :          b(k,222) = b(k,222) - lu(k,618) * b(k,177)
     417   141174528 :          b(k,226) = b(k,226) - lu(k,619) * b(k,177)
     418   141174528 :          b(k,227) = b(k,227) - lu(k,620) * b(k,177)
     419   141174528 :          b(k,245) = b(k,245) - lu(k,621) * b(k,177)
     420   141174528 :          b(k,247) = b(k,247) - lu(k,622) * b(k,177)
     421   141174528 :          b(k,248) = b(k,248) - lu(k,623) * b(k,177)
     422   141174528 :          b(k,251) = b(k,251) - lu(k,624) * b(k,177)
     423   141174528 :          b(k,259) = b(k,259) - lu(k,625) * b(k,177)
     424   141174528 :          b(k,243) = b(k,243) - lu(k,627) * b(k,178)
     425   141174528 :          b(k,250) = b(k,250) - lu(k,628) * b(k,178)
     426   141174528 :          b(k,251) = b(k,251) - lu(k,629) * b(k,178)
     427   141174528 :          b(k,254) = b(k,254) - lu(k,630) * b(k,178)
     428   141174528 :          b(k,255) = b(k,255) - lu(k,631) * b(k,178)
     429   141174528 :          b(k,257) = b(k,257) - lu(k,632) * b(k,178)
     430   141174528 :          b(k,259) = b(k,259) - lu(k,633) * b(k,178)
     431   141174528 :          b(k,261) = b(k,261) - lu(k,634) * b(k,178)
     432   141174528 :          b(k,205) = b(k,205) - lu(k,636) * b(k,179)
     433   141174528 :          b(k,241) = b(k,241) - lu(k,637) * b(k,179)
     434   141174528 :          b(k,247) = b(k,247) - lu(k,638) * b(k,179)
     435   141174528 :          b(k,251) = b(k,251) - lu(k,639) * b(k,179)
     436   141174528 :          b(k,254) = b(k,254) - lu(k,640) * b(k,179)
     437   141174528 :          b(k,261) = b(k,261) - lu(k,641) * b(k,179)
     438   141174528 :          b(k,210) = b(k,210) - lu(k,643) * b(k,180)
     439   141174528 :          b(k,225) = b(k,225) - lu(k,644) * b(k,180)
     440   141174528 :          b(k,259) = b(k,259) - lu(k,645) * b(k,180)
     441   141174528 :          b(k,249) = b(k,249) - lu(k,647) * b(k,181)
     442   141174528 :          b(k,251) = b(k,251) - lu(k,648) * b(k,181)
     443   141174528 :          b(k,255) = b(k,255) - lu(k,649) * b(k,181)
     444   141174528 :          b(k,257) = b(k,257) - lu(k,650) * b(k,181)
     445   141174528 :          b(k,259) = b(k,259) - lu(k,651) * b(k,181)
     446   141174528 :          b(k,261) = b(k,261) - lu(k,652) * b(k,181)
     447   141174528 :          b(k,205) = b(k,205) - lu(k,654) * b(k,182)
     448   141174528 :          b(k,227) = b(k,227) - lu(k,655) * b(k,182)
     449   141174528 :          b(k,240) = b(k,240) - lu(k,656) * b(k,182)
     450   141174528 :          b(k,247) = b(k,247) - lu(k,657) * b(k,182)
     451   141174528 :          b(k,248) = b(k,248) - lu(k,658) * b(k,182)
     452   141174528 :          b(k,251) = b(k,251) - lu(k,659) * b(k,182)
     453   141174528 :          b(k,256) = b(k,256) - lu(k,660) * b(k,182)
     454   145586232 :          b(k,259) = b(k,259) - lu(k,661) * b(k,182)
     455             :       end do
     456     4411704 :       end subroutine lu_slv02
     457     4411704 :       subroutine lu_slv03( avec_len, lu, b )
     458             :       use shr_kind_mod, only : r8 => shr_kind_r8
     459             :       use chem_mods, only : clscnt4, nzcnt
     460             :       implicit none
     461             : !-----------------------------------------------------------------------
     462             : ! ... Dummy args
     463             : !-----------------------------------------------------------------------
     464             :       integer, intent(in) :: avec_len
     465             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
     466             :       real(r8), intent(inout) :: b(veclen,clscnt4)
     467             : !-----------------------------------------------------------------------
     468             : ! ... Local variables
     469             : !-----------------------------------------------------------------------
     470             :       integer :: k
     471             : !-----------------------------------------------------------------------
     472             : ! ... solve L * y = b
     473             : !-----------------------------------------------------------------------
     474   145586232 :       do k = 1,avec_len
     475   141174528 :          b(k,218) = b(k,218) - lu(k,663) * b(k,183)
     476   141174528 :          b(k,245) = b(k,245) - lu(k,664) * b(k,183)
     477   141174528 :          b(k,248) = b(k,248) - lu(k,665) * b(k,183)
     478   141174528 :          b(k,251) = b(k,251) - lu(k,666) * b(k,183)
     479   141174528 :          b(k,259) = b(k,259) - lu(k,667) * b(k,183)
     480   141174528 :          b(k,248) = b(k,248) - lu(k,671) * b(k,184)
     481   141174528 :          b(k,251) = b(k,251) - lu(k,672) * b(k,184)
     482   141174528 :          b(k,253) = b(k,253) - lu(k,673) * b(k,184)
     483   141174528 :          b(k,258) = b(k,258) - lu(k,674) * b(k,184)
     484   141174528 :          b(k,259) = b(k,259) - lu(k,675) * b(k,184)
     485   141174528 :          b(k,187) = b(k,187) - lu(k,678) * b(k,185)
     486   141174528 :          b(k,204) = b(k,204) - lu(k,679) * b(k,185)
     487   141174528 :          b(k,212) = b(k,212) - lu(k,680) * b(k,185)
     488   141174528 :          b(k,214) = b(k,214) - lu(k,681) * b(k,185)
     489   141174528 :          b(k,221) = b(k,221) - lu(k,682) * b(k,185)
     490   141174528 :          b(k,241) = b(k,241) - lu(k,683) * b(k,185)
     491   141174528 :          b(k,247) = b(k,247) - lu(k,684) * b(k,185)
     492   141174528 :          b(k,251) = b(k,251) - lu(k,685) * b(k,185)
     493   141174528 :          b(k,259) = b(k,259) - lu(k,686) * b(k,185)
     494   141174528 :          b(k,187) = b(k,187) - lu(k,689) * b(k,186)
     495   141174528 :          b(k,204) = b(k,204) - lu(k,690) * b(k,186)
     496   141174528 :          b(k,214) = b(k,214) - lu(k,691) * b(k,186)
     497   141174528 :          b(k,221) = b(k,221) - lu(k,692) * b(k,186)
     498   141174528 :          b(k,241) = b(k,241) - lu(k,693) * b(k,186)
     499   141174528 :          b(k,247) = b(k,247) - lu(k,694) * b(k,186)
     500   141174528 :          b(k,248) = b(k,248) - lu(k,695) * b(k,186)
     501   141174528 :          b(k,251) = b(k,251) - lu(k,696) * b(k,186)
     502   141174528 :          b(k,259) = b(k,259) - lu(k,697) * b(k,186)
     503   141174528 :          b(k,221) = b(k,221) - lu(k,700) * b(k,187)
     504   141174528 :          b(k,241) = b(k,241) - lu(k,701) * b(k,187)
     505   141174528 :          b(k,248) = b(k,248) - lu(k,702) * b(k,187)
     506   141174528 :          b(k,251) = b(k,251) - lu(k,703) * b(k,187)
     507   141174528 :          b(k,253) = b(k,253) - lu(k,704) * b(k,187)
     508   141174528 :          b(k,259) = b(k,259) - lu(k,705) * b(k,187)
     509   141174528 :          b(k,205) = b(k,205) - lu(k,707) * b(k,188)
     510   141174528 :          b(k,214) = b(k,214) - lu(k,708) * b(k,188)
     511   141174528 :          b(k,222) = b(k,222) - lu(k,709) * b(k,188)
     512   141174528 :          b(k,224) = b(k,224) - lu(k,710) * b(k,188)
     513   141174528 :          b(k,225) = b(k,225) - lu(k,711) * b(k,188)
     514   141174528 :          b(k,228) = b(k,228) - lu(k,712) * b(k,188)
     515   141174528 :          b(k,247) = b(k,247) - lu(k,713) * b(k,188)
     516   141174528 :          b(k,251) = b(k,251) - lu(k,714) * b(k,188)
     517   141174528 :          b(k,259) = b(k,259) - lu(k,715) * b(k,188)
     518   141174528 :          b(k,193) = b(k,193) - lu(k,720) * b(k,189)
     519   141174528 :          b(k,194) = b(k,194) - lu(k,721) * b(k,189)
     520   141174528 :          b(k,197) = b(k,197) - lu(k,722) * b(k,189)
     521   141174528 :          b(k,210) = b(k,210) - lu(k,723) * b(k,189)
     522   141174528 :          b(k,216) = b(k,216) - lu(k,724) * b(k,189)
     523   141174528 :          b(k,225) = b(k,225) - lu(k,725) * b(k,189)
     524   141174528 :          b(k,234) = b(k,234) - lu(k,726) * b(k,189)
     525   141174528 :          b(k,251) = b(k,251) - lu(k,727) * b(k,189)
     526   141174528 :          b(k,259) = b(k,259) - lu(k,728) * b(k,189)
     527   141174528 :          b(k,205) = b(k,205) - lu(k,730) * b(k,190)
     528   141174528 :          b(k,251) = b(k,251) - lu(k,731) * b(k,190)
     529   141174528 :          b(k,254) = b(k,254) - lu(k,732) * b(k,190)
     530   141174528 :          b(k,261) = b(k,261) - lu(k,733) * b(k,190)
     531   141174528 :          b(k,193) = b(k,193) - lu(k,739) * b(k,191)
     532   141174528 :          b(k,196) = b(k,196) - lu(k,740) * b(k,191)
     533   141174528 :          b(k,197) = b(k,197) - lu(k,741) * b(k,191)
     534   141174528 :          b(k,210) = b(k,210) - lu(k,742) * b(k,191)
     535   141174528 :          b(k,216) = b(k,216) - lu(k,743) * b(k,191)
     536   141174528 :          b(k,225) = b(k,225) - lu(k,744) * b(k,191)
     537   141174528 :          b(k,234) = b(k,234) - lu(k,745) * b(k,191)
     538   141174528 :          b(k,241) = b(k,241) - lu(k,746) * b(k,191)
     539   141174528 :          b(k,251) = b(k,251) - lu(k,747) * b(k,191)
     540   141174528 :          b(k,259) = b(k,259) - lu(k,748) * b(k,191)
     541   141174528 :          b(k,222) = b(k,222) - lu(k,752) * b(k,192)
     542   141174528 :          b(k,247) = b(k,247) - lu(k,753) * b(k,192)
     543   141174528 :          b(k,248) = b(k,248) - lu(k,754) * b(k,192)
     544   141174528 :          b(k,251) = b(k,251) - lu(k,755) * b(k,192)
     545   141174528 :          b(k,253) = b(k,253) - lu(k,756) * b(k,192)
     546   141174528 :          b(k,259) = b(k,259) - lu(k,757) * b(k,192)
     547   141174528 :          b(k,216) = b(k,216) - lu(k,759) * b(k,193)
     548   141174528 :          b(k,225) = b(k,225) - lu(k,760) * b(k,193)
     549   141174528 :          b(k,248) = b(k,248) - lu(k,761) * b(k,193)
     550   141174528 :          b(k,253) = b(k,253) - lu(k,762) * b(k,193)
     551   141174528 :          b(k,259) = b(k,259) - lu(k,763) * b(k,193)
     552   141174528 :          b(k,197) = b(k,197) - lu(k,770) * b(k,194)
     553   141174528 :          b(k,210) = b(k,210) - lu(k,771) * b(k,194)
     554   141174528 :          b(k,216) = b(k,216) - lu(k,772) * b(k,194)
     555   141174528 :          b(k,225) = b(k,225) - lu(k,773) * b(k,194)
     556   141174528 :          b(k,234) = b(k,234) - lu(k,774) * b(k,194)
     557   141174528 :          b(k,248) = b(k,248) - lu(k,775) * b(k,194)
     558   141174528 :          b(k,251) = b(k,251) - lu(k,776) * b(k,194)
     559   141174528 :          b(k,253) = b(k,253) - lu(k,777) * b(k,194)
     560   141174528 :          b(k,259) = b(k,259) - lu(k,778) * b(k,194)
     561   141174528 :          b(k,231) = b(k,231) - lu(k,781) * b(k,195)
     562   141174528 :          b(k,233) = b(k,233) - lu(k,782) * b(k,195)
     563   141174528 :          b(k,239) = b(k,239) - lu(k,783) * b(k,195)
     564   141174528 :          b(k,247) = b(k,247) - lu(k,784) * b(k,195)
     565   141174528 :          b(k,251) = b(k,251) - lu(k,785) * b(k,195)
     566   141174528 :          b(k,259) = b(k,259) - lu(k,786) * b(k,195)
     567   141174528 :          b(k,197) = b(k,197) - lu(k,794) * b(k,196)
     568   141174528 :          b(k,210) = b(k,210) - lu(k,795) * b(k,196)
     569   141174528 :          b(k,216) = b(k,216) - lu(k,796) * b(k,196)
     570   141174528 :          b(k,225) = b(k,225) - lu(k,797) * b(k,196)
     571   141174528 :          b(k,234) = b(k,234) - lu(k,798) * b(k,196)
     572   141174528 :          b(k,241) = b(k,241) - lu(k,799) * b(k,196)
     573   141174528 :          b(k,248) = b(k,248) - lu(k,800) * b(k,196)
     574   141174528 :          b(k,251) = b(k,251) - lu(k,801) * b(k,196)
     575   141174528 :          b(k,253) = b(k,253) - lu(k,802) * b(k,196)
     576   141174528 :          b(k,259) = b(k,259) - lu(k,803) * b(k,196)
     577   141174528 :          b(k,225) = b(k,225) - lu(k,805) * b(k,197)
     578   141174528 :          b(k,234) = b(k,234) - lu(k,806) * b(k,197)
     579   141174528 :          b(k,248) = b(k,248) - lu(k,807) * b(k,197)
     580   141174528 :          b(k,251) = b(k,251) - lu(k,808) * b(k,197)
     581   141174528 :          b(k,253) = b(k,253) - lu(k,809) * b(k,197)
     582   141174528 :          b(k,254) = b(k,254) - lu(k,810) * b(k,197)
     583   141174528 :          b(k,259) = b(k,259) - lu(k,811) * b(k,197)
     584   141174528 :          b(k,221) = b(k,221) - lu(k,814) * b(k,198)
     585   141174528 :          b(k,227) = b(k,227) - lu(k,815) * b(k,198)
     586   141174528 :          b(k,247) = b(k,247) - lu(k,816) * b(k,198)
     587   141174528 :          b(k,248) = b(k,248) - lu(k,817) * b(k,198)
     588   141174528 :          b(k,251) = b(k,251) - lu(k,818) * b(k,198)
     589   141174528 :          b(k,253) = b(k,253) - lu(k,819) * b(k,198)
     590   141174528 :          b(k,259) = b(k,259) - lu(k,820) * b(k,198)
     591   141174528 :          b(k,261) = b(k,261) - lu(k,821) * b(k,198)
     592   141174528 :          b(k,243) = b(k,243) - lu(k,824) * b(k,199)
     593   141174528 :          b(k,249) = b(k,249) - lu(k,825) * b(k,199)
     594   141174528 :          b(k,251) = b(k,251) - lu(k,826) * b(k,199)
     595   141174528 :          b(k,252) = b(k,252) - lu(k,827) * b(k,199)
     596   141174528 :          b(k,255) = b(k,255) - lu(k,828) * b(k,199)
     597   141174528 :          b(k,257) = b(k,257) - lu(k,829) * b(k,199)
     598   141174528 :          b(k,261) = b(k,261) - lu(k,830) * b(k,199)
     599   141174528 :          b(k,247) = b(k,247) - lu(k,832) * b(k,200)
     600   141174528 :          b(k,251) = b(k,251) - lu(k,833) * b(k,200)
     601   141174528 :          b(k,259) = b(k,259) - lu(k,834) * b(k,200)
     602   141174528 :          b(k,214) = b(k,214) - lu(k,837) * b(k,201)
     603   141174528 :          b(k,221) = b(k,221) - lu(k,838) * b(k,201)
     604   141174528 :          b(k,247) = b(k,247) - lu(k,839) * b(k,201)
     605   141174528 :          b(k,248) = b(k,248) - lu(k,840) * b(k,201)
     606   141174528 :          b(k,251) = b(k,251) - lu(k,841) * b(k,201)
     607   141174528 :          b(k,253) = b(k,253) - lu(k,842) * b(k,201)
     608   141174528 :          b(k,254) = b(k,254) - lu(k,843) * b(k,201)
     609   141174528 :          b(k,259) = b(k,259) - lu(k,844) * b(k,201)
     610   141174528 :          b(k,261) = b(k,261) - lu(k,845) * b(k,201)
     611   141174528 :          b(k,243) = b(k,243) - lu(k,847) * b(k,202)
     612   141174528 :          b(k,246) = b(k,246) - lu(k,848) * b(k,202)
     613   141174528 :          b(k,249) = b(k,249) - lu(k,849) * b(k,202)
     614   141174528 :          b(k,250) = b(k,250) - lu(k,850) * b(k,202)
     615   141174528 :          b(k,251) = b(k,251) - lu(k,851) * b(k,202)
     616   141174528 :          b(k,252) = b(k,252) - lu(k,852) * b(k,202)
     617   141174528 :          b(k,261) = b(k,261) - lu(k,853) * b(k,202)
     618   141174528 :          b(k,249) = b(k,249) - lu(k,856) * b(k,203)
     619   141174528 :          b(k,251) = b(k,251) - lu(k,857) * b(k,203)
     620   141174528 :          b(k,255) = b(k,255) - lu(k,858) * b(k,203)
     621   141174528 :          b(k,257) = b(k,257) - lu(k,859) * b(k,203)
     622   141174528 :          b(k,260) = b(k,260) - lu(k,860) * b(k,203)
     623   141174528 :          b(k,261) = b(k,261) - lu(k,861) * b(k,203)
     624   141174528 :          b(k,221) = b(k,221) - lu(k,866) * b(k,204)
     625   141174528 :          b(k,247) = b(k,247) - lu(k,867) * b(k,204)
     626   141174528 :          b(k,248) = b(k,248) - lu(k,868) * b(k,204)
     627   141174528 :          b(k,251) = b(k,251) - lu(k,869) * b(k,204)
     628   141174528 :          b(k,253) = b(k,253) - lu(k,870) * b(k,204)
     629   141174528 :          b(k,254) = b(k,254) - lu(k,871) * b(k,204)
     630   141174528 :          b(k,259) = b(k,259) - lu(k,872) * b(k,204)
     631   141174528 :          b(k,225) = b(k,225) - lu(k,874) * b(k,205)
     632   141174528 :          b(k,249) = b(k,249) - lu(k,875) * b(k,205)
     633   141174528 :          b(k,215) = b(k,215) - lu(k,880) * b(k,206)
     634   141174528 :          b(k,219) = b(k,219) - lu(k,881) * b(k,206)
     635   141174528 :          b(k,225) = b(k,225) - lu(k,882) * b(k,206)
     636   141174528 :          b(k,232) = b(k,232) - lu(k,883) * b(k,206)
     637   141174528 :          b(k,233) = b(k,233) - lu(k,884) * b(k,206)
     638   141174528 :          b(k,236) = b(k,236) - lu(k,885) * b(k,206)
     639   141174528 :          b(k,237) = b(k,237) - lu(k,886) * b(k,206)
     640   141174528 :          b(k,239) = b(k,239) - lu(k,887) * b(k,206)
     641   141174528 :          b(k,241) = b(k,241) - lu(k,888) * b(k,206)
     642   141174528 :          b(k,247) = b(k,247) - lu(k,889) * b(k,206)
     643   141174528 :          b(k,251) = b(k,251) - lu(k,890) * b(k,206)
     644   141174528 :          b(k,254) = b(k,254) - lu(k,891) * b(k,206)
     645   141174528 :          b(k,256) = b(k,256) - lu(k,892) * b(k,206)
     646   141174528 :          b(k,258) = b(k,258) - lu(k,893) * b(k,206)
     647   141174528 :          b(k,259) = b(k,259) - lu(k,894) * b(k,206)
     648   141174528 :          b(k,234) = b(k,234) - lu(k,896) * b(k,207)
     649   141174528 :          b(k,241) = b(k,241) - lu(k,897) * b(k,207)
     650   141174528 :          b(k,247) = b(k,247) - lu(k,898) * b(k,207)
     651   141174528 :          b(k,248) = b(k,248) - lu(k,899) * b(k,207)
     652   141174528 :          b(k,251) = b(k,251) - lu(k,900) * b(k,207)
     653   141174528 :          b(k,235) = b(k,235) - lu(k,903) * b(k,208)
     654   141174528 :          b(k,249) = b(k,249) - lu(k,904) * b(k,208)
     655   141174528 :          b(k,251) = b(k,251) - lu(k,905) * b(k,208)
     656   141174528 :          b(k,259) = b(k,259) - lu(k,906) * b(k,208)
     657   141174528 :          b(k,261) = b(k,261) - lu(k,907) * b(k,208)
     658   141174528 :          b(k,242) = b(k,242) - lu(k,910) * b(k,209)
     659   141174528 :          b(k,244) = b(k,244) - lu(k,911) * b(k,209)
     660   141174528 :          b(k,245) = b(k,245) - lu(k,912) * b(k,209)
     661   141174528 :          b(k,246) = b(k,246) - lu(k,913) * b(k,209)
     662   141174528 :          b(k,251) = b(k,251) - lu(k,914) * b(k,209)
     663   141174528 :          b(k,254) = b(k,254) - lu(k,915) * b(k,209)
     664   141174528 :          b(k,256) = b(k,256) - lu(k,916) * b(k,209)
     665   141174528 :          b(k,261) = b(k,261) - lu(k,917) * b(k,209)
     666   141174528 :          b(k,216) = b(k,216) - lu(k,919) * b(k,210)
     667   141174528 :          b(k,225) = b(k,225) - lu(k,920) * b(k,210)
     668   141174528 :          b(k,234) = b(k,234) - lu(k,921) * b(k,210)
     669   141174528 :          b(k,248) = b(k,248) - lu(k,922) * b(k,210)
     670   141174528 :          b(k,251) = b(k,251) - lu(k,923) * b(k,210)
     671   141174528 :          b(k,253) = b(k,253) - lu(k,924) * b(k,210)
     672   141174528 :          b(k,254) = b(k,254) - lu(k,925) * b(k,210)
     673   141174528 :          b(k,259) = b(k,259) - lu(k,926) * b(k,210)
     674   141174528 :          b(k,212) = b(k,212) - lu(k,937) * b(k,211)
     675   141174528 :          b(k,214) = b(k,214) - lu(k,938) * b(k,211)
     676   141174528 :          b(k,215) = b(k,215) - lu(k,939) * b(k,211)
     677   141174528 :          b(k,216) = b(k,216) - lu(k,940) * b(k,211)
     678   141174528 :          b(k,218) = b(k,218) - lu(k,941) * b(k,211)
     679   141174528 :          b(k,223) = b(k,223) - lu(k,942) * b(k,211)
     680   141174528 :          b(k,224) = b(k,224) - lu(k,943) * b(k,211)
     681   141174528 :          b(k,225) = b(k,225) - lu(k,944) * b(k,211)
     682   141174528 :          b(k,229) = b(k,229) - lu(k,945) * b(k,211)
     683   141174528 :          b(k,230) = b(k,230) - lu(k,946) * b(k,211)
     684   141174528 :          b(k,234) = b(k,234) - lu(k,947) * b(k,211)
     685   141174528 :          b(k,241) = b(k,241) - lu(k,948) * b(k,211)
     686   141174528 :          b(k,247) = b(k,247) - lu(k,949) * b(k,211)
     687   141174528 :          b(k,249) = b(k,249) - lu(k,950) * b(k,211)
     688   141174528 :          b(k,251) = b(k,251) - lu(k,951) * b(k,211)
     689   141174528 :          b(k,256) = b(k,256) - lu(k,952) * b(k,211)
     690   141174528 :          b(k,258) = b(k,258) - lu(k,953) * b(k,211)
     691   145586232 :          b(k,259) = b(k,259) - lu(k,954) * b(k,211)
     692             :       end do
     693     4411704 :       end subroutine lu_slv03
     694     4411704 :       subroutine lu_slv04( avec_len, lu, b )
     695             :       use shr_kind_mod, only : r8 => shr_kind_r8
     696             :       use chem_mods, only : clscnt4, nzcnt
     697             :       implicit none
     698             : !-----------------------------------------------------------------------
     699             : ! ... Dummy args
     700             : !-----------------------------------------------------------------------
     701             :       integer, intent(in) :: avec_len
     702             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
     703             :       real(r8), intent(inout) :: b(veclen,clscnt4)
     704             : !-----------------------------------------------------------------------
     705             : ! ... Local variables
     706             : !-----------------------------------------------------------------------
     707             :       integer :: k
     708             : !-----------------------------------------------------------------------
     709             : ! ... solve L * y = b
     710             : !-----------------------------------------------------------------------
     711   145586232 :       do k = 1,avec_len
     712   141174528 :          b(k,214) = b(k,214) - lu(k,961) * b(k,212)
     713   141174528 :          b(k,221) = b(k,221) - lu(k,962) * b(k,212)
     714   141174528 :          b(k,241) = b(k,241) - lu(k,963) * b(k,212)
     715   141174528 :          b(k,247) = b(k,247) - lu(k,964) * b(k,212)
     716   141174528 :          b(k,248) = b(k,248) - lu(k,965) * b(k,212)
     717   141174528 :          b(k,251) = b(k,251) - lu(k,966) * b(k,212)
     718   141174528 :          b(k,253) = b(k,253) - lu(k,967) * b(k,212)
     719   141174528 :          b(k,254) = b(k,254) - lu(k,968) * b(k,212)
     720   141174528 :          b(k,259) = b(k,259) - lu(k,969) * b(k,212)
     721   141174528 :          b(k,245) = b(k,245) - lu(k,973) * b(k,213)
     722   141174528 :          b(k,248) = b(k,248) - lu(k,974) * b(k,213)
     723   141174528 :          b(k,249) = b(k,249) - lu(k,975) * b(k,213)
     724   141174528 :          b(k,251) = b(k,251) - lu(k,976) * b(k,213)
     725   141174528 :          b(k,255) = b(k,255) - lu(k,977) * b(k,213)
     726   141174528 :          b(k,256) = b(k,256) - lu(k,978) * b(k,213)
     727   141174528 :          b(k,257) = b(k,257) - lu(k,979) * b(k,213)
     728   141174528 :          b(k,260) = b(k,260) - lu(k,980) * b(k,213)
     729   141174528 :          b(k,261) = b(k,261) - lu(k,981) * b(k,213)
     730   141174528 :          b(k,230) = b(k,230) - lu(k,983) * b(k,214)
     731   141174528 :          b(k,241) = b(k,241) - lu(k,984) * b(k,214)
     732   141174528 :          b(k,251) = b(k,251) - lu(k,985) * b(k,214)
     733   141174528 :          b(k,254) = b(k,254) - lu(k,986) * b(k,214)
     734   141174528 :          b(k,261) = b(k,261) - lu(k,987) * b(k,214)
     735   141174528 :          b(k,225) = b(k,225) - lu(k,990) * b(k,215)
     736   141174528 :          b(k,249) = b(k,249) - lu(k,991) * b(k,215)
     737   141174528 :          b(k,251) = b(k,251) - lu(k,992) * b(k,215)
     738   141174528 :          b(k,259) = b(k,259) - lu(k,993) * b(k,215)
     739   141174528 :          b(k,261) = b(k,261) - lu(k,994) * b(k,215)
     740   141174528 :          b(k,225) = b(k,225) - lu(k,998) * b(k,216)
     741   141174528 :          b(k,249) = b(k,249) - lu(k,999) * b(k,216)
     742   141174528 :          b(k,251) = b(k,251) - lu(k,1000) * b(k,216)
     743   141174528 :          b(k,259) = b(k,259) - lu(k,1001) * b(k,216)
     744   141174528 :          b(k,218) = b(k,218) - lu(k,1016) * b(k,217)
     745   141174528 :          b(k,221) = b(k,221) - lu(k,1017) * b(k,217)
     746   141174528 :          b(k,223) = b(k,223) - lu(k,1018) * b(k,217)
     747   141174528 :          b(k,224) = b(k,224) - lu(k,1019) * b(k,217)
     748   141174528 :          b(k,225) = b(k,225) - lu(k,1020) * b(k,217)
     749   141174528 :          b(k,229) = b(k,229) - lu(k,1021) * b(k,217)
     750   141174528 :          b(k,230) = b(k,230) - lu(k,1022) * b(k,217)
     751   141174528 :          b(k,234) = b(k,234) - lu(k,1023) * b(k,217)
     752   141174528 :          b(k,241) = b(k,241) - lu(k,1024) * b(k,217)
     753   141174528 :          b(k,247) = b(k,247) - lu(k,1025) * b(k,217)
     754   141174528 :          b(k,248) = b(k,248) - lu(k,1026) * b(k,217)
     755   141174528 :          b(k,249) = b(k,249) - lu(k,1027) * b(k,217)
     756   141174528 :          b(k,251) = b(k,251) - lu(k,1028) * b(k,217)
     757   141174528 :          b(k,253) = b(k,253) - lu(k,1029) * b(k,217)
     758   141174528 :          b(k,254) = b(k,254) - lu(k,1030) * b(k,217)
     759   141174528 :          b(k,256) = b(k,256) - lu(k,1031) * b(k,217)
     760   141174528 :          b(k,258) = b(k,258) - lu(k,1032) * b(k,217)
     761   141174528 :          b(k,259) = b(k,259) - lu(k,1033) * b(k,217)
     762   141174528 :          b(k,261) = b(k,261) - lu(k,1034) * b(k,217)
     763   141174528 :          b(k,223) = b(k,223) - lu(k,1036) * b(k,218)
     764   141174528 :          b(k,224) = b(k,224) - lu(k,1037) * b(k,218)
     765   141174528 :          b(k,225) = b(k,225) - lu(k,1038) * b(k,218)
     766   141174528 :          b(k,228) = b(k,228) - lu(k,1039) * b(k,218)
     767   141174528 :          b(k,251) = b(k,251) - lu(k,1040) * b(k,218)
     768   141174528 :          b(k,256) = b(k,256) - lu(k,1041) * b(k,218)
     769   141174528 :          b(k,259) = b(k,259) - lu(k,1042) * b(k,218)
     770   141174528 :          b(k,221) = b(k,221) - lu(k,1049) * b(k,219)
     771   141174528 :          b(k,225) = b(k,225) - lu(k,1050) * b(k,219)
     772   141174528 :          b(k,227) = b(k,227) - lu(k,1051) * b(k,219)
     773   141174528 :          b(k,234) = b(k,234) - lu(k,1052) * b(k,219)
     774   141174528 :          b(k,241) = b(k,241) - lu(k,1053) * b(k,219)
     775   141174528 :          b(k,244) = b(k,244) - lu(k,1054) * b(k,219)
     776   141174528 :          b(k,247) = b(k,247) - lu(k,1055) * b(k,219)
     777   141174528 :          b(k,248) = b(k,248) - lu(k,1056) * b(k,219)
     778   141174528 :          b(k,249) = b(k,249) - lu(k,1057) * b(k,219)
     779   141174528 :          b(k,251) = b(k,251) - lu(k,1058) * b(k,219)
     780   141174528 :          b(k,253) = b(k,253) - lu(k,1059) * b(k,219)
     781   141174528 :          b(k,254) = b(k,254) - lu(k,1060) * b(k,219)
     782   141174528 :          b(k,256) = b(k,256) - lu(k,1061) * b(k,219)
     783   141174528 :          b(k,258) = b(k,258) - lu(k,1062) * b(k,219)
     784   141174528 :          b(k,259) = b(k,259) - lu(k,1063) * b(k,219)
     785   141174528 :          b(k,261) = b(k,261) - lu(k,1064) * b(k,219)
     786   141174528 :          b(k,225) = b(k,225) - lu(k,1070) * b(k,220)
     787   141174528 :          b(k,234) = b(k,234) - lu(k,1071) * b(k,220)
     788   141174528 :          b(k,241) = b(k,241) - lu(k,1072) * b(k,220)
     789   141174528 :          b(k,245) = b(k,245) - lu(k,1073) * b(k,220)
     790   141174528 :          b(k,247) = b(k,247) - lu(k,1074) * b(k,220)
     791   141174528 :          b(k,248) = b(k,248) - lu(k,1075) * b(k,220)
     792   141174528 :          b(k,249) = b(k,249) - lu(k,1076) * b(k,220)
     793   141174528 :          b(k,251) = b(k,251) - lu(k,1077) * b(k,220)
     794   141174528 :          b(k,253) = b(k,253) - lu(k,1078) * b(k,220)
     795   141174528 :          b(k,254) = b(k,254) - lu(k,1079) * b(k,220)
     796   141174528 :          b(k,259) = b(k,259) - lu(k,1080) * b(k,220)
     797   141174528 :          b(k,225) = b(k,225) - lu(k,1082) * b(k,221)
     798   141174528 :          b(k,241) = b(k,241) - lu(k,1083) * b(k,221)
     799   141174528 :          b(k,245) = b(k,245) - lu(k,1084) * b(k,221)
     800   141174528 :          b(k,251) = b(k,251) - lu(k,1085) * b(k,221)
     801   141174528 :          b(k,254) = b(k,254) - lu(k,1086) * b(k,221)
     802   141174528 :          b(k,256) = b(k,256) - lu(k,1087) * b(k,221)
     803   141174528 :          b(k,259) = b(k,259) - lu(k,1088) * b(k,221)
     804   141174528 :          b(k,261) = b(k,261) - lu(k,1089) * b(k,221)
     805   141174528 :          b(k,225) = b(k,225) - lu(k,1093) * b(k,222)
     806   141174528 :          b(k,247) = b(k,247) - lu(k,1094) * b(k,222)
     807   141174528 :          b(k,249) = b(k,249) - lu(k,1095) * b(k,222)
     808   141174528 :          b(k,251) = b(k,251) - lu(k,1096) * b(k,222)
     809   141174528 :          b(k,259) = b(k,259) - lu(k,1097) * b(k,222)
     810   141174528 :          b(k,224) = b(k,224) - lu(k,1103) * b(k,223)
     811   141174528 :          b(k,225) = b(k,225) - lu(k,1104) * b(k,223)
     812   141174528 :          b(k,228) = b(k,228) - lu(k,1105) * b(k,223)
     813   141174528 :          b(k,245) = b(k,245) - lu(k,1106) * b(k,223)
     814   141174528 :          b(k,247) = b(k,247) - lu(k,1107) * b(k,223)
     815   141174528 :          b(k,248) = b(k,248) - lu(k,1108) * b(k,223)
     816   141174528 :          b(k,251) = b(k,251) - lu(k,1109) * b(k,223)
     817   141174528 :          b(k,253) = b(k,253) - lu(k,1110) * b(k,223)
     818   141174528 :          b(k,254) = b(k,254) - lu(k,1111) * b(k,223)
     819   141174528 :          b(k,256) = b(k,256) - lu(k,1112) * b(k,223)
     820   141174528 :          b(k,259) = b(k,259) - lu(k,1113) * b(k,223)
     821   141174528 :          b(k,225) = b(k,225) - lu(k,1117) * b(k,224)
     822   141174528 :          b(k,230) = b(k,230) - lu(k,1118) * b(k,224)
     823   141174528 :          b(k,241) = b(k,241) - lu(k,1119) * b(k,224)
     824   141174528 :          b(k,247) = b(k,247) - lu(k,1120) * b(k,224)
     825   141174528 :          b(k,249) = b(k,249) - lu(k,1121) * b(k,224)
     826   141174528 :          b(k,251) = b(k,251) - lu(k,1122) * b(k,224)
     827   141174528 :          b(k,254) = b(k,254) - lu(k,1123) * b(k,224)
     828   141174528 :          b(k,259) = b(k,259) - lu(k,1124) * b(k,224)
     829   141174528 :          b(k,261) = b(k,261) - lu(k,1125) * b(k,224)
     830   141174528 :          b(k,249) = b(k,249) - lu(k,1128) * b(k,225)
     831   141174528 :          b(k,251) = b(k,251) - lu(k,1129) * b(k,225)
     832   141174528 :          b(k,259) = b(k,259) - lu(k,1130) * b(k,225)
     833   141174528 :          b(k,227) = b(k,227) - lu(k,1137) * b(k,226)
     834   141174528 :          b(k,230) = b(k,230) - lu(k,1138) * b(k,226)
     835   141174528 :          b(k,241) = b(k,241) - lu(k,1139) * b(k,226)
     836   141174528 :          b(k,245) = b(k,245) - lu(k,1140) * b(k,226)
     837   141174528 :          b(k,247) = b(k,247) - lu(k,1141) * b(k,226)
     838   141174528 :          b(k,248) = b(k,248) - lu(k,1142) * b(k,226)
     839   141174528 :          b(k,249) = b(k,249) - lu(k,1143) * b(k,226)
     840   141174528 :          b(k,251) = b(k,251) - lu(k,1144) * b(k,226)
     841   141174528 :          b(k,254) = b(k,254) - lu(k,1145) * b(k,226)
     842   141174528 :          b(k,256) = b(k,256) - lu(k,1146) * b(k,226)
     843   141174528 :          b(k,259) = b(k,259) - lu(k,1147) * b(k,226)
     844   141174528 :          b(k,261) = b(k,261) - lu(k,1148) * b(k,226)
     845   141174528 :          b(k,234) = b(k,234) - lu(k,1150) * b(k,227)
     846   141174528 :          b(k,241) = b(k,241) - lu(k,1151) * b(k,227)
     847   141174528 :          b(k,247) = b(k,247) - lu(k,1152) * b(k,227)
     848   141174528 :          b(k,251) = b(k,251) - lu(k,1153) * b(k,227)
     849   141174528 :          b(k,259) = b(k,259) - lu(k,1154) * b(k,227)
     850   141174528 :          b(k,230) = b(k,230) - lu(k,1164) * b(k,228)
     851   141174528 :          b(k,241) = b(k,241) - lu(k,1165) * b(k,228)
     852   141174528 :          b(k,245) = b(k,245) - lu(k,1166) * b(k,228)
     853   141174528 :          b(k,247) = b(k,247) - lu(k,1167) * b(k,228)
     854   141174528 :          b(k,248) = b(k,248) - lu(k,1168) * b(k,228)
     855   141174528 :          b(k,249) = b(k,249) - lu(k,1169) * b(k,228)
     856   141174528 :          b(k,251) = b(k,251) - lu(k,1170) * b(k,228)
     857   141174528 :          b(k,253) = b(k,253) - lu(k,1171) * b(k,228)
     858   141174528 :          b(k,254) = b(k,254) - lu(k,1172) * b(k,228)
     859   141174528 :          b(k,259) = b(k,259) - lu(k,1173) * b(k,228)
     860   141174528 :          b(k,261) = b(k,261) - lu(k,1174) * b(k,228)
     861   141174528 :          b(k,230) = b(k,230) - lu(k,1185) * b(k,229)
     862   141174528 :          b(k,241) = b(k,241) - lu(k,1186) * b(k,229)
     863   141174528 :          b(k,245) = b(k,245) - lu(k,1187) * b(k,229)
     864   141174528 :          b(k,247) = b(k,247) - lu(k,1188) * b(k,229)
     865   141174528 :          b(k,248) = b(k,248) - lu(k,1189) * b(k,229)
     866   141174528 :          b(k,249) = b(k,249) - lu(k,1190) * b(k,229)
     867   141174528 :          b(k,251) = b(k,251) - lu(k,1191) * b(k,229)
     868   141174528 :          b(k,253) = b(k,253) - lu(k,1192) * b(k,229)
     869   141174528 :          b(k,254) = b(k,254) - lu(k,1193) * b(k,229)
     870   141174528 :          b(k,256) = b(k,256) - lu(k,1194) * b(k,229)
     871   141174528 :          b(k,259) = b(k,259) - lu(k,1195) * b(k,229)
     872   141174528 :          b(k,261) = b(k,261) - lu(k,1196) * b(k,229)
     873   141174528 :          b(k,234) = b(k,234) - lu(k,1201) * b(k,230)
     874   141174528 :          b(k,241) = b(k,241) - lu(k,1202) * b(k,230)
     875   141174528 :          b(k,247) = b(k,247) - lu(k,1203) * b(k,230)
     876   141174528 :          b(k,248) = b(k,248) - lu(k,1204) * b(k,230)
     877   141174528 :          b(k,251) = b(k,251) - lu(k,1205) * b(k,230)
     878   141174528 :          b(k,253) = b(k,253) - lu(k,1206) * b(k,230)
     879   141174528 :          b(k,254) = b(k,254) - lu(k,1207) * b(k,230)
     880   141174528 :          b(k,259) = b(k,259) - lu(k,1208) * b(k,230)
     881   141174528 :          b(k,261) = b(k,261) - lu(k,1209) * b(k,230)
     882   141174528 :          b(k,234) = b(k,234) - lu(k,1218) * b(k,231)
     883   141174528 :          b(k,241) = b(k,241) - lu(k,1219) * b(k,231)
     884   141174528 :          b(k,247) = b(k,247) - lu(k,1220) * b(k,231)
     885   141174528 :          b(k,248) = b(k,248) - lu(k,1221) * b(k,231)
     886   141174528 :          b(k,249) = b(k,249) - lu(k,1222) * b(k,231)
     887   141174528 :          b(k,251) = b(k,251) - lu(k,1223) * b(k,231)
     888   141174528 :          b(k,253) = b(k,253) - lu(k,1224) * b(k,231)
     889   141174528 :          b(k,254) = b(k,254) - lu(k,1225) * b(k,231)
     890   141174528 :          b(k,256) = b(k,256) - lu(k,1226) * b(k,231)
     891   141174528 :          b(k,259) = b(k,259) - lu(k,1227) * b(k,231)
     892   141174528 :          b(k,233) = b(k,233) - lu(k,1238) * b(k,232)
     893   141174528 :          b(k,234) = b(k,234) - lu(k,1239) * b(k,232)
     894   141174528 :          b(k,239) = b(k,239) - lu(k,1240) * b(k,232)
     895   141174528 :          b(k,241) = b(k,241) - lu(k,1241) * b(k,232)
     896   141174528 :          b(k,245) = b(k,245) - lu(k,1242) * b(k,232)
     897   141174528 :          b(k,247) = b(k,247) - lu(k,1243) * b(k,232)
     898   141174528 :          b(k,248) = b(k,248) - lu(k,1244) * b(k,232)
     899   141174528 :          b(k,249) = b(k,249) - lu(k,1245) * b(k,232)
     900   141174528 :          b(k,251) = b(k,251) - lu(k,1246) * b(k,232)
     901   141174528 :          b(k,253) = b(k,253) - lu(k,1247) * b(k,232)
     902   141174528 :          b(k,254) = b(k,254) - lu(k,1248) * b(k,232)
     903   141174528 :          b(k,256) = b(k,256) - lu(k,1249) * b(k,232)
     904   141174528 :          b(k,259) = b(k,259) - lu(k,1250) * b(k,232)
     905   141174528 :          b(k,234) = b(k,234) - lu(k,1254) * b(k,233)
     906   141174528 :          b(k,238) = b(k,238) - lu(k,1255) * b(k,233)
     907   141174528 :          b(k,240) = b(k,240) - lu(k,1256) * b(k,233)
     908   141174528 :          b(k,241) = b(k,241) - lu(k,1257) * b(k,233)
     909   141174528 :          b(k,247) = b(k,247) - lu(k,1258) * b(k,233)
     910   141174528 :          b(k,249) = b(k,249) - lu(k,1259) * b(k,233)
     911   141174528 :          b(k,251) = b(k,251) - lu(k,1260) * b(k,233)
     912   141174528 :          b(k,258) = b(k,258) - lu(k,1261) * b(k,233)
     913   141174528 :          b(k,259) = b(k,259) - lu(k,1262) * b(k,233)
     914   145586232 :          b(k,261) = b(k,261) - lu(k,1263) * b(k,233)
     915             :       end do
     916     4411704 :       end subroutine lu_slv04
     917     4411704 :       subroutine lu_slv05( avec_len, lu, b )
     918             :       use shr_kind_mod, only : r8 => shr_kind_r8
     919             :       use chem_mods, only : clscnt4, nzcnt
     920             :       implicit none
     921             : !-----------------------------------------------------------------------
     922             : ! ... Dummy args
     923             : !-----------------------------------------------------------------------
     924             :       integer, intent(in) :: avec_len
     925             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
     926             :       real(r8), intent(inout) :: b(veclen,clscnt4)
     927             : !-----------------------------------------------------------------------
     928             : ! ... Local variables
     929             : !-----------------------------------------------------------------------
     930             :       integer :: k
     931             : !-----------------------------------------------------------------------
     932             : ! ... solve L * y = b
     933             : !-----------------------------------------------------------------------
     934   145586232 :       do k = 1,avec_len
     935   141174528 :          b(k,241) = b(k,241) - lu(k,1266) * b(k,234)
     936   141174528 :          b(k,245) = b(k,245) - lu(k,1267) * b(k,234)
     937   141174528 :          b(k,249) = b(k,249) - lu(k,1268) * b(k,234)
     938   141174528 :          b(k,251) = b(k,251) - lu(k,1269) * b(k,234)
     939   141174528 :          b(k,256) = b(k,256) - lu(k,1270) * b(k,234)
     940   141174528 :          b(k,259) = b(k,259) - lu(k,1271) * b(k,234)
     941   141174528 :          b(k,261) = b(k,261) - lu(k,1272) * b(k,234)
     942   141174528 :          b(k,243) = b(k,243) - lu(k,1277) * b(k,235)
     943   141174528 :          b(k,246) = b(k,246) - lu(k,1278) * b(k,235)
     944   141174528 :          b(k,248) = b(k,248) - lu(k,1279) * b(k,235)
     945   141174528 :          b(k,249) = b(k,249) - lu(k,1280) * b(k,235)
     946   141174528 :          b(k,251) = b(k,251) - lu(k,1281) * b(k,235)
     947   141174528 :          b(k,252) = b(k,252) - lu(k,1282) * b(k,235)
     948   141174528 :          b(k,253) = b(k,253) - lu(k,1283) * b(k,235)
     949   141174528 :          b(k,257) = b(k,257) - lu(k,1284) * b(k,235)
     950   141174528 :          b(k,258) = b(k,258) - lu(k,1285) * b(k,235)
     951   141174528 :          b(k,259) = b(k,259) - lu(k,1286) * b(k,235)
     952   141174528 :          b(k,260) = b(k,260) - lu(k,1287) * b(k,235)
     953   141174528 :          b(k,261) = b(k,261) - lu(k,1288) * b(k,235)
     954   141174528 :          b(k,238) = b(k,238) - lu(k,1302) * b(k,236)
     955   141174528 :          b(k,239) = b(k,239) - lu(k,1303) * b(k,236)
     956   141174528 :          b(k,240) = b(k,240) - lu(k,1304) * b(k,236)
     957   141174528 :          b(k,241) = b(k,241) - lu(k,1305) * b(k,236)
     958   141174528 :          b(k,245) = b(k,245) - lu(k,1306) * b(k,236)
     959   141174528 :          b(k,247) = b(k,247) - lu(k,1307) * b(k,236)
     960   141174528 :          b(k,248) = b(k,248) - lu(k,1308) * b(k,236)
     961   141174528 :          b(k,249) = b(k,249) - lu(k,1309) * b(k,236)
     962   141174528 :          b(k,251) = b(k,251) - lu(k,1310) * b(k,236)
     963   141174528 :          b(k,253) = b(k,253) - lu(k,1311) * b(k,236)
     964   141174528 :          b(k,254) = b(k,254) - lu(k,1312) * b(k,236)
     965   141174528 :          b(k,256) = b(k,256) - lu(k,1313) * b(k,236)
     966   141174528 :          b(k,258) = b(k,258) - lu(k,1314) * b(k,236)
     967   141174528 :          b(k,259) = b(k,259) - lu(k,1315) * b(k,236)
     968   141174528 :          b(k,261) = b(k,261) - lu(k,1316) * b(k,236)
     969   141174528 :          b(k,238) = b(k,238) - lu(k,1335) * b(k,237)
     970   141174528 :          b(k,239) = b(k,239) - lu(k,1336) * b(k,237)
     971   141174528 :          b(k,240) = b(k,240) - lu(k,1337) * b(k,237)
     972   141174528 :          b(k,241) = b(k,241) - lu(k,1338) * b(k,237)
     973   141174528 :          b(k,245) = b(k,245) - lu(k,1339) * b(k,237)
     974   141174528 :          b(k,247) = b(k,247) - lu(k,1340) * b(k,237)
     975   141174528 :          b(k,248) = b(k,248) - lu(k,1341) * b(k,237)
     976   141174528 :          b(k,249) = b(k,249) - lu(k,1342) * b(k,237)
     977   141174528 :          b(k,251) = b(k,251) - lu(k,1343) * b(k,237)
     978   141174528 :          b(k,253) = b(k,253) - lu(k,1344) * b(k,237)
     979   141174528 :          b(k,254) = b(k,254) - lu(k,1345) * b(k,237)
     980   141174528 :          b(k,256) = b(k,256) - lu(k,1346) * b(k,237)
     981   141174528 :          b(k,258) = b(k,258) - lu(k,1347) * b(k,237)
     982   141174528 :          b(k,259) = b(k,259) - lu(k,1348) * b(k,237)
     983   141174528 :          b(k,261) = b(k,261) - lu(k,1349) * b(k,237)
     984   141174528 :          b(k,240) = b(k,240) - lu(k,1359) * b(k,238)
     985   141174528 :          b(k,241) = b(k,241) - lu(k,1360) * b(k,238)
     986   141174528 :          b(k,245) = b(k,245) - lu(k,1361) * b(k,238)
     987   141174528 :          b(k,247) = b(k,247) - lu(k,1362) * b(k,238)
     988   141174528 :          b(k,248) = b(k,248) - lu(k,1363) * b(k,238)
     989   141174528 :          b(k,249) = b(k,249) - lu(k,1364) * b(k,238)
     990   141174528 :          b(k,251) = b(k,251) - lu(k,1365) * b(k,238)
     991   141174528 :          b(k,253) = b(k,253) - lu(k,1366) * b(k,238)
     992   141174528 :          b(k,254) = b(k,254) - lu(k,1367) * b(k,238)
     993   141174528 :          b(k,256) = b(k,256) - lu(k,1368) * b(k,238)
     994   141174528 :          b(k,259) = b(k,259) - lu(k,1369) * b(k,238)
     995   141174528 :          b(k,261) = b(k,261) - lu(k,1370) * b(k,238)
     996   141174528 :          b(k,240) = b(k,240) - lu(k,1380) * b(k,239)
     997   141174528 :          b(k,241) = b(k,241) - lu(k,1381) * b(k,239)
     998   141174528 :          b(k,244) = b(k,244) - lu(k,1382) * b(k,239)
     999   141174528 :          b(k,245) = b(k,245) - lu(k,1383) * b(k,239)
    1000   141174528 :          b(k,247) = b(k,247) - lu(k,1384) * b(k,239)
    1001   141174528 :          b(k,248) = b(k,248) - lu(k,1385) * b(k,239)
    1002   141174528 :          b(k,249) = b(k,249) - lu(k,1386) * b(k,239)
    1003   141174528 :          b(k,251) = b(k,251) - lu(k,1387) * b(k,239)
    1004   141174528 :          b(k,253) = b(k,253) - lu(k,1388) * b(k,239)
    1005   141174528 :          b(k,254) = b(k,254) - lu(k,1389) * b(k,239)
    1006   141174528 :          b(k,256) = b(k,256) - lu(k,1390) * b(k,239)
    1007   141174528 :          b(k,258) = b(k,258) - lu(k,1391) * b(k,239)
    1008   141174528 :          b(k,259) = b(k,259) - lu(k,1392) * b(k,239)
    1009   141174528 :          b(k,261) = b(k,261) - lu(k,1393) * b(k,239)
    1010   141174528 :          b(k,241) = b(k,241) - lu(k,1402) * b(k,240)
    1011   141174528 :          b(k,245) = b(k,245) - lu(k,1403) * b(k,240)
    1012   141174528 :          b(k,247) = b(k,247) - lu(k,1404) * b(k,240)
    1013   141174528 :          b(k,248) = b(k,248) - lu(k,1405) * b(k,240)
    1014   141174528 :          b(k,249) = b(k,249) - lu(k,1406) * b(k,240)
    1015   141174528 :          b(k,251) = b(k,251) - lu(k,1407) * b(k,240)
    1016   141174528 :          b(k,253) = b(k,253) - lu(k,1408) * b(k,240)
    1017   141174528 :          b(k,254) = b(k,254) - lu(k,1409) * b(k,240)
    1018   141174528 :          b(k,256) = b(k,256) - lu(k,1410) * b(k,240)
    1019   141174528 :          b(k,258) = b(k,258) - lu(k,1411) * b(k,240)
    1020   141174528 :          b(k,259) = b(k,259) - lu(k,1412) * b(k,240)
    1021   141174528 :          b(k,261) = b(k,261) - lu(k,1413) * b(k,240)
    1022   141174528 :          b(k,244) = b(k,244) - lu(k,1434) * b(k,241)
    1023   141174528 :          b(k,245) = b(k,245) - lu(k,1435) * b(k,241)
    1024   141174528 :          b(k,247) = b(k,247) - lu(k,1436) * b(k,241)
    1025   141174528 :          b(k,248) = b(k,248) - lu(k,1437) * b(k,241)
    1026   141174528 :          b(k,249) = b(k,249) - lu(k,1438) * b(k,241)
    1027   141174528 :          b(k,251) = b(k,251) - lu(k,1439) * b(k,241)
    1028   141174528 :          b(k,253) = b(k,253) - lu(k,1440) * b(k,241)
    1029   141174528 :          b(k,254) = b(k,254) - lu(k,1441) * b(k,241)
    1030   141174528 :          b(k,256) = b(k,256) - lu(k,1442) * b(k,241)
    1031   141174528 :          b(k,258) = b(k,258) - lu(k,1443) * b(k,241)
    1032   141174528 :          b(k,259) = b(k,259) - lu(k,1444) * b(k,241)
    1033   141174528 :          b(k,261) = b(k,261) - lu(k,1445) * b(k,241)
    1034   141174528 :          b(k,244) = b(k,244) - lu(k,1449) * b(k,242)
    1035   141174528 :          b(k,245) = b(k,245) - lu(k,1450) * b(k,242)
    1036   141174528 :          b(k,246) = b(k,246) - lu(k,1451) * b(k,242)
    1037   141174528 :          b(k,249) = b(k,249) - lu(k,1452) * b(k,242)
    1038   141174528 :          b(k,250) = b(k,250) - lu(k,1453) * b(k,242)
    1039   141174528 :          b(k,251) = b(k,251) - lu(k,1454) * b(k,242)
    1040   141174528 :          b(k,254) = b(k,254) - lu(k,1455) * b(k,242)
    1041   141174528 :          b(k,255) = b(k,255) - lu(k,1456) * b(k,242)
    1042   141174528 :          b(k,256) = b(k,256) - lu(k,1457) * b(k,242)
    1043   141174528 :          b(k,257) = b(k,257) - lu(k,1458) * b(k,242)
    1044   141174528 :          b(k,261) = b(k,261) - lu(k,1459) * b(k,242)
    1045   141174528 :          b(k,246) = b(k,246) - lu(k,1463) * b(k,243)
    1046   141174528 :          b(k,247) = b(k,247) - lu(k,1464) * b(k,243)
    1047   141174528 :          b(k,249) = b(k,249) - lu(k,1465) * b(k,243)
    1048   141174528 :          b(k,250) = b(k,250) - lu(k,1466) * b(k,243)
    1049   141174528 :          b(k,251) = b(k,251) - lu(k,1467) * b(k,243)
    1050   141174528 :          b(k,252) = b(k,252) - lu(k,1468) * b(k,243)
    1051   141174528 :          b(k,258) = b(k,258) - lu(k,1469) * b(k,243)
    1052   141174528 :          b(k,259) = b(k,259) - lu(k,1470) * b(k,243)
    1053   141174528 :          b(k,261) = b(k,261) - lu(k,1471) * b(k,243)
    1054   141174528 :          b(k,245) = b(k,245) - lu(k,1478) * b(k,244)
    1055   141174528 :          b(k,246) = b(k,246) - lu(k,1479) * b(k,244)
    1056   141174528 :          b(k,247) = b(k,247) - lu(k,1480) * b(k,244)
    1057   141174528 :          b(k,249) = b(k,249) - lu(k,1481) * b(k,244)
    1058   141174528 :          b(k,250) = b(k,250) - lu(k,1482) * b(k,244)
    1059   141174528 :          b(k,251) = b(k,251) - lu(k,1483) * b(k,244)
    1060   141174528 :          b(k,254) = b(k,254) - lu(k,1484) * b(k,244)
    1061   141174528 :          b(k,255) = b(k,255) - lu(k,1485) * b(k,244)
    1062   141174528 :          b(k,256) = b(k,256) - lu(k,1486) * b(k,244)
    1063   141174528 :          b(k,257) = b(k,257) - lu(k,1487) * b(k,244)
    1064   141174528 :          b(k,259) = b(k,259) - lu(k,1488) * b(k,244)
    1065   141174528 :          b(k,261) = b(k,261) - lu(k,1489) * b(k,244)
    1066   141174528 :          b(k,246) = b(k,246) - lu(k,1495) * b(k,245)
    1067   141174528 :          b(k,247) = b(k,247) - lu(k,1496) * b(k,245)
    1068   141174528 :          b(k,248) = b(k,248) - lu(k,1497) * b(k,245)
    1069   141174528 :          b(k,249) = b(k,249) - lu(k,1498) * b(k,245)
    1070   141174528 :          b(k,250) = b(k,250) - lu(k,1499) * b(k,245)
    1071   141174528 :          b(k,251) = b(k,251) - lu(k,1500) * b(k,245)
    1072   141174528 :          b(k,254) = b(k,254) - lu(k,1501) * b(k,245)
    1073   141174528 :          b(k,255) = b(k,255) - lu(k,1502) * b(k,245)
    1074   141174528 :          b(k,256) = b(k,256) - lu(k,1503) * b(k,245)
    1075   141174528 :          b(k,257) = b(k,257) - lu(k,1504) * b(k,245)
    1076   141174528 :          b(k,259) = b(k,259) - lu(k,1505) * b(k,245)
    1077   141174528 :          b(k,261) = b(k,261) - lu(k,1506) * b(k,245)
    1078   141174528 :          b(k,247) = b(k,247) - lu(k,1511) * b(k,246)
    1079   141174528 :          b(k,248) = b(k,248) - lu(k,1512) * b(k,246)
    1080   141174528 :          b(k,249) = b(k,249) - lu(k,1513) * b(k,246)
    1081   141174528 :          b(k,250) = b(k,250) - lu(k,1514) * b(k,246)
    1082   141174528 :          b(k,251) = b(k,251) - lu(k,1515) * b(k,246)
    1083   141174528 :          b(k,254) = b(k,254) - lu(k,1516) * b(k,246)
    1084   141174528 :          b(k,255) = b(k,255) - lu(k,1517) * b(k,246)
    1085   141174528 :          b(k,256) = b(k,256) - lu(k,1518) * b(k,246)
    1086   141174528 :          b(k,257) = b(k,257) - lu(k,1519) * b(k,246)
    1087   141174528 :          b(k,258) = b(k,258) - lu(k,1520) * b(k,246)
    1088   141174528 :          b(k,259) = b(k,259) - lu(k,1521) * b(k,246)
    1089   141174528 :          b(k,261) = b(k,261) - lu(k,1522) * b(k,246)
    1090   141174528 :          b(k,248) = b(k,248) - lu(k,1533) * b(k,247)
    1091   141174528 :          b(k,249) = b(k,249) - lu(k,1534) * b(k,247)
    1092   141174528 :          b(k,250) = b(k,250) - lu(k,1535) * b(k,247)
    1093   141174528 :          b(k,251) = b(k,251) - lu(k,1536) * b(k,247)
    1094   141174528 :          b(k,252) = b(k,252) - lu(k,1537) * b(k,247)
    1095   141174528 :          b(k,253) = b(k,253) - lu(k,1538) * b(k,247)
    1096   141174528 :          b(k,254) = b(k,254) - lu(k,1539) * b(k,247)
    1097   141174528 :          b(k,255) = b(k,255) - lu(k,1540) * b(k,247)
    1098   141174528 :          b(k,256) = b(k,256) - lu(k,1541) * b(k,247)
    1099   141174528 :          b(k,257) = b(k,257) - lu(k,1542) * b(k,247)
    1100   141174528 :          b(k,258) = b(k,258) - lu(k,1543) * b(k,247)
    1101   141174528 :          b(k,259) = b(k,259) - lu(k,1544) * b(k,247)
    1102   141174528 :          b(k,261) = b(k,261) - lu(k,1545) * b(k,247)
    1103   141174528 :          b(k,249) = b(k,249) - lu(k,1577) * b(k,248)
    1104   141174528 :          b(k,250) = b(k,250) - lu(k,1578) * b(k,248)
    1105   141174528 :          b(k,251) = b(k,251) - lu(k,1579) * b(k,248)
    1106   141174528 :          b(k,252) = b(k,252) - lu(k,1580) * b(k,248)
    1107   141174528 :          b(k,253) = b(k,253) - lu(k,1581) * b(k,248)
    1108   141174528 :          b(k,254) = b(k,254) - lu(k,1582) * b(k,248)
    1109   141174528 :          b(k,255) = b(k,255) - lu(k,1583) * b(k,248)
    1110   141174528 :          b(k,256) = b(k,256) - lu(k,1584) * b(k,248)
    1111   141174528 :          b(k,257) = b(k,257) - lu(k,1585) * b(k,248)
    1112   141174528 :          b(k,258) = b(k,258) - lu(k,1586) * b(k,248)
    1113   141174528 :          b(k,259) = b(k,259) - lu(k,1587) * b(k,248)
    1114   141174528 :          b(k,260) = b(k,260) - lu(k,1588) * b(k,248)
    1115   141174528 :          b(k,261) = b(k,261) - lu(k,1589) * b(k,248)
    1116   141174528 :          b(k,250) = b(k,250) - lu(k,1609) * b(k,249)
    1117   141174528 :          b(k,251) = b(k,251) - lu(k,1610) * b(k,249)
    1118   141174528 :          b(k,252) = b(k,252) - lu(k,1611) * b(k,249)
    1119   141174528 :          b(k,253) = b(k,253) - lu(k,1612) * b(k,249)
    1120   141174528 :          b(k,254) = b(k,254) - lu(k,1613) * b(k,249)
    1121   141174528 :          b(k,255) = b(k,255) - lu(k,1614) * b(k,249)
    1122   141174528 :          b(k,256) = b(k,256) - lu(k,1615) * b(k,249)
    1123   141174528 :          b(k,257) = b(k,257) - lu(k,1616) * b(k,249)
    1124   141174528 :          b(k,258) = b(k,258) - lu(k,1617) * b(k,249)
    1125   141174528 :          b(k,259) = b(k,259) - lu(k,1618) * b(k,249)
    1126   141174528 :          b(k,260) = b(k,260) - lu(k,1619) * b(k,249)
    1127   141174528 :          b(k,261) = b(k,261) - lu(k,1620) * b(k,249)
    1128   141174528 :          b(k,251) = b(k,251) - lu(k,1651) * b(k,250)
    1129   141174528 :          b(k,252) = b(k,252) - lu(k,1652) * b(k,250)
    1130   141174528 :          b(k,253) = b(k,253) - lu(k,1653) * b(k,250)
    1131   141174528 :          b(k,254) = b(k,254) - lu(k,1654) * b(k,250)
    1132   141174528 :          b(k,255) = b(k,255) - lu(k,1655) * b(k,250)
    1133   141174528 :          b(k,256) = b(k,256) - lu(k,1656) * b(k,250)
    1134   141174528 :          b(k,257) = b(k,257) - lu(k,1657) * b(k,250)
    1135   141174528 :          b(k,258) = b(k,258) - lu(k,1658) * b(k,250)
    1136   141174528 :          b(k,259) = b(k,259) - lu(k,1659) * b(k,250)
    1137   141174528 :          b(k,260) = b(k,260) - lu(k,1660) * b(k,250)
    1138   145586232 :          b(k,261) = b(k,261) - lu(k,1661) * b(k,250)
    1139             :       end do
    1140     4411704 :       end subroutine lu_slv05
    1141     4411704 :       subroutine lu_slv06( avec_len, lu, b )
    1142             :       use shr_kind_mod, only : r8 => shr_kind_r8
    1143             :       use chem_mods, only : clscnt4, nzcnt
    1144             :       implicit none
    1145             : !-----------------------------------------------------------------------
    1146             : ! ... Dummy args
    1147             : !-----------------------------------------------------------------------
    1148             :       integer, intent(in) :: avec_len
    1149             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    1150             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    1151             : !-----------------------------------------------------------------------
    1152             : ! ... Local variables
    1153             : !-----------------------------------------------------------------------
    1154             :       integer :: k
    1155             : !-----------------------------------------------------------------------
    1156             : ! ... solve L * y = b
    1157             : !-----------------------------------------------------------------------
    1158   145586232 :       do k = 1,avec_len
    1159   141174528 :          b(k,252) = b(k,252) - lu(k,1824) * b(k,251)
    1160   141174528 :          b(k,253) = b(k,253) - lu(k,1825) * b(k,251)
    1161   141174528 :          b(k,254) = b(k,254) - lu(k,1826) * b(k,251)
    1162   141174528 :          b(k,255) = b(k,255) - lu(k,1827) * b(k,251)
    1163   141174528 :          b(k,256) = b(k,256) - lu(k,1828) * b(k,251)
    1164   141174528 :          b(k,257) = b(k,257) - lu(k,1829) * b(k,251)
    1165   141174528 :          b(k,258) = b(k,258) - lu(k,1830) * b(k,251)
    1166   141174528 :          b(k,259) = b(k,259) - lu(k,1831) * b(k,251)
    1167   141174528 :          b(k,260) = b(k,260) - lu(k,1832) * b(k,251)
    1168   141174528 :          b(k,261) = b(k,261) - lu(k,1833) * b(k,251)
    1169   141174528 :          b(k,253) = b(k,253) - lu(k,1849) * b(k,252)
    1170   141174528 :          b(k,254) = b(k,254) - lu(k,1850) * b(k,252)
    1171   141174528 :          b(k,255) = b(k,255) - lu(k,1851) * b(k,252)
    1172   141174528 :          b(k,256) = b(k,256) - lu(k,1852) * b(k,252)
    1173   141174528 :          b(k,257) = b(k,257) - lu(k,1853) * b(k,252)
    1174   141174528 :          b(k,258) = b(k,258) - lu(k,1854) * b(k,252)
    1175   141174528 :          b(k,259) = b(k,259) - lu(k,1855) * b(k,252)
    1176   141174528 :          b(k,260) = b(k,260) - lu(k,1856) * b(k,252)
    1177   141174528 :          b(k,261) = b(k,261) - lu(k,1857) * b(k,252)
    1178   141174528 :          b(k,254) = b(k,254) - lu(k,1953) * b(k,253)
    1179   141174528 :          b(k,255) = b(k,255) - lu(k,1954) * b(k,253)
    1180   141174528 :          b(k,256) = b(k,256) - lu(k,1955) * b(k,253)
    1181   141174528 :          b(k,257) = b(k,257) - lu(k,1956) * b(k,253)
    1182   141174528 :          b(k,258) = b(k,258) - lu(k,1957) * b(k,253)
    1183   141174528 :          b(k,259) = b(k,259) - lu(k,1958) * b(k,253)
    1184   141174528 :          b(k,260) = b(k,260) - lu(k,1959) * b(k,253)
    1185   141174528 :          b(k,261) = b(k,261) - lu(k,1960) * b(k,253)
    1186   141174528 :          b(k,255) = b(k,255) - lu(k,2006) * b(k,254)
    1187   141174528 :          b(k,256) = b(k,256) - lu(k,2007) * b(k,254)
    1188   141174528 :          b(k,257) = b(k,257) - lu(k,2008) * b(k,254)
    1189   141174528 :          b(k,258) = b(k,258) - lu(k,2009) * b(k,254)
    1190   141174528 :          b(k,259) = b(k,259) - lu(k,2010) * b(k,254)
    1191   141174528 :          b(k,260) = b(k,260) - lu(k,2011) * b(k,254)
    1192   141174528 :          b(k,261) = b(k,261) - lu(k,2012) * b(k,254)
    1193   141174528 :          b(k,256) = b(k,256) - lu(k,2030) * b(k,255)
    1194   141174528 :          b(k,257) = b(k,257) - lu(k,2031) * b(k,255)
    1195   141174528 :          b(k,258) = b(k,258) - lu(k,2032) * b(k,255)
    1196   141174528 :          b(k,259) = b(k,259) - lu(k,2033) * b(k,255)
    1197   141174528 :          b(k,260) = b(k,260) - lu(k,2034) * b(k,255)
    1198   141174528 :          b(k,261) = b(k,261) - lu(k,2035) * b(k,255)
    1199   141174528 :          b(k,257) = b(k,257) - lu(k,2090) * b(k,256)
    1200   141174528 :          b(k,258) = b(k,258) - lu(k,2091) * b(k,256)
    1201   141174528 :          b(k,259) = b(k,259) - lu(k,2092) * b(k,256)
    1202   141174528 :          b(k,260) = b(k,260) - lu(k,2093) * b(k,256)
    1203   141174528 :          b(k,261) = b(k,261) - lu(k,2094) * b(k,256)
    1204   141174528 :          b(k,258) = b(k,258) - lu(k,2130) * b(k,257)
    1205   141174528 :          b(k,259) = b(k,259) - lu(k,2131) * b(k,257)
    1206   141174528 :          b(k,260) = b(k,260) - lu(k,2132) * b(k,257)
    1207   141174528 :          b(k,261) = b(k,261) - lu(k,2133) * b(k,257)
    1208   141174528 :          b(k,259) = b(k,259) - lu(k,2193) * b(k,258)
    1209   141174528 :          b(k,260) = b(k,260) - lu(k,2194) * b(k,258)
    1210   141174528 :          b(k,261) = b(k,261) - lu(k,2195) * b(k,258)
    1211   141174528 :          b(k,260) = b(k,260) - lu(k,2312) * b(k,259)
    1212   141174528 :          b(k,261) = b(k,261) - lu(k,2313) * b(k,259)
    1213   145586232 :          b(k,261) = b(k,261) - lu(k,2339) * b(k,260)
    1214             :       end do
    1215     4411704 :       end subroutine lu_slv06
    1216     4411704 :       subroutine lu_slv07( avec_len, lu, b )
    1217             :       use shr_kind_mod, only : r8 => shr_kind_r8
    1218             :       use chem_mods, only : clscnt4, nzcnt
    1219             :       implicit none
    1220             : !-----------------------------------------------------------------------
    1221             : ! ... Dummy args
    1222             : !-----------------------------------------------------------------------
    1223             :       integer, intent(in) :: avec_len
    1224             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    1225             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    1226             : !-----------------------------------------------------------------------
    1227             : ! ... Local variables
    1228             : !-----------------------------------------------------------------------
    1229             :       integer :: k
    1230             : !-----------------------------------------------------------------------
    1231             : ! ... solve L * y = b
    1232             : !-----------------------------------------------------------------------
    1233   145586232 :       do k = 1,avec_len
    1234             : !-----------------------------------------------------------------------
    1235             : ! ... Solve U * x = y
    1236             : !-----------------------------------------------------------------------
    1237   141174528 :          b(k,261) = b(k,261) * lu(k,2365)
    1238   141174528 :          b(k,260) = b(k,260) - lu(k,2364) * b(k,261)
    1239   141174528 :          b(k,259) = b(k,259) - lu(k,2363) * b(k,261)
    1240   141174528 :          b(k,258) = b(k,258) - lu(k,2362) * b(k,261)
    1241   141174528 :          b(k,257) = b(k,257) - lu(k,2361) * b(k,261)
    1242   141174528 :          b(k,256) = b(k,256) - lu(k,2360) * b(k,261)
    1243   141174528 :          b(k,255) = b(k,255) - lu(k,2359) * b(k,261)
    1244   141174528 :          b(k,254) = b(k,254) - lu(k,2358) * b(k,261)
    1245   141174528 :          b(k,253) = b(k,253) - lu(k,2357) * b(k,261)
    1246   141174528 :          b(k,252) = b(k,252) - lu(k,2356) * b(k,261)
    1247   141174528 :          b(k,251) = b(k,251) - lu(k,2355) * b(k,261)
    1248   141174528 :          b(k,250) = b(k,250) - lu(k,2354) * b(k,261)
    1249   141174528 :          b(k,249) = b(k,249) - lu(k,2353) * b(k,261)
    1250   141174528 :          b(k,248) = b(k,248) - lu(k,2352) * b(k,261)
    1251   141174528 :          b(k,247) = b(k,247) - lu(k,2351) * b(k,261)
    1252   141174528 :          b(k,246) = b(k,246) - lu(k,2350) * b(k,261)
    1253   141174528 :          b(k,245) = b(k,245) - lu(k,2349) * b(k,261)
    1254   141174528 :          b(k,244) = b(k,244) - lu(k,2348) * b(k,261)
    1255   141174528 :          b(k,243) = b(k,243) - lu(k,2347) * b(k,261)
    1256   141174528 :          b(k,242) = b(k,242) - lu(k,2346) * b(k,261)
    1257   141174528 :          b(k,235) = b(k,235) - lu(k,2345) * b(k,261)
    1258   141174528 :          b(k,209) = b(k,209) - lu(k,2344) * b(k,261)
    1259   141174528 :          b(k,208) = b(k,208) - lu(k,2343) * b(k,261)
    1260   141174528 :          b(k,133) = b(k,133) - lu(k,2342) * b(k,261)
    1261   141174528 :          b(k,125) = b(k,125) - lu(k,2341) * b(k,261)
    1262   141174528 :          b(k,103) = b(k,103) - lu(k,2340) * b(k,261)
    1263   141174528 :          b(k,260) = b(k,260) * lu(k,2338)
    1264   141174528 :          b(k,259) = b(k,259) - lu(k,2337) * b(k,260)
    1265   141174528 :          b(k,258) = b(k,258) - lu(k,2336) * b(k,260)
    1266   141174528 :          b(k,257) = b(k,257) - lu(k,2335) * b(k,260)
    1267   141174528 :          b(k,256) = b(k,256) - lu(k,2334) * b(k,260)
    1268   141174528 :          b(k,255) = b(k,255) - lu(k,2333) * b(k,260)
    1269   141174528 :          b(k,254) = b(k,254) - lu(k,2332) * b(k,260)
    1270   141174528 :          b(k,253) = b(k,253) - lu(k,2331) * b(k,260)
    1271   141174528 :          b(k,252) = b(k,252) - lu(k,2330) * b(k,260)
    1272   141174528 :          b(k,251) = b(k,251) - lu(k,2329) * b(k,260)
    1273   141174528 :          b(k,250) = b(k,250) - lu(k,2328) * b(k,260)
    1274   141174528 :          b(k,249) = b(k,249) - lu(k,2327) * b(k,260)
    1275   141174528 :          b(k,248) = b(k,248) - lu(k,2326) * b(k,260)
    1276   141174528 :          b(k,247) = b(k,247) - lu(k,2325) * b(k,260)
    1277   141174528 :          b(k,246) = b(k,246) - lu(k,2324) * b(k,260)
    1278   141174528 :          b(k,245) = b(k,245) - lu(k,2323) * b(k,260)
    1279   141174528 :          b(k,243) = b(k,243) - lu(k,2322) * b(k,260)
    1280   141174528 :          b(k,235) = b(k,235) - lu(k,2321) * b(k,260)
    1281   141174528 :          b(k,213) = b(k,213) - lu(k,2320) * b(k,260)
    1282   141174528 :          b(k,208) = b(k,208) - lu(k,2319) * b(k,260)
    1283   141174528 :          b(k,203) = b(k,203) - lu(k,2318) * b(k,260)
    1284   141174528 :          b(k,137) = b(k,137) - lu(k,2317) * b(k,260)
    1285   141174528 :          b(k,118) = b(k,118) - lu(k,2316) * b(k,260)
    1286   141174528 :          b(k,107) = b(k,107) - lu(k,2315) * b(k,260)
    1287   141174528 :          b(k,89) = b(k,89) - lu(k,2314) * b(k,260)
    1288   141174528 :          b(k,259) = b(k,259) * lu(k,2311)
    1289   141174528 :          b(k,258) = b(k,258) - lu(k,2310) * b(k,259)
    1290   141174528 :          b(k,257) = b(k,257) - lu(k,2309) * b(k,259)
    1291   141174528 :          b(k,256) = b(k,256) - lu(k,2308) * b(k,259)
    1292   141174528 :          b(k,255) = b(k,255) - lu(k,2307) * b(k,259)
    1293   141174528 :          b(k,254) = b(k,254) - lu(k,2306) * b(k,259)
    1294   141174528 :          b(k,253) = b(k,253) - lu(k,2305) * b(k,259)
    1295   141174528 :          b(k,252) = b(k,252) - lu(k,2304) * b(k,259)
    1296   141174528 :          b(k,251) = b(k,251) - lu(k,2303) * b(k,259)
    1297   141174528 :          b(k,250) = b(k,250) - lu(k,2302) * b(k,259)
    1298   141174528 :          b(k,249) = b(k,249) - lu(k,2301) * b(k,259)
    1299   141174528 :          b(k,248) = b(k,248) - lu(k,2300) * b(k,259)
    1300   141174528 :          b(k,247) = b(k,247) - lu(k,2299) * b(k,259)
    1301   141174528 :          b(k,246) = b(k,246) - lu(k,2298) * b(k,259)
    1302   141174528 :          b(k,245) = b(k,245) - lu(k,2297) * b(k,259)
    1303   141174528 :          b(k,244) = b(k,244) - lu(k,2296) * b(k,259)
    1304   141174528 :          b(k,243) = b(k,243) - lu(k,2295) * b(k,259)
    1305   141174528 :          b(k,242) = b(k,242) - lu(k,2294) * b(k,259)
    1306   141174528 :          b(k,241) = b(k,241) - lu(k,2293) * b(k,259)
    1307   141174528 :          b(k,240) = b(k,240) - lu(k,2292) * b(k,259)
    1308   141174528 :          b(k,239) = b(k,239) - lu(k,2291) * b(k,259)
    1309   141174528 :          b(k,238) = b(k,238) - lu(k,2290) * b(k,259)
    1310   141174528 :          b(k,237) = b(k,237) - lu(k,2289) * b(k,259)
    1311   141174528 :          b(k,236) = b(k,236) - lu(k,2288) * b(k,259)
    1312   141174528 :          b(k,234) = b(k,234) - lu(k,2287) * b(k,259)
    1313   141174528 :          b(k,233) = b(k,233) - lu(k,2286) * b(k,259)
    1314   141174528 :          b(k,232) = b(k,232) - lu(k,2285) * b(k,259)
    1315   141174528 :          b(k,231) = b(k,231) - lu(k,2284) * b(k,259)
    1316   141174528 :          b(k,230) = b(k,230) - lu(k,2283) * b(k,259)
    1317   141174528 :          b(k,229) = b(k,229) - lu(k,2282) * b(k,259)
    1318   141174528 :          b(k,228) = b(k,228) - lu(k,2281) * b(k,259)
    1319   141174528 :          b(k,227) = b(k,227) - lu(k,2280) * b(k,259)
    1320   141174528 :          b(k,225) = b(k,225) - lu(k,2279) * b(k,259)
    1321   141174528 :          b(k,224) = b(k,224) - lu(k,2278) * b(k,259)
    1322   141174528 :          b(k,223) = b(k,223) - lu(k,2277) * b(k,259)
    1323   141174528 :          b(k,222) = b(k,222) - lu(k,2276) * b(k,259)
    1324   141174528 :          b(k,221) = b(k,221) - lu(k,2275) * b(k,259)
    1325   141174528 :          b(k,218) = b(k,218) - lu(k,2274) * b(k,259)
    1326   141174528 :          b(k,216) = b(k,216) - lu(k,2273) * b(k,259)
    1327   141174528 :          b(k,215) = b(k,215) - lu(k,2272) * b(k,259)
    1328   141174528 :          b(k,214) = b(k,214) - lu(k,2271) * b(k,259)
    1329   141174528 :          b(k,212) = b(k,212) - lu(k,2270) * b(k,259)
    1330   141174528 :          b(k,210) = b(k,210) - lu(k,2269) * b(k,259)
    1331   141174528 :          b(k,207) = b(k,207) - lu(k,2268) * b(k,259)
    1332   141174528 :          b(k,205) = b(k,205) - lu(k,2267) * b(k,259)
    1333   141174528 :          b(k,204) = b(k,204) - lu(k,2266) * b(k,259)
    1334   141174528 :          b(k,203) = b(k,203) - lu(k,2265) * b(k,259)
    1335   141174528 :          b(k,202) = b(k,202) - lu(k,2264) * b(k,259)
    1336   141174528 :          b(k,201) = b(k,201) - lu(k,2263) * b(k,259)
    1337   141174528 :          b(k,199) = b(k,199) - lu(k,2262) * b(k,259)
    1338   141174528 :          b(k,198) = b(k,198) - lu(k,2261) * b(k,259)
    1339   141174528 :          b(k,197) = b(k,197) - lu(k,2260) * b(k,259)
    1340   141174528 :          b(k,196) = b(k,196) - lu(k,2259) * b(k,259)
    1341   141174528 :          b(k,195) = b(k,195) - lu(k,2258) * b(k,259)
    1342   141174528 :          b(k,194) = b(k,194) - lu(k,2257) * b(k,259)
    1343   141174528 :          b(k,193) = b(k,193) - lu(k,2256) * b(k,259)
    1344   141174528 :          b(k,192) = b(k,192) - lu(k,2255) * b(k,259)
    1345   141174528 :          b(k,191) = b(k,191) - lu(k,2254) * b(k,259)
    1346   141174528 :          b(k,190) = b(k,190) - lu(k,2253) * b(k,259)
    1347   141174528 :          b(k,189) = b(k,189) - lu(k,2252) * b(k,259)
    1348   141174528 :          b(k,188) = b(k,188) - lu(k,2251) * b(k,259)
    1349   141174528 :          b(k,187) = b(k,187) - lu(k,2250) * b(k,259)
    1350   141174528 :          b(k,185) = b(k,185) - lu(k,2249) * b(k,259)
    1351   141174528 :          b(k,184) = b(k,184) - lu(k,2248) * b(k,259)
    1352   141174528 :          b(k,181) = b(k,181) - lu(k,2247) * b(k,259)
    1353   141174528 :          b(k,179) = b(k,179) - lu(k,2246) * b(k,259)
    1354   141174528 :          b(k,173) = b(k,173) - lu(k,2245) * b(k,259)
    1355   141174528 :          b(k,170) = b(k,170) - lu(k,2244) * b(k,259)
    1356   141174528 :          b(k,167) = b(k,167) - lu(k,2243) * b(k,259)
    1357   141174528 :          b(k,166) = b(k,166) - lu(k,2242) * b(k,259)
    1358   141174528 :          b(k,164) = b(k,164) - lu(k,2241) * b(k,259)
    1359   141174528 :          b(k,163) = b(k,163) - lu(k,2240) * b(k,259)
    1360   141174528 :          b(k,161) = b(k,161) - lu(k,2239) * b(k,259)
    1361   141174528 :          b(k,160) = b(k,160) - lu(k,2238) * b(k,259)
    1362   141174528 :          b(k,159) = b(k,159) - lu(k,2237) * b(k,259)
    1363   141174528 :          b(k,158) = b(k,158) - lu(k,2236) * b(k,259)
    1364   141174528 :          b(k,157) = b(k,157) - lu(k,2235) * b(k,259)
    1365   141174528 :          b(k,156) = b(k,156) - lu(k,2234) * b(k,259)
    1366   141174528 :          b(k,153) = b(k,153) - lu(k,2233) * b(k,259)
    1367   141174528 :          b(k,152) = b(k,152) - lu(k,2232) * b(k,259)
    1368   141174528 :          b(k,151) = b(k,151) - lu(k,2231) * b(k,259)
    1369   141174528 :          b(k,150) = b(k,150) - lu(k,2230) * b(k,259)
    1370   141174528 :          b(k,148) = b(k,148) - lu(k,2229) * b(k,259)
    1371   141174528 :          b(k,147) = b(k,147) - lu(k,2228) * b(k,259)
    1372   141174528 :          b(k,143) = b(k,143) - lu(k,2227) * b(k,259)
    1373   141174528 :          b(k,142) = b(k,142) - lu(k,2226) * b(k,259)
    1374   141174528 :          b(k,140) = b(k,140) - lu(k,2225) * b(k,259)
    1375   141174528 :          b(k,139) = b(k,139) - lu(k,2224) * b(k,259)
    1376   141174528 :          b(k,138) = b(k,138) - lu(k,2223) * b(k,259)
    1377   141174528 :          b(k,128) = b(k,128) - lu(k,2222) * b(k,259)
    1378   141174528 :          b(k,127) = b(k,127) - lu(k,2221) * b(k,259)
    1379   141174528 :          b(k,113) = b(k,113) - lu(k,2220) * b(k,259)
    1380   141174528 :          b(k,102) = b(k,102) - lu(k,2219) * b(k,259)
    1381   141174528 :          b(k,85) = b(k,85) - lu(k,2218) * b(k,259)
    1382   141174528 :          b(k,84) = b(k,84) - lu(k,2217) * b(k,259)
    1383   141174528 :          b(k,81) = b(k,81) - lu(k,2216) * b(k,259)
    1384   141174528 :          b(k,79) = b(k,79) - lu(k,2215) * b(k,259)
    1385   141174528 :          b(k,78) = b(k,78) - lu(k,2214) * b(k,259)
    1386   141174528 :          b(k,77) = b(k,77) - lu(k,2213) * b(k,259)
    1387   141174528 :          b(k,76) = b(k,76) - lu(k,2212) * b(k,259)
    1388   141174528 :          b(k,75) = b(k,75) - lu(k,2211) * b(k,259)
    1389   141174528 :          b(k,74) = b(k,74) - lu(k,2210) * b(k,259)
    1390   141174528 :          b(k,73) = b(k,73) - lu(k,2209) * b(k,259)
    1391   141174528 :          b(k,72) = b(k,72) - lu(k,2208) * b(k,259)
    1392   141174528 :          b(k,71) = b(k,71) - lu(k,2207) * b(k,259)
    1393   141174528 :          b(k,70) = b(k,70) - lu(k,2206) * b(k,259)
    1394   141174528 :          b(k,69) = b(k,69) - lu(k,2205) * b(k,259)
    1395   141174528 :          b(k,68) = b(k,68) - lu(k,2204) * b(k,259)
    1396   141174528 :          b(k,67) = b(k,67) - lu(k,2203) * b(k,259)
    1397   141174528 :          b(k,66) = b(k,66) - lu(k,2202) * b(k,259)
    1398   141174528 :          b(k,64) = b(k,64) - lu(k,2201) * b(k,259)
    1399   141174528 :          b(k,63) = b(k,63) - lu(k,2200) * b(k,259)
    1400   141174528 :          b(k,62) = b(k,62) - lu(k,2199) * b(k,259)
    1401   141174528 :          b(k,61) = b(k,61) - lu(k,2198) * b(k,259)
    1402   141174528 :          b(k,60) = b(k,60) - lu(k,2197) * b(k,259)
    1403   141174528 :          b(k,59) = b(k,59) - lu(k,2196) * b(k,259)
    1404   141174528 :          b(k,258) = b(k,258) * lu(k,2192)
    1405   141174528 :          b(k,257) = b(k,257) - lu(k,2191) * b(k,258)
    1406   141174528 :          b(k,256) = b(k,256) - lu(k,2190) * b(k,258)
    1407   141174528 :          b(k,255) = b(k,255) - lu(k,2189) * b(k,258)
    1408   141174528 :          b(k,254) = b(k,254) - lu(k,2188) * b(k,258)
    1409   141174528 :          b(k,253) = b(k,253) - lu(k,2187) * b(k,258)
    1410   141174528 :          b(k,252) = b(k,252) - lu(k,2186) * b(k,258)
    1411   141174528 :          b(k,251) = b(k,251) - lu(k,2185) * b(k,258)
    1412   141174528 :          b(k,250) = b(k,250) - lu(k,2184) * b(k,258)
    1413   141174528 :          b(k,249) = b(k,249) - lu(k,2183) * b(k,258)
    1414   141174528 :          b(k,248) = b(k,248) - lu(k,2182) * b(k,258)
    1415   141174528 :          b(k,247) = b(k,247) - lu(k,2181) * b(k,258)
    1416   141174528 :          b(k,246) = b(k,246) - lu(k,2180) * b(k,258)
    1417   141174528 :          b(k,245) = b(k,245) - lu(k,2179) * b(k,258)
    1418   141174528 :          b(k,244) = b(k,244) - lu(k,2178) * b(k,258)
    1419   141174528 :          b(k,243) = b(k,243) - lu(k,2177) * b(k,258)
    1420   141174528 :          b(k,241) = b(k,241) - lu(k,2176) * b(k,258)
    1421   141174528 :          b(k,240) = b(k,240) - lu(k,2175) * b(k,258)
    1422   141174528 :          b(k,239) = b(k,239) - lu(k,2174) * b(k,258)
    1423   141174528 :          b(k,238) = b(k,238) - lu(k,2173) * b(k,258)
    1424   141174528 :          b(k,237) = b(k,237) - lu(k,2172) * b(k,258)
    1425   141174528 :          b(k,236) = b(k,236) - lu(k,2171) * b(k,258)
    1426   141174528 :          b(k,235) = b(k,235) - lu(k,2170) * b(k,258)
    1427   141174528 :          b(k,234) = b(k,234) - lu(k,2169) * b(k,258)
    1428   141174528 :          b(k,233) = b(k,233) - lu(k,2168) * b(k,258)
    1429   141174528 :          b(k,232) = b(k,232) - lu(k,2167) * b(k,258)
    1430   141174528 :          b(k,230) = b(k,230) - lu(k,2166) * b(k,258)
    1431   141174528 :          b(k,229) = b(k,229) - lu(k,2165) * b(k,258)
    1432   141174528 :          b(k,228) = b(k,228) - lu(k,2164) * b(k,258)
    1433   141174528 :          b(k,227) = b(k,227) - lu(k,2163) * b(k,258)
    1434   141174528 :          b(k,225) = b(k,225) - lu(k,2162) * b(k,258)
    1435   141174528 :          b(k,224) = b(k,224) - lu(k,2161) * b(k,258)
    1436   141174528 :          b(k,223) = b(k,223) - lu(k,2160) * b(k,258)
    1437   141174528 :          b(k,222) = b(k,222) - lu(k,2159) * b(k,258)
    1438   141174528 :          b(k,221) = b(k,221) - lu(k,2158) * b(k,258)
    1439   141174528 :          b(k,219) = b(k,219) - lu(k,2157) * b(k,258)
    1440   141174528 :          b(k,218) = b(k,218) - lu(k,2156) * b(k,258)
    1441   141174528 :          b(k,217) = b(k,217) - lu(k,2155) * b(k,258)
    1442   141174528 :          b(k,216) = b(k,216) - lu(k,2154) * b(k,258)
    1443   141174528 :          b(k,215) = b(k,215) - lu(k,2153) * b(k,258)
    1444   141174528 :          b(k,214) = b(k,214) - lu(k,2152) * b(k,258)
    1445   141174528 :          b(k,212) = b(k,212) - lu(k,2151) * b(k,258)
    1446   141174528 :          b(k,211) = b(k,211) - lu(k,2150) * b(k,258)
    1447   141174528 :          b(k,208) = b(k,208) - lu(k,2149) * b(k,258)
    1448   141174528 :          b(k,206) = b(k,206) - lu(k,2148) * b(k,258)
    1449   141174528 :          b(k,205) = b(k,205) - lu(k,2147) * b(k,258)
    1450   141174528 :          b(k,192) = b(k,192) - lu(k,2146) * b(k,258)
    1451   141174528 :          b(k,190) = b(k,190) - lu(k,2145) * b(k,258)
    1452   141174528 :          b(k,184) = b(k,184) - lu(k,2144) * b(k,258)
    1453   141174528 :          b(k,175) = b(k,175) - lu(k,2143) * b(k,258)
    1454   141174528 :          b(k,169) = b(k,169) - lu(k,2142) * b(k,258)
    1455   141174528 :          b(k,164) = b(k,164) - lu(k,2141) * b(k,258)
    1456   141174528 :          b(k,149) = b(k,149) - lu(k,2140) * b(k,258)
    1457   141174528 :          b(k,116) = b(k,116) - lu(k,2139) * b(k,258)
    1458   141174528 :          b(k,70) = b(k,70) - lu(k,2138) * b(k,258)
    1459   141174528 :          b(k,69) = b(k,69) - lu(k,2137) * b(k,258)
    1460   141174528 :          b(k,68) = b(k,68) - lu(k,2136) * b(k,258)
    1461   141174528 :          b(k,67) = b(k,67) - lu(k,2135) * b(k,258)
    1462   145586232 :          b(k,66) = b(k,66) - lu(k,2134) * b(k,258)
    1463             :       end do
    1464     4411704 :       end subroutine lu_slv07
    1465     4411704 :       subroutine lu_slv08( avec_len, lu, b )
    1466             :       use shr_kind_mod, only : r8 => shr_kind_r8
    1467             :       use chem_mods, only : clscnt4, nzcnt
    1468             :       implicit none
    1469             : !-----------------------------------------------------------------------
    1470             : ! ... Dummy args
    1471             : !-----------------------------------------------------------------------
    1472             :       integer, intent(in) :: avec_len
    1473             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    1474             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    1475             : !-----------------------------------------------------------------------
    1476             : ! ... Local variables
    1477             : !-----------------------------------------------------------------------
    1478             :       integer :: k
    1479             : !-----------------------------------------------------------------------
    1480             : ! ... solve L * y = b
    1481             : !-----------------------------------------------------------------------
    1482   145586232 :       do k = 1,avec_len
    1483   141174528 :          b(k,257) = b(k,257) * lu(k,2129)
    1484   141174528 :          b(k,256) = b(k,256) - lu(k,2128) * b(k,257)
    1485   141174528 :          b(k,255) = b(k,255) - lu(k,2127) * b(k,257)
    1486   141174528 :          b(k,254) = b(k,254) - lu(k,2126) * b(k,257)
    1487   141174528 :          b(k,253) = b(k,253) - lu(k,2125) * b(k,257)
    1488   141174528 :          b(k,252) = b(k,252) - lu(k,2124) * b(k,257)
    1489   141174528 :          b(k,251) = b(k,251) - lu(k,2123) * b(k,257)
    1490   141174528 :          b(k,250) = b(k,250) - lu(k,2122) * b(k,257)
    1491   141174528 :          b(k,249) = b(k,249) - lu(k,2121) * b(k,257)
    1492   141174528 :          b(k,248) = b(k,248) - lu(k,2120) * b(k,257)
    1493   141174528 :          b(k,247) = b(k,247) - lu(k,2119) * b(k,257)
    1494   141174528 :          b(k,246) = b(k,246) - lu(k,2118) * b(k,257)
    1495   141174528 :          b(k,245) = b(k,245) - lu(k,2117) * b(k,257)
    1496   141174528 :          b(k,244) = b(k,244) - lu(k,2116) * b(k,257)
    1497   141174528 :          b(k,243) = b(k,243) - lu(k,2115) * b(k,257)
    1498   141174528 :          b(k,242) = b(k,242) - lu(k,2114) * b(k,257)
    1499   141174528 :          b(k,241) = b(k,241) - lu(k,2113) * b(k,257)
    1500   141174528 :          b(k,225) = b(k,225) - lu(k,2112) * b(k,257)
    1501   141174528 :          b(k,222) = b(k,222) - lu(k,2111) * b(k,257)
    1502   141174528 :          b(k,221) = b(k,221) - lu(k,2110) * b(k,257)
    1503   141174528 :          b(k,216) = b(k,216) - lu(k,2109) * b(k,257)
    1504   141174528 :          b(k,215) = b(k,215) - lu(k,2108) * b(k,257)
    1505   141174528 :          b(k,213) = b(k,213) - lu(k,2107) * b(k,257)
    1506   141174528 :          b(k,204) = b(k,204) - lu(k,2106) * b(k,257)
    1507   141174528 :          b(k,203) = b(k,203) - lu(k,2105) * b(k,257)
    1508   141174528 :          b(k,192) = b(k,192) - lu(k,2104) * b(k,257)
    1509   141174528 :          b(k,181) = b(k,181) - lu(k,2103) * b(k,257)
    1510   141174528 :          b(k,178) = b(k,178) - lu(k,2102) * b(k,257)
    1511   141174528 :          b(k,175) = b(k,175) - lu(k,2101) * b(k,257)
    1512   141174528 :          b(k,162) = b(k,162) - lu(k,2100) * b(k,257)
    1513   141174528 :          b(k,154) = b(k,154) - lu(k,2099) * b(k,257)
    1514   141174528 :          b(k,145) = b(k,145) - lu(k,2098) * b(k,257)
    1515   141174528 :          b(k,131) = b(k,131) - lu(k,2097) * b(k,257)
    1516   141174528 :          b(k,130) = b(k,130) - lu(k,2096) * b(k,257)
    1517   141174528 :          b(k,107) = b(k,107) - lu(k,2095) * b(k,257)
    1518   141174528 :          b(k,256) = b(k,256) * lu(k,2089)
    1519   141174528 :          b(k,255) = b(k,255) - lu(k,2088) * b(k,256)
    1520   141174528 :          b(k,254) = b(k,254) - lu(k,2087) * b(k,256)
    1521   141174528 :          b(k,253) = b(k,253) - lu(k,2086) * b(k,256)
    1522   141174528 :          b(k,252) = b(k,252) - lu(k,2085) * b(k,256)
    1523   141174528 :          b(k,251) = b(k,251) - lu(k,2084) * b(k,256)
    1524   141174528 :          b(k,250) = b(k,250) - lu(k,2083) * b(k,256)
    1525   141174528 :          b(k,249) = b(k,249) - lu(k,2082) * b(k,256)
    1526   141174528 :          b(k,248) = b(k,248) - lu(k,2081) * b(k,256)
    1527   141174528 :          b(k,247) = b(k,247) - lu(k,2080) * b(k,256)
    1528   141174528 :          b(k,246) = b(k,246) - lu(k,2079) * b(k,256)
    1529   141174528 :          b(k,245) = b(k,245) - lu(k,2078) * b(k,256)
    1530   141174528 :          b(k,244) = b(k,244) - lu(k,2077) * b(k,256)
    1531   141174528 :          b(k,243) = b(k,243) - lu(k,2076) * b(k,256)
    1532   141174528 :          b(k,241) = b(k,241) - lu(k,2075) * b(k,256)
    1533   141174528 :          b(k,240) = b(k,240) - lu(k,2074) * b(k,256)
    1534   141174528 :          b(k,239) = b(k,239) - lu(k,2073) * b(k,256)
    1535   141174528 :          b(k,238) = b(k,238) - lu(k,2072) * b(k,256)
    1536   141174528 :          b(k,237) = b(k,237) - lu(k,2071) * b(k,256)
    1537   141174528 :          b(k,236) = b(k,236) - lu(k,2070) * b(k,256)
    1538   141174528 :          b(k,235) = b(k,235) - lu(k,2069) * b(k,256)
    1539   141174528 :          b(k,234) = b(k,234) - lu(k,2068) * b(k,256)
    1540   141174528 :          b(k,233) = b(k,233) - lu(k,2067) * b(k,256)
    1541   141174528 :          b(k,232) = b(k,232) - lu(k,2066) * b(k,256)
    1542   141174528 :          b(k,231) = b(k,231) - lu(k,2065) * b(k,256)
    1543   141174528 :          b(k,230) = b(k,230) - lu(k,2064) * b(k,256)
    1544   141174528 :          b(k,229) = b(k,229) - lu(k,2063) * b(k,256)
    1545   141174528 :          b(k,228) = b(k,228) - lu(k,2062) * b(k,256)
    1546   141174528 :          b(k,227) = b(k,227) - lu(k,2061) * b(k,256)
    1547   141174528 :          b(k,226) = b(k,226) - lu(k,2060) * b(k,256)
    1548   141174528 :          b(k,225) = b(k,225) - lu(k,2059) * b(k,256)
    1549   141174528 :          b(k,224) = b(k,224) - lu(k,2058) * b(k,256)
    1550   141174528 :          b(k,223) = b(k,223) - lu(k,2057) * b(k,256)
    1551   141174528 :          b(k,222) = b(k,222) - lu(k,2056) * b(k,256)
    1552   141174528 :          b(k,221) = b(k,221) - lu(k,2055) * b(k,256)
    1553   141174528 :          b(k,220) = b(k,220) - lu(k,2054) * b(k,256)
    1554   141174528 :          b(k,219) = b(k,219) - lu(k,2053) * b(k,256)
    1555   141174528 :          b(k,218) = b(k,218) - lu(k,2052) * b(k,256)
    1556   141174528 :          b(k,217) = b(k,217) - lu(k,2051) * b(k,256)
    1557   141174528 :          b(k,216) = b(k,216) - lu(k,2050) * b(k,256)
    1558   141174528 :          b(k,215) = b(k,215) - lu(k,2049) * b(k,256)
    1559   141174528 :          b(k,214) = b(k,214) - lu(k,2048) * b(k,256)
    1560   141174528 :          b(k,212) = b(k,212) - lu(k,2047) * b(k,256)
    1561   141174528 :          b(k,211) = b(k,211) - lu(k,2046) * b(k,256)
    1562   141174528 :          b(k,208) = b(k,208) - lu(k,2045) * b(k,256)
    1563   141174528 :          b(k,207) = b(k,207) - lu(k,2044) * b(k,256)
    1564   141174528 :          b(k,206) = b(k,206) - lu(k,2043) * b(k,256)
    1565   141174528 :          b(k,176) = b(k,176) - lu(k,2042) * b(k,256)
    1566   141174528 :          b(k,144) = b(k,144) - lu(k,2041) * b(k,256)
    1567   141174528 :          b(k,141) = b(k,141) - lu(k,2040) * b(k,256)
    1568   141174528 :          b(k,135) = b(k,135) - lu(k,2039) * b(k,256)
    1569   141174528 :          b(k,134) = b(k,134) - lu(k,2038) * b(k,256)
    1570   141174528 :          b(k,70) = b(k,70) - lu(k,2037) * b(k,256)
    1571   141174528 :          b(k,69) = b(k,69) - lu(k,2036) * b(k,256)
    1572   141174528 :          b(k,255) = b(k,255) * lu(k,2029)
    1573   141174528 :          b(k,254) = b(k,254) - lu(k,2028) * b(k,255)
    1574   141174528 :          b(k,253) = b(k,253) - lu(k,2027) * b(k,255)
    1575   141174528 :          b(k,252) = b(k,252) - lu(k,2026) * b(k,255)
    1576   141174528 :          b(k,251) = b(k,251) - lu(k,2025) * b(k,255)
    1577   141174528 :          b(k,250) = b(k,250) - lu(k,2024) * b(k,255)
    1578   141174528 :          b(k,249) = b(k,249) - lu(k,2023) * b(k,255)
    1579   141174528 :          b(k,248) = b(k,248) - lu(k,2022) * b(k,255)
    1580   141174528 :          b(k,247) = b(k,247) - lu(k,2021) * b(k,255)
    1581   141174528 :          b(k,246) = b(k,246) - lu(k,2020) * b(k,255)
    1582   141174528 :          b(k,245) = b(k,245) - lu(k,2019) * b(k,255)
    1583   141174528 :          b(k,243) = b(k,243) - lu(k,2018) * b(k,255)
    1584   141174528 :          b(k,213) = b(k,213) - lu(k,2017) * b(k,255)
    1585   141174528 :          b(k,203) = b(k,203) - lu(k,2016) * b(k,255)
    1586   141174528 :          b(k,199) = b(k,199) - lu(k,2015) * b(k,255)
    1587   141174528 :          b(k,118) = b(k,118) - lu(k,2014) * b(k,255)
    1588   141174528 :          b(k,107) = b(k,107) - lu(k,2013) * b(k,255)
    1589   141174528 :          b(k,254) = b(k,254) * lu(k,2005)
    1590   141174528 :          b(k,253) = b(k,253) - lu(k,2004) * b(k,254)
    1591   141174528 :          b(k,252) = b(k,252) - lu(k,2003) * b(k,254)
    1592   141174528 :          b(k,251) = b(k,251) - lu(k,2002) * b(k,254)
    1593   141174528 :          b(k,250) = b(k,250) - lu(k,2001) * b(k,254)
    1594   141174528 :          b(k,249) = b(k,249) - lu(k,2000) * b(k,254)
    1595   141174528 :          b(k,248) = b(k,248) - lu(k,1999) * b(k,254)
    1596   141174528 :          b(k,247) = b(k,247) - lu(k,1998) * b(k,254)
    1597   141174528 :          b(k,246) = b(k,246) - lu(k,1997) * b(k,254)
    1598   141174528 :          b(k,245) = b(k,245) - lu(k,1996) * b(k,254)
    1599   141174528 :          b(k,244) = b(k,244) - lu(k,1995) * b(k,254)
    1600   141174528 :          b(k,241) = b(k,241) - lu(k,1994) * b(k,254)
    1601   141174528 :          b(k,240) = b(k,240) - lu(k,1993) * b(k,254)
    1602   141174528 :          b(k,239) = b(k,239) - lu(k,1992) * b(k,254)
    1603   141174528 :          b(k,238) = b(k,238) - lu(k,1991) * b(k,254)
    1604   141174528 :          b(k,237) = b(k,237) - lu(k,1990) * b(k,254)
    1605   141174528 :          b(k,236) = b(k,236) - lu(k,1989) * b(k,254)
    1606   141174528 :          b(k,234) = b(k,234) - lu(k,1988) * b(k,254)
    1607   141174528 :          b(k,233) = b(k,233) - lu(k,1987) * b(k,254)
    1608   141174528 :          b(k,232) = b(k,232) - lu(k,1986) * b(k,254)
    1609   141174528 :          b(k,231) = b(k,231) - lu(k,1985) * b(k,254)
    1610   141174528 :          b(k,230) = b(k,230) - lu(k,1984) * b(k,254)
    1611   141174528 :          b(k,229) = b(k,229) - lu(k,1983) * b(k,254)
    1612   141174528 :          b(k,228) = b(k,228) - lu(k,1982) * b(k,254)
    1613   141174528 :          b(k,227) = b(k,227) - lu(k,1981) * b(k,254)
    1614   141174528 :          b(k,225) = b(k,225) - lu(k,1980) * b(k,254)
    1615   141174528 :          b(k,224) = b(k,224) - lu(k,1979) * b(k,254)
    1616   141174528 :          b(k,223) = b(k,223) - lu(k,1978) * b(k,254)
    1617   141174528 :          b(k,222) = b(k,222) - lu(k,1977) * b(k,254)
    1618   141174528 :          b(k,221) = b(k,221) - lu(k,1976) * b(k,254)
    1619   141174528 :          b(k,220) = b(k,220) - lu(k,1975) * b(k,254)
    1620   141174528 :          b(k,218) = b(k,218) - lu(k,1974) * b(k,254)
    1621   141174528 :          b(k,216) = b(k,216) - lu(k,1973) * b(k,254)
    1622   141174528 :          b(k,214) = b(k,214) - lu(k,1972) * b(k,254)
    1623   141174528 :          b(k,207) = b(k,207) - lu(k,1971) * b(k,254)
    1624   141174528 :          b(k,205) = b(k,205) - lu(k,1970) * b(k,254)
    1625   141174528 :          b(k,204) = b(k,204) - lu(k,1969) * b(k,254)
    1626   141174528 :          b(k,201) = b(k,201) - lu(k,1968) * b(k,254)
    1627   141174528 :          b(k,200) = b(k,200) - lu(k,1967) * b(k,254)
    1628   141174528 :          b(k,190) = b(k,190) - lu(k,1966) * b(k,254)
    1629   141174528 :          b(k,183) = b(k,183) - lu(k,1965) * b(k,254)
    1630   141174528 :          b(k,155) = b(k,155) - lu(k,1964) * b(k,254)
    1631   141174528 :          b(k,153) = b(k,153) - lu(k,1963) * b(k,254)
    1632   141174528 :          b(k,141) = b(k,141) - lu(k,1962) * b(k,254)
    1633   141174528 :          b(k,126) = b(k,126) - lu(k,1961) * b(k,254)
    1634   141174528 :          b(k,253) = b(k,253) * lu(k,1952)
    1635   141174528 :          b(k,252) = b(k,252) - lu(k,1951) * b(k,253)
    1636   141174528 :          b(k,251) = b(k,251) - lu(k,1950) * b(k,253)
    1637   141174528 :          b(k,250) = b(k,250) - lu(k,1949) * b(k,253)
    1638   141174528 :          b(k,249) = b(k,249) - lu(k,1948) * b(k,253)
    1639   141174528 :          b(k,248) = b(k,248) - lu(k,1947) * b(k,253)
    1640   141174528 :          b(k,247) = b(k,247) - lu(k,1946) * b(k,253)
    1641   141174528 :          b(k,246) = b(k,246) - lu(k,1945) * b(k,253)
    1642   141174528 :          b(k,245) = b(k,245) - lu(k,1944) * b(k,253)
    1643   141174528 :          b(k,244) = b(k,244) - lu(k,1943) * b(k,253)
    1644   141174528 :          b(k,243) = b(k,243) - lu(k,1942) * b(k,253)
    1645   141174528 :          b(k,241) = b(k,241) - lu(k,1941) * b(k,253)
    1646   141174528 :          b(k,240) = b(k,240) - lu(k,1940) * b(k,253)
    1647   141174528 :          b(k,239) = b(k,239) - lu(k,1939) * b(k,253)
    1648   141174528 :          b(k,238) = b(k,238) - lu(k,1938) * b(k,253)
    1649   141174528 :          b(k,237) = b(k,237) - lu(k,1937) * b(k,253)
    1650   141174528 :          b(k,236) = b(k,236) - lu(k,1936) * b(k,253)
    1651   141174528 :          b(k,234) = b(k,234) - lu(k,1935) * b(k,253)
    1652   141174528 :          b(k,233) = b(k,233) - lu(k,1934) * b(k,253)
    1653   141174528 :          b(k,232) = b(k,232) - lu(k,1933) * b(k,253)
    1654   141174528 :          b(k,231) = b(k,231) - lu(k,1932) * b(k,253)
    1655   141174528 :          b(k,230) = b(k,230) - lu(k,1931) * b(k,253)
    1656   141174528 :          b(k,229) = b(k,229) - lu(k,1930) * b(k,253)
    1657   141174528 :          b(k,228) = b(k,228) - lu(k,1929) * b(k,253)
    1658   141174528 :          b(k,227) = b(k,227) - lu(k,1928) * b(k,253)
    1659   141174528 :          b(k,226) = b(k,226) - lu(k,1927) * b(k,253)
    1660   141174528 :          b(k,225) = b(k,225) - lu(k,1926) * b(k,253)
    1661   141174528 :          b(k,224) = b(k,224) - lu(k,1925) * b(k,253)
    1662   141174528 :          b(k,223) = b(k,223) - lu(k,1924) * b(k,253)
    1663   141174528 :          b(k,222) = b(k,222) - lu(k,1923) * b(k,253)
    1664   141174528 :          b(k,221) = b(k,221) - lu(k,1922) * b(k,253)
    1665   141174528 :          b(k,220) = b(k,220) - lu(k,1921) * b(k,253)
    1666   141174528 :          b(k,218) = b(k,218) - lu(k,1920) * b(k,253)
    1667   141174528 :          b(k,216) = b(k,216) - lu(k,1919) * b(k,253)
    1668   141174528 :          b(k,215) = b(k,215) - lu(k,1918) * b(k,253)
    1669   141174528 :          b(k,214) = b(k,214) - lu(k,1917) * b(k,253)
    1670   141174528 :          b(k,212) = b(k,212) - lu(k,1916) * b(k,253)
    1671   141174528 :          b(k,210) = b(k,210) - lu(k,1915) * b(k,253)
    1672   141174528 :          b(k,207) = b(k,207) - lu(k,1914) * b(k,253)
    1673   141174528 :          b(k,205) = b(k,205) - lu(k,1913) * b(k,253)
    1674   141174528 :          b(k,204) = b(k,204) - lu(k,1912) * b(k,253)
    1675   141174528 :          b(k,201) = b(k,201) - lu(k,1911) * b(k,253)
    1676   141174528 :          b(k,198) = b(k,198) - lu(k,1910) * b(k,253)
    1677   141174528 :          b(k,197) = b(k,197) - lu(k,1909) * b(k,253)
    1678   141174528 :          b(k,196) = b(k,196) - lu(k,1908) * b(k,253)
    1679   141174528 :          b(k,194) = b(k,194) - lu(k,1907) * b(k,253)
    1680   141174528 :          b(k,193) = b(k,193) - lu(k,1906) * b(k,253)
    1681   141174528 :          b(k,192) = b(k,192) - lu(k,1905) * b(k,253)
    1682   141174528 :          b(k,187) = b(k,187) - lu(k,1904) * b(k,253)
    1683   141174528 :          b(k,186) = b(k,186) - lu(k,1903) * b(k,253)
    1684   141174528 :          b(k,184) = b(k,184) - lu(k,1902) * b(k,253)
    1685   141174528 :          b(k,183) = b(k,183) - lu(k,1901) * b(k,253)
    1686   141174528 :          b(k,180) = b(k,180) - lu(k,1900) * b(k,253)
    1687   141174528 :          b(k,177) = b(k,177) - lu(k,1899) * b(k,253)
    1688   141174528 :          b(k,176) = b(k,176) - lu(k,1898) * b(k,253)
    1689   141174528 :          b(k,174) = b(k,174) - lu(k,1897) * b(k,253)
    1690   141174528 :          b(k,170) = b(k,170) - lu(k,1896) * b(k,253)
    1691   141174528 :          b(k,168) = b(k,168) - lu(k,1895) * b(k,253)
    1692   141174528 :          b(k,167) = b(k,167) - lu(k,1894) * b(k,253)
    1693   141174528 :          b(k,166) = b(k,166) - lu(k,1893) * b(k,253)
    1694   141174528 :          b(k,165) = b(k,165) - lu(k,1892) * b(k,253)
    1695   141174528 :          b(k,164) = b(k,164) - lu(k,1891) * b(k,253)
    1696   141174528 :          b(k,161) = b(k,161) - lu(k,1890) * b(k,253)
    1697   141174528 :          b(k,160) = b(k,160) - lu(k,1889) * b(k,253)
    1698   141174528 :          b(k,159) = b(k,159) - lu(k,1888) * b(k,253)
    1699   141174528 :          b(k,158) = b(k,158) - lu(k,1887) * b(k,253)
    1700   141174528 :          b(k,141) = b(k,141) - lu(k,1886) * b(k,253)
    1701   141174528 :          b(k,136) = b(k,136) - lu(k,1885) * b(k,253)
    1702   141174528 :          b(k,129) = b(k,129) - lu(k,1884) * b(k,253)
    1703   141174528 :          b(k,128) = b(k,128) - lu(k,1883) * b(k,253)
    1704   141174528 :          b(k,119) = b(k,119) - lu(k,1882) * b(k,253)
    1705   141174528 :          b(k,117) = b(k,117) - lu(k,1881) * b(k,253)
    1706   141174528 :          b(k,85) = b(k,85) - lu(k,1880) * b(k,253)
    1707   141174528 :          b(k,84) = b(k,84) - lu(k,1879) * b(k,253)
    1708   141174528 :          b(k,81) = b(k,81) - lu(k,1878) * b(k,253)
    1709   141174528 :          b(k,79) = b(k,79) - lu(k,1877) * b(k,253)
    1710   141174528 :          b(k,78) = b(k,78) - lu(k,1876) * b(k,253)
    1711   141174528 :          b(k,77) = b(k,77) - lu(k,1875) * b(k,253)
    1712   141174528 :          b(k,76) = b(k,76) - lu(k,1874) * b(k,253)
    1713   141174528 :          b(k,75) = b(k,75) - lu(k,1873) * b(k,253)
    1714   141174528 :          b(k,74) = b(k,74) - lu(k,1872) * b(k,253)
    1715   141174528 :          b(k,73) = b(k,73) - lu(k,1871) * b(k,253)
    1716   141174528 :          b(k,72) = b(k,72) - lu(k,1870) * b(k,253)
    1717   141174528 :          b(k,71) = b(k,71) - lu(k,1869) * b(k,253)
    1718   141174528 :          b(k,70) = b(k,70) - lu(k,1868) * b(k,253)
    1719   141174528 :          b(k,69) = b(k,69) - lu(k,1867) * b(k,253)
    1720   141174528 :          b(k,68) = b(k,68) - lu(k,1866) * b(k,253)
    1721   141174528 :          b(k,67) = b(k,67) - lu(k,1865) * b(k,253)
    1722   141174528 :          b(k,66) = b(k,66) - lu(k,1864) * b(k,253)
    1723   141174528 :          b(k,64) = b(k,64) - lu(k,1863) * b(k,253)
    1724   141174528 :          b(k,63) = b(k,63) - lu(k,1862) * b(k,253)
    1725   141174528 :          b(k,62) = b(k,62) - lu(k,1861) * b(k,253)
    1726   141174528 :          b(k,61) = b(k,61) - lu(k,1860) * b(k,253)
    1727   141174528 :          b(k,60) = b(k,60) - lu(k,1859) * b(k,253)
    1728   145586232 :          b(k,59) = b(k,59) - lu(k,1858) * b(k,253)
    1729             :       end do
    1730     4411704 :       end subroutine lu_slv08
    1731     4411704 :       subroutine lu_slv09( avec_len, lu, b )
    1732             :       use shr_kind_mod, only : r8 => shr_kind_r8
    1733             :       use chem_mods, only : clscnt4, nzcnt
    1734             :       implicit none
    1735             : !-----------------------------------------------------------------------
    1736             : ! ... Dummy args
    1737             : !-----------------------------------------------------------------------
    1738             :       integer, intent(in) :: avec_len
    1739             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    1740             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    1741             : !-----------------------------------------------------------------------
    1742             : ! ... Local variables
    1743             : !-----------------------------------------------------------------------
    1744             :       integer :: k
    1745             : !-----------------------------------------------------------------------
    1746             : ! ... solve L * y = b
    1747             : !-----------------------------------------------------------------------
    1748   145586232 :       do k = 1,avec_len
    1749   141174528 :          b(k,252) = b(k,252) * lu(k,1848)
    1750   141174528 :          b(k,251) = b(k,251) - lu(k,1847) * b(k,252)
    1751   141174528 :          b(k,250) = b(k,250) - lu(k,1846) * b(k,252)
    1752   141174528 :          b(k,249) = b(k,249) - lu(k,1845) * b(k,252)
    1753   141174528 :          b(k,248) = b(k,248) - lu(k,1844) * b(k,252)
    1754   141174528 :          b(k,247) = b(k,247) - lu(k,1843) * b(k,252)
    1755   141174528 :          b(k,246) = b(k,246) - lu(k,1842) * b(k,252)
    1756   141174528 :          b(k,245) = b(k,245) - lu(k,1841) * b(k,252)
    1757   141174528 :          b(k,243) = b(k,243) - lu(k,1840) * b(k,252)
    1758   141174528 :          b(k,235) = b(k,235) - lu(k,1839) * b(k,252)
    1759   141174528 :          b(k,208) = b(k,208) - lu(k,1838) * b(k,252)
    1760   141174528 :          b(k,199) = b(k,199) - lu(k,1837) * b(k,252)
    1761   141174528 :          b(k,172) = b(k,172) - lu(k,1836) * b(k,252)
    1762   141174528 :          b(k,137) = b(k,137) - lu(k,1835) * b(k,252)
    1763   141174528 :          b(k,118) = b(k,118) - lu(k,1834) * b(k,252)
    1764   141174528 :          b(k,251) = b(k,251) * lu(k,1823)
    1765   141174528 :          b(k,250) = b(k,250) - lu(k,1822) * b(k,251)
    1766   141174528 :          b(k,249) = b(k,249) - lu(k,1821) * b(k,251)
    1767   141174528 :          b(k,248) = b(k,248) - lu(k,1820) * b(k,251)
    1768   141174528 :          b(k,247) = b(k,247) - lu(k,1819) * b(k,251)
    1769   141174528 :          b(k,246) = b(k,246) - lu(k,1818) * b(k,251)
    1770   141174528 :          b(k,245) = b(k,245) - lu(k,1817) * b(k,251)
    1771   141174528 :          b(k,244) = b(k,244) - lu(k,1816) * b(k,251)
    1772   141174528 :          b(k,243) = b(k,243) - lu(k,1815) * b(k,251)
    1773   141174528 :          b(k,242) = b(k,242) - lu(k,1814) * b(k,251)
    1774   141174528 :          b(k,241) = b(k,241) - lu(k,1813) * b(k,251)
    1775   141174528 :          b(k,240) = b(k,240) - lu(k,1812) * b(k,251)
    1776   141174528 :          b(k,239) = b(k,239) - lu(k,1811) * b(k,251)
    1777   141174528 :          b(k,238) = b(k,238) - lu(k,1810) * b(k,251)
    1778   141174528 :          b(k,237) = b(k,237) - lu(k,1809) * b(k,251)
    1779   141174528 :          b(k,236) = b(k,236) - lu(k,1808) * b(k,251)
    1780   141174528 :          b(k,235) = b(k,235) - lu(k,1807) * b(k,251)
    1781   141174528 :          b(k,234) = b(k,234) - lu(k,1806) * b(k,251)
    1782   141174528 :          b(k,233) = b(k,233) - lu(k,1805) * b(k,251)
    1783   141174528 :          b(k,232) = b(k,232) - lu(k,1804) * b(k,251)
    1784   141174528 :          b(k,231) = b(k,231) - lu(k,1803) * b(k,251)
    1785   141174528 :          b(k,230) = b(k,230) - lu(k,1802) * b(k,251)
    1786   141174528 :          b(k,229) = b(k,229) - lu(k,1801) * b(k,251)
    1787   141174528 :          b(k,228) = b(k,228) - lu(k,1800) * b(k,251)
    1788   141174528 :          b(k,227) = b(k,227) - lu(k,1799) * b(k,251)
    1789   141174528 :          b(k,226) = b(k,226) - lu(k,1798) * b(k,251)
    1790   141174528 :          b(k,225) = b(k,225) - lu(k,1797) * b(k,251)
    1791   141174528 :          b(k,224) = b(k,224) - lu(k,1796) * b(k,251)
    1792   141174528 :          b(k,223) = b(k,223) - lu(k,1795) * b(k,251)
    1793   141174528 :          b(k,222) = b(k,222) - lu(k,1794) * b(k,251)
    1794   141174528 :          b(k,221) = b(k,221) - lu(k,1793) * b(k,251)
    1795   141174528 :          b(k,220) = b(k,220) - lu(k,1792) * b(k,251)
    1796   141174528 :          b(k,219) = b(k,219) - lu(k,1791) * b(k,251)
    1797   141174528 :          b(k,218) = b(k,218) - lu(k,1790) * b(k,251)
    1798   141174528 :          b(k,217) = b(k,217) - lu(k,1789) * b(k,251)
    1799   141174528 :          b(k,216) = b(k,216) - lu(k,1788) * b(k,251)
    1800   141174528 :          b(k,215) = b(k,215) - lu(k,1787) * b(k,251)
    1801   141174528 :          b(k,214) = b(k,214) - lu(k,1786) * b(k,251)
    1802   141174528 :          b(k,213) = b(k,213) - lu(k,1785) * b(k,251)
    1803   141174528 :          b(k,212) = b(k,212) - lu(k,1784) * b(k,251)
    1804   141174528 :          b(k,211) = b(k,211) - lu(k,1783) * b(k,251)
    1805   141174528 :          b(k,210) = b(k,210) - lu(k,1782) * b(k,251)
    1806   141174528 :          b(k,209) = b(k,209) - lu(k,1781) * b(k,251)
    1807   141174528 :          b(k,208) = b(k,208) - lu(k,1780) * b(k,251)
    1808   141174528 :          b(k,207) = b(k,207) - lu(k,1779) * b(k,251)
    1809   141174528 :          b(k,206) = b(k,206) - lu(k,1778) * b(k,251)
    1810   141174528 :          b(k,205) = b(k,205) - lu(k,1777) * b(k,251)
    1811   141174528 :          b(k,204) = b(k,204) - lu(k,1776) * b(k,251)
    1812   141174528 :          b(k,203) = b(k,203) - lu(k,1775) * b(k,251)
    1813   141174528 :          b(k,202) = b(k,202) - lu(k,1774) * b(k,251)
    1814   141174528 :          b(k,201) = b(k,201) - lu(k,1773) * b(k,251)
    1815   141174528 :          b(k,200) = b(k,200) - lu(k,1772) * b(k,251)
    1816   141174528 :          b(k,198) = b(k,198) - lu(k,1771) * b(k,251)
    1817   141174528 :          b(k,197) = b(k,197) - lu(k,1770) * b(k,251)
    1818   141174528 :          b(k,196) = b(k,196) - lu(k,1769) * b(k,251)
    1819   141174528 :          b(k,195) = b(k,195) - lu(k,1768) * b(k,251)
    1820   141174528 :          b(k,194) = b(k,194) - lu(k,1767) * b(k,251)
    1821   141174528 :          b(k,193) = b(k,193) - lu(k,1766) * b(k,251)
    1822   141174528 :          b(k,192) = b(k,192) - lu(k,1765) * b(k,251)
    1823   141174528 :          b(k,191) = b(k,191) - lu(k,1764) * b(k,251)
    1824   141174528 :          b(k,190) = b(k,190) - lu(k,1763) * b(k,251)
    1825   141174528 :          b(k,189) = b(k,189) - lu(k,1762) * b(k,251)
    1826   141174528 :          b(k,188) = b(k,188) - lu(k,1761) * b(k,251)
    1827   141174528 :          b(k,187) = b(k,187) - lu(k,1760) * b(k,251)
    1828   141174528 :          b(k,186) = b(k,186) - lu(k,1759) * b(k,251)
    1829   141174528 :          b(k,185) = b(k,185) - lu(k,1758) * b(k,251)
    1830   141174528 :          b(k,184) = b(k,184) - lu(k,1757) * b(k,251)
    1831   141174528 :          b(k,183) = b(k,183) - lu(k,1756) * b(k,251)
    1832   141174528 :          b(k,182) = b(k,182) - lu(k,1755) * b(k,251)
    1833   141174528 :          b(k,181) = b(k,181) - lu(k,1754) * b(k,251)
    1834   141174528 :          b(k,180) = b(k,180) - lu(k,1753) * b(k,251)
    1835   141174528 :          b(k,179) = b(k,179) - lu(k,1752) * b(k,251)
    1836   141174528 :          b(k,178) = b(k,178) - lu(k,1751) * b(k,251)
    1837   141174528 :          b(k,177) = b(k,177) - lu(k,1750) * b(k,251)
    1838   141174528 :          b(k,176) = b(k,176) - lu(k,1749) * b(k,251)
    1839   141174528 :          b(k,175) = b(k,175) - lu(k,1748) * b(k,251)
    1840   141174528 :          b(k,174) = b(k,174) - lu(k,1747) * b(k,251)
    1841   141174528 :          b(k,173) = b(k,173) - lu(k,1746) * b(k,251)
    1842   141174528 :          b(k,171) = b(k,171) - lu(k,1745) * b(k,251)
    1843   141174528 :          b(k,170) = b(k,170) - lu(k,1744) * b(k,251)
    1844   141174528 :          b(k,169) = b(k,169) - lu(k,1743) * b(k,251)
    1845   141174528 :          b(k,168) = b(k,168) - lu(k,1742) * b(k,251)
    1846   141174528 :          b(k,167) = b(k,167) - lu(k,1741) * b(k,251)
    1847   141174528 :          b(k,166) = b(k,166) - lu(k,1740) * b(k,251)
    1848   141174528 :          b(k,165) = b(k,165) - lu(k,1739) * b(k,251)
    1849   141174528 :          b(k,164) = b(k,164) - lu(k,1738) * b(k,251)
    1850   141174528 :          b(k,163) = b(k,163) - lu(k,1737) * b(k,251)
    1851   141174528 :          b(k,162) = b(k,162) - lu(k,1736) * b(k,251)
    1852   141174528 :          b(k,161) = b(k,161) - lu(k,1735) * b(k,251)
    1853   141174528 :          b(k,160) = b(k,160) - lu(k,1734) * b(k,251)
    1854   141174528 :          b(k,158) = b(k,158) - lu(k,1733) * b(k,251)
    1855   141174528 :          b(k,157) = b(k,157) - lu(k,1732) * b(k,251)
    1856   141174528 :          b(k,156) = b(k,156) - lu(k,1731) * b(k,251)
    1857   141174528 :          b(k,155) = b(k,155) - lu(k,1730) * b(k,251)
    1858   141174528 :          b(k,154) = b(k,154) - lu(k,1729) * b(k,251)
    1859   141174528 :          b(k,153) = b(k,153) - lu(k,1728) * b(k,251)
    1860   141174528 :          b(k,152) = b(k,152) - lu(k,1727) * b(k,251)
    1861   141174528 :          b(k,151) = b(k,151) - lu(k,1726) * b(k,251)
    1862   141174528 :          b(k,150) = b(k,150) - lu(k,1725) * b(k,251)
    1863   141174528 :          b(k,148) = b(k,148) - lu(k,1724) * b(k,251)
    1864   141174528 :          b(k,147) = b(k,147) - lu(k,1723) * b(k,251)
    1865   141174528 :          b(k,146) = b(k,146) - lu(k,1722) * b(k,251)
    1866   141174528 :          b(k,145) = b(k,145) - lu(k,1721) * b(k,251)
    1867   141174528 :          b(k,144) = b(k,144) - lu(k,1720) * b(k,251)
    1868   141174528 :          b(k,143) = b(k,143) - lu(k,1719) * b(k,251)
    1869   141174528 :          b(k,142) = b(k,142) - lu(k,1718) * b(k,251)
    1870   141174528 :          b(k,141) = b(k,141) - lu(k,1717) * b(k,251)
    1871   141174528 :          b(k,140) = b(k,140) - lu(k,1716) * b(k,251)
    1872   141174528 :          b(k,139) = b(k,139) - lu(k,1715) * b(k,251)
    1873   141174528 :          b(k,138) = b(k,138) - lu(k,1714) * b(k,251)
    1874   141174528 :          b(k,135) = b(k,135) - lu(k,1713) * b(k,251)
    1875   141174528 :          b(k,132) = b(k,132) - lu(k,1712) * b(k,251)
    1876   141174528 :          b(k,131) = b(k,131) - lu(k,1711) * b(k,251)
    1877   141174528 :          b(k,130) = b(k,130) - lu(k,1710) * b(k,251)
    1878   141174528 :          b(k,127) = b(k,127) - lu(k,1709) * b(k,251)
    1879   141174528 :          b(k,126) = b(k,126) - lu(k,1708) * b(k,251)
    1880   141174528 :          b(k,125) = b(k,125) - lu(k,1707) * b(k,251)
    1881   141174528 :          b(k,124) = b(k,124) - lu(k,1706) * b(k,251)
    1882   141174528 :          b(k,123) = b(k,123) - lu(k,1705) * b(k,251)
    1883   141174528 :          b(k,122) = b(k,122) - lu(k,1704) * b(k,251)
    1884   141174528 :          b(k,121) = b(k,121) - lu(k,1703) * b(k,251)
    1885   141174528 :          b(k,120) = b(k,120) - lu(k,1702) * b(k,251)
    1886   141174528 :          b(k,119) = b(k,119) - lu(k,1701) * b(k,251)
    1887   141174528 :          b(k,117) = b(k,117) - lu(k,1700) * b(k,251)
    1888   141174528 :          b(k,116) = b(k,116) - lu(k,1699) * b(k,251)
    1889   141174528 :          b(k,115) = b(k,115) - lu(k,1698) * b(k,251)
    1890   141174528 :          b(k,114) = b(k,114) - lu(k,1697) * b(k,251)
    1891   141174528 :          b(k,113) = b(k,113) - lu(k,1696) * b(k,251)
    1892   141174528 :          b(k,112) = b(k,112) - lu(k,1695) * b(k,251)
    1893   141174528 :          b(k,111) = b(k,111) - lu(k,1694) * b(k,251)
    1894   141174528 :          b(k,110) = b(k,110) - lu(k,1693) * b(k,251)
    1895   141174528 :          b(k,109) = b(k,109) - lu(k,1692) * b(k,251)
    1896   141174528 :          b(k,106) = b(k,106) - lu(k,1691) * b(k,251)
    1897   141174528 :          b(k,105) = b(k,105) - lu(k,1690) * b(k,251)
    1898   141174528 :          b(k,104) = b(k,104) - lu(k,1689) * b(k,251)
    1899   141174528 :          b(k,96) = b(k,96) - lu(k,1688) * b(k,251)
    1900   141174528 :          b(k,95) = b(k,95) - lu(k,1687) * b(k,251)
    1901   141174528 :          b(k,91) = b(k,91) - lu(k,1686) * b(k,251)
    1902   141174528 :          b(k,88) = b(k,88) - lu(k,1685) * b(k,251)
    1903   141174528 :          b(k,86) = b(k,86) - lu(k,1684) * b(k,251)
    1904   141174528 :          b(k,85) = b(k,85) - lu(k,1683) * b(k,251)
    1905   141174528 :          b(k,84) = b(k,84) - lu(k,1682) * b(k,251)
    1906   141174528 :          b(k,83) = b(k,83) - lu(k,1681) * b(k,251)
    1907   141174528 :          b(k,82) = b(k,82) - lu(k,1680) * b(k,251)
    1908   141174528 :          b(k,81) = b(k,81) - lu(k,1679) * b(k,251)
    1909   141174528 :          b(k,80) = b(k,80) - lu(k,1678) * b(k,251)
    1910   141174528 :          b(k,79) = b(k,79) - lu(k,1677) * b(k,251)
    1911   141174528 :          b(k,78) = b(k,78) - lu(k,1676) * b(k,251)
    1912   141174528 :          b(k,77) = b(k,77) - lu(k,1675) * b(k,251)
    1913   141174528 :          b(k,76) = b(k,76) - lu(k,1674) * b(k,251)
    1914   141174528 :          b(k,75) = b(k,75) - lu(k,1673) * b(k,251)
    1915   141174528 :          b(k,74) = b(k,74) - lu(k,1672) * b(k,251)
    1916   141174528 :          b(k,73) = b(k,73) - lu(k,1671) * b(k,251)
    1917   141174528 :          b(k,72) = b(k,72) - lu(k,1670) * b(k,251)
    1918   141174528 :          b(k,71) = b(k,71) - lu(k,1669) * b(k,251)
    1919   141174528 :          b(k,65) = b(k,65) - lu(k,1668) * b(k,251)
    1920   141174528 :          b(k,64) = b(k,64) - lu(k,1667) * b(k,251)
    1921   141174528 :          b(k,63) = b(k,63) - lu(k,1666) * b(k,251)
    1922   141174528 :          b(k,62) = b(k,62) - lu(k,1665) * b(k,251)
    1923   141174528 :          b(k,61) = b(k,61) - lu(k,1664) * b(k,251)
    1924   141174528 :          b(k,60) = b(k,60) - lu(k,1663) * b(k,251)
    1925   141174528 :          b(k,59) = b(k,59) - lu(k,1662) * b(k,251)
    1926   141174528 :          b(k,250) = b(k,250) * lu(k,1650)
    1927   141174528 :          b(k,249) = b(k,249) - lu(k,1649) * b(k,250)
    1928   141174528 :          b(k,248) = b(k,248) - lu(k,1648) * b(k,250)
    1929   141174528 :          b(k,247) = b(k,247) - lu(k,1647) * b(k,250)
    1930   141174528 :          b(k,246) = b(k,246) - lu(k,1646) * b(k,250)
    1931   141174528 :          b(k,245) = b(k,245) - lu(k,1645) * b(k,250)
    1932   141174528 :          b(k,244) = b(k,244) - lu(k,1644) * b(k,250)
    1933   141174528 :          b(k,243) = b(k,243) - lu(k,1643) * b(k,250)
    1934   141174528 :          b(k,242) = b(k,242) - lu(k,1642) * b(k,250)
    1935   141174528 :          b(k,209) = b(k,209) - lu(k,1641) * b(k,250)
    1936   141174528 :          b(k,202) = b(k,202) - lu(k,1640) * b(k,250)
    1937   141174528 :          b(k,178) = b(k,178) - lu(k,1639) * b(k,250)
    1938   141174528 :          b(k,162) = b(k,162) - lu(k,1638) * b(k,250)
    1939   141174528 :          b(k,154) = b(k,154) - lu(k,1637) * b(k,250)
    1940   141174528 :          b(k,132) = b(k,132) - lu(k,1636) * b(k,250)
    1941   141174528 :          b(k,124) = b(k,124) - lu(k,1635) * b(k,250)
    1942   141174528 :          b(k,123) = b(k,123) - lu(k,1634) * b(k,250)
    1943   141174528 :          b(k,122) = b(k,122) - lu(k,1633) * b(k,250)
    1944   141174528 :          b(k,121) = b(k,121) - lu(k,1632) * b(k,250)
    1945   141174528 :          b(k,109) = b(k,109) - lu(k,1631) * b(k,250)
    1946   141174528 :          b(k,108) = b(k,108) - lu(k,1630) * b(k,250)
    1947   141174528 :          b(k,101) = b(k,101) - lu(k,1629) * b(k,250)
    1948   141174528 :          b(k,100) = b(k,100) - lu(k,1628) * b(k,250)
    1949   141174528 :          b(k,99) = b(k,99) - lu(k,1627) * b(k,250)
    1950   141174528 :          b(k,98) = b(k,98) - lu(k,1626) * b(k,250)
    1951   141174528 :          b(k,94) = b(k,94) - lu(k,1625) * b(k,250)
    1952   141174528 :          b(k,93) = b(k,93) - lu(k,1624) * b(k,250)
    1953   141174528 :          b(k,92) = b(k,92) - lu(k,1623) * b(k,250)
    1954   141174528 :          b(k,90) = b(k,90) - lu(k,1622) * b(k,250)
    1955   145586232 :          b(k,87) = b(k,87) - lu(k,1621) * b(k,250)
    1956             :       end do
    1957     4411704 :       end subroutine lu_slv09
    1958     4411704 :       subroutine lu_slv10( avec_len, lu, b )
    1959             :       use shr_kind_mod, only : r8 => shr_kind_r8
    1960             :       use chem_mods, only : clscnt4, nzcnt
    1961             :       implicit none
    1962             : !-----------------------------------------------------------------------
    1963             : ! ... Dummy args
    1964             : !-----------------------------------------------------------------------
    1965             :       integer, intent(in) :: avec_len
    1966             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    1967             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    1968             : !-----------------------------------------------------------------------
    1969             : ! ... Local variables
    1970             : !-----------------------------------------------------------------------
    1971             :       integer :: k
    1972             : !-----------------------------------------------------------------------
    1973             : ! ... solve L * y = b
    1974             : !-----------------------------------------------------------------------
    1975   145586232 :       do k = 1,avec_len
    1976   141174528 :          b(k,249) = b(k,249) * lu(k,1608)
    1977   141174528 :          b(k,248) = b(k,248) - lu(k,1607) * b(k,249)
    1978   141174528 :          b(k,247) = b(k,247) - lu(k,1606) * b(k,249)
    1979   141174528 :          b(k,246) = b(k,246) - lu(k,1605) * b(k,249)
    1980   141174528 :          b(k,245) = b(k,245) - lu(k,1604) * b(k,249)
    1981   141174528 :          b(k,244) = b(k,244) - lu(k,1603) * b(k,249)
    1982   141174528 :          b(k,243) = b(k,243) - lu(k,1602) * b(k,249)
    1983   141174528 :          b(k,242) = b(k,242) - lu(k,1601) * b(k,249)
    1984   141174528 :          b(k,235) = b(k,235) - lu(k,1600) * b(k,249)
    1985   141174528 :          b(k,225) = b(k,225) - lu(k,1599) * b(k,249)
    1986   141174528 :          b(k,213) = b(k,213) - lu(k,1598) * b(k,249)
    1987   141174528 :          b(k,208) = b(k,208) - lu(k,1597) * b(k,249)
    1988   141174528 :          b(k,203) = b(k,203) - lu(k,1596) * b(k,249)
    1989   141174528 :          b(k,202) = b(k,202) - lu(k,1595) * b(k,249)
    1990   141174528 :          b(k,199) = b(k,199) - lu(k,1594) * b(k,249)
    1991   141174528 :          b(k,181) = b(k,181) - lu(k,1593) * b(k,249)
    1992   141174528 :          b(k,172) = b(k,172) - lu(k,1592) * b(k,249)
    1993   141174528 :          b(k,169) = b(k,169) - lu(k,1591) * b(k,249)
    1994   141174528 :          b(k,146) = b(k,146) - lu(k,1590) * b(k,249)
    1995   141174528 :          b(k,248) = b(k,248) * lu(k,1576)
    1996   141174528 :          b(k,247) = b(k,247) - lu(k,1575) * b(k,248)
    1997   141174528 :          b(k,246) = b(k,246) - lu(k,1574) * b(k,248)
    1998   141174528 :          b(k,245) = b(k,245) - lu(k,1573) * b(k,248)
    1999   141174528 :          b(k,244) = b(k,244) - lu(k,1572) * b(k,248)
    2000   141174528 :          b(k,243) = b(k,243) - lu(k,1571) * b(k,248)
    2001   141174528 :          b(k,241) = b(k,241) - lu(k,1570) * b(k,248)
    2002   141174528 :          b(k,240) = b(k,240) - lu(k,1569) * b(k,248)
    2003   141174528 :          b(k,235) = b(k,235) - lu(k,1568) * b(k,248)
    2004   141174528 :          b(k,234) = b(k,234) - lu(k,1567) * b(k,248)
    2005   141174528 :          b(k,227) = b(k,227) - lu(k,1566) * b(k,248)
    2006   141174528 :          b(k,225) = b(k,225) - lu(k,1565) * b(k,248)
    2007   141174528 :          b(k,216) = b(k,216) - lu(k,1564) * b(k,248)
    2008   141174528 :          b(k,213) = b(k,213) - lu(k,1563) * b(k,248)
    2009   141174528 :          b(k,210) = b(k,210) - lu(k,1562) * b(k,248)
    2010   141174528 :          b(k,208) = b(k,208) - lu(k,1561) * b(k,248)
    2011   141174528 :          b(k,205) = b(k,205) - lu(k,1560) * b(k,248)
    2012   141174528 :          b(k,199) = b(k,199) - lu(k,1559) * b(k,248)
    2013   141174528 :          b(k,197) = b(k,197) - lu(k,1558) * b(k,248)
    2014   141174528 :          b(k,193) = b(k,193) - lu(k,1557) * b(k,248)
    2015   141174528 :          b(k,184) = b(k,184) - lu(k,1556) * b(k,248)
    2016   141174528 :          b(k,182) = b(k,182) - lu(k,1555) * b(k,248)
    2017   141174528 :          b(k,172) = b(k,172) - lu(k,1554) * b(k,248)
    2018   141174528 :          b(k,171) = b(k,171) - lu(k,1553) * b(k,248)
    2019   141174528 :          b(k,170) = b(k,170) - lu(k,1552) * b(k,248)
    2020   141174528 :          b(k,165) = b(k,165) - lu(k,1551) * b(k,248)
    2021   141174528 :          b(k,164) = b(k,164) - lu(k,1550) * b(k,248)
    2022   141174528 :          b(k,151) = b(k,151) - lu(k,1549) * b(k,248)
    2023   141174528 :          b(k,134) = b(k,134) - lu(k,1548) * b(k,248)
    2024   141174528 :          b(k,108) = b(k,108) - lu(k,1547) * b(k,248)
    2025   141174528 :          b(k,97) = b(k,97) - lu(k,1546) * b(k,248)
    2026   141174528 :          b(k,247) = b(k,247) * lu(k,1532)
    2027   141174528 :          b(k,246) = b(k,246) - lu(k,1531) * b(k,247)
    2028   141174528 :          b(k,245) = b(k,245) - lu(k,1530) * b(k,247)
    2029   141174528 :          b(k,244) = b(k,244) - lu(k,1529) * b(k,247)
    2030   141174528 :          b(k,243) = b(k,243) - lu(k,1528) * b(k,247)
    2031   141174528 :          b(k,242) = b(k,242) - lu(k,1527) * b(k,247)
    2032   141174528 :          b(k,225) = b(k,225) - lu(k,1526) * b(k,247)
    2033   141174528 :          b(k,215) = b(k,215) - lu(k,1525) * b(k,247)
    2034   141174528 :          b(k,202) = b(k,202) - lu(k,1524) * b(k,247)
    2035   141174528 :          b(k,159) = b(k,159) - lu(k,1523) * b(k,247)
    2036   141174528 :          b(k,246) = b(k,246) * lu(k,1510)
    2037   141174528 :          b(k,245) = b(k,245) - lu(k,1509) * b(k,246)
    2038   141174528 :          b(k,244) = b(k,244) - lu(k,1508) * b(k,246)
    2039   141174528 :          b(k,242) = b(k,242) - lu(k,1507) * b(k,246)
    2040   141174528 :          b(k,245) = b(k,245) * lu(k,1494)
    2041   141174528 :          b(k,244) = b(k,244) - lu(k,1493) * b(k,245)
    2042   141174528 :          b(k,242) = b(k,242) - lu(k,1492) * b(k,245)
    2043   141174528 :          b(k,209) = b(k,209) - lu(k,1491) * b(k,245)
    2044   141174528 :          b(k,133) = b(k,133) - lu(k,1490) * b(k,245)
    2045   141174528 :          b(k,244) = b(k,244) * lu(k,1477)
    2046   141174528 :          b(k,242) = b(k,242) - lu(k,1476) * b(k,244)
    2047   141174528 :          b(k,225) = b(k,225) - lu(k,1475) * b(k,244)
    2048   141174528 :          b(k,209) = b(k,209) - lu(k,1474) * b(k,244)
    2049   141174528 :          b(k,205) = b(k,205) - lu(k,1473) * b(k,244)
    2050   141174528 :          b(k,133) = b(k,133) - lu(k,1472) * b(k,244)
    2051   141174528 :          b(k,243) = b(k,243) * lu(k,1462)
    2052   141174528 :          b(k,225) = b(k,225) - lu(k,1461) * b(k,243)
    2053   141174528 :          b(k,202) = b(k,202) - lu(k,1460) * b(k,243)
    2054   141174528 :          b(k,242) = b(k,242) * lu(k,1448)
    2055   141174528 :          b(k,209) = b(k,209) - lu(k,1447) * b(k,242)
    2056   141174528 :          b(k,133) = b(k,133) - lu(k,1446) * b(k,242)
    2057   141174528 :          b(k,241) = b(k,241) * lu(k,1433)
    2058   141174528 :          b(k,240) = b(k,240) - lu(k,1432) * b(k,241)
    2059   141174528 :          b(k,239) = b(k,239) - lu(k,1431) * b(k,241)
    2060   141174528 :          b(k,238) = b(k,238) - lu(k,1430) * b(k,241)
    2061   141174528 :          b(k,237) = b(k,237) - lu(k,1429) * b(k,241)
    2062   141174528 :          b(k,236) = b(k,236) - lu(k,1428) * b(k,241)
    2063   141174528 :          b(k,234) = b(k,234) - lu(k,1427) * b(k,241)
    2064   141174528 :          b(k,233) = b(k,233) - lu(k,1426) * b(k,241)
    2065   141174528 :          b(k,232) = b(k,232) - lu(k,1425) * b(k,241)
    2066   141174528 :          b(k,231) = b(k,231) - lu(k,1424) * b(k,241)
    2067   141174528 :          b(k,227) = b(k,227) - lu(k,1423) * b(k,241)
    2068   141174528 :          b(k,225) = b(k,225) - lu(k,1422) * b(k,241)
    2069   141174528 :          b(k,222) = b(k,222) - lu(k,1421) * b(k,241)
    2070   141174528 :          b(k,220) = b(k,220) - lu(k,1420) * b(k,241)
    2071   141174528 :          b(k,216) = b(k,216) - lu(k,1419) * b(k,241)
    2072   141174528 :          b(k,205) = b(k,205) - lu(k,1418) * b(k,241)
    2073   141174528 :          b(k,190) = b(k,190) - lu(k,1417) * b(k,241)
    2074   141174528 :          b(k,179) = b(k,179) - lu(k,1416) * b(k,241)
    2075   141174528 :          b(k,171) = b(k,171) - lu(k,1415) * b(k,241)
    2076   141174528 :          b(k,141) = b(k,141) - lu(k,1414) * b(k,241)
    2077   141174528 :          b(k,240) = b(k,240) * lu(k,1401)
    2078   141174528 :          b(k,234) = b(k,234) - lu(k,1400) * b(k,240)
    2079   141174528 :          b(k,227) = b(k,227) - lu(k,1399) * b(k,240)
    2080   141174528 :          b(k,225) = b(k,225) - lu(k,1398) * b(k,240)
    2081   141174528 :          b(k,205) = b(k,205) - lu(k,1397) * b(k,240)
    2082   141174528 :          b(k,190) = b(k,190) - lu(k,1396) * b(k,240)
    2083   141174528 :          b(k,182) = b(k,182) - lu(k,1395) * b(k,240)
    2084   141174528 :          b(k,179) = b(k,179) - lu(k,1394) * b(k,240)
    2085   141174528 :          b(k,239) = b(k,239) * lu(k,1379)
    2086   141174528 :          b(k,238) = b(k,238) - lu(k,1378) * b(k,239)
    2087   141174528 :          b(k,234) = b(k,234) - lu(k,1377) * b(k,239)
    2088   141174528 :          b(k,227) = b(k,227) - lu(k,1376) * b(k,239)
    2089   141174528 :          b(k,225) = b(k,225) - lu(k,1375) * b(k,239)
    2090   141174528 :          b(k,221) = b(k,221) - lu(k,1374) * b(k,239)
    2091   141174528 :          b(k,219) = b(k,219) - lu(k,1373) * b(k,239)
    2092   141174528 :          b(k,215) = b(k,215) - lu(k,1372) * b(k,239)
    2093   141174528 :          b(k,205) = b(k,205) - lu(k,1371) * b(k,239)
    2094   141174528 :          b(k,238) = b(k,238) * lu(k,1358)
    2095   141174528 :          b(k,234) = b(k,234) - lu(k,1357) * b(k,238)
    2096   141174528 :          b(k,230) = b(k,230) - lu(k,1356) * b(k,238)
    2097   141174528 :          b(k,227) = b(k,227) - lu(k,1355) * b(k,238)
    2098   141174528 :          b(k,226) = b(k,226) - lu(k,1354) * b(k,238)
    2099   141174528 :          b(k,225) = b(k,225) - lu(k,1353) * b(k,238)
    2100   141174528 :          b(k,222) = b(k,222) - lu(k,1352) * b(k,238)
    2101   141174528 :          b(k,200) = b(k,200) - lu(k,1351) * b(k,238)
    2102   141174528 :          b(k,142) = b(k,142) - lu(k,1350) * b(k,238)
    2103   141174528 :          b(k,237) = b(k,237) * lu(k,1334)
    2104   141174528 :          b(k,234) = b(k,234) - lu(k,1333) * b(k,237)
    2105   141174528 :          b(k,233) = b(k,233) - lu(k,1332) * b(k,237)
    2106   141174528 :          b(k,231) = b(k,231) - lu(k,1331) * b(k,237)
    2107   141174528 :          b(k,230) = b(k,230) - lu(k,1330) * b(k,237)
    2108   141174528 :          b(k,227) = b(k,227) - lu(k,1329) * b(k,237)
    2109   141174528 :          b(k,226) = b(k,226) - lu(k,1328) * b(k,237)
    2110   141174528 :          b(k,225) = b(k,225) - lu(k,1327) * b(k,237)
    2111   141174528 :          b(k,222) = b(k,222) - lu(k,1326) * b(k,237)
    2112   141174528 :          b(k,216) = b(k,216) - lu(k,1325) * b(k,237)
    2113   141174528 :          b(k,210) = b(k,210) - lu(k,1324) * b(k,237)
    2114   141174528 :          b(k,207) = b(k,207) - lu(k,1323) * b(k,237)
    2115   141174528 :          b(k,200) = b(k,200) - lu(k,1322) * b(k,237)
    2116   141174528 :          b(k,195) = b(k,195) - lu(k,1321) * b(k,237)
    2117   141174528 :          b(k,180) = b(k,180) - lu(k,1320) * b(k,237)
    2118   141174528 :          b(k,174) = b(k,174) - lu(k,1319) * b(k,237)
    2119   141174528 :          b(k,141) = b(k,141) - lu(k,1318) * b(k,237)
    2120   141174528 :          b(k,120) = b(k,120) - lu(k,1317) * b(k,237)
    2121   141174528 :          b(k,236) = b(k,236) * lu(k,1301)
    2122   141174528 :          b(k,234) = b(k,234) - lu(k,1300) * b(k,236)
    2123   141174528 :          b(k,233) = b(k,233) - lu(k,1299) * b(k,236)
    2124   141174528 :          b(k,231) = b(k,231) - lu(k,1298) * b(k,236)
    2125   141174528 :          b(k,230) = b(k,230) - lu(k,1297) * b(k,236)
    2126   141174528 :          b(k,227) = b(k,227) - lu(k,1296) * b(k,236)
    2127   141174528 :          b(k,226) = b(k,226) - lu(k,1295) * b(k,236)
    2128   141174528 :          b(k,225) = b(k,225) - lu(k,1294) * b(k,236)
    2129   141174528 :          b(k,222) = b(k,222) - lu(k,1293) * b(k,236)
    2130   141174528 :          b(k,205) = b(k,205) - lu(k,1292) * b(k,236)
    2131   141174528 :          b(k,200) = b(k,200) - lu(k,1291) * b(k,236)
    2132   141174528 :          b(k,195) = b(k,195) - lu(k,1290) * b(k,236)
    2133   141174528 :          b(k,177) = b(k,177) - lu(k,1289) * b(k,236)
    2134   141174528 :          b(k,235) = b(k,235) * lu(k,1276)
    2135   141174528 :          b(k,208) = b(k,208) - lu(k,1275) * b(k,235)
    2136   141174528 :          b(k,169) = b(k,169) - lu(k,1274) * b(k,235)
    2137   141174528 :          b(k,137) = b(k,137) - lu(k,1273) * b(k,235)
    2138   141174528 :          b(k,234) = b(k,234) * lu(k,1265)
    2139   141174528 :          b(k,225) = b(k,225) - lu(k,1264) * b(k,234)
    2140   141174528 :          b(k,233) = b(k,233) * lu(k,1253)
    2141   141174528 :          b(k,225) = b(k,225) - lu(k,1252) * b(k,233)
    2142   141174528 :          b(k,215) = b(k,215) - lu(k,1251) * b(k,233)
    2143   141174528 :          b(k,232) = b(k,232) * lu(k,1237)
    2144   141174528 :          b(k,231) = b(k,231) - lu(k,1236) * b(k,232)
    2145   141174528 :          b(k,225) = b(k,225) - lu(k,1235) * b(k,232)
    2146   141174528 :          b(k,222) = b(k,222) - lu(k,1234) * b(k,232)
    2147   141174528 :          b(k,220) = b(k,220) - lu(k,1233) * b(k,232)
    2148   141174528 :          b(k,207) = b(k,207) - lu(k,1232) * b(k,232)
    2149   141174528 :          b(k,200) = b(k,200) - lu(k,1231) * b(k,232)
    2150   141174528 :          b(k,195) = b(k,195) - lu(k,1230) * b(k,232)
    2151   141174528 :          b(k,155) = b(k,155) - lu(k,1229) * b(k,232)
    2152   141174528 :          b(k,148) = b(k,148) - lu(k,1228) * b(k,232)
    2153   141174528 :          b(k,231) = b(k,231) * lu(k,1217)
    2154   141174528 :          b(k,227) = b(k,227) - lu(k,1216) * b(k,231)
    2155   141174528 :          b(k,225) = b(k,225) - lu(k,1215) * b(k,231)
    2156   141174528 :          b(k,222) = b(k,222) - lu(k,1214) * b(k,231)
    2157   141174528 :          b(k,216) = b(k,216) - lu(k,1213) * b(k,231)
    2158   141174528 :          b(k,205) = b(k,205) - lu(k,1212) * b(k,231)
    2159   141174528 :          b(k,200) = b(k,200) - lu(k,1211) * b(k,231)
    2160   141174528 :          b(k,113) = b(k,113) - lu(k,1210) * b(k,231)
    2161   141174528 :          b(k,230) = b(k,230) * lu(k,1200)
    2162   141174528 :          b(k,227) = b(k,227) - lu(k,1199) * b(k,230)
    2163   141174528 :          b(k,200) = b(k,200) - lu(k,1198) * b(k,230)
    2164   141174528 :          b(k,147) = b(k,147) - lu(k,1197) * b(k,230)
    2165   141174528 :          b(k,229) = b(k,229) * lu(k,1184)
    2166   141174528 :          b(k,228) = b(k,228) - lu(k,1183) * b(k,229)
    2167   141174528 :          b(k,225) = b(k,225) - lu(k,1182) * b(k,229)
    2168   141174528 :          b(k,224) = b(k,224) - lu(k,1181) * b(k,229)
    2169   141174528 :          b(k,223) = b(k,223) - lu(k,1180) * b(k,229)
    2170   141174528 :          b(k,218) = b(k,218) - lu(k,1179) * b(k,229)
    2171   141174528 :          b(k,214) = b(k,214) - lu(k,1178) * b(k,229)
    2172   141174528 :          b(k,200) = b(k,200) - lu(k,1177) * b(k,229)
    2173   141174528 :          b(k,183) = b(k,183) - lu(k,1176) * b(k,229)
    2174   141174528 :          b(k,163) = b(k,163) - lu(k,1175) * b(k,229)
    2175   141174528 :          b(k,228) = b(k,228) * lu(k,1163)
    2176   141174528 :          b(k,225) = b(k,225) - lu(k,1162) * b(k,228)
    2177   141174528 :          b(k,224) = b(k,224) - lu(k,1161) * b(k,228)
    2178   141174528 :          b(k,222) = b(k,222) - lu(k,1160) * b(k,228)
    2179   141174528 :          b(k,214) = b(k,214) - lu(k,1159) * b(k,228)
    2180   141174528 :          b(k,205) = b(k,205) - lu(k,1158) * b(k,228)
    2181   141174528 :          b(k,200) = b(k,200) - lu(k,1157) * b(k,228)
    2182   141174528 :          b(k,188) = b(k,188) - lu(k,1156) * b(k,228)
    2183   145586232 :          b(k,117) = b(k,117) - lu(k,1155) * b(k,228)
    2184             :       end do
    2185     4411704 :       end subroutine lu_slv10
    2186     4411704 :       subroutine lu_slv11( avec_len, lu, b )
    2187             :       use shr_kind_mod, only : r8 => shr_kind_r8
    2188             :       use chem_mods, only : clscnt4, nzcnt
    2189             :       implicit none
    2190             : !-----------------------------------------------------------------------
    2191             : ! ... Dummy args
    2192             : !-----------------------------------------------------------------------
    2193             :       integer, intent(in) :: avec_len
    2194             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    2195             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    2196             : !-----------------------------------------------------------------------
    2197             : ! ... Local variables
    2198             : !-----------------------------------------------------------------------
    2199             :       integer :: k
    2200             : !-----------------------------------------------------------------------
    2201             : ! ... solve L * y = b
    2202             : !-----------------------------------------------------------------------
    2203   145586232 :       do k = 1,avec_len
    2204   141174528 :          b(k,227) = b(k,227) * lu(k,1149)
    2205   141174528 :          b(k,226) = b(k,226) * lu(k,1136)
    2206   141174528 :          b(k,225) = b(k,225) - lu(k,1135) * b(k,226)
    2207   141174528 :          b(k,222) = b(k,222) - lu(k,1134) * b(k,226)
    2208   141174528 :          b(k,221) = b(k,221) - lu(k,1133) * b(k,226)
    2209   141174528 :          b(k,214) = b(k,214) - lu(k,1132) * b(k,226)
    2210   141174528 :          b(k,117) = b(k,117) - lu(k,1131) * b(k,226)
    2211   141174528 :          b(k,225) = b(k,225) * lu(k,1127)
    2212   141174528 :          b(k,205) = b(k,205) - lu(k,1126) * b(k,225)
    2213   141174528 :          b(k,224) = b(k,224) * lu(k,1116)
    2214   141174528 :          b(k,214) = b(k,214) - lu(k,1115) * b(k,224)
    2215   141174528 :          b(k,205) = b(k,205) - lu(k,1114) * b(k,224)
    2216   141174528 :          b(k,223) = b(k,223) * lu(k,1102)
    2217   141174528 :          b(k,218) = b(k,218) - lu(k,1101) * b(k,223)
    2218   141174528 :          b(k,200) = b(k,200) - lu(k,1100) * b(k,223)
    2219   141174528 :          b(k,183) = b(k,183) - lu(k,1099) * b(k,223)
    2220   141174528 :          b(k,152) = b(k,152) - lu(k,1098) * b(k,223)
    2221   141174528 :          b(k,222) = b(k,222) * lu(k,1092)
    2222   141174528 :          b(k,216) = b(k,216) - lu(k,1091) * b(k,222)
    2223   141174528 :          b(k,205) = b(k,205) - lu(k,1090) * b(k,222)
    2224   141174528 :          b(k,221) = b(k,221) * lu(k,1081)
    2225   141174528 :          b(k,220) = b(k,220) * lu(k,1069)
    2226   141174528 :          b(k,216) = b(k,216) - lu(k,1068) * b(k,220)
    2227   141174528 :          b(k,210) = b(k,210) - lu(k,1067) * b(k,220)
    2228   141174528 :          b(k,207) = b(k,207) - lu(k,1066) * b(k,220)
    2229   141174528 :          b(k,180) = b(k,180) - lu(k,1065) * b(k,220)
    2230   141174528 :          b(k,219) = b(k,219) * lu(k,1048)
    2231   141174528 :          b(k,215) = b(k,215) - lu(k,1047) * b(k,219)
    2232   141174528 :          b(k,207) = b(k,207) - lu(k,1046) * b(k,219)
    2233   141174528 :          b(k,205) = b(k,205) - lu(k,1045) * b(k,219)
    2234   141174528 :          b(k,198) = b(k,198) - lu(k,1044) * b(k,219)
    2235   141174528 :          b(k,190) = b(k,190) - lu(k,1043) * b(k,219)
    2236   141174528 :          b(k,218) = b(k,218) * lu(k,1035)
    2237   141174528 :          b(k,217) = b(k,217) * lu(k,1015)
    2238   141174528 :          b(k,216) = b(k,216) - lu(k,1014) * b(k,217)
    2239   141174528 :          b(k,215) = b(k,215) - lu(k,1013) * b(k,217)
    2240   141174528 :          b(k,214) = b(k,214) - lu(k,1012) * b(k,217)
    2241   141174528 :          b(k,212) = b(k,212) - lu(k,1011) * b(k,217)
    2242   141174528 :          b(k,205) = b(k,205) - lu(k,1010) * b(k,217)
    2243   141174528 :          b(k,149) = b(k,149) - lu(k,1009) * b(k,217)
    2244   141174528 :          b(k,116) = b(k,116) - lu(k,1008) * b(k,217)
    2245   141174528 :          b(k,71) = b(k,71) - lu(k,1007) * b(k,217)
    2246   141174528 :          b(k,70) = b(k,70) - lu(k,1006) * b(k,217)
    2247   141174528 :          b(k,69) = b(k,69) - lu(k,1005) * b(k,217)
    2248   141174528 :          b(k,68) = b(k,68) - lu(k,1004) * b(k,217)
    2249   141174528 :          b(k,67) = b(k,67) - lu(k,1003) * b(k,217)
    2250   141174528 :          b(k,66) = b(k,66) - lu(k,1002) * b(k,217)
    2251   141174528 :          b(k,216) = b(k,216) * lu(k,997)
    2252   141174528 :          b(k,205) = b(k,205) - lu(k,996) * b(k,216)
    2253   141174528 :          b(k,66) = b(k,66) - lu(k,995) * b(k,216)
    2254   141174528 :          b(k,215) = b(k,215) * lu(k,989)
    2255   141174528 :          b(k,205) = b(k,205) - lu(k,988) * b(k,215)
    2256   141174528 :          b(k,214) = b(k,214) * lu(k,982)
    2257   141174528 :          b(k,213) = b(k,213) * lu(k,972)
    2258   141174528 :          b(k,203) = b(k,203) - lu(k,971) * b(k,213)
    2259   141174528 :          b(k,107) = b(k,107) - lu(k,970) * b(k,213)
    2260   141174528 :          b(k,212) = b(k,212) * lu(k,960)
    2261   141174528 :          b(k,204) = b(k,204) - lu(k,959) * b(k,212)
    2262   141174528 :          b(k,187) = b(k,187) - lu(k,958) * b(k,212)
    2263   141174528 :          b(k,186) = b(k,186) - lu(k,957) * b(k,212)
    2264   141174528 :          b(k,185) = b(k,185) - lu(k,956) * b(k,212)
    2265   141174528 :          b(k,168) = b(k,168) - lu(k,955) * b(k,212)
    2266   141174528 :          b(k,211) = b(k,211) * lu(k,936)
    2267   141174528 :          b(k,205) = b(k,205) - lu(k,935) * b(k,211)
    2268   141174528 :          b(k,149) = b(k,149) - lu(k,934) * b(k,211)
    2269   141174528 :          b(k,116) = b(k,116) - lu(k,933) * b(k,211)
    2270   141174528 :          b(k,73) = b(k,73) - lu(k,932) * b(k,211)
    2271   141174528 :          b(k,70) = b(k,70) - lu(k,931) * b(k,211)
    2272   141174528 :          b(k,69) = b(k,69) - lu(k,930) * b(k,211)
    2273   141174528 :          b(k,68) = b(k,68) - lu(k,929) * b(k,211)
    2274   141174528 :          b(k,67) = b(k,67) - lu(k,928) * b(k,211)
    2275   141174528 :          b(k,66) = b(k,66) - lu(k,927) * b(k,211)
    2276   141174528 :          b(k,210) = b(k,210) * lu(k,918)
    2277   141174528 :          b(k,209) = b(k,209) * lu(k,909)
    2278   141174528 :          b(k,133) = b(k,133) - lu(k,908) * b(k,209)
    2279   141174528 :          b(k,208) = b(k,208) * lu(k,902)
    2280   141174528 :          b(k,125) = b(k,125) - lu(k,901) * b(k,208)
    2281   141174528 :          b(k,207) = b(k,207) * lu(k,895)
    2282   141174528 :          b(k,206) = b(k,206) * lu(k,879)
    2283   141174528 :          b(k,72) = b(k,72) - lu(k,878) * b(k,206)
    2284   141174528 :          b(k,70) = b(k,70) - lu(k,877) * b(k,206)
    2285   141174528 :          b(k,69) = b(k,69) - lu(k,876) * b(k,206)
    2286   141174528 :          b(k,205) = b(k,205) * lu(k,873)
    2287   141174528 :          b(k,204) = b(k,204) * lu(k,865)
    2288   141174528 :          b(k,200) = b(k,200) - lu(k,864) * b(k,204)
    2289   141174528 :          b(k,140) = b(k,140) - lu(k,863) * b(k,204)
    2290   141174528 :          b(k,126) = b(k,126) - lu(k,862) * b(k,204)
    2291   141174528 :          b(k,203) = b(k,203) * lu(k,855)
    2292   141174528 :          b(k,107) = b(k,107) - lu(k,854) * b(k,203)
    2293   141174528 :          b(k,202) = b(k,202) * lu(k,846)
    2294   141174528 :          b(k,201) = b(k,201) * lu(k,836)
    2295   141174528 :          b(k,150) = b(k,150) - lu(k,835) * b(k,201)
    2296   141174528 :          b(k,200) = b(k,200) * lu(k,831)
    2297   141174528 :          b(k,199) = b(k,199) * lu(k,823)
    2298   141174528 :          b(k,118) = b(k,118) - lu(k,822) * b(k,199)
    2299   141174528 :          b(k,198) = b(k,198) * lu(k,813)
    2300   141174528 :          b(k,173) = b(k,173) - lu(k,812) * b(k,198)
    2301   141174528 :          b(k,197) = b(k,197) * lu(k,804)
    2302   141174528 :          b(k,196) = b(k,196) * lu(k,793)
    2303   141174528 :          b(k,193) = b(k,193) - lu(k,792) * b(k,196)
    2304   141174528 :          b(k,191) = b(k,191) - lu(k,791) * b(k,196)
    2305   141174528 :          b(k,180) = b(k,180) - lu(k,790) * b(k,196)
    2306   141174528 :          b(k,161) = b(k,161) - lu(k,789) * b(k,196)
    2307   141174528 :          b(k,136) = b(k,136) - lu(k,788) * b(k,196)
    2308   141174528 :          b(k,129) = b(k,129) - lu(k,787) * b(k,196)
    2309   141174528 :          b(k,195) = b(k,195) * lu(k,780)
    2310   141174528 :          b(k,96) = b(k,96) - lu(k,779) * b(k,195)
    2311   141174528 :          b(k,194) = b(k,194) * lu(k,769)
    2312   141174528 :          b(k,193) = b(k,193) - lu(k,768) * b(k,194)
    2313   141174528 :          b(k,189) = b(k,189) - lu(k,767) * b(k,194)
    2314   141174528 :          b(k,180) = b(k,180) - lu(k,766) * b(k,194)
    2315   141174528 :          b(k,161) = b(k,161) - lu(k,765) * b(k,194)
    2316   141174528 :          b(k,129) = b(k,129) - lu(k,764) * b(k,194)
    2317   141174528 :          b(k,193) = b(k,193) * lu(k,758)
    2318   141174528 :          b(k,192) = b(k,192) * lu(k,751)
    2319   141174528 :          b(k,128) = b(k,128) - lu(k,750) * b(k,192)
    2320   141174528 :          b(k,102) = b(k,102) - lu(k,749) * b(k,192)
    2321   141174528 :          b(k,191) = b(k,191) * lu(k,738)
    2322   141174528 :          b(k,180) = b(k,180) - lu(k,737) * b(k,191)
    2323   141174528 :          b(k,161) = b(k,161) - lu(k,736) * b(k,191)
    2324   141174528 :          b(k,136) = b(k,136) - lu(k,735) * b(k,191)
    2325   141174528 :          b(k,129) = b(k,129) - lu(k,734) * b(k,191)
    2326   141174528 :          b(k,190) = b(k,190) * lu(k,729)
    2327   141174528 :          b(k,189) = b(k,189) * lu(k,719)
    2328   141174528 :          b(k,180) = b(k,180) - lu(k,718) * b(k,189)
    2329   141174528 :          b(k,161) = b(k,161) - lu(k,717) * b(k,189)
    2330   141174528 :          b(k,129) = b(k,129) - lu(k,716) * b(k,189)
    2331   141174528 :          b(k,188) = b(k,188) * lu(k,706)
    2332   141174528 :          b(k,187) = b(k,187) * lu(k,699)
    2333   141174528 :          b(k,143) = b(k,143) - lu(k,698) * b(k,187)
    2334   141174528 :          b(k,186) = b(k,186) * lu(k,688)
    2335   141174528 :          b(k,168) = b(k,168) - lu(k,687) * b(k,186)
    2336   141174528 :          b(k,185) = b(k,185) * lu(k,677)
    2337   141174528 :          b(k,168) = b(k,168) - lu(k,676) * b(k,185)
    2338   141174528 :          b(k,184) = b(k,184) * lu(k,670)
    2339   141174528 :          b(k,164) = b(k,164) - lu(k,669) * b(k,184)
    2340   141174528 :          b(k,127) = b(k,127) - lu(k,668) * b(k,184)
    2341   141174528 :          b(k,183) = b(k,183) * lu(k,662)
    2342   141174528 :          b(k,182) = b(k,182) * lu(k,653)
    2343   141174528 :          b(k,181) = b(k,181) * lu(k,646)
    2344   141174528 :          b(k,180) = b(k,180) * lu(k,642)
    2345   141174528 :          b(k,179) = b(k,179) * lu(k,635)
    2346   141174528 :          b(k,178) = b(k,178) * lu(k,626)
    2347   141174528 :          b(k,177) = b(k,177) * lu(k,617)
    2348   141174528 :          b(k,176) = b(k,176) * lu(k,609)
    2349   141174528 :          b(k,175) = b(k,175) * lu(k,601)
    2350   141174528 :          b(k,174) = b(k,174) * lu(k,593)
    2351   141174528 :          b(k,173) = b(k,173) * lu(k,585)
    2352   141174528 :          b(k,172) = b(k,172) * lu(k,577)
    2353   141174528 :          b(k,171) = b(k,171) * lu(k,569)
    2354   141174528 :          b(k,170) = b(k,170) * lu(k,563)
    2355   141174528 :          b(k,97) = b(k,97) - lu(k,562) * b(k,170)
    2356   141174528 :          b(k,169) = b(k,169) * lu(k,556)
    2357   141174528 :          b(k,168) = b(k,168) * lu(k,551)
    2358   141174528 :          b(k,167) = b(k,167) * lu(k,544)
    2359   141174528 :          b(k,157) = b(k,157) - lu(k,543) * b(k,167)
    2360   141174528 :          b(k,166) = b(k,166) * lu(k,536)
    2361   141174528 :          b(k,161) = b(k,161) - lu(k,535) * b(k,166)
    2362   141174528 :          b(k,156) = b(k,156) - lu(k,534) * b(k,166)
    2363   141174528 :          b(k,165) = b(k,165) * lu(k,527)
    2364   141174528 :          b(k,108) = b(k,108) - lu(k,526) * b(k,165)
    2365   141174528 :          b(k,164) = b(k,164) * lu(k,522)
    2366   141174528 :          b(k,163) = b(k,163) * lu(k,515)
    2367   141174528 :          b(k,162) = b(k,162) * lu(k,508)
    2368   141174528 :          b(k,161) = b(k,161) * lu(k,505)
    2369   141174528 :          b(k,160) = b(k,160) * lu(k,499)
    2370   141174528 :          b(k,138) = b(k,138) - lu(k,498) * b(k,160)
    2371   141174528 :          b(k,159) = b(k,159) * lu(k,492)
    2372   141174528 :          b(k,158) = b(k,158) * lu(k,486)
    2373   141174528 :          b(k,139) = b(k,139) - lu(k,485) * b(k,158)
    2374   141174528 :          b(k,119) = b(k,119) - lu(k,484) * b(k,158)
    2375   141174528 :          b(k,157) = b(k,157) * lu(k,478)
    2376   141174528 :          b(k,156) = b(k,156) * lu(k,472)
    2377   141174528 :          b(k,155) = b(k,155) * lu(k,466)
    2378   141174528 :          b(k,154) = b(k,154) * lu(k,460)
    2379   141174528 :          b(k,153) = b(k,153) * lu(k,454)
    2380   141174528 :          b(k,152) = b(k,152) * lu(k,448)
    2381   141174528 :          b(k,151) = b(k,151) * lu(k,442)
    2382   141174528 :          b(k,150) = b(k,150) * lu(k,436)
    2383   141174528 :          b(k,149) = b(k,149) * lu(k,430)
    2384   141174528 :          b(k,148) = b(k,148) * lu(k,424)
    2385   141174528 :          b(k,147) = b(k,147) * lu(k,418)
    2386   141174528 :          b(k,146) = b(k,146) * lu(k,410)
    2387   141174528 :          b(k,145) = b(k,145) * lu(k,402)
    2388   141174528 :          b(k,144) = b(k,144) * lu(k,394)
    2389   141174528 :          b(k,143) = b(k,143) * lu(k,389)
    2390   141174528 :          b(k,142) = b(k,142) * lu(k,384)
    2391   141174528 :          b(k,141) = b(k,141) * lu(k,381)
    2392   141174528 :          b(k,140) = b(k,140) * lu(k,376)
    2393   141174528 :          b(k,139) = b(k,139) * lu(k,371)
    2394   141174528 :          b(k,119) = b(k,119) - lu(k,370) * b(k,139)
    2395   141174528 :          b(k,138) = b(k,138) * lu(k,365)
    2396   141174528 :          b(k,137) = b(k,137) * lu(k,360)
    2397   141174528 :          b(k,136) = b(k,136) * lu(k,355)
    2398   141174528 :          b(k,135) = b(k,135) * lu(k,349)
    2399   141174528 :          b(k,134) = b(k,134) * lu(k,343)
    2400   141174528 :          b(k,133) = b(k,133) * lu(k,340)
    2401   141174528 :          b(k,132) = b(k,132) * lu(k,334)
    2402   141174528 :          b(k,121) = b(k,121) - lu(k,333) * b(k,132)
    2403   141174528 :          b(k,131) = b(k,131) * lu(k,327)
    2404   145586232 :          b(k,130) = b(k,130) * lu(k,321)
    2405             :       end do
    2406     4411704 :       end subroutine lu_slv11
    2407     4411704 :       subroutine lu_slv12( avec_len, lu, b )
    2408             :       use shr_kind_mod, only : r8 => shr_kind_r8
    2409             :       use chem_mods, only : clscnt4, nzcnt
    2410             :       implicit none
    2411             : !-----------------------------------------------------------------------
    2412             : ! ... Dummy args
    2413             : !-----------------------------------------------------------------------
    2414             :       integer, intent(in) :: avec_len
    2415             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    2416             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    2417             : !-----------------------------------------------------------------------
    2418             : ! ... Local variables
    2419             : !-----------------------------------------------------------------------
    2420             :       integer :: k
    2421             : !-----------------------------------------------------------------------
    2422             : ! ... solve L * y = b
    2423             : !-----------------------------------------------------------------------
    2424   145586232 :       do k = 1,avec_len
    2425   141174528 :          b(k,129) = b(k,129) * lu(k,318)
    2426   141174528 :          b(k,128) = b(k,128) * lu(k,314)
    2427   141174528 :          b(k,127) = b(k,127) * lu(k,310)
    2428   141174528 :          b(k,126) = b(k,126) * lu(k,306)
    2429   141174528 :          b(k,125) = b(k,125) * lu(k,302)
    2430   141174528 :          b(k,103) = b(k,103) - lu(k,301) * b(k,125)
    2431   141174528 :          b(k,124) = b(k,124) * lu(k,296)
    2432   141174528 :          b(k,121) = b(k,121) - lu(k,295) * b(k,124)
    2433   141174528 :          b(k,123) = b(k,123) * lu(k,291)
    2434   141174528 :          b(k,122) = b(k,122) * lu(k,286)
    2435   141174528 :          b(k,121) = b(k,121) * lu(k,283)
    2436   141174528 :          b(k,120) = b(k,120) * lu(k,278)
    2437   141174528 :          b(k,119) = b(k,119) * lu(k,275)
    2438   141174528 :          b(k,118) = b(k,118) * lu(k,272)
    2439   141174528 :          b(k,117) = b(k,117) * lu(k,269)
    2440   141174528 :          b(k,116) = b(k,116) * lu(k,266)
    2441   141174528 :          b(k,115) = b(k,115) * lu(k,261)
    2442   141174528 :          b(k,114) = b(k,114) * lu(k,253)
    2443   141174528 :          b(k,112) = b(k,112) - lu(k,252) * b(k,114)
    2444   141174528 :          b(k,85) = b(k,85) - lu(k,251) * b(k,114)
    2445   141174528 :          b(k,113) = b(k,113) * lu(k,248)
    2446   141174528 :          b(k,112) = b(k,112) * lu(k,244)
    2447   141174528 :          b(k,111) = b(k,111) * lu(k,239)
    2448   141174528 :          b(k,110) = b(k,110) * lu(k,232)
    2449   141174528 :          b(k,84) = b(k,84) - lu(k,231) * b(k,110)
    2450   141174528 :          b(k,109) = b(k,109) * lu(k,227)
    2451   141174528 :          b(k,108) = b(k,108) * lu(k,224)
    2452   141174528 :          b(k,107) = b(k,107) * lu(k,222)
    2453   141174528 :          b(k,106) = b(k,106) * lu(k,217)
    2454   141174528 :          b(k,105) = b(k,105) * lu(k,213)
    2455   141174528 :          b(k,104) = b(k,104) * lu(k,207)
    2456   141174528 :          b(k,81) = b(k,81) - lu(k,206) * b(k,104)
    2457   141174528 :          b(k,103) = b(k,103) * lu(k,203)
    2458   141174528 :          b(k,102) = b(k,102) * lu(k,200)
    2459   141174528 :          b(k,101) = b(k,101) * lu(k,195)
    2460   141174528 :          b(k,100) = b(k,100) * lu(k,190)
    2461   141174528 :          b(k,99) = b(k,99) * lu(k,185)
    2462   141174528 :          b(k,98) = b(k,98) * lu(k,180)
    2463   141174528 :          b(k,97) = b(k,97) * lu(k,177)
    2464   141174528 :          b(k,96) = b(k,96) * lu(k,174)
    2465   141174528 :          b(k,95) = b(k,95) * lu(k,170)
    2466   141174528 :          b(k,94) = b(k,94) * lu(k,166)
    2467   141174528 :          b(k,93) = b(k,93) * lu(k,162)
    2468   141174528 :          b(k,92) = b(k,92) * lu(k,158)
    2469   141174528 :          b(k,91) = b(k,91) * lu(k,154)
    2470   141174528 :          b(k,90) = b(k,90) * lu(k,150)
    2471   141174528 :          b(k,89) = b(k,89) * lu(k,147)
    2472   141174528 :          b(k,88) = b(k,88) * lu(k,144)
    2473   141174528 :          b(k,87) = b(k,87) * lu(k,141)
    2474   141174528 :          b(k,86) = b(k,86) * lu(k,138)
    2475   141174528 :          b(k,85) = b(k,85) * lu(k,137)
    2476   141174528 :          b(k,78) = b(k,78) - lu(k,136) * b(k,85)
    2477   141174528 :          b(k,77) = b(k,77) - lu(k,135) * b(k,85)
    2478   141174528 :          b(k,76) = b(k,76) - lu(k,134) * b(k,85)
    2479   141174528 :          b(k,75) = b(k,75) - lu(k,133) * b(k,85)
    2480   141174528 :          b(k,74) = b(k,74) - lu(k,132) * b(k,85)
    2481   141174528 :          b(k,84) = b(k,84) * lu(k,131)
    2482   141174528 :          b(k,78) = b(k,78) - lu(k,130) * b(k,84)
    2483   141174528 :          b(k,77) = b(k,77) - lu(k,129) * b(k,84)
    2484   141174528 :          b(k,76) = b(k,76) - lu(k,128) * b(k,84)
    2485   141174528 :          b(k,75) = b(k,75) - lu(k,127) * b(k,84)
    2486   141174528 :          b(k,74) = b(k,74) - lu(k,126) * b(k,84)
    2487   141174528 :          b(k,83) = b(k,83) * lu(k,125)
    2488   141174528 :          b(k,78) = b(k,78) - lu(k,124) * b(k,83)
    2489   141174528 :          b(k,77) = b(k,77) - lu(k,123) * b(k,83)
    2490   141174528 :          b(k,76) = b(k,76) - lu(k,122) * b(k,83)
    2491   141174528 :          b(k,75) = b(k,75) - lu(k,121) * b(k,83)
    2492   141174528 :          b(k,74) = b(k,74) - lu(k,120) * b(k,83)
    2493   141174528 :          b(k,82) = b(k,82) * lu(k,119)
    2494   141174528 :          b(k,63) = b(k,63) - lu(k,118) * b(k,82)
    2495   141174528 :          b(k,62) = b(k,62) - lu(k,117) * b(k,82)
    2496   141174528 :          b(k,61) = b(k,61) - lu(k,116) * b(k,82)
    2497   141174528 :          b(k,60) = b(k,60) - lu(k,115) * b(k,82)
    2498   141174528 :          b(k,59) = b(k,59) - lu(k,114) * b(k,82)
    2499   141174528 :          b(k,81) = b(k,81) * lu(k,113)
    2500   141174528 :          b(k,78) = b(k,78) - lu(k,112) * b(k,81)
    2501   141174528 :          b(k,77) = b(k,77) - lu(k,111) * b(k,81)
    2502   141174528 :          b(k,76) = b(k,76) - lu(k,110) * b(k,81)
    2503   141174528 :          b(k,75) = b(k,75) - lu(k,109) * b(k,81)
    2504   141174528 :          b(k,74) = b(k,74) - lu(k,108) * b(k,81)
    2505   141174528 :          b(k,80) = b(k,80) * lu(k,107)
    2506   141174528 :          b(k,79) = b(k,79) - lu(k,106) * b(k,80)
    2507   141174528 :          b(k,79) = b(k,79) * lu(k,105)
    2508   141174528 :          b(k,78) = b(k,78) - lu(k,104) * b(k,79)
    2509   141174528 :          b(k,77) = b(k,77) - lu(k,103) * b(k,79)
    2510   141174528 :          b(k,76) = b(k,76) - lu(k,102) * b(k,79)
    2511   141174528 :          b(k,75) = b(k,75) - lu(k,101) * b(k,79)
    2512   141174528 :          b(k,74) = b(k,74) - lu(k,100) * b(k,79)
    2513   141174528 :          b(k,78) = b(k,78) * lu(k,99)
    2514   141174528 :          b(k,77) = b(k,77) * lu(k,98)
    2515   141174528 :          b(k,76) = b(k,76) * lu(k,97)
    2516   141174528 :          b(k,75) = b(k,75) * lu(k,96)
    2517   141174528 :          b(k,74) = b(k,74) * lu(k,95)
    2518   141174528 :          b(k,73) = b(k,73) * lu(k,94)
    2519   141174528 :          b(k,70) = b(k,70) - lu(k,93) * b(k,73)
    2520   141174528 :          b(k,69) = b(k,69) - lu(k,92) * b(k,73)
    2521   141174528 :          b(k,68) = b(k,68) - lu(k,91) * b(k,73)
    2522   141174528 :          b(k,67) = b(k,67) - lu(k,90) * b(k,73)
    2523   141174528 :          b(k,66) = b(k,66) - lu(k,89) * b(k,73)
    2524   141174528 :          b(k,72) = b(k,72) * lu(k,88)
    2525   141174528 :          b(k,70) = b(k,70) - lu(k,87) * b(k,72)
    2526   141174528 :          b(k,69) = b(k,69) - lu(k,86) * b(k,72)
    2527   141174528 :          b(k,68) = b(k,68) - lu(k,85) * b(k,72)
    2528   141174528 :          b(k,67) = b(k,67) - lu(k,84) * b(k,72)
    2529   141174528 :          b(k,66) = b(k,66) - lu(k,83) * b(k,72)
    2530   141174528 :          b(k,71) = b(k,71) * lu(k,82)
    2531   141174528 :          b(k,70) = b(k,70) - lu(k,81) * b(k,71)
    2532   141174528 :          b(k,69) = b(k,69) - lu(k,80) * b(k,71)
    2533   141174528 :          b(k,68) = b(k,68) - lu(k,79) * b(k,71)
    2534   141174528 :          b(k,67) = b(k,67) - lu(k,78) * b(k,71)
    2535   141174528 :          b(k,66) = b(k,66) - lu(k,77) * b(k,71)
    2536   141174528 :          b(k,70) = b(k,70) * lu(k,76)
    2537   141174528 :          b(k,69) = b(k,69) * lu(k,75)
    2538   141174528 :          b(k,68) = b(k,68) * lu(k,74)
    2539   141174528 :          b(k,67) = b(k,67) * lu(k,73)
    2540   141174528 :          b(k,66) = b(k,66) * lu(k,72)
    2541   141174528 :          b(k,65) = b(k,65) * lu(k,71)
    2542   141174528 :          b(k,64) = b(k,64) - lu(k,70) * b(k,65)
    2543   141174528 :          b(k,64) = b(k,64) * lu(k,69)
    2544   141174528 :          b(k,63) = b(k,63) - lu(k,68) * b(k,64)
    2545   141174528 :          b(k,62) = b(k,62) - lu(k,67) * b(k,64)
    2546   141174528 :          b(k,61) = b(k,61) - lu(k,66) * b(k,64)
    2547   141174528 :          b(k,60) = b(k,60) - lu(k,65) * b(k,64)
    2548   141174528 :          b(k,59) = b(k,59) - lu(k,64) * b(k,64)
    2549   141174528 :          b(k,63) = b(k,63) * lu(k,63)
    2550   141174528 :          b(k,62) = b(k,62) * lu(k,62)
    2551   141174528 :          b(k,61) = b(k,61) * lu(k,61)
    2552   141174528 :          b(k,60) = b(k,60) * lu(k,60)
    2553   141174528 :          b(k,59) = b(k,59) * lu(k,59)
    2554   141174528 :          b(k,58) = b(k,58) * lu(k,58)
    2555   141174528 :          b(k,57) = b(k,57) * lu(k,57)
    2556   141174528 :          b(k,56) = b(k,56) * lu(k,56)
    2557   141174528 :          b(k,55) = b(k,55) * lu(k,55)
    2558   141174528 :          b(k,54) = b(k,54) * lu(k,54)
    2559   141174528 :          b(k,53) = b(k,53) * lu(k,53)
    2560   141174528 :          b(k,52) = b(k,52) * lu(k,52)
    2561   141174528 :          b(k,51) = b(k,51) * lu(k,51)
    2562   141174528 :          b(k,50) = b(k,50) * lu(k,50)
    2563   141174528 :          b(k,49) = b(k,49) * lu(k,49)
    2564   141174528 :          b(k,48) = b(k,48) * lu(k,48)
    2565   141174528 :          b(k,47) = b(k,47) * lu(k,47)
    2566   141174528 :          b(k,46) = b(k,46) * lu(k,46)
    2567   141174528 :          b(k,45) = b(k,45) * lu(k,45)
    2568   141174528 :          b(k,44) = b(k,44) * lu(k,44)
    2569   141174528 :          b(k,43) = b(k,43) * lu(k,43)
    2570   141174528 :          b(k,42) = b(k,42) * lu(k,42)
    2571   141174528 :          b(k,41) = b(k,41) * lu(k,41)
    2572   141174528 :          b(k,40) = b(k,40) * lu(k,40)
    2573   141174528 :          b(k,39) = b(k,39) * lu(k,39)
    2574   141174528 :          b(k,38) = b(k,38) * lu(k,38)
    2575   141174528 :          b(k,37) = b(k,37) * lu(k,37)
    2576   141174528 :          b(k,36) = b(k,36) * lu(k,36)
    2577   141174528 :          b(k,35) = b(k,35) * lu(k,35)
    2578   141174528 :          b(k,34) = b(k,34) * lu(k,34)
    2579   141174528 :          b(k,33) = b(k,33) * lu(k,33)
    2580   141174528 :          b(k,32) = b(k,32) * lu(k,32)
    2581   141174528 :          b(k,31) = b(k,31) * lu(k,31)
    2582   141174528 :          b(k,30) = b(k,30) * lu(k,30)
    2583   141174528 :          b(k,29) = b(k,29) * lu(k,29)
    2584   141174528 :          b(k,28) = b(k,28) * lu(k,28)
    2585   141174528 :          b(k,27) = b(k,27) * lu(k,27)
    2586   141174528 :          b(k,26) = b(k,26) * lu(k,26)
    2587   141174528 :          b(k,25) = b(k,25) * lu(k,25)
    2588   141174528 :          b(k,24) = b(k,24) * lu(k,24)
    2589   141174528 :          b(k,23) = b(k,23) * lu(k,23)
    2590   141174528 :          b(k,22) = b(k,22) * lu(k,22)
    2591   141174528 :          b(k,21) = b(k,21) * lu(k,21)
    2592   141174528 :          b(k,20) = b(k,20) * lu(k,20)
    2593   141174528 :          b(k,19) = b(k,19) * lu(k,19)
    2594   141174528 :          b(k,18) = b(k,18) * lu(k,18)
    2595   141174528 :          b(k,17) = b(k,17) * lu(k,17)
    2596   141174528 :          b(k,16) = b(k,16) * lu(k,16)
    2597   141174528 :          b(k,15) = b(k,15) * lu(k,15)
    2598   141174528 :          b(k,14) = b(k,14) * lu(k,14)
    2599   141174528 :          b(k,13) = b(k,13) * lu(k,13)
    2600   141174528 :          b(k,12) = b(k,12) * lu(k,12)
    2601   141174528 :          b(k,11) = b(k,11) * lu(k,11)
    2602   141174528 :          b(k,10) = b(k,10) * lu(k,10)
    2603   141174528 :          b(k,9) = b(k,9) * lu(k,9)
    2604   141174528 :          b(k,8) = b(k,8) * lu(k,8)
    2605   141174528 :          b(k,7) = b(k,7) * lu(k,7)
    2606   141174528 :          b(k,6) = b(k,6) * lu(k,6)
    2607   141174528 :          b(k,5) = b(k,5) * lu(k,5)
    2608   141174528 :          b(k,4) = b(k,4) * lu(k,4)
    2609   141174528 :          b(k,3) = b(k,3) * lu(k,3)
    2610   141174528 :          b(k,2) = b(k,2) * lu(k,2)
    2611   145586232 :          b(k,1) = b(k,1) * lu(k,1)
    2612             :       end do
    2613     4411704 :       end subroutine lu_slv12
    2614     4411704 :       subroutine lu_slv( avec_len, lu, b )
    2615             :       use shr_kind_mod, only : r8 => shr_kind_r8
    2616             :       use chem_mods, only : clscnt4, nzcnt
    2617             :       implicit none
    2618             : !-----------------------------------------------------------------------
    2619             : ! ... Dummy args
    2620             : !-----------------------------------------------------------------------
    2621             :       integer, intent(in) :: avec_len
    2622             :       real(r8), intent(in) :: lu(veclen,max(1,nzcnt))
    2623             :       real(r8), intent(inout) :: b(veclen,clscnt4)
    2624     4411704 :       call lu_slv01( avec_len, lu, b )
    2625     4411704 :       call lu_slv02( avec_len, lu, b )
    2626     4411704 :       call lu_slv03( avec_len, lu, b )
    2627     4411704 :       call lu_slv04( avec_len, lu, b )
    2628     4411704 :       call lu_slv05( avec_len, lu, b )
    2629     4411704 :       call lu_slv06( avec_len, lu, b )
    2630     4411704 :       call lu_slv07( avec_len, lu, b )
    2631     4411704 :       call lu_slv08( avec_len, lu, b )
    2632     4411704 :       call lu_slv09( avec_len, lu, b )
    2633     4411704 :       call lu_slv10( avec_len, lu, b )
    2634     4411704 :       call lu_slv11( avec_len, lu, b )
    2635     4411704 :       call lu_slv12( avec_len, lu, b )
    2636     4411704 :       end subroutine lu_slv
    2637             :       end module mo_lu_solve

Generated by: LCOV version 1.14