1
2! KGEN-generated Fortran source file
3!
4! Filename    : mo_lu_solve.F90
5! Generated at: 2015-05-13 11:02:22
6! KGEN version: 0.4.10
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