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