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