1
2! KGEN-generated Fortran source file
3!
4! Filename    : mo_lu_solve.F90
5! Generated at: 2015-07-14 19:56:41
6! KGEN version: 0.4.13
7
8
9
10    MODULE mo_lu_solve
11        USE kgen_utils_mod, ONLY : kgen_dp, check_t, kgen_init_check, kgen_print_check
12        PRIVATE
13        PUBLIC lu_slv
14        CONTAINS
15
16        ! write subroutines
17        ! No subroutines
18        ! No module extern variables
19
20        SUBROUTINE lu_slv01(lu, b)
21            USE shr_kind_mod, ONLY: r8 => shr_kind_r8
22            IMPLICIT NONE
23            !-----------------------------------------------------------------------
24            ! ... Dummy args
25            !-----------------------------------------------------------------------
26            REAL(KIND=r8), intent(in) :: lu(:)
27            REAL(KIND=r8), intent(inout) :: b(:)
28            !-----------------------------------------------------------------------
29            ! ... Local variables
30            !-----------------------------------------------------------------------
31            !-----------------------------------------------------------------------
32            ! ... solve L * y = b
33            !-----------------------------------------------------------------------
34         b(125) = b(125) - lu(18) * b(17)
35         b(131) = b(131) - lu(19) * b(17)
36         b(124) = b(124) - lu(21) * b(18)
37         b(126) = b(126) - lu(22) * b(18)
38         b(79) = b(79) - lu(24) * b(19)
39         b(131) = b(131) - lu(25) * b(19)
40         b(41) = b(41) - lu(27) * b(20)
41         b(131) = b(131) - lu(28) * b(20)
42         b(96) = b(96) - lu(30) * b(21)
43         b(131) = b(131) - lu(31) * b(21)
44         b(134) = b(134) - lu(32) * b(21)
45         b(23) = b(23) - lu(34) * b(22)
46         b(65) = b(65) - lu(35) * b(22)
47         b(125) = b(125) - lu(36) * b(22)
48         b(131) = b(131) - lu(37) * b(22)
49         b(31) = b(31) - lu(39) * b(23)
50         b(131) = b(131) - lu(40) * b(23)
51         b(56) = b(56) - lu(42) * b(24)
52         b(131) = b(131) - lu(43) * b(24)
53         b(88) = b(88) - lu(45) * b(25)
54         b(122) = b(122) - lu(46) * b(25)
55         b(36) = b(36) - lu(48) * b(26)
56         b(134) = b(134) - lu(49) * b(26)
57         b(120) = b(120) - lu(51) * b(27)
58         b(120) = b(120) - lu(54) * b(28)
59         b(126) = b(126) - lu(56) * b(29)
60         b(122) = b(122) - lu(58) * b(30)
61         b(125) = b(125) - lu(59) * b(30)
62         b(131) = b(131) - lu(60) * b(30)
63         b(66) = b(66) - lu(62) * b(31)
64         b(125) = b(125) - lu(63) * b(31)
65         b(130) = b(130) - lu(64) * b(31)
66         b(88) = b(88) - lu(66) * b(32)
67         b(122) = b(122) - lu(67) * b(32)
68         b(126) = b(126) - lu(68) * b(32)
69         b(118) = b(118) - lu(70) * b(33)
70         b(126) = b(126) - lu(71) * b(33)
71         b(88) = b(88) - lu(73) * b(34)
72         b(127) = b(127) - lu(74) * b(34)
73         b(104) = b(104) - lu(76) * b(35)
74         b(125) = b(125) - lu(77) * b(35)
75         b(131) = b(131) - lu(78) * b(35)
76         b(99) = b(99) - lu(81) * b(36)
77         b(121) = b(121) - lu(82) * b(36)
78         b(134) = b(134) - lu(83) * b(36)
79         b(91) = b(91) - lu(85) * b(37)
80         b(117) = b(117) - lu(86) * b(37)
81         b(126) = b(126) - lu(87) * b(37)
82         b(131) = b(131) - lu(88) * b(37)
83         b(134) = b(134) - lu(89) * b(37)
84         b(64) = b(64) - lu(91) * b(38)
85         b(81) = b(81) - lu(92) * b(38)
86         b(103) = b(103) - lu(93) * b(38)
87         b(125) = b(125) - lu(94) * b(38)
88         b(131) = b(131) - lu(95) * b(38)
89         b(99) = b(99) - lu(97) * b(39)
90         b(125) = b(125) - lu(98) * b(39)
91         b(131) = b(131) - lu(99) * b(39)
92         b(132) = b(132) - lu(100) * b(39)
93         b(133) = b(133) - lu(101) * b(39)
94         b(121) = b(121) - lu(103) * b(40)
95         b(129) = b(129) - lu(104) * b(40)
96         b(130) = b(130) - lu(105) * b(40)
97         b(132) = b(132) - lu(106) * b(40)
98         b(133) = b(133) - lu(107) * b(40)
99         b(80) = b(80) - lu(109) * b(41)
100         b(104) = b(104) - lu(110) * b(41)
101         b(125) = b(125) - lu(111) * b(41)
102         b(129) = b(129) - lu(112) * b(41)
103         b(130) = b(130) - lu(113) * b(41)
104         b(135) = b(135) - lu(114) * b(41)
105         b(77) = b(77) - lu(116) * b(42)
106         b(104) = b(104) - lu(117) * b(42)
107         b(115) = b(115) - lu(118) * b(42)
108         b(131) = b(131) - lu(119) * b(42)
109         b(112) = b(112) - lu(121) * b(43)
110         b(114) = b(114) - lu(122) * b(43)
111         b(125) = b(125) - lu(123) * b(43)
112         b(131) = b(131) - lu(124) * b(43)
113         b(91) = b(91) - lu(126) * b(44)
114         b(104) = b(104) - lu(127) * b(44)
115         b(125) = b(125) - lu(128) * b(44)
116         b(131) = b(131) - lu(129) * b(44)
117         b(110) = b(110) - lu(131) * b(45)
118         b(131) = b(131) - lu(132) * b(45)
119         b(134) = b(134) - lu(133) * b(45)
120         b(99) = b(99) - lu(135) * b(46)
121         b(116) = b(116) - lu(136) * b(46)
122         b(121) = b(121) - lu(137) * b(46)
123         b(124) = b(124) - lu(138) * b(46)
124         b(110) = b(110) - lu(140) * b(47)
125         b(131) = b(131) - lu(141) * b(47)
126         b(82) = b(82) - lu(143) * b(48)
127         b(99) = b(99) - lu(144) * b(48)
128         b(103) = b(103) - lu(145) * b(48)
129         b(116) = b(116) - lu(146) * b(48)
130         b(121) = b(121) - lu(147) * b(48)
131         b(127) = b(127) - lu(148) * b(48)
132         b(131) = b(131) - lu(149) * b(48)
133         b(109) = b(109) - lu(151) * b(49)
134         b(130) = b(130) - lu(152) * b(49)
135         b(131) = b(131) - lu(153) * b(49)
136         b(119) = b(119) - lu(155) * b(50)
137         b(127) = b(127) - lu(156) * b(50)
138         b(131) = b(131) - lu(157) * b(50)
139         b(134) = b(134) - lu(158) * b(50)
140         b(135) = b(135) - lu(159) * b(50)
141         b(65) = b(65) - lu(161) * b(51)
142         b(66) = b(66) - lu(162) * b(51)
143         b(81) = b(81) - lu(163) * b(51)
144         b(109) = b(109) - lu(164) * b(51)
145         b(131) = b(131) - lu(165) * b(51)
146         b(80) = b(80) - lu(167) * b(52)
147         b(96) = b(96) - lu(168) * b(52)
148         b(125) = b(125) - lu(169) * b(52)
149         b(131) = b(131) - lu(170) * b(52)
150         b(134) = b(134) - lu(171) * b(52)
151         b(106) = b(106) - lu(173) * b(53)
152         b(115) = b(115) - lu(174) * b(53)
153         b(131) = b(131) - lu(175) * b(53)
154         b(134) = b(134) - lu(176) * b(53)
155         b(135) = b(135) - lu(177) * b(53)
156         b(64) = b(64) - lu(179) * b(54)
157         b(125) = b(125) - lu(180) * b(54)
158         b(129) = b(129) - lu(181) * b(54)
159         b(130) = b(130) - lu(182) * b(54)
160         b(135) = b(135) - lu(183) * b(54)
161         b(77) = b(77) - lu(185) * b(55)
162         b(91) = b(91) - lu(186) * b(55)
163         b(115) = b(115) - lu(187) * b(55)
164         b(131) = b(131) - lu(188) * b(55)
165         b(95) = b(95) - lu(190) * b(56)
166         b(120) = b(120) - lu(191) * b(56)
167         b(125) = b(125) - lu(192) * b(56)
168         b(135) = b(135) - lu(193) * b(56)
169         b(115) = b(115) - lu(195) * b(57)
170         b(119) = b(119) - lu(196) * b(57)
171         b(130) = b(130) - lu(197) * b(57)
172         b(131) = b(131) - lu(198) * b(57)
173         b(132) = b(132) - lu(199) * b(57)
174         b(135) = b(135) - lu(200) * b(57)
175         b(72) = b(72) - lu(202) * b(58)
176         b(85) = b(85) - lu(203) * b(58)
177         b(86) = b(86) - lu(204) * b(58)
178         b(92) = b(92) - lu(205) * b(58)
179         b(120) = b(120) - lu(206) * b(58)
180         b(121) = b(121) - lu(207) * b(58)
181         b(80) = b(80) - lu(209) * b(59)
182         b(98) = b(98) - lu(210) * b(59)
183         b(107) = b(107) - lu(211) * b(59)
184         b(113) = b(113) - lu(212) * b(59)
185         b(125) = b(125) - lu(213) * b(59)
186         b(131) = b(131) - lu(214) * b(59)
187         b(120) = b(120) - lu(216) * b(60)
188         b(125) = b(125) - lu(217) * b(60)
189         b(130) = b(130) - lu(218) * b(60)
190         b(131) = b(131) - lu(219) * b(60)
191         b(132) = b(132) - lu(220) * b(60)
192         b(134) = b(134) - lu(221) * b(60)
193         b(92) = b(92) - lu(223) * b(61)
194         b(120) = b(120) - lu(224) * b(61)
195         b(122) = b(122) - lu(225) * b(61)
196         b(129) = b(129) - lu(226) * b(61)
197         b(115) = b(115) - lu(228) * b(62)
198         b(119) = b(119) - lu(229) * b(62)
199         b(131) = b(131) - lu(230) * b(62)
200         b(134) = b(134) - lu(231) * b(62)
201         b(135) = b(135) - lu(232) * b(62)
202         b(64) = b(64) - lu(234) * b(63)
203         b(83) = b(83) - lu(235) * b(63)
204         b(103) = b(103) - lu(236) * b(63)
205         b(123) = b(123) - lu(237) * b(63)
206         b(125) = b(125) - lu(238) * b(63)
207         b(131) = b(131) - lu(239) * b(63)
208         b(135) = b(135) - lu(240) * b(63)
209         b(125) = b(125) - lu(242) * b(64)
210         b(131) = b(131) - lu(243) * b(64)
211         b(134) = b(134) - lu(244) * b(64)
212         b(66) = b(66) - lu(247) * b(65)
213         b(81) = b(81) - lu(248) * b(65)
214         b(109) = b(109) - lu(249) * b(65)
215         b(125) = b(125) - lu(250) * b(65)
216         b(129) = b(129) - lu(251) * b(65)
217         b(130) = b(130) - lu(252) * b(65)
218         b(131) = b(131) - lu(253) * b(65)
219         b(81) = b(81) - lu(255) * b(66)
220         b(103) = b(103) - lu(256) * b(66)
221         b(109) = b(109) - lu(257) * b(66)
222         b(115) = b(115) - lu(258) * b(66)
223         b(125) = b(125) - lu(259) * b(66)
224         b(89) = b(89) - lu(261) * b(67)
225         b(104) = b(104) - lu(262) * b(67)
226         b(105) = b(105) - lu(263) * b(67)
227         b(125) = b(125) - lu(264) * b(67)
228         b(131) = b(131) - lu(265) * b(67)
229         b(134) = b(134) - lu(266) * b(67)
230         b(135) = b(135) - lu(267) * b(67)
231         b(125) = b(125) - lu(269) * b(68)
232         b(131) = b(131) - lu(270) * b(68)
233         b(135) = b(135) - lu(271) * b(68)
234         b(107) = b(107) - lu(273) * b(69)
235         b(110) = b(110) - lu(274) * b(69)
236         b(111) = b(111) - lu(275) * b(69)
237         b(113) = b(113) - lu(276) * b(69)
238         b(125) = b(125) - lu(277) * b(69)
239         b(131) = b(131) - lu(278) * b(69)
240         b(135) = b(135) - lu(279) * b(69)
241        END SUBROUTINE lu_slv01
242
243        SUBROUTINE lu_slv02(lu, b)
244            USE shr_kind_mod, ONLY: r8 => shr_kind_r8
245            IMPLICIT NONE
246            !-----------------------------------------------------------------------
247            ! ... Dummy args
248            !-----------------------------------------------------------------------
249            REAL(KIND=r8), intent(in) :: lu(:)
250            REAL(KIND=r8), intent(inout) :: b(:)
251            !-----------------------------------------------------------------------
252            ! ... Local variables
253            !-----------------------------------------------------------------------
254            !-----------------------------------------------------------------------
255            ! ... solve L * y = b
256            !-----------------------------------------------------------------------
257         b(84) = b(84) - lu(281) * b(70)
258         b(118) = b(118) - lu(282) * b(70)
259         b(121) = b(121) - lu(283) * b(70)
260         b(128) = b(128) - lu(284) * b(70)
261         b(130) = b(130) - lu(285) * b(70)
262         b(132) = b(132) - lu(286) * b(70)
263         b(133) = b(133) - lu(287) * b(70)
264         b(105) = b(105) - lu(289) * b(71)
265         b(114) = b(114) - lu(290) * b(71)
266         b(125) = b(125) - lu(291) * b(71)
267         b(130) = b(130) - lu(292) * b(71)
268         b(131) = b(131) - lu(293) * b(71)
269         b(132) = b(132) - lu(294) * b(71)
270         b(135) = b(135) - lu(295) * b(71)
271         b(85) = b(85) - lu(297) * b(72)
272         b(86) = b(86) - lu(298) * b(72)
273         b(92) = b(92) - lu(299) * b(72)
274         b(103) = b(103) - lu(300) * b(72)
275         b(120) = b(120) - lu(301) * b(72)
276         b(121) = b(121) - lu(302) * b(72)
277         b(98) = b(98) - lu(304) * b(73)
278         b(107) = b(107) - lu(305) * b(73)
279         b(113) = b(113) - lu(306) * b(73)
280         b(123) = b(123) - lu(307) * b(73)
281         b(125) = b(125) - lu(308) * b(73)
282         b(130) = b(130) - lu(309) * b(73)
283         b(131) = b(131) - lu(310) * b(73)
284         b(132) = b(132) - lu(311) * b(73)
285         b(117) = b(117) - lu(313) * b(74)
286         b(121) = b(121) - lu(314) * b(74)
287         b(125) = b(125) - lu(315) * b(74)
288         b(126) = b(126) - lu(316) * b(74)
289         b(131) = b(131) - lu(317) * b(74)
290         b(134) = b(134) - lu(318) * b(74)
291         b(119) = b(119) - lu(320) * b(75)
292         b(131) = b(131) - lu(321) * b(75)
293         b(134) = b(134) - lu(322) * b(75)
294         b(77) = b(77) - lu(325) * b(76)
295         b(79) = b(79) - lu(326) * b(76)
296         b(80) = b(80) - lu(327) * b(76)
297         b(91) = b(91) - lu(328) * b(76)
298         b(104) = b(104) - lu(329) * b(76)
299         b(115) = b(115) - lu(330) * b(76)
300         b(125) = b(125) - lu(331) * b(76)
301         b(131) = b(131) - lu(332) * b(76)
302         b(135) = b(135) - lu(333) * b(76)
303         b(104) = b(104) - lu(336) * b(77)
304         b(115) = b(115) - lu(337) * b(77)
305         b(125) = b(125) - lu(338) * b(77)
306         b(129) = b(129) - lu(339) * b(77)
307         b(130) = b(130) - lu(340) * b(77)
308         b(131) = b(131) - lu(341) * b(77)
309         b(85) = b(85) - lu(345) * b(78)
310         b(86) = b(86) - lu(346) * b(78)
311         b(87) = b(87) - lu(347) * b(78)
312         b(92) = b(92) - lu(348) * b(78)
313         b(103) = b(103) - lu(349) * b(78)
314         b(120) = b(120) - lu(350) * b(78)
315         b(121) = b(121) - lu(351) * b(78)
316         b(122) = b(122) - lu(352) * b(78)
317         b(129) = b(129) - lu(353) * b(78)
318         b(80) = b(80) - lu(359) * b(79)
319         b(91) = b(91) - lu(360) * b(79)
320         b(104) = b(104) - lu(361) * b(79)
321         b(109) = b(109) - lu(362) * b(79)
322         b(115) = b(115) - lu(363) * b(79)
323         b(125) = b(125) - lu(364) * b(79)
324         b(129) = b(129) - lu(365) * b(79)
325         b(130) = b(130) - lu(366) * b(79)
326         b(131) = b(131) - lu(367) * b(79)
327         b(135) = b(135) - lu(368) * b(79)
328         b(106) = b(106) - lu(370) * b(80)
329         b(115) = b(115) - lu(371) * b(80)
330         b(119) = b(119) - lu(372) * b(80)
331         b(131) = b(131) - lu(373) * b(80)
332         b(134) = b(134) - lu(374) * b(80)
333         b(103) = b(103) - lu(376) * b(81)
334         b(125) = b(125) - lu(377) * b(81)
335         b(131) = b(131) - lu(378) * b(81)
336         b(116) = b(116) - lu(380) * b(82)
337         b(120) = b(120) - lu(381) * b(82)
338         b(121) = b(121) - lu(382) * b(82)
339         b(123) = b(123) - lu(383) * b(82)
340         b(127) = b(127) - lu(384) * b(82)
341         b(131) = b(131) - lu(385) * b(82)
342         b(95) = b(95) - lu(389) * b(83)
343         b(120) = b(120) - lu(390) * b(83)
344         b(125) = b(125) - lu(391) * b(83)
345         b(129) = b(129) - lu(392) * b(83)
346         b(130) = b(130) - lu(393) * b(83)
347         b(131) = b(131) - lu(394) * b(83)
348         b(135) = b(135) - lu(395) * b(83)
349         b(117) = b(117) - lu(398) * b(84)
350         b(118) = b(118) - lu(399) * b(84)
351         b(121) = b(121) - lu(400) * b(84)
352         b(126) = b(126) - lu(401) * b(84)
353         b(128) = b(128) - lu(402) * b(84)
354         b(131) = b(131) - lu(403) * b(84)
355         b(134) = b(134) - lu(404) * b(84)
356         b(86) = b(86) - lu(406) * b(85)
357         b(87) = b(87) - lu(407) * b(85)
358         b(92) = b(92) - lu(408) * b(85)
359         b(120) = b(120) - lu(409) * b(85)
360         b(121) = b(121) - lu(410) * b(85)
361         b(122) = b(122) - lu(411) * b(85)
362         b(129) = b(129) - lu(412) * b(85)
363         b(87) = b(87) - lu(415) * b(86)
364         b(92) = b(92) - lu(416) * b(86)
365         b(120) = b(120) - lu(417) * b(86)
366         b(121) = b(121) - lu(418) * b(86)
367         b(122) = b(122) - lu(419) * b(86)
368         b(129) = b(129) - lu(420) * b(86)
369         b(92) = b(92) - lu(426) * b(87)
370         b(103) = b(103) - lu(427) * b(87)
371         b(120) = b(120) - lu(428) * b(87)
372         b(121) = b(121) - lu(429) * b(87)
373         b(122) = b(122) - lu(430) * b(87)
374         b(129) = b(129) - lu(431) * b(87)
375         b(108) = b(108) - lu(434) * b(88)
376         b(119) = b(119) - lu(435) * b(88)
377         b(127) = b(127) - lu(436) * b(88)
378         b(131) = b(131) - lu(437) * b(88)
379         b(132) = b(132) - lu(438) * b(88)
380         b(133) = b(133) - lu(439) * b(88)
381         b(134) = b(134) - lu(440) * b(88)
382         b(104) = b(104) - lu(443) * b(89)
383         b(105) = b(105) - lu(444) * b(89)
384         b(120) = b(120) - lu(445) * b(89)
385         b(125) = b(125) - lu(446) * b(89)
386         b(129) = b(129) - lu(447) * b(89)
387         b(130) = b(130) - lu(448) * b(89)
388         b(131) = b(131) - lu(449) * b(89)
389         b(134) = b(134) - lu(450) * b(89)
390         b(135) = b(135) - lu(451) * b(89)
391         b(118) = b(118) - lu(453) * b(90)
392         b(121) = b(121) - lu(454) * b(90)
393         b(122) = b(122) - lu(455) * b(90)
394         b(127) = b(127) - lu(456) * b(90)
395         b(131) = b(131) - lu(457) * b(90)
396         b(134) = b(134) - lu(458) * b(90)
397         b(104) = b(104) - lu(463) * b(91)
398         b(119) = b(119) - lu(464) * b(91)
399         b(120) = b(120) - lu(465) * b(91)
400         b(125) = b(125) - lu(466) * b(91)
401         b(129) = b(129) - lu(467) * b(91)
402         b(130) = b(130) - lu(468) * b(91)
403         b(131) = b(131) - lu(469) * b(91)
404         b(135) = b(135) - lu(470) * b(91)
405         b(103) = b(103) - lu(477) * b(92)
406         b(120) = b(120) - lu(478) * b(92)
407         b(121) = b(121) - lu(479) * b(92)
408         b(122) = b(122) - lu(480) * b(92)
409         b(127) = b(127) - lu(481) * b(92)
410         b(129) = b(129) - lu(482) * b(92)
411         b(130) = b(130) - lu(483) * b(92)
412         b(131) = b(131) - lu(484) * b(92)
413         b(117) = b(117) - lu(487) * b(93)
414         b(121) = b(121) - lu(488) * b(93)
415         b(124) = b(124) - lu(489) * b(93)
416         b(126) = b(126) - lu(490) * b(93)
417         b(131) = b(131) - lu(491) * b(93)
418         b(134) = b(134) - lu(492) * b(93)
419         b(101) = b(101) - lu(495) * b(94)
420         b(102) = b(102) - lu(496) * b(94)
421         b(103) = b(103) - lu(497) * b(94)
422         b(107) = b(107) - lu(498) * b(94)
423         b(111) = b(111) - lu(499) * b(94)
424         b(113) = b(113) - lu(500) * b(94)
425         b(114) = b(114) - lu(501) * b(94)
426         b(119) = b(119) - lu(502) * b(94)
427         b(123) = b(123) - lu(503) * b(94)
428         b(125) = b(125) - lu(504) * b(94)
429         b(131) = b(131) - lu(505) * b(94)
430         b(132) = b(132) - lu(506) * b(94)
431         b(134) = b(134) - lu(507) * b(94)
432         b(135) = b(135) - lu(508) * b(94)
433         b(103) = b(103) - lu(511) * b(95)
434         b(125) = b(125) - lu(512) * b(95)
435         b(131) = b(131) - lu(513) * b(95)
436         b(135) = b(135) - lu(514) * b(95)
437         b(104) = b(104) - lu(518) * b(96)
438         b(106) = b(106) - lu(519) * b(96)
439         b(115) = b(115) - lu(520) * b(96)
440         b(119) = b(119) - lu(521) * b(96)
441         b(120) = b(120) - lu(522) * b(96)
442         b(125) = b(125) - lu(523) * b(96)
443         b(129) = b(129) - lu(524) * b(96)
444         b(130) = b(130) - lu(525) * b(96)
445         b(131) = b(131) - lu(526) * b(96)
446         b(134) = b(134) - lu(527) * b(96)
447         b(135) = b(135) - lu(528) * b(96)
448         b(103) = b(103) - lu(531) * b(97)
449         b(110) = b(110) - lu(532) * b(97)
450         b(125) = b(125) - lu(533) * b(97)
451         b(130) = b(130) - lu(534) * b(97)
452         b(131) = b(131) - lu(535) * b(97)
453         b(132) = b(132) - lu(536) * b(97)
454         b(135) = b(135) - lu(537) * b(97)
455         b(106) = b(106) - lu(541) * b(98)
456         b(107) = b(107) - lu(542) * b(98)
457         b(113) = b(113) - lu(543) * b(98)
458         b(115) = b(115) - lu(544) * b(98)
459         b(119) = b(119) - lu(545) * b(98)
460         b(125) = b(125) - lu(546) * b(98)
461         b(129) = b(129) - lu(547) * b(98)
462         b(130) = b(130) - lu(548) * b(98)
463         b(131) = b(131) - lu(549) * b(98)
464         b(134) = b(134) - lu(550) * b(98)
465        END SUBROUTINE lu_slv02
466
467        SUBROUTINE lu_slv03(lu, b)
468            USE shr_kind_mod, ONLY: r8 => shr_kind_r8
469            IMPLICIT NONE
470            !-----------------------------------------------------------------------
471            ! ... Dummy args
472            !-----------------------------------------------------------------------
473            REAL(KIND=r8), intent(in) :: lu(:)
474            REAL(KIND=r8), intent(inout) :: b(:)
475            !-----------------------------------------------------------------------
476            ! ... Local variables
477            !-----------------------------------------------------------------------
478            !-----------------------------------------------------------------------
479            ! ... solve L * y = b
480            !-----------------------------------------------------------------------
481         b(116) = b(116) - lu(553) * b(99)
482         b(121) = b(121) - lu(554) * b(99)
483         b(125) = b(125) - lu(555) * b(99)
484         b(131) = b(131) - lu(556) * b(99)
485         b(134) = b(134) - lu(557) * b(99)
486         b(117) = b(117) - lu(561) * b(100)
487         b(121) = b(121) - lu(562) * b(100)
488         b(124) = b(124) - lu(563) * b(100)
489         b(126) = b(126) - lu(564) * b(100)
490         b(130) = b(130) - lu(565) * b(100)
491         b(131) = b(131) - lu(566) * b(100)
492         b(132) = b(132) - lu(567) * b(100)
493         b(133) = b(133) - lu(568) * b(100)
494         b(134) = b(134) - lu(569) * b(100)
495         b(103) = b(103) - lu(573) * b(101)
496         b(107) = b(107) - lu(574) * b(101)
497         b(110) = b(110) - lu(575) * b(101)
498         b(113) = b(113) - lu(576) * b(101)
499         b(125) = b(125) - lu(577) * b(101)
500         b(129) = b(129) - lu(578) * b(101)
501         b(130) = b(130) - lu(579) * b(101)
502         b(131) = b(131) - lu(580) * b(101)
503         b(132) = b(132) - lu(581) * b(101)
504         b(134) = b(134) - lu(582) * b(101)
505         b(135) = b(135) - lu(583) * b(101)
506         b(103) = b(103) - lu(588) * b(102)
507         b(104) = b(104) - lu(589) * b(102)
508         b(105) = b(105) - lu(590) * b(102)
509         b(109) = b(109) - lu(591) * b(102)
510         b(119) = b(119) - lu(592) * b(102)
511         b(120) = b(120) - lu(593) * b(102)
512         b(123) = b(123) - lu(594) * b(102)
513         b(125) = b(125) - lu(595) * b(102)
514         b(129) = b(129) - lu(596) * b(102)
515         b(130) = b(130) - lu(597) * b(102)
516         b(131) = b(131) - lu(598) * b(102)
517         b(132) = b(132) - lu(599) * b(102)
518         b(134) = b(134) - lu(600) * b(102)
519         b(135) = b(135) - lu(601) * b(102)
520         b(125) = b(125) - lu(603) * b(103)
521         b(127) = b(127) - lu(604) * b(103)
522         b(131) = b(131) - lu(605) * b(103)
523         b(115) = b(115) - lu(608) * b(104)
524         b(119) = b(119) - lu(609) * b(104)
525         b(125) = b(125) - lu(610) * b(104)
526         b(127) = b(127) - lu(611) * b(104)
527         b(131) = b(131) - lu(612) * b(104)
528         b(132) = b(132) - lu(613) * b(104)
529         b(133) = b(133) - lu(614) * b(104)
530         b(134) = b(134) - lu(615) * b(104)
531         b(109) = b(109) - lu(617) * b(105)
532         b(115) = b(115) - lu(618) * b(105)
533         b(125) = b(125) - lu(619) * b(105)
534         b(131) = b(131) - lu(620) * b(105)
535         b(135) = b(135) - lu(621) * b(105)
536         b(109) = b(109) - lu(626) * b(106)
537         b(115) = b(115) - lu(627) * b(106)
538         b(119) = b(119) - lu(628) * b(106)
539         b(120) = b(120) - lu(629) * b(106)
540         b(125) = b(125) - lu(630) * b(106)
541         b(129) = b(129) - lu(631) * b(106)
542         b(130) = b(130) - lu(632) * b(106)
543         b(131) = b(131) - lu(633) * b(106)
544         b(134) = b(134) - lu(634) * b(106)
545         b(135) = b(135) - lu(635) * b(106)
546         b(109) = b(109) - lu(638) * b(107)
547         b(112) = b(112) - lu(639) * b(107)
548         b(114) = b(114) - lu(640) * b(107)
549         b(115) = b(115) - lu(641) * b(107)
550         b(123) = b(123) - lu(642) * b(107)
551         b(125) = b(125) - lu(643) * b(107)
552         b(127) = b(127) - lu(644) * b(107)
553         b(131) = b(131) - lu(645) * b(107)
554         b(134) = b(134) - lu(646) * b(107)
555         b(135) = b(135) - lu(647) * b(107)
556         b(117) = b(117) - lu(651) * b(108)
557         b(119) = b(119) - lu(652) * b(108)
558         b(121) = b(121) - lu(653) * b(108)
559         b(122) = b(122) - lu(654) * b(108)
560         b(126) = b(126) - lu(655) * b(108)
561         b(127) = b(127) - lu(656) * b(108)
562         b(131) = b(131) - lu(657) * b(108)
563         b(132) = b(132) - lu(658) * b(108)
564         b(133) = b(133) - lu(659) * b(108)
565         b(134) = b(134) - lu(660) * b(108)
566         b(115) = b(115) - lu(663) * b(109)
567         b(125) = b(125) - lu(664) * b(109)
568         b(127) = b(127) - lu(665) * b(109)
569         b(131) = b(131) - lu(666) * b(109)
570         b(132) = b(132) - lu(667) * b(109)
571         b(133) = b(133) - lu(668) * b(109)
572         b(134) = b(134) - lu(669) * b(109)
573         b(115) = b(115) - lu(678) * b(110)
574         b(119) = b(119) - lu(679) * b(110)
575         b(125) = b(125) - lu(680) * b(110)
576         b(127) = b(127) - lu(681) * b(110)
577         b(129) = b(129) - lu(682) * b(110)
578         b(130) = b(130) - lu(683) * b(110)
579         b(131) = b(131) - lu(684) * b(110)
580         b(132) = b(132) - lu(685) * b(110)
581         b(133) = b(133) - lu(686) * b(110)
582         b(134) = b(134) - lu(687) * b(110)
583         b(135) = b(135) - lu(688) * b(110)
584         b(112) = b(112) - lu(698) * b(111)
585         b(113) = b(113) - lu(699) * b(111)
586         b(114) = b(114) - lu(700) * b(111)
587         b(115) = b(115) - lu(701) * b(111)
588         b(119) = b(119) - lu(702) * b(111)
589         b(123) = b(123) - lu(703) * b(111)
590         b(125) = b(125) - lu(704) * b(111)
591         b(127) = b(127) - lu(705) * b(111)
592         b(129) = b(129) - lu(706) * b(111)
593         b(130) = b(130) - lu(707) * b(111)
594         b(131) = b(131) - lu(708) * b(111)
595         b(132) = b(132) - lu(709) * b(111)
596         b(133) = b(133) - lu(710) * b(111)
597         b(134) = b(134) - lu(711) * b(111)
598         b(135) = b(135) - lu(712) * b(111)
599         b(114) = b(114) - lu(722) * b(112)
600         b(115) = b(115) - lu(723) * b(112)
601         b(119) = b(119) - lu(724) * b(112)
602         b(125) = b(125) - lu(725) * b(112)
603         b(127) = b(127) - lu(726) * b(112)
604         b(129) = b(129) - lu(727) * b(112)
605         b(130) = b(130) - lu(728) * b(112)
606         b(131) = b(131) - lu(729) * b(112)
607         b(132) = b(132) - lu(730) * b(112)
608         b(133) = b(133) - lu(731) * b(112)
609         b(134) = b(134) - lu(732) * b(112)
610         b(135) = b(135) - lu(733) * b(112)
611         b(114) = b(114) - lu(741) * b(113)
612         b(115) = b(115) - lu(742) * b(113)
613         b(119) = b(119) - lu(743) * b(113)
614         b(120) = b(120) - lu(744) * b(113)
615         b(123) = b(123) - lu(745) * b(113)
616         b(125) = b(125) - lu(746) * b(113)
617         b(127) = b(127) - lu(747) * b(113)
618         b(129) = b(129) - lu(748) * b(113)
619         b(130) = b(130) - lu(749) * b(113)
620         b(131) = b(131) - lu(750) * b(113)
621         b(132) = b(132) - lu(751) * b(113)
622         b(133) = b(133) - lu(752) * b(113)
623         b(134) = b(134) - lu(753) * b(113)
624         b(135) = b(135) - lu(754) * b(113)
625         b(115) = b(115) - lu(761) * b(114)
626         b(119) = b(119) - lu(762) * b(114)
627         b(120) = b(120) - lu(763) * b(114)
628         b(123) = b(123) - lu(764) * b(114)
629         b(125) = b(125) - lu(765) * b(114)
630         b(127) = b(127) - lu(766) * b(114)
631         b(129) = b(129) - lu(767) * b(114)
632         b(130) = b(130) - lu(768) * b(114)
633         b(131) = b(131) - lu(769) * b(114)
634         b(132) = b(132) - lu(770) * b(114)
635         b(133) = b(133) - lu(771) * b(114)
636         b(134) = b(134) - lu(772) * b(114)
637         b(135) = b(135) - lu(773) * b(114)
638         b(119) = b(119) - lu(790) * b(115)
639         b(120) = b(120) - lu(791) * b(115)
640         b(123) = b(123) - lu(792) * b(115)
641         b(125) = b(125) - lu(793) * b(115)
642         b(127) = b(127) - lu(794) * b(115)
643         b(129) = b(129) - lu(795) * b(115)
644         b(130) = b(130) - lu(796) * b(115)
645         b(131) = b(131) - lu(797) * b(115)
646         b(132) = b(132) - lu(798) * b(115)
647         b(133) = b(133) - lu(799) * b(115)
648         b(134) = b(134) - lu(800) * b(115)
649         b(135) = b(135) - lu(801) * b(115)
650         b(118) = b(118) - lu(806) * b(116)
651         b(120) = b(120) - lu(807) * b(116)
652         b(121) = b(121) - lu(808) * b(116)
653         b(123) = b(123) - lu(809) * b(116)
654         b(124) = b(124) - lu(810) * b(116)
655         b(125) = b(125) - lu(811) * b(116)
656         b(126) = b(126) - lu(812) * b(116)
657         b(127) = b(127) - lu(813) * b(116)
658         b(128) = b(128) - lu(814) * b(116)
659         b(129) = b(129) - lu(815) * b(116)
660         b(130) = b(130) - lu(816) * b(116)
661         b(131) = b(131) - lu(817) * b(116)
662         b(134) = b(134) - lu(818) * b(116)
663         b(118) = b(118) - lu(825) * b(117)
664         b(121) = b(121) - lu(826) * b(117)
665         b(122) = b(122) - lu(827) * b(117)
666         b(124) = b(124) - lu(828) * b(117)
667         b(126) = b(126) - lu(829) * b(117)
668         b(127) = b(127) - lu(830) * b(117)
669         b(128) = b(128) - lu(831) * b(117)
670         b(130) = b(130) - lu(832) * b(117)
671         b(131) = b(131) - lu(833) * b(117)
672         b(132) = b(132) - lu(834) * b(117)
673         b(133) = b(133) - lu(835) * b(117)
674         b(134) = b(134) - lu(836) * b(117)
675         b(120) = b(120) - lu(840) * b(118)
676         b(121) = b(121) - lu(841) * b(118)
677         b(122) = b(122) - lu(842) * b(118)
678         b(123) = b(123) - lu(843) * b(118)
679         b(125) = b(125) - lu(844) * b(118)
680         b(127) = b(127) - lu(845) * b(118)
681         b(128) = b(128) - lu(846) * b(118)
682         b(131) = b(131) - lu(847) * b(118)
683         b(134) = b(134) - lu(848) * b(118)
684         b(135) = b(135) - lu(849) * b(118)
685        END SUBROUTINE lu_slv03
686
687        SUBROUTINE lu_slv04(lu, b)
688            USE shr_kind_mod, ONLY: r8 => shr_kind_r8
689            IMPLICIT NONE
690            !-----------------------------------------------------------------------
691            ! ... Dummy args
692            !-----------------------------------------------------------------------
693            REAL(KIND=r8), intent(in) :: lu(:)
694            REAL(KIND=r8), intent(inout) :: b(:)
695            !-----------------------------------------------------------------------
696            ! ... Local variables
697            !-----------------------------------------------------------------------
698            !-----------------------------------------------------------------------
699            ! ... solve L * y = b
700            !-----------------------------------------------------------------------
701         b(120) = b(120) - lu(873) * b(119)
702         b(123) = b(123) - lu(874) * b(119)
703         b(124) = b(124) - lu(875) * b(119)
704         b(125) = b(125) - lu(876) * b(119)
705         b(126) = b(126) - lu(877) * b(119)
706         b(127) = b(127) - lu(878) * b(119)
707         b(129) = b(129) - lu(879) * b(119)
708         b(130) = b(130) - lu(880) * b(119)
709         b(131) = b(131) - lu(881) * b(119)
710         b(132) = b(132) - lu(882) * b(119)
711         b(133) = b(133) - lu(883) * b(119)
712         b(134) = b(134) - lu(884) * b(119)
713         b(135) = b(135) - lu(885) * b(119)
714         b(121) = b(121) - lu(904) * b(120)
715         b(122) = b(122) - lu(905) * b(120)
716         b(123) = b(123) - lu(906) * b(120)
717         b(124) = b(124) - lu(907) * b(120)
718         b(125) = b(125) - lu(908) * b(120)
719         b(126) = b(126) - lu(909) * b(120)
720         b(127) = b(127) - lu(910) * b(120)
721         b(128) = b(128) - lu(911) * b(120)
722         b(129) = b(129) - lu(912) * b(120)
723         b(130) = b(130) - lu(913) * b(120)
724         b(131) = b(131) - lu(914) * b(120)
725         b(134) = b(134) - lu(915) * b(120)
726         b(135) = b(135) - lu(916) * b(120)
727         b(122) = b(122) - lu(944) * b(121)
728         b(123) = b(123) - lu(945) * b(121)
729         b(124) = b(124) - lu(946) * b(121)
730         b(125) = b(125) - lu(947) * b(121)
731         b(126) = b(126) - lu(948) * b(121)
732         b(127) = b(127) - lu(949) * b(121)
733         b(128) = b(128) - lu(950) * b(121)
734         b(129) = b(129) - lu(951) * b(121)
735         b(130) = b(130) - lu(952) * b(121)
736         b(131) = b(131) - lu(953) * b(121)
737         b(132) = b(132) - lu(954) * b(121)
738         b(133) = b(133) - lu(955) * b(121)
739         b(134) = b(134) - lu(956) * b(121)
740         b(135) = b(135) - lu(957) * b(121)
741         b(123) = b(123) - lu(971) * b(122)
742         b(124) = b(124) - lu(972) * b(122)
743         b(125) = b(125) - lu(973) * b(122)
744         b(126) = b(126) - lu(974) * b(122)
745         b(127) = b(127) - lu(975) * b(122)
746         b(128) = b(128) - lu(976) * b(122)
747         b(129) = b(129) - lu(977) * b(122)
748         b(130) = b(130) - lu(978) * b(122)
749         b(131) = b(131) - lu(979) * b(122)
750         b(132) = b(132) - lu(980) * b(122)
751         b(133) = b(133) - lu(981) * b(122)
752         b(134) = b(134) - lu(982) * b(122)
753         b(135) = b(135) - lu(983) * b(122)
754         b(124) = b(124) - lu(1017) * b(123)
755         b(125) = b(125) - lu(1018) * b(123)
756         b(126) = b(126) - lu(1019) * b(123)
757         b(127) = b(127) - lu(1020) * b(123)
758         b(128) = b(128) - lu(1021) * b(123)
759         b(129) = b(129) - lu(1022) * b(123)
760         b(130) = b(130) - lu(1023) * b(123)
761         b(131) = b(131) - lu(1024) * b(123)
762         b(132) = b(132) - lu(1025) * b(123)
763         b(133) = b(133) - lu(1026) * b(123)
764         b(134) = b(134) - lu(1027) * b(123)
765         b(135) = b(135) - lu(1028) * b(123)
766         b(125) = b(125) - lu(1045) * b(124)
767         b(126) = b(126) - lu(1046) * b(124)
768         b(127) = b(127) - lu(1047) * b(124)
769         b(128) = b(128) - lu(1048) * b(124)
770         b(129) = b(129) - lu(1049) * b(124)
771         b(130) = b(130) - lu(1050) * b(124)
772         b(131) = b(131) - lu(1051) * b(124)
773         b(132) = b(132) - lu(1052) * b(124)
774         b(133) = b(133) - lu(1053) * b(124)
775         b(134) = b(134) - lu(1054) * b(124)
776         b(135) = b(135) - lu(1055) * b(124)
777         b(126) = b(126) - lu(1115) * b(125)
778         b(127) = b(127) - lu(1116) * b(125)
779         b(128) = b(128) - lu(1117) * b(125)
780         b(129) = b(129) - lu(1118) * b(125)
781         b(130) = b(130) - lu(1119) * b(125)
782         b(131) = b(131) - lu(1120) * b(125)
783         b(132) = b(132) - lu(1121) * b(125)
784         b(133) = b(133) - lu(1122) * b(125)
785         b(134) = b(134) - lu(1123) * b(125)
786         b(135) = b(135) - lu(1124) * b(125)
787         b(127) = b(127) - lu(1151) * b(126)
788         b(128) = b(128) - lu(1152) * b(126)
789         b(129) = b(129) - lu(1153) * b(126)
790         b(130) = b(130) - lu(1154) * b(126)
791         b(131) = b(131) - lu(1155) * b(126)
792         b(132) = b(132) - lu(1156) * b(126)
793         b(133) = b(133) - lu(1157) * b(126)
794         b(134) = b(134) - lu(1158) * b(126)
795         b(135) = b(135) - lu(1159) * b(126)
796         b(128) = b(128) - lu(1172) * b(127)
797         b(129) = b(129) - lu(1173) * b(127)
798         b(130) = b(130) - lu(1174) * b(127)
799         b(131) = b(131) - lu(1175) * b(127)
800         b(132) = b(132) - lu(1176) * b(127)
801         b(133) = b(133) - lu(1177) * b(127)
802         b(134) = b(134) - lu(1178) * b(127)
803         b(135) = b(135) - lu(1179) * b(127)
804         b(129) = b(129) - lu(1197) * b(128)
805         b(130) = b(130) - lu(1198) * b(128)
806         b(131) = b(131) - lu(1199) * b(128)
807         b(132) = b(132) - lu(1200) * b(128)
808         b(133) = b(133) - lu(1201) * b(128)
809         b(134) = b(134) - lu(1202) * b(128)
810         b(135) = b(135) - lu(1203) * b(128)
811         b(130) = b(130) - lu(1253) * b(129)
812         b(131) = b(131) - lu(1254) * b(129)
813         b(132) = b(132) - lu(1255) * b(129)
814         b(133) = b(133) - lu(1256) * b(129)
815         b(134) = b(134) - lu(1257) * b(129)
816         b(135) = b(135) - lu(1258) * b(129)
817         b(131) = b(131) - lu(1291) * b(130)
818         b(132) = b(132) - lu(1292) * b(130)
819         b(133) = b(133) - lu(1293) * b(130)
820         b(134) = b(134) - lu(1294) * b(130)
821         b(135) = b(135) - lu(1295) * b(130)
822         b(132) = b(132) - lu(1390) * b(131)
823         b(133) = b(133) - lu(1391) * b(131)
824         b(134) = b(134) - lu(1392) * b(131)
825         b(135) = b(135) - lu(1393) * b(131)
826         b(133) = b(133) - lu(1435) * b(132)
827         b(134) = b(134) - lu(1436) * b(132)
828         b(135) = b(135) - lu(1437) * b(132)
829         b(134) = b(134) - lu(1458) * b(133)
830         b(135) = b(135) - lu(1459) * b(133)
831         b(135) = b(135) - lu(1485) * b(134)
832        END SUBROUTINE lu_slv04
833
834        SUBROUTINE lu_slv05(lu, b)
835            USE shr_kind_mod, ONLY: r8 => shr_kind_r8
836            IMPLICIT NONE
837            !-----------------------------------------------------------------------
838            ! ... Dummy args
839            !-----------------------------------------------------------------------
840            REAL(KIND=r8), intent(in) :: lu(:)
841            REAL(KIND=r8), intent(inout) :: b(:)
842            !-----------------------------------------------------------------------
843            ! ... Local variables
844            !-----------------------------------------------------------------------
845            !-----------------------------------------------------------------------
846            ! ... solve L * y = b
847            !-----------------------------------------------------------------------
848            !-----------------------------------------------------------------------
849            ! ... Solve U * x = y
850            !-----------------------------------------------------------------------
851         b(135) = b(135) * lu(1509)
852         b(134) = b(134) - lu(1508) * b(135)
853         b(133) = b(133) - lu(1507) * b(135)
854         b(132) = b(132) - lu(1506) * b(135)
855         b(131) = b(131) - lu(1505) * b(135)
856         b(130) = b(130) - lu(1504) * b(135)
857         b(129) = b(129) - lu(1503) * b(135)
858         b(128) = b(128) - lu(1502) * b(135)
859         b(127) = b(127) - lu(1501) * b(135)
860         b(126) = b(126) - lu(1500) * b(135)
861         b(125) = b(125) - lu(1499) * b(135)
862         b(124) = b(124) - lu(1498) * b(135)
863         b(123) = b(123) - lu(1497) * b(135)
864         b(122) = b(122) - lu(1496) * b(135)
865         b(121) = b(121) - lu(1495) * b(135)
866         b(120) = b(120) - lu(1494) * b(135)
867         b(119) = b(119) - lu(1493) * b(135)
868         b(118) = b(118) - lu(1492) * b(135)
869         b(117) = b(117) - lu(1491) * b(135)
870         b(108) = b(108) - lu(1490) * b(135)
871         b(103) = b(103) - lu(1489) * b(135)
872         b(90) = b(90) - lu(1488) * b(135)
873         b(64) = b(64) - lu(1487) * b(135)
874         b(54) = b(54) - lu(1486) * b(135)
875         b(134) = b(134) * lu(1484)
876         b(133) = b(133) - lu(1483) * b(134)
877         b(132) = b(132) - lu(1482) * b(134)
878         b(131) = b(131) - lu(1481) * b(134)
879         b(130) = b(130) - lu(1480) * b(134)
880         b(129) = b(129) - lu(1479) * b(134)
881         b(128) = b(128) - lu(1478) * b(134)
882         b(127) = b(127) - lu(1477) * b(134)
883         b(126) = b(126) - lu(1476) * b(134)
884         b(125) = b(125) - lu(1475) * b(134)
885         b(124) = b(124) - lu(1474) * b(134)
886         b(123) = b(123) - lu(1473) * b(134)
887         b(122) = b(122) - lu(1472) * b(134)
888         b(121) = b(121) - lu(1471) * b(134)
889         b(120) = b(120) - lu(1470) * b(134)
890         b(119) = b(119) - lu(1469) * b(134)
891         b(118) = b(118) - lu(1468) * b(134)
892         b(117) = b(117) - lu(1467) * b(134)
893         b(116) = b(116) - lu(1466) * b(134)
894         b(108) = b(108) - lu(1465) * b(134)
895         b(99) = b(99) - lu(1464) * b(134)
896         b(88) = b(88) - lu(1463) * b(134)
897         b(36) = b(36) - lu(1462) * b(134)
898         b(34) = b(34) - lu(1461) * b(134)
899         b(26) = b(26) - lu(1460) * b(134)
900         b(133) = b(133) * lu(1457)
901         b(132) = b(132) - lu(1456) * b(133)
902         b(131) = b(131) - lu(1455) * b(133)
903         b(130) = b(130) - lu(1454) * b(133)
904         b(129) = b(129) - lu(1453) * b(133)
905         b(128) = b(128) - lu(1452) * b(133)
906         b(127) = b(127) - lu(1451) * b(133)
907         b(126) = b(126) - lu(1450) * b(133)
908         b(125) = b(125) - lu(1449) * b(133)
909         b(124) = b(124) - lu(1448) * b(133)
910         b(123) = b(123) - lu(1447) * b(133)
911         b(122) = b(122) - lu(1446) * b(133)
912         b(121) = b(121) - lu(1445) * b(133)
913         b(120) = b(120) - lu(1444) * b(133)
914         b(119) = b(119) - lu(1443) * b(133)
915         b(118) = b(118) - lu(1442) * b(133)
916         b(117) = b(117) - lu(1441) * b(133)
917         b(108) = b(108) - lu(1440) * b(133)
918         b(88) = b(88) - lu(1439) * b(133)
919         b(34) = b(34) - lu(1438) * b(133)
920         b(132) = b(132) * lu(1434)
921         b(131) = b(131) - lu(1433) * b(132)
922         b(130) = b(130) - lu(1432) * b(132)
923         b(129) = b(129) - lu(1431) * b(132)
924         b(128) = b(128) - lu(1430) * b(132)
925         b(127) = b(127) - lu(1429) * b(132)
926         b(126) = b(126) - lu(1428) * b(132)
927         b(125) = b(125) - lu(1427) * b(132)
928         b(124) = b(124) - lu(1426) * b(132)
929         b(123) = b(123) - lu(1425) * b(132)
930         b(122) = b(122) - lu(1424) * b(132)
931         b(121) = b(121) - lu(1423) * b(132)
932         b(120) = b(120) - lu(1422) * b(132)
933         b(119) = b(119) - lu(1421) * b(132)
934         b(118) = b(118) - lu(1420) * b(132)
935         b(116) = b(116) - lu(1419) * b(132)
936         b(115) = b(115) - lu(1418) * b(132)
937         b(114) = b(114) - lu(1417) * b(132)
938         b(113) = b(113) - lu(1416) * b(132)
939         b(112) = b(112) - lu(1415) * b(132)
940         b(111) = b(111) - lu(1414) * b(132)
941         b(110) = b(110) - lu(1413) * b(132)
942         b(109) = b(109) - lu(1412) * b(132)
943         b(107) = b(107) - lu(1411) * b(132)
944         b(106) = b(106) - lu(1410) * b(132)
945         b(105) = b(105) - lu(1409) * b(132)
946         b(104) = b(104) - lu(1408) * b(132)
947         b(103) = b(103) - lu(1407) * b(132)
948         b(102) = b(102) - lu(1406) * b(132)
949         b(101) = b(101) - lu(1405) * b(132)
950         b(99) = b(99) - lu(1404) * b(132)
951         b(98) = b(98) - lu(1403) * b(132)
952         b(97) = b(97) - lu(1402) * b(132)
953         b(95) = b(95) - lu(1401) * b(132)
954         b(94) = b(94) - lu(1400) * b(132)
955         b(81) = b(81) - lu(1399) * b(132)
956         b(73) = b(73) - lu(1398) * b(132)
957         b(49) = b(49) - lu(1397) * b(132)
958         b(47) = b(47) - lu(1396) * b(132)
959         b(40) = b(40) - lu(1395) * b(132)
960         b(39) = b(39) - lu(1394) * b(132)
961         b(131) = b(131) * lu(1389)
962         b(130) = b(130) - lu(1388) * b(131)
963         b(129) = b(129) - lu(1387) * b(131)
964         b(128) = b(128) - lu(1386) * b(131)
965         b(127) = b(127) - lu(1385) * b(131)
966         b(126) = b(126) - lu(1384) * b(131)
967         b(125) = b(125) - lu(1383) * b(131)
968         b(124) = b(124) - lu(1382) * b(131)
969         b(123) = b(123) - lu(1381) * b(131)
970         b(122) = b(122) - lu(1380) * b(131)
971         b(121) = b(121) - lu(1379) * b(131)
972         b(120) = b(120) - lu(1378) * b(131)
973         b(119) = b(119) - lu(1377) * b(131)
974         b(118) = b(118) - lu(1376) * b(131)
975         b(117) = b(117) - lu(1375) * b(131)
976         b(116) = b(116) - lu(1374) * b(131)
977         b(115) = b(115) - lu(1373) * b(131)
978         b(114) = b(114) - lu(1372) * b(131)
979         b(113) = b(113) - lu(1371) * b(131)
980         b(112) = b(112) - lu(1370) * b(131)
981         b(111) = b(111) - lu(1369) * b(131)
982         b(110) = b(110) - lu(1368) * b(131)
983         b(109) = b(109) - lu(1367) * b(131)
984         b(108) = b(108) - lu(1366) * b(131)
985         b(107) = b(107) - lu(1365) * b(131)
986         b(106) = b(106) - lu(1364) * b(131)
987         b(105) = b(105) - lu(1363) * b(131)
988         b(104) = b(104) - lu(1362) * b(131)
989         b(103) = b(103) - lu(1361) * b(131)
990         b(102) = b(102) - lu(1360) * b(131)
991         b(101) = b(101) - lu(1359) * b(131)
992         b(100) = b(100) - lu(1358) * b(131)
993         b(99) = b(99) - lu(1357) * b(131)
994         b(98) = b(98) - lu(1356) * b(131)
995         b(97) = b(97) - lu(1355) * b(131)
996         b(96) = b(96) - lu(1354) * b(131)
997         b(95) = b(95) - lu(1353) * b(131)
998         b(94) = b(94) - lu(1352) * b(131)
999         b(93) = b(93) - lu(1351) * b(131)
1000         b(92) = b(92) - lu(1350) * b(131)
1001         b(91) = b(91) - lu(1349) * b(131)
1002         b(90) = b(90) - lu(1348) * b(131)
1003         b(89) = b(89) - lu(1347) * b(131)
1004         b(88) = b(88) - lu(1346) * b(131)
1005         b(83) = b(83) - lu(1345) * b(131)
1006         b(82) = b(82) - lu(1344) * b(131)
1007         b(81) = b(81) - lu(1343) * b(131)
1008         b(80) = b(80) - lu(1342) * b(131)
1009         b(79) = b(79) - lu(1341) * b(131)
1010         b(77) = b(77) - lu(1340) * b(131)
1011         b(76) = b(76) - lu(1339) * b(131)
1012         b(75) = b(75) - lu(1338) * b(131)
1013         b(74) = b(74) - lu(1337) * b(131)
1014         b(73) = b(73) - lu(1336) * b(131)
1015         b(71) = b(71) - lu(1335) * b(131)
1016         b(69) = b(69) - lu(1334) * b(131)
1017         b(68) = b(68) - lu(1333) * b(131)
1018         b(67) = b(67) - lu(1332) * b(131)
1019         b(66) = b(66) - lu(1331) * b(131)
1020         b(65) = b(65) - lu(1330) * b(131)
1021         b(64) = b(64) - lu(1329) * b(131)
1022         b(63) = b(63) - lu(1328) * b(131)
1023         b(62) = b(62) - lu(1327) * b(131)
1024         b(60) = b(60) - lu(1326) * b(131)
1025         b(59) = b(59) - lu(1325) * b(131)
1026         b(57) = b(57) - lu(1324) * b(131)
1027         b(55) = b(55) - lu(1323) * b(131)
1028         b(53) = b(53) - lu(1322) * b(131)
1029         b(52) = b(52) - lu(1321) * b(131)
1030         b(51) = b(51) - lu(1320) * b(131)
1031         b(50) = b(50) - lu(1319) * b(131)
1032         b(49) = b(49) - lu(1318) * b(131)
1033         b(48) = b(48) - lu(1317) * b(131)
1034         b(47) = b(47) - lu(1316) * b(131)
1035         b(45) = b(45) - lu(1315) * b(131)
1036         b(44) = b(44) - lu(1314) * b(131)
1037         b(43) = b(43) - lu(1313) * b(131)
1038         b(42) = b(42) - lu(1312) * b(131)
1039         b(41) = b(41) - lu(1311) * b(131)
1040         b(39) = b(39) - lu(1310) * b(131)
1041         b(38) = b(38) - lu(1309) * b(131)
1042         b(37) = b(37) - lu(1308) * b(131)
1043         b(36) = b(36) - lu(1307) * b(131)
1044         b(35) = b(35) - lu(1306) * b(131)
1045         b(32) = b(32) - lu(1305) * b(131)
1046         b(31) = b(31) - lu(1304) * b(131)
1047         b(30) = b(30) - lu(1303) * b(131)
1048         b(25) = b(25) - lu(1302) * b(131)
1049         b(23) = b(23) - lu(1301) * b(131)
1050         b(22) = b(22) - lu(1300) * b(131)
1051         b(21) = b(21) - lu(1299) * b(131)
1052         b(20) = b(20) - lu(1298) * b(131)
1053         b(19) = b(19) - lu(1297) * b(131)
1054         b(17) = b(17) - lu(1296) * b(131)
1055        END SUBROUTINE lu_slv05
1056
1057        SUBROUTINE lu_slv06(lu, b)
1058            USE shr_kind_mod, ONLY: r8 => shr_kind_r8
1059            IMPLICIT NONE
1060            !-----------------------------------------------------------------------
1061            ! ... Dummy args
1062            !-----------------------------------------------------------------------
1063            REAL(KIND=r8), intent(in) :: lu(:)
1064            REAL(KIND=r8), intent(inout) :: b(:)
1065            !-----------------------------------------------------------------------
1066            ! ... Local variables
1067            !-----------------------------------------------------------------------
1068            !-----------------------------------------------------------------------
1069            ! ... solve L * y = b
1070            !-----------------------------------------------------------------------
1071         b(130) = b(130) * lu(1290)
1072         b(129) = b(129) - lu(1289) * b(130)
1073         b(128) = b(128) - lu(1288) * b(130)
1074         b(127) = b(127) - lu(1287) * b(130)
1075         b(126) = b(126) - lu(1286) * b(130)
1076         b(125) = b(125) - lu(1285) * b(130)
1077         b(124) = b(124) - lu(1284) * b(130)
1078         b(123) = b(123) - lu(1283) * b(130)
1079         b(122) = b(122) - lu(1282) * b(130)
1080         b(121) = b(121) - lu(1281) * b(130)
1081         b(120) = b(120) - lu(1280) * b(130)
1082         b(119) = b(119) - lu(1279) * b(130)
1083         b(118) = b(118) - lu(1278) * b(130)
1084         b(117) = b(117) - lu(1277) * b(130)
1085         b(116) = b(116) - lu(1276) * b(130)
1086         b(115) = b(115) - lu(1275) * b(130)
1087         b(114) = b(114) - lu(1274) * b(130)
1088         b(109) = b(109) - lu(1273) * b(130)
1089         b(105) = b(105) - lu(1272) * b(130)
1090         b(103) = b(103) - lu(1271) * b(130)
1091         b(100) = b(100) - lu(1270) * b(130)
1092         b(99) = b(99) - lu(1269) * b(130)
1093         b(92) = b(92) - lu(1268) * b(130)
1094         b(84) = b(84) - lu(1267) * b(130)
1095         b(81) = b(81) - lu(1266) * b(130)
1096         b(71) = b(71) - lu(1265) * b(130)
1097         b(70) = b(70) - lu(1264) * b(130)
1098         b(66) = b(66) - lu(1263) * b(130)
1099         b(60) = b(60) - lu(1262) * b(130)
1100         b(57) = b(57) - lu(1261) * b(130)
1101         b(40) = b(40) - lu(1260) * b(130)
1102         b(31) = b(31) - lu(1259) * b(130)
1103         b(129) = b(129) * lu(1252)
1104         b(128) = b(128) - lu(1251) * b(129)
1105         b(127) = b(127) - lu(1250) * b(129)
1106         b(126) = b(126) - lu(1249) * b(129)
1107         b(125) = b(125) - lu(1248) * b(129)
1108         b(124) = b(124) - lu(1247) * b(129)
1109         b(123) = b(123) - lu(1246) * b(129)
1110         b(122) = b(122) - lu(1245) * b(129)
1111         b(121) = b(121) - lu(1244) * b(129)
1112         b(120) = b(120) - lu(1243) * b(129)
1113         b(119) = b(119) - lu(1242) * b(129)
1114         b(118) = b(118) - lu(1241) * b(129)
1115         b(115) = b(115) - lu(1240) * b(129)
1116         b(114) = b(114) - lu(1239) * b(129)
1117         b(113) = b(113) - lu(1238) * b(129)
1118         b(112) = b(112) - lu(1237) * b(129)
1119         b(111) = b(111) - lu(1236) * b(129)
1120         b(110) = b(110) - lu(1235) * b(129)
1121         b(109) = b(109) - lu(1234) * b(129)
1122         b(107) = b(107) - lu(1233) * b(129)
1123         b(106) = b(106) - lu(1232) * b(129)
1124         b(105) = b(105) - lu(1231) * b(129)
1125         b(104) = b(104) - lu(1230) * b(129)
1126         b(103) = b(103) - lu(1229) * b(129)
1127         b(101) = b(101) - lu(1228) * b(129)
1128         b(98) = b(98) - lu(1227) * b(129)
1129         b(97) = b(97) - lu(1226) * b(129)
1130         b(96) = b(96) - lu(1225) * b(129)
1131         b(95) = b(95) - lu(1224) * b(129)
1132         b(92) = b(92) - lu(1223) * b(129)
1133         b(91) = b(91) - lu(1222) * b(129)
1134         b(89) = b(89) - lu(1221) * b(129)
1135         b(87) = b(87) - lu(1220) * b(129)
1136         b(86) = b(86) - lu(1219) * b(129)
1137         b(85) = b(85) - lu(1218) * b(129)
1138         b(83) = b(83) - lu(1217) * b(129)
1139         b(81) = b(81) - lu(1216) * b(129)
1140         b(80) = b(80) - lu(1215) * b(129)
1141         b(79) = b(79) - lu(1214) * b(129)
1142         b(77) = b(77) - lu(1213) * b(129)
1143         b(66) = b(66) - lu(1212) * b(129)
1144         b(65) = b(65) - lu(1211) * b(129)
1145         b(64) = b(64) - lu(1210) * b(129)
1146         b(56) = b(56) - lu(1209) * b(129)
1147         b(55) = b(55) - lu(1208) * b(129)
1148         b(54) = b(54) - lu(1207) * b(129)
1149         b(49) = b(49) - lu(1206) * b(129)
1150         b(47) = b(47) - lu(1205) * b(129)
1151         b(41) = b(41) - lu(1204) * b(129)
1152         b(128) = b(128) * lu(1196)
1153         b(127) = b(127) - lu(1195) * b(128)
1154         b(126) = b(126) - lu(1194) * b(128)
1155         b(125) = b(125) - lu(1193) * b(128)
1156         b(124) = b(124) - lu(1192) * b(128)
1157         b(123) = b(123) - lu(1191) * b(128)
1158         b(122) = b(122) - lu(1190) * b(128)
1159         b(121) = b(121) - lu(1189) * b(128)
1160         b(120) = b(120) - lu(1188) * b(128)
1161         b(118) = b(118) - lu(1187) * b(128)
1162         b(117) = b(117) - lu(1186) * b(128)
1163         b(116) = b(116) - lu(1185) * b(128)
1164         b(99) = b(99) - lu(1184) * b(128)
1165         b(84) = b(84) - lu(1183) * b(128)
1166         b(70) = b(70) - lu(1182) * b(128)
1167         b(46) = b(46) - lu(1181) * b(128)
1168         b(33) = b(33) - lu(1180) * b(128)
1169         b(127) = b(127) * lu(1171)
1170         b(126) = b(126) - lu(1170) * b(127)
1171         b(125) = b(125) - lu(1169) * b(127)
1172         b(124) = b(124) - lu(1168) * b(127)
1173         b(123) = b(123) - lu(1167) * b(127)
1174         b(122) = b(122) - lu(1166) * b(127)
1175         b(121) = b(121) - lu(1165) * b(127)
1176         b(120) = b(120) - lu(1164) * b(127)
1177         b(119) = b(119) - lu(1163) * b(127)
1178         b(118) = b(118) - lu(1162) * b(127)
1179         b(117) = b(117) - lu(1161) * b(127)
1180         b(108) = b(108) - lu(1160) * b(127)
1181         b(126) = b(126) * lu(1150)
1182         b(125) = b(125) - lu(1149) * b(126)
1183         b(124) = b(124) - lu(1148) * b(126)
1184         b(123) = b(123) - lu(1147) * b(126)
1185         b(122) = b(122) - lu(1146) * b(126)
1186         b(121) = b(121) - lu(1145) * b(126)
1187         b(120) = b(120) - lu(1144) * b(126)
1188         b(119) = b(119) - lu(1143) * b(126)
1189         b(118) = b(118) - lu(1142) * b(126)
1190         b(117) = b(117) - lu(1141) * b(126)
1191         b(115) = b(115) - lu(1140) * b(126)
1192         b(108) = b(108) - lu(1139) * b(126)
1193         b(104) = b(104) - lu(1138) * b(126)
1194         b(103) = b(103) - lu(1137) * b(126)
1195         b(100) = b(100) - lu(1136) * b(126)
1196         b(95) = b(95) - lu(1135) * b(126)
1197         b(93) = b(93) - lu(1134) * b(126)
1198         b(91) = b(91) - lu(1133) * b(126)
1199         b(83) = b(83) - lu(1132) * b(126)
1200         b(81) = b(81) - lu(1131) * b(126)
1201         b(74) = b(74) - lu(1130) * b(126)
1202         b(64) = b(64) - lu(1129) * b(126)
1203         b(63) = b(63) - lu(1128) * b(126)
1204         b(38) = b(38) - lu(1127) * b(126)
1205         b(37) = b(37) - lu(1126) * b(126)
1206         b(29) = b(29) - lu(1125) * b(126)
1207         b(125) = b(125) * lu(1114)
1208         b(124) = b(124) - lu(1113) * b(125)
1209         b(123) = b(123) - lu(1112) * b(125)
1210         b(122) = b(122) - lu(1111) * b(125)
1211         b(121) = b(121) - lu(1110) * b(125)
1212         b(120) = b(120) - lu(1109) * b(125)
1213         b(119) = b(119) - lu(1108) * b(125)
1214         b(118) = b(118) - lu(1107) * b(125)
1215         b(117) = b(117) - lu(1106) * b(125)
1216         b(115) = b(115) - lu(1105) * b(125)
1217         b(114) = b(114) - lu(1104) * b(125)
1218         b(113) = b(113) - lu(1103) * b(125)
1219         b(112) = b(112) - lu(1102) * b(125)
1220         b(111) = b(111) - lu(1101) * b(125)
1221         b(110) = b(110) - lu(1100) * b(125)
1222         b(109) = b(109) - lu(1099) * b(125)
1223         b(108) = b(108) - lu(1098) * b(125)
1224         b(107) = b(107) - lu(1097) * b(125)
1225         b(106) = b(106) - lu(1096) * b(125)
1226         b(105) = b(105) - lu(1095) * b(125)
1227         b(104) = b(104) - lu(1094) * b(125)
1228         b(103) = b(103) - lu(1093) * b(125)
1229         b(101) = b(101) - lu(1092) * b(125)
1230         b(98) = b(98) - lu(1091) * b(125)
1231         b(97) = b(97) - lu(1090) * b(125)
1232         b(96) = b(96) - lu(1089) * b(125)
1233         b(95) = b(95) - lu(1088) * b(125)
1234         b(93) = b(93) - lu(1087) * b(125)
1235         b(91) = b(91) - lu(1086) * b(125)
1236         b(90) = b(90) - lu(1085) * b(125)
1237         b(89) = b(89) - lu(1084) * b(125)
1238         b(84) = b(84) - lu(1083) * b(125)
1239         b(83) = b(83) - lu(1082) * b(125)
1240         b(81) = b(81) - lu(1081) * b(125)
1241         b(80) = b(80) - lu(1080) * b(125)
1242         b(79) = b(79) - lu(1079) * b(125)
1243         b(77) = b(77) - lu(1078) * b(125)
1244         b(76) = b(76) - lu(1077) * b(125)
1245         b(75) = b(75) - lu(1076) * b(125)
1246         b(74) = b(74) - lu(1075) * b(125)
1247         b(69) = b(69) - lu(1074) * b(125)
1248         b(67) = b(67) - lu(1073) * b(125)
1249         b(66) = b(66) - lu(1072) * b(125)
1250         b(65) = b(65) - lu(1071) * b(125)
1251         b(64) = b(64) - lu(1070) * b(125)
1252         b(62) = b(62) - lu(1069) * b(125)
1253         b(60) = b(60) - lu(1068) * b(125)
1254         b(59) = b(59) - lu(1067) * b(125)
1255         b(56) = b(56) - lu(1066) * b(125)
1256         b(54) = b(54) - lu(1065) * b(125)
1257         b(53) = b(53) - lu(1064) * b(125)
1258         b(52) = b(52) - lu(1063) * b(125)
1259         b(51) = b(51) - lu(1062) * b(125)
1260         b(50) = b(50) - lu(1061) * b(125)
1261         b(45) = b(45) - lu(1060) * b(125)
1262         b(44) = b(44) - lu(1059) * b(125)
1263         b(43) = b(43) - lu(1058) * b(125)
1264         b(42) = b(42) - lu(1057) * b(125)
1265         b(24) = b(24) - lu(1056) * b(125)
1266         b(124) = b(124) * lu(1044)
1267         b(123) = b(123) - lu(1043) * b(124)
1268         b(122) = b(122) - lu(1042) * b(124)
1269         b(121) = b(121) - lu(1041) * b(124)
1270         b(120) = b(120) - lu(1040) * b(124)
1271         b(119) = b(119) - lu(1039) * b(124)
1272         b(118) = b(118) - lu(1038) * b(124)
1273         b(117) = b(117) - lu(1037) * b(124)
1274         b(116) = b(116) - lu(1036) * b(124)
1275         b(100) = b(100) - lu(1035) * b(124)
1276         b(99) = b(99) - lu(1034) * b(124)
1277         b(93) = b(93) - lu(1033) * b(124)
1278         b(46) = b(46) - lu(1032) * b(124)
1279         b(33) = b(33) - lu(1031) * b(124)
1280         b(29) = b(29) - lu(1030) * b(124)
1281         b(18) = b(18) - lu(1029) * b(124)
1282        END SUBROUTINE lu_slv06
1283
1284        SUBROUTINE lu_slv07(lu, b)
1285            USE shr_kind_mod, ONLY: r8 => shr_kind_r8
1286            IMPLICIT NONE
1287            !-----------------------------------------------------------------------
1288            ! ... Dummy args
1289            !-----------------------------------------------------------------------
1290            REAL(KIND=r8), intent(in) :: lu(:)
1291            REAL(KIND=r8), intent(inout) :: b(:)
1292            !-----------------------------------------------------------------------
1293            ! ... Local variables
1294            !-----------------------------------------------------------------------
1295            !-----------------------------------------------------------------------
1296            ! ... solve L * y = b
1297            !-----------------------------------------------------------------------
1298         b(123) = b(123) * lu(1016)
1299         b(122) = b(122) - lu(1015) * b(123)
1300         b(121) = b(121) - lu(1014) * b(123)
1301         b(120) = b(120) - lu(1013) * b(123)
1302         b(119) = b(119) - lu(1012) * b(123)
1303         b(118) = b(118) - lu(1011) * b(123)
1304         b(116) = b(116) - lu(1010) * b(123)
1305         b(115) = b(115) - lu(1009) * b(123)
1306         b(114) = b(114) - lu(1008) * b(123)
1307         b(113) = b(113) - lu(1007) * b(123)
1308         b(112) = b(112) - lu(1006) * b(123)
1309         b(111) = b(111) - lu(1005) * b(123)
1310         b(110) = b(110) - lu(1004) * b(123)
1311         b(109) = b(109) - lu(1003) * b(123)
1312         b(107) = b(107) - lu(1002) * b(123)
1313         b(106) = b(106) - lu(1001) * b(123)
1314         b(105) = b(105) - lu(1000) * b(123)
1315         b(104) = b(104) - lu(999) * b(123)
1316         b(103) = b(103) - lu(998) * b(123)
1317         b(102) = b(102) - lu(997) * b(123)
1318         b(101) = b(101) - lu(996) * b(123)
1319         b(99) = b(99) - lu(995) * b(123)
1320         b(98) = b(98) - lu(994) * b(123)
1321         b(95) = b(95) - lu(993) * b(123)
1322         b(94) = b(94) - lu(992) * b(123)
1323         b(83) = b(83) - lu(991) * b(123)
1324         b(82) = b(82) - lu(990) * b(123)
1325         b(75) = b(75) - lu(989) * b(123)
1326         b(73) = b(73) - lu(988) * b(123)
1327         b(64) = b(64) - lu(987) * b(123)
1328         b(63) = b(63) - lu(986) * b(123)
1329         b(28) = b(28) - lu(985) * b(123)
1330         b(27) = b(27) - lu(984) * b(123)
1331         b(122) = b(122) * lu(970)
1332         b(121) = b(121) - lu(969) * b(122)
1333         b(120) = b(120) - lu(968) * b(122)
1334         b(119) = b(119) - lu(967) * b(122)
1335         b(118) = b(118) - lu(966) * b(122)
1336         b(117) = b(117) - lu(965) * b(122)
1337         b(108) = b(108) - lu(964) * b(122)
1338         b(90) = b(90) - lu(963) * b(122)
1339         b(88) = b(88) - lu(962) * b(122)
1340         b(32) = b(32) - lu(961) * b(122)
1341         b(30) = b(30) - lu(960) * b(122)
1342         b(28) = b(28) - lu(959) * b(122)
1343         b(25) = b(25) - lu(958) * b(122)
1344         b(121) = b(121) * lu(943)
1345         b(120) = b(120) - lu(942) * b(121)
1346         b(119) = b(119) - lu(941) * b(121)
1347         b(118) = b(118) - lu(940) * b(121)
1348         b(117) = b(117) - lu(939) * b(121)
1349         b(116) = b(116) - lu(938) * b(121)
1350         b(108) = b(108) - lu(937) * b(121)
1351         b(103) = b(103) - lu(936) * b(121)
1352         b(100) = b(100) - lu(935) * b(121)
1353         b(99) = b(99) - lu(934) * b(121)
1354         b(93) = b(93) - lu(933) * b(121)
1355         b(92) = b(92) - lu(932) * b(121)
1356         b(90) = b(90) - lu(931) * b(121)
1357         b(87) = b(87) - lu(930) * b(121)
1358         b(86) = b(86) - lu(929) * b(121)
1359         b(85) = b(85) - lu(928) * b(121)
1360         b(84) = b(84) - lu(927) * b(121)
1361         b(82) = b(82) - lu(926) * b(121)
1362         b(78) = b(78) - lu(925) * b(121)
1363         b(74) = b(74) - lu(924) * b(121)
1364         b(72) = b(72) - lu(923) * b(121)
1365         b(70) = b(70) - lu(922) * b(121)
1366         b(61) = b(61) - lu(921) * b(121)
1367         b(58) = b(58) - lu(920) * b(121)
1368         b(48) = b(48) - lu(919) * b(121)
1369         b(28) = b(28) - lu(918) * b(121)
1370         b(27) = b(27) - lu(917) * b(121)
1371         b(120) = b(120) * lu(903)
1372         b(118) = b(118) - lu(902) * b(120)
1373         b(116) = b(116) - lu(901) * b(120)
1374         b(103) = b(103) - lu(900) * b(120)
1375         b(99) = b(99) - lu(899) * b(120)
1376         b(95) = b(95) - lu(898) * b(120)
1377         b(92) = b(92) - lu(897) * b(120)
1378         b(87) = b(87) - lu(896) * b(120)
1379         b(86) = b(86) - lu(895) * b(120)
1380         b(85) = b(85) - lu(894) * b(120)
1381         b(82) = b(82) - lu(893) * b(120)
1382         b(78) = b(78) - lu(892) * b(120)
1383         b(72) = b(72) - lu(891) * b(120)
1384         b(61) = b(61) - lu(890) * b(120)
1385         b(58) = b(58) - lu(889) * b(120)
1386         b(56) = b(56) - lu(888) * b(120)
1387         b(28) = b(28) - lu(887) * b(120)
1388         b(27) = b(27) - lu(886) * b(120)
1389         b(119) = b(119) * lu(872)
1390         b(115) = b(115) - lu(871) * b(119)
1391         b(114) = b(114) - lu(870) * b(119)
1392         b(113) = b(113) - lu(869) * b(119)
1393         b(112) = b(112) - lu(868) * b(119)
1394         b(111) = b(111) - lu(867) * b(119)
1395         b(110) = b(110) - lu(866) * b(119)
1396         b(109) = b(109) - lu(865) * b(119)
1397         b(107) = b(107) - lu(864) * b(119)
1398         b(106) = b(106) - lu(863) * b(119)
1399         b(105) = b(105) - lu(862) * b(119)
1400         b(104) = b(104) - lu(861) * b(119)
1401         b(103) = b(103) - lu(860) * b(119)
1402         b(96) = b(96) - lu(859) * b(119)
1403         b(95) = b(95) - lu(858) * b(119)
1404         b(91) = b(91) - lu(857) * b(119)
1405         b(81) = b(81) - lu(856) * b(119)
1406         b(80) = b(80) - lu(855) * b(119)
1407         b(75) = b(75) - lu(854) * b(119)
1408         b(68) = b(68) - lu(853) * b(119)
1409         b(50) = b(50) - lu(852) * b(119)
1410         b(47) = b(47) - lu(851) * b(119)
1411         b(35) = b(35) - lu(850) * b(119)
1412         b(118) = b(118) * lu(839)
1413         b(103) = b(103) - lu(838) * b(118)
1414         b(90) = b(90) - lu(837) * b(118)
1415         b(117) = b(117) * lu(824)
1416         b(100) = b(100) - lu(823) * b(117)
1417         b(93) = b(93) - lu(822) * b(117)
1418         b(84) = b(84) - lu(821) * b(117)
1419         b(33) = b(33) - lu(820) * b(117)
1420         b(29) = b(29) - lu(819) * b(117)
1421         b(116) = b(116) * lu(805)
1422         b(99) = b(99) - lu(804) * b(116)
1423         b(82) = b(82) - lu(803) * b(116)
1424         b(46) = b(46) - lu(802) * b(116)
1425         b(115) = b(115) * lu(789)
1426         b(114) = b(114) - lu(788) * b(115)
1427         b(113) = b(113) - lu(787) * b(115)
1428         b(112) = b(112) - lu(786) * b(115)
1429         b(111) = b(111) - lu(785) * b(115)
1430         b(110) = b(110) - lu(784) * b(115)
1431         b(109) = b(109) - lu(783) * b(115)
1432         b(107) = b(107) - lu(782) * b(115)
1433         b(105) = b(105) - lu(781) * b(115)
1434         b(103) = b(103) - lu(780) * b(115)
1435         b(95) = b(95) - lu(779) * b(115)
1436         b(81) = b(81) - lu(778) * b(115)
1437         b(75) = b(75) - lu(777) * b(115)
1438         b(62) = b(62) - lu(776) * b(115)
1439         b(57) = b(57) - lu(775) * b(115)
1440         b(47) = b(47) - lu(774) * b(115)
1441         b(114) = b(114) * lu(760)
1442         b(109) = b(109) - lu(759) * b(114)
1443         b(105) = b(105) - lu(758) * b(114)
1444         b(75) = b(75) - lu(757) * b(114)
1445         b(71) = b(71) - lu(756) * b(114)
1446         b(62) = b(62) - lu(755) * b(114)
1447         b(113) = b(113) * lu(740)
1448         b(112) = b(112) - lu(739) * b(113)
1449         b(109) = b(109) - lu(738) * b(113)
1450         b(105) = b(105) - lu(737) * b(113)
1451         b(104) = b(104) - lu(736) * b(113)
1452         b(103) = b(103) - lu(735) * b(113)
1453         b(102) = b(102) - lu(734) * b(113)
1454         b(112) = b(112) * lu(721)
1455         b(110) = b(110) - lu(720) * b(112)
1456         b(109) = b(109) - lu(719) * b(112)
1457         b(105) = b(105) - lu(718) * b(112)
1458         b(103) = b(103) - lu(717) * b(112)
1459         b(97) = b(97) - lu(716) * b(112)
1460         b(95) = b(95) - lu(715) * b(112)
1461         b(68) = b(68) - lu(714) * b(112)
1462         b(43) = b(43) - lu(713) * b(112)
1463         b(111) = b(111) * lu(697)
1464         b(110) = b(110) - lu(696) * b(111)
1465         b(109) = b(109) - lu(695) * b(111)
1466         b(107) = b(107) - lu(694) * b(111)
1467         b(103) = b(103) - lu(693) * b(111)
1468         b(97) = b(97) - lu(692) * b(111)
1469         b(69) = b(69) - lu(691) * b(111)
1470         b(68) = b(68) - lu(690) * b(111)
1471         b(47) = b(47) - lu(689) * b(111)
1472         b(110) = b(110) * lu(677)
1473         b(109) = b(109) - lu(676) * b(110)
1474         b(105) = b(105) - lu(675) * b(110)
1475         b(103) = b(103) - lu(674) * b(110)
1476         b(95) = b(95) - lu(673) * b(110)
1477         b(81) = b(81) - lu(672) * b(110)
1478         b(68) = b(68) - lu(671) * b(110)
1479         b(45) = b(45) - lu(670) * b(110)
1480         b(109) = b(109) * lu(662)
1481         b(103) = b(103) - lu(661) * b(109)
1482         b(108) = b(108) * lu(650)
1483         b(88) = b(88) - lu(649) * b(108)
1484         b(34) = b(34) - lu(648) * b(108)
1485         b(107) = b(107) * lu(637)
1486         b(103) = b(103) - lu(636) * b(107)
1487         b(106) = b(106) * lu(625)
1488         b(105) = b(105) - lu(624) * b(106)
1489         b(68) = b(68) - lu(623) * b(106)
1490         b(53) = b(53) - lu(622) * b(106)
1491         b(105) = b(105) * lu(616)
1492         b(104) = b(104) * lu(607)
1493         b(103) = b(103) - lu(606) * b(104)
1494         b(103) = b(103) * lu(602)
1495         b(102) = b(102) * lu(587)
1496         b(89) = b(89) - lu(586) * b(102)
1497         b(75) = b(75) - lu(585) * b(102)
1498         b(49) = b(49) - lu(584) * b(102)
1499        END SUBROUTINE lu_slv07
1500
1501        SUBROUTINE lu_slv08(lu, b)
1502            USE shr_kind_mod, ONLY: r8 => shr_kind_r8
1503            IMPLICIT NONE
1504            !-----------------------------------------------------------------------
1505            ! ... Dummy args
1506            !-----------------------------------------------------------------------
1507            REAL(KIND=r8), intent(in) :: lu(:)
1508            REAL(KIND=r8), intent(inout) :: b(:)
1509            !-----------------------------------------------------------------------
1510            ! ... Local variables
1511            !-----------------------------------------------------------------------
1512            !-----------------------------------------------------------------------
1513            ! ... solve L * y = b
1514            !-----------------------------------------------------------------------
1515         b(101) = b(101) * lu(572)
1516         b(97) = b(97) - lu(571) * b(101)
1517         b(45) = b(45) - lu(570) * b(101)
1518         b(100) = b(100) * lu(560)
1519         b(93) = b(93) - lu(559) * b(100)
1520         b(29) = b(29) - lu(558) * b(100)
1521         b(99) = b(99) * lu(552)
1522         b(36) = b(36) - lu(551) * b(99)
1523         b(98) = b(98) * lu(540)
1524         b(80) = b(80) - lu(539) * b(98)
1525         b(59) = b(59) - lu(538) * b(98)
1526         b(97) = b(97) * lu(530)
1527         b(47) = b(47) - lu(529) * b(97)
1528         b(96) = b(96) * lu(517)
1529         b(80) = b(80) - lu(516) * b(96)
1530         b(52) = b(52) - lu(515) * b(96)
1531         b(95) = b(95) * lu(510)
1532         b(81) = b(81) - lu(509) * b(95)
1533         b(94) = b(94) * lu(494)
1534         b(75) = b(75) - lu(493) * b(94)
1535         b(93) = b(93) * lu(486)
1536         b(29) = b(29) - lu(485) * b(93)
1537         b(92) = b(92) * lu(476)
1538         b(87) = b(87) - lu(475) * b(92)
1539         b(86) = b(86) - lu(474) * b(92)
1540         b(85) = b(85) - lu(473) * b(92)
1541         b(72) = b(72) - lu(472) * b(92)
1542         b(58) = b(58) - lu(471) * b(92)
1543         b(91) = b(91) * lu(462)
1544         b(68) = b(68) - lu(461) * b(91)
1545         b(44) = b(44) - lu(460) * b(91)
1546         b(35) = b(35) - lu(459) * b(91)
1547         b(90) = b(90) * lu(452)
1548         b(89) = b(89) * lu(442)
1549         b(67) = b(67) - lu(441) * b(89)
1550         b(88) = b(88) * lu(433)
1551         b(34) = b(34) - lu(432) * b(88)
1552         b(87) = b(87) * lu(425)
1553         b(86) = b(86) - lu(424) * b(87)
1554         b(85) = b(85) - lu(423) * b(87)
1555         b(78) = b(78) - lu(422) * b(87)
1556         b(61) = b(61) - lu(421) * b(87)
1557         b(86) = b(86) * lu(414)
1558         b(61) = b(61) - lu(413) * b(86)
1559         b(85) = b(85) * lu(405)
1560         b(84) = b(84) * lu(397)
1561         b(33) = b(33) - lu(396) * b(84)
1562         b(83) = b(83) * lu(388)
1563         b(56) = b(56) - lu(387) * b(83)
1564         b(24) = b(24) - lu(386) * b(83)
1565         b(82) = b(82) * lu(379)
1566         b(81) = b(81) * lu(375)
1567         b(80) = b(80) * lu(369)
1568         b(79) = b(79) * lu(358)
1569         b(77) = b(77) - lu(357) * b(79)
1570         b(76) = b(76) - lu(356) * b(79)
1571         b(55) = b(55) - lu(355) * b(79)
1572         b(49) = b(49) - lu(354) * b(79)
1573         b(78) = b(78) * lu(344)
1574         b(72) = b(72) - lu(343) * b(78)
1575         b(61) = b(61) - lu(342) * b(78)
1576         b(77) = b(77) * lu(335)
1577         b(42) = b(42) - lu(334) * b(77)
1578         b(76) = b(76) * lu(324)
1579         b(55) = b(55) - lu(323) * b(76)
1580         b(75) = b(75) * lu(319)
1581         b(74) = b(74) * lu(312)
1582         b(73) = b(73) * lu(303)
1583         b(72) = b(72) * lu(296)
1584         b(71) = b(71) * lu(288)
1585         b(70) = b(70) * lu(280)
1586         b(69) = b(69) * lu(272)
1587         b(68) = b(68) * lu(268)
1588         b(67) = b(67) * lu(260)
1589         b(66) = b(66) * lu(254)
1590         b(65) = b(65) * lu(246)
1591         b(51) = b(51) - lu(245) * b(65)
1592         b(64) = b(64) * lu(241)
1593         b(63) = b(63) * lu(233)
1594         b(62) = b(62) * lu(227)
1595         b(61) = b(61) * lu(222)
1596         b(60) = b(60) * lu(215)
1597         b(59) = b(59) * lu(208)
1598         b(58) = b(58) * lu(201)
1599         b(57) = b(57) * lu(194)
1600         b(56) = b(56) * lu(189)
1601         b(55) = b(55) * lu(184)
1602         b(54) = b(54) * lu(178)
1603         b(53) = b(53) * lu(172)
1604         b(52) = b(52) * lu(166)
1605         b(51) = b(51) * lu(160)
1606         b(50) = b(50) * lu(154)
1607         b(49) = b(49) * lu(150)
1608         b(48) = b(48) * lu(142)
1609         b(47) = b(47) * lu(139)
1610         b(46) = b(46) * lu(134)
1611         b(45) = b(45) * lu(130)
1612         b(44) = b(44) * lu(125)
1613         b(43) = b(43) * lu(120)
1614         b(42) = b(42) * lu(115)
1615         b(41) = b(41) * lu(108)
1616         b(40) = b(40) * lu(102)
1617         b(39) = b(39) * lu(96)
1618         b(38) = b(38) * lu(90)
1619         b(37) = b(37) * lu(84)
1620         b(36) = b(36) * lu(80)
1621         b(26) = b(26) - lu(79) * b(36)
1622         b(35) = b(35) * lu(75)
1623         b(34) = b(34) * lu(72)
1624         b(33) = b(33) * lu(69)
1625         b(32) = b(32) * lu(65)
1626         b(31) = b(31) * lu(61)
1627         b(30) = b(30) * lu(57)
1628         b(29) = b(29) * lu(55)
1629         b(28) = b(28) * lu(53)
1630         b(27) = b(27) - lu(52) * b(28)
1631         b(27) = b(27) * lu(50)
1632         b(26) = b(26) * lu(47)
1633         b(25) = b(25) * lu(44)
1634         b(24) = b(24) * lu(41)
1635         b(23) = b(23) * lu(38)
1636         b(22) = b(22) * lu(33)
1637         b(21) = b(21) * lu(29)
1638         b(20) = b(20) * lu(26)
1639         b(19) = b(19) * lu(23)
1640         b(18) = b(18) * lu(20)
1641         b(17) = b(17) * lu(17)
1642         b(16) = b(16) * lu(16)
1643         b(15) = b(15) * lu(15)
1644         b(14) = b(14) * lu(14)
1645         b(13) = b(13) * lu(13)
1646         b(12) = b(12) * lu(12)
1647         b(11) = b(11) * lu(11)
1648         b(10) = b(10) * lu(10)
1649         b(9) = b(9) * lu(9)
1650         b(8) = b(8) * lu(8)
1651         b(7) = b(7) * lu(7)
1652         b(6) = b(6) * lu(6)
1653         b(5) = b(5) * lu(5)
1654         b(4) = b(4) * lu(4)
1655         b(3) = b(3) * lu(3)
1656         b(2) = b(2) * lu(2)
1657         b(1) = b(1) * lu(1)
1658        END SUBROUTINE lu_slv08
1659
1660        SUBROUTINE lu_slv(lu, b)
1661            USE shr_kind_mod, ONLY: r8 => shr_kind_r8
1662            IMPLICIT NONE
1663            !-----------------------------------------------------------------------
1664            ! ... Dummy args
1665            !-----------------------------------------------------------------------
1666            REAL(KIND=r8), intent(in) :: lu(:)
1667            REAL(KIND=r8), intent(inout) :: b(:)
1668      call lu_slv01( lu, b )
1669      call lu_slv02( lu, b )
1670      call lu_slv03( lu, b )
1671      call lu_slv04( lu, b )
1672      call lu_slv05( lu, b )
1673      call lu_slv06( lu, b )
1674      call lu_slv07( lu, b )
1675      call lu_slv08( lu, b )
1676        END SUBROUTINE lu_slv
1677    END MODULE mo_lu_solve
1678