




      module mo_lu_solve

      private
      public :: lu_slv

      contains

      subroutine lu_slv01( lu, b )


      use shr_kind_mod, only : r8 => shr_kind_r8

      implicit none

!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real(r8), intent(in) :: lu(:)
      real(r8), intent(inout) :: b(:)

!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------

!-----------------------------------------------------------------------
! ... solve L * y = b
!-----------------------------------------------------------------------




         b(6) = b(6) - lu(6) * b(5)


         b(8) = b(8) - lu(9) * b(7)
         b(89) = b(89) - lu(20) * b(17)
         b(71) = b(71) - lu(22) * b(18)
         b(89) = b(89) - lu(23) * b(18)
         b(72) = b(72) - lu(25) * b(19)
         b(89) = b(89) - lu(26) * b(19)
         b(35) = b(35) - lu(28) * b(20)
         b(89) = b(89) - lu(29) * b(20)
         b(70) = b(70) - lu(31) * b(21)
         b(89) = b(89) - lu(32) * b(21)
         b(89) = b(89) - lu(35) * b(22)
         b(24) = b(24) - lu(37) * b(23)
         b(55) = b(55) - lu(38) * b(23)
         b(89) = b(89) - lu(39) * b(23)
         b(90) = b(90) - lu(40) * b(23)
         b(29) = b(29) - lu(42) * b(24)
         b(89) = b(89) - lu(43) * b(24)
         b(39) = b(39) - lu(45) * b(25)
         b(54) = b(54) - lu(46) * b(25)
         b(89) = b(89) - lu(47) * b(25)
         b(90) = b(90) - lu(48) * b(25)
         b(89) = b(89) - lu(50) * b(26)
         b(90) = b(90) - lu(51) * b(26)
         b(63) = b(63) - lu(53) * b(27)
         b(82) = b(82) - lu(54) * b(27)
         b(90) = b(90) - lu(55) * b(27)
         b(83) = b(83) - lu(57) * b(28)
         b(89) = b(89) - lu(58) * b(28)
         b(56) = b(56) - lu(60) * b(29)
         b(90) = b(90) - lu(61) * b(29)
         b(93) = b(93) - lu(62) * b(29)
         b(59) = b(59) - lu(64) * b(30)
         b(82) = b(82) - lu(65) * b(30)
         b(88) = b(88) - lu(66) * b(30)
         b(89) = b(89) - lu(67) * b(30)
         b(90) = b(90) - lu(68) * b(30)
         b(92) = b(92) - lu(69) * b(30)
         b(58) = b(58) - lu(71) * b(31)
         b(93) = b(93) - lu(72) * b(31)
         b(94) = b(94) - lu(73) * b(31)
         b(58) = b(58) - lu(76) * b(32)
         b(89) = b(89) - lu(77) * b(32)
         b(90) = b(90) - lu(78) * b(32)
         b(94) = b(94) - lu(79) * b(32)
         b(76) = b(76) - lu(81) * b(33)
         b(89) = b(89) - lu(82) * b(33)
         b(90) = b(90) - lu(83) * b(33)
         b(78) = b(78) - lu(85) * b(34)
         b(82) = b(82) - lu(86) * b(34)
         b(89) = b(89) - lu(87) * b(34)
         b(95) = b(95) - lu(88) * b(34)
         b(68) = b(68) - lu(90) * b(35)
         b(76) = b(76) - lu(91) * b(35)
         b(82) = b(82) - lu(92) * b(35)
         b(88) = b(88) - lu(93) * b(35)
         b(90) = b(90) - lu(94) * b(35)
         b(93) = b(93) - lu(95) * b(35)
         b(66) = b(66) - lu(97) * b(36)
         b(76) = b(76) - lu(98) * b(36)
         b(89) = b(89) - lu(99) * b(36)
         b(95) = b(95) - lu(100) * b(36)
         b(85) = b(85) - lu(102) * b(37)
         b(87) = b(87) - lu(103) * b(37)
         b(89) = b(89) - lu(104) * b(37)
         b(90) = b(90) - lu(105) * b(37)
         b(39) = b(39) - lu(107) * b(38)
         b(45) = b(45) - lu(108) * b(38)
         b(82) = b(82) - lu(109) * b(38)
         b(89) = b(89) - lu(110) * b(38)
         b(90) = b(90) - lu(111) * b(38)
         b(91) = b(91) - lu(112) * b(38)
         b(89) = b(89) - lu(114) * b(39)
         b(90) = b(90) - lu(115) * b(39)
         b(68) = b(68) - lu(117) * b(40)
         b(72) = b(72) - lu(118) * b(40)
         b(89) = b(89) - lu(119) * b(40)
         b(90) = b(90) - lu(120) * b(40)
         b(89) = b(89) - lu(122) * b(41)
         b(90) = b(90) - lu(123) * b(41)
         b(93) = b(93) - lu(124) * b(41)
         b(94) = b(94) - lu(125) * b(41)
         b(71) = b(71) - lu(127) * b(42)
         b(76) = b(76) - lu(128) * b(42)
         b(89) = b(89) - lu(129) * b(42)
         b(90) = b(90) - lu(130) * b(42)
         b(82) = b(82) - lu(132) * b(43)
         b(89) = b(89) - lu(133) * b(43)
         b(90) = b(90) - lu(134) * b(43)
         b(92) = b(92) - lu(135) * b(43)
         b(83) = b(83) - lu(137) * b(44)
         b(89) = b(89) - lu(138) * b(44)
         b(63) = b(63) - lu(141) * b(45)
         b(82) = b(82) - lu(142) * b(45)
         b(88) = b(88) - lu(143) * b(45)
         b(90) = b(90) - lu(144) * b(45)
         b(93) = b(93) - lu(145) * b(45)
         b(54) = b(54) - lu(147) * b(46)
         b(55) = b(55) - lu(148) * b(46)
         b(56) = b(56) - lu(149) * b(46)
         b(81) = b(81) - lu(150) * b(46)
         b(89) = b(89) - lu(151) * b(46)
         b(81) = b(81) - lu(153) * b(47)
         b(89) = b(89) - lu(154) * b(47)
         b(93) = b(93) - lu(155) * b(47)
         b(82) = b(82) - lu(158) * b(48)
         b(88) = b(88) - lu(159) * b(48)
         b(89) = b(89) - lu(160) * b(48)
         b(90) = b(90) - lu(161) * b(48)
         b(93) = b(93) - lu(162) * b(48)
         b(82) = b(82) - lu(164) * b(49)
         b(89) = b(89) - lu(165) * b(49)
         b(92) = b(92) - lu(166) * b(49)
         b(95) = b(95) - lu(167) * b(49)
         b(89) = b(89) - lu(169) * b(50)
         b(92) = b(92) - lu(170) * b(50)
         b(66) = b(66) - lu(172) * b(51)
         b(71) = b(71) - lu(173) * b(51)
         b(89) = b(89) - lu(174) * b(51)
         b(95) = b(95) - lu(175) * b(51)
         b(67) = b(67) - lu(177) * b(52)
         b(76) = b(76) - lu(178) * b(52)
         b(79) = b(79) - lu(179) * b(52)
         b(82) = b(82) - lu(180) * b(52)
         b(89) = b(89) - lu(181) * b(52)
         b(90) = b(90) - lu(182) * b(52)
         b(68) = b(68) - lu(184) * b(53)
         b(77) = b(77) - lu(185) * b(53)
         b(80) = b(80) - lu(186) * b(53)
         b(84) = b(84) - lu(187) * b(53)
         b(89) = b(89) - lu(188) * b(53)
         b(90) = b(90) - lu(189) * b(53)
         b(89) = b(89) - lu(191) * b(54)
         b(90) = b(90) - lu(192) * b(54)
         b(56) = b(56) - lu(196) * b(55)
         b(81) = b(81) - lu(197) * b(55)
         b(88) = b(88) - lu(198) * b(55)
         b(89) = b(89) - lu(199) * b(55)
         b(90) = b(90) - lu(200) * b(55)
         b(93) = b(93) - lu(201) * b(55)
         b(81) = b(81) - lu(204) * b(56)
         b(89) = b(89) - lu(205) * b(56)
         b(90) = b(90) - lu(206) * b(56)
         b(95) = b(95) - lu(207) * b(56)
         b(82) = b(82) - lu(209) * b(57)
         b(89) = b(89) - lu(210) * b(57)
         b(92) = b(92) - lu(211) * b(57)
         b(93) = b(93) - lu(212) * b(57)
         b(94) = b(94) - lu(213) * b(57)
         b(95) = b(95) - lu(214) * b(57)
         b(89) = b(89) - lu(216) * b(58)
         b(93) = b(93) - lu(217) * b(58)
         b(94) = b(94) - lu(218) * b(58)
         b(88) = b(88) - lu(220) * b(59)
         b(89) = b(89) - lu(221) * b(59)
         b(90) = b(90) - lu(222) * b(59)
         b(91) = b(91) - lu(223) * b(59)
         b(93) = b(93) - lu(224) * b(59)
         b(79) = b(79) - lu(226) * b(60)
         b(82) = b(82) - lu(227) * b(60)
         b(87) = b(87) - lu(228) * b(60)
         b(89) = b(89) - lu(229) * b(60)
         b(90) = b(90) - lu(230) * b(60)
         b(93) = b(93) - lu(231) * b(60)
         b(94) = b(94) - lu(232) * b(60)
         b(80) = b(80) - lu(234) * b(61)
         b(82) = b(82) - lu(235) * b(61)
         b(83) = b(83) - lu(236) * b(61)
         b(84) = b(84) - lu(237) * b(61)
         b(86) = b(86) - lu(238) * b(61)
         b(89) = b(89) - lu(239) * b(61)
         b(90) = b(90) - lu(240) * b(61)
         b(82) = b(82) - lu(242) * b(62)
         b(89) = b(89) - lu(243) * b(62)
         b(90) = b(90) - lu(244) * b(62)
         b(82) = b(82) - lu(247) * b(63)
         b(89) = b(89) - lu(248) * b(63)
         b(90) = b(90) - lu(249) * b(63)
         b(77) = b(77) - lu(251) * b(64)
         b(80) = b(80) - lu(252) * b(64)
         b(84) = b(84) - lu(253) * b(64)
         b(89) = b(89) - lu(254) * b(64)
         b(90) = b(90) - lu(255) * b(64)
         b(91) = b(91) - lu(256) * b(64)
         b(93) = b(93) - lu(257) * b(64)
         b(94) = b(94) - lu(258) * b(64)
         b(66) = b(66) - lu(261) * b(65)
         b(68) = b(68) - lu(262) * b(65)
         b(70) = b(70) - lu(263) * b(65)
         b(71) = b(71) - lu(264) * b(65)
         b(76) = b(76) - lu(265) * b(65)
         b(82) = b(82) - lu(266) * b(65)
         b(89) = b(89) - lu(267) * b(65)
         b(90) = b(90) - lu(268) * b(65)
         b(95) = b(95) - lu(269) * b(65)
         b(76) = b(76) - lu(272) * b(66)
         b(88) = b(88) - lu(273) * b(66)
         b(89) = b(89) - lu(274) * b(66)
         b(90) = b(90) - lu(275) * b(66)
         b(93) = b(93) - lu(276) * b(66)
         b(95) = b(95) - lu(277) * b(66)
      end subroutine lu_slv01
      subroutine lu_slv02( lu, b )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real(r8), intent(in) :: lu(:)
      real(r8), intent(inout) :: b(:)
!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------
!-----------------------------------------------------------------------
! ... solve L * y = b
!-----------------------------------------------------------------------
         b(76) = b(76) - lu(280) * b(67)
         b(79) = b(79) - lu(281) * b(67)
         b(82) = b(82) - lu(282) * b(67)
         b(88) = b(88) - lu(283) * b(67)
         b(89) = b(89) - lu(284) * b(67)
         b(90) = b(90) - lu(285) * b(67)
         b(93) = b(93) - lu(286) * b(67)
         b(78) = b(78) - lu(288) * b(68)
         b(89) = b(89) - lu(289) * b(68)
         b(92) = b(92) - lu(290) * b(68)
         b(95) = b(95) - lu(291) * b(68)
         b(73) = b(73) - lu(293) * b(69)
         b(80) = b(80) - lu(294) * b(69)
         b(82) = b(82) - lu(295) * b(69)
         b(84) = b(84) - lu(296) * b(69)
         b(88) = b(88) - lu(297) * b(69)
         b(90) = b(90) - lu(298) * b(69)
         b(93) = b(93) - lu(299) * b(69)
         b(94) = b(94) - lu(300) * b(69)
         b(71) = b(71) - lu(307) * b(70)
         b(76) = b(76) - lu(308) * b(70)
         b(78) = b(78) - lu(309) * b(70)
         b(81) = b(81) - lu(310) * b(70)
         b(82) = b(82) - lu(311) * b(70)
         b(88) = b(88) - lu(312) * b(70)
         b(89) = b(89) - lu(313) * b(70)
         b(90) = b(90) - lu(314) * b(70)
         b(92) = b(92) - lu(315) * b(70)
         b(93) = b(93) - lu(316) * b(70)
         b(95) = b(95) - lu(317) * b(70)
         b(76) = b(76) - lu(322) * b(71)
         b(82) = b(82) - lu(323) * b(71)
         b(88) = b(88) - lu(324) * b(71)
         b(89) = b(89) - lu(325) * b(71)
         b(90) = b(90) - lu(326) * b(71)
         b(92) = b(92) - lu(327) * b(71)
         b(93) = b(93) - lu(328) * b(71)
         b(76) = b(76) - lu(332) * b(72)
         b(78) = b(78) - lu(333) * b(72)
         b(82) = b(82) - lu(334) * b(72)
         b(88) = b(88) - lu(335) * b(72)
         b(89) = b(89) - lu(336) * b(72)
         b(90) = b(90) - lu(337) * b(72)
         b(92) = b(92) - lu(338) * b(72)
         b(93) = b(93) - lu(339) * b(72)
         b(95) = b(95) - lu(340) * b(72)
         b(82) = b(82) - lu(343) * b(73)
         b(83) = b(83) - lu(344) * b(73)
         b(89) = b(89) - lu(345) * b(73)
         b(90) = b(90) - lu(346) * b(73)
         b(93) = b(93) - lu(347) * b(73)
         b(94) = b(94) - lu(348) * b(73)
         b(75) = b(75) - lu(353) * b(74)
         b(80) = b(80) - lu(354) * b(74)
         b(82) = b(82) - lu(355) * b(74)
         b(83) = b(83) - lu(356) * b(74)
         b(84) = b(84) - lu(357) * b(74)
         b(86) = b(86) - lu(358) * b(74)
         b(87) = b(87) - lu(359) * b(74)
         b(88) = b(88) - lu(360) * b(74)
         b(89) = b(89) - lu(361) * b(74)
         b(90) = b(90) - lu(362) * b(74)
         b(91) = b(91) - lu(363) * b(74)
         b(92) = b(92) - lu(364) * b(74)
         b(93) = b(93) - lu(365) * b(74)
         b(94) = b(94) - lu(366) * b(74)
         b(76) = b(76) - lu(371) * b(75)
         b(79) = b(79) - lu(372) * b(75)
         b(81) = b(81) - lu(373) * b(75)
         b(82) = b(82) - lu(374) * b(75)
         b(88) = b(88) - lu(375) * b(75)
         b(89) = b(89) - lu(376) * b(75)
         b(90) = b(90) - lu(377) * b(75)
         b(91) = b(91) - lu(378) * b(75)
         b(92) = b(92) - lu(379) * b(75)
         b(93) = b(93) - lu(380) * b(75)
         b(94) = b(94) - lu(381) * b(75)
         b(89) = b(89) - lu(384) * b(76)
         b(90) = b(90) - lu(385) * b(76)
         b(92) = b(92) - lu(386) * b(76)
         b(93) = b(93) - lu(387) * b(76)
         b(94) = b(94) - lu(388) * b(76)
         b(95) = b(95) - lu(389) * b(76)
         b(78) = b(78) - lu(393) * b(77)
         b(80) = b(80) - lu(394) * b(77)
         b(84) = b(84) - lu(395) * b(77)
         b(88) = b(88) - lu(396) * b(77)
         b(89) = b(89) - lu(397) * b(77)
         b(90) = b(90) - lu(398) * b(77)
         b(92) = b(92) - lu(399) * b(77)
         b(93) = b(93) - lu(400) * b(77)
         b(95) = b(95) - lu(401) * b(77)
         b(79) = b(79) - lu(405) * b(78)
         b(81) = b(81) - lu(406) * b(78)
         b(82) = b(82) - lu(407) * b(78)
         b(88) = b(88) - lu(408) * b(78)
         b(89) = b(89) - lu(409) * b(78)
         b(90) = b(90) - lu(410) * b(78)
         b(92) = b(92) - lu(411) * b(78)
         b(93) = b(93) - lu(412) * b(78)
         b(95) = b(95) - lu(413) * b(78)
         b(81) = b(81) - lu(415) * b(79)
         b(82) = b(82) - lu(416) * b(79)
         b(89) = b(89) - lu(417) * b(79)
         b(90) = b(90) - lu(418) * b(79)
         b(95) = b(95) - lu(419) * b(79)
         b(81) = b(81) - lu(421) * b(80)
         b(82) = b(82) - lu(422) * b(80)
         b(85) = b(85) - lu(423) * b(80)
         b(87) = b(87) - lu(424) * b(80)
         b(89) = b(89) - lu(425) * b(80)
         b(90) = b(90) - lu(426) * b(80)
         b(91) = b(91) - lu(427) * b(80)
         b(95) = b(95) - lu(428) * b(80)
         b(89) = b(89) - lu(431) * b(81)
         b(90) = b(90) - lu(432) * b(81)
         b(93) = b(93) - lu(433) * b(81)
         b(94) = b(94) - lu(434) * b(81)
         b(95) = b(95) - lu(435) * b(81)
         b(88) = b(88) - lu(439) * b(82)
         b(89) = b(89) - lu(440) * b(82)
         b(90) = b(90) - lu(441) * b(82)
         b(93) = b(93) - lu(442) * b(82)
         b(94) = b(94) - lu(443) * b(82)
         b(88) = b(88) - lu(452) * b(83)
         b(89) = b(89) - lu(453) * b(83)
         b(90) = b(90) - lu(454) * b(83)
         b(92) = b(92) - lu(455) * b(83)
         b(93) = b(93) - lu(456) * b(83)
         b(94) = b(94) - lu(457) * b(83)
         b(95) = b(95) - lu(458) * b(83)
         b(85) = b(85) - lu(465) * b(84)
         b(88) = b(88) - lu(466) * b(84)
         b(89) = b(89) - lu(467) * b(84)
         b(90) = b(90) - lu(468) * b(84)
         b(91) = b(91) - lu(469) * b(84)
         b(92) = b(92) - lu(470) * b(84)
         b(93) = b(93) - lu(471) * b(84)
         b(94) = b(94) - lu(472) * b(84)
         b(95) = b(95) - lu(473) * b(84)
         b(87) = b(87) - lu(483) * b(85)
         b(88) = b(88) - lu(484) * b(85)
         b(89) = b(89) - lu(485) * b(85)
         b(90) = b(90) - lu(486) * b(85)
         b(92) = b(92) - lu(487) * b(85)
         b(93) = b(93) - lu(488) * b(85)
         b(94) = b(94) - lu(489) * b(85)
         b(95) = b(95) - lu(490) * b(85)
         b(87) = b(87) - lu(502) * b(86)
         b(88) = b(88) - lu(503) * b(86)
         b(89) = b(89) - lu(504) * b(86)
         b(90) = b(90) - lu(505) * b(86)
         b(91) = b(91) - lu(506) * b(86)
         b(92) = b(92) - lu(507) * b(86)
         b(93) = b(93) - lu(508) * b(86)
         b(94) = b(94) - lu(509) * b(86)
         b(95) = b(95) - lu(510) * b(86)
         b(88) = b(88) - lu(518) * b(87)
         b(89) = b(89) - lu(519) * b(87)
         b(90) = b(90) - lu(520) * b(87)
         b(91) = b(91) - lu(521) * b(87)
         b(92) = b(92) - lu(522) * b(87)
         b(93) = b(93) - lu(523) * b(87)
         b(94) = b(94) - lu(524) * b(87)
         b(95) = b(95) - lu(525) * b(87)
         b(89) = b(89) - lu(559) * b(88)
         b(90) = b(90) - lu(560) * b(88)
         b(91) = b(91) - lu(561) * b(88)
         b(92) = b(92) - lu(562) * b(88)
         b(93) = b(93) - lu(563) * b(88)
         b(94) = b(94) - lu(564) * b(88)
         b(95) = b(95) - lu(565) * b(88)
         b(90) = b(90) - lu(635) * b(89)
         b(91) = b(91) - lu(636) * b(89)
         b(92) = b(92) - lu(637) * b(89)
         b(93) = b(93) - lu(638) * b(89)
         b(94) = b(94) - lu(639) * b(89)
         b(95) = b(95) - lu(640) * b(89)
         b(91) = b(91) - lu(686) * b(90)
         b(92) = b(92) - lu(687) * b(90)
         b(93) = b(93) - lu(688) * b(90)
         b(94) = b(94) - lu(689) * b(90)
         b(95) = b(95) - lu(690) * b(90)
         b(92) = b(92) - lu(717) * b(91)
         b(93) = b(93) - lu(718) * b(91)
         b(94) = b(94) - lu(719) * b(91)
         b(95) = b(95) - lu(720) * b(91)
         b(93) = b(93) - lu(747) * b(92)
         b(94) = b(94) - lu(748) * b(92)
         b(95) = b(95) - lu(749) * b(92)
         b(94) = b(94) - lu(768) * b(93)
         b(95) = b(95) - lu(769) * b(93)
         b(95) = b(95) - lu(802) * b(94)
      end subroutine lu_slv02
      subroutine lu_slv03( lu, b )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real(r8), intent(in) :: lu(:)
      real(r8), intent(inout) :: b(:)
!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------
!-----------------------------------------------------------------------
! ... solve L * y = b
!-----------------------------------------------------------------------
!-----------------------------------------------------------------------
! ... Solve U * x = y
!-----------------------------------------------------------------------
         b(95) = b(95) * lu(824)
         b(94) = b(94) - lu(823) * b(95)
         b(93) = b(93) - lu(822) * b(95)
         b(92) = b(92) - lu(821) * b(95)
         b(91) = b(91) - lu(820) * b(95)
         b(90) = b(90) - lu(819) * b(95)
         b(89) = b(89) - lu(818) * b(95)
         b(88) = b(88) - lu(817) * b(95)
         b(87) = b(87) - lu(816) * b(95)
         b(86) = b(86) - lu(815) * b(95)
         b(85) = b(85) - lu(814) * b(95)
         b(84) = b(84) - lu(813) * b(95)
         b(83) = b(83) - lu(812) * b(95)
         b(82) = b(82) - lu(811) * b(95)
         b(81) = b(81) - lu(810) * b(95)
         b(80) = b(80) - lu(809) * b(95)
         b(79) = b(79) - lu(808) * b(95)
         b(63) = b(63) - lu(807) * b(95)
         b(57) = b(57) - lu(806) * b(95)
         b(50) = b(50) - lu(805) * b(95)
         b(49) = b(49) - lu(804) * b(95)
         b(44) = b(44) - lu(803) * b(95)
         b(94) = b(94) * lu(801)
         b(93) = b(93) - lu(800) * b(94)
         b(92) = b(92) - lu(799) * b(94)
         b(91) = b(91) - lu(798) * b(94)
         b(90) = b(90) - lu(797) * b(94)
         b(89) = b(89) - lu(796) * b(94)
         b(88) = b(88) - lu(795) * b(94)
         b(87) = b(87) - lu(794) * b(94)
         b(86) = b(86) - lu(793) * b(94)
         b(85) = b(85) - lu(792) * b(94)
         b(84) = b(84) - lu(791) * b(94)
         b(83) = b(83) - lu(790) * b(94)
         b(82) = b(82) - lu(789) * b(94)
         b(81) = b(81) - lu(788) * b(94)
         b(80) = b(80) - lu(787) * b(94)
         b(79) = b(79) - lu(786) * b(94)
         b(78) = b(78) - lu(785) * b(94)
         b(77) = b(77) - lu(784) * b(94)
         b(76) = b(76) - lu(783) * b(94)
         b(75) = b(75) - lu(782) * b(94)
         b(74) = b(74) - lu(781) * b(94)
         b(73) = b(73) - lu(780) * b(94)
         b(69) = b(69) - lu(779) * b(94)
         b(64) = b(64) - lu(778) * b(94)
         b(63) = b(63) - lu(777) * b(94)
         b(58) = b(58) - lu(776) * b(94)
         b(54) = b(54) - lu(775) * b(94)
         b(47) = b(47) - lu(774) * b(94)
         b(44) = b(44) - lu(773) * b(94)
         b(32) = b(32) - lu(772) * b(94)
         b(31) = b(31) - lu(771) * b(94)
         b(22) = b(22) - lu(770) * b(94)
         b(93) = b(93) * lu(767)
         b(92) = b(92) - lu(766) * b(93)
         b(91) = b(91) - lu(765) * b(93)
         b(90) = b(90) - lu(764) * b(93)
         b(89) = b(89) - lu(763) * b(93)
         b(88) = b(88) - lu(762) * b(93)
         b(87) = b(87) - lu(761) * b(93)
         b(82) = b(82) - lu(760) * b(93)
         b(81) = b(81) - lu(759) * b(93)
         b(79) = b(79) - lu(758) * b(93)
         b(60) = b(60) - lu(757) * b(93)
         b(59) = b(59) - lu(756) * b(93)
         b(58) = b(58) - lu(755) * b(93)
         b(57) = b(57) - lu(754) * b(93)
         b(56) = b(56) - lu(753) * b(93)
         b(41) = b(41) - lu(752) * b(93)
         b(31) = b(31) - lu(751) * b(93)
         b(29) = b(29) - lu(750) * b(93)
         b(92) = b(92) * lu(746)
         b(91) = b(91) - lu(745) * b(92)
         b(90) = b(90) - lu(744) * b(92)
         b(89) = b(89) - lu(743) * b(92)
         b(88) = b(88) - lu(742) * b(92)
         b(87) = b(87) - lu(741) * b(92)
         b(86) = b(86) - lu(740) * b(92)
         b(85) = b(85) - lu(739) * b(92)
         b(84) = b(84) - lu(738) * b(92)
         b(83) = b(83) - lu(737) * b(92)
         b(82) = b(82) - lu(736) * b(92)
         b(81) = b(81) - lu(735) * b(92)
         b(80) = b(80) - lu(734) * b(92)
         b(79) = b(79) - lu(733) * b(92)
         b(78) = b(78) - lu(732) * b(92)
         b(76) = b(76) - lu(731) * b(92)
         b(72) = b(72) - lu(730) * b(92)
         b(71) = b(71) - lu(729) * b(92)
         b(68) = b(68) - lu(728) * b(92)
         b(63) = b(63) - lu(727) * b(92)
         b(62) = b(62) - lu(726) * b(92)
         b(54) = b(54) - lu(725) * b(92)
         b(50) = b(50) - lu(724) * b(92)
         b(44) = b(44) - lu(723) * b(92)
         b(43) = b(43) - lu(722) * b(92)
         b(33) = b(33) - lu(721) * b(92)
         b(91) = b(91) * lu(716)
         b(90) = b(90) - lu(715) * b(91)
         b(89) = b(89) - lu(714) * b(91)
         b(88) = b(88) - lu(713) * b(91)
         b(87) = b(87) - lu(712) * b(91)
         b(86) = b(86) - lu(711) * b(91)
         b(85) = b(85) - lu(710) * b(91)
         b(84) = b(84) - lu(709) * b(91)
         b(83) = b(83) - lu(708) * b(91)
         b(82) = b(82) - lu(707) * b(91)
         b(81) = b(81) - lu(706) * b(91)
         b(80) = b(80) - lu(705) * b(91)
         b(79) = b(79) - lu(704) * b(91)
         b(78) = b(78) - lu(703) * b(91)
         b(77) = b(77) - lu(702) * b(91)
         b(76) = b(76) - lu(701) * b(91)
         b(75) = b(75) - lu(700) * b(91)
         b(74) = b(74) - lu(699) * b(91)
         b(64) = b(64) - lu(698) * b(91)
         b(63) = b(63) - lu(697) * b(91)
         b(59) = b(59) - lu(696) * b(91)
         b(50) = b(50) - lu(695) * b(91)
         b(45) = b(45) - lu(694) * b(91)
         b(39) = b(39) - lu(693) * b(91)
         b(38) = b(38) - lu(692) * b(91)
         b(30) = b(30) - lu(691) * b(91)
         b(90) = b(90) * lu(685)
         b(89) = b(89) - lu(684) * b(90)
         b(88) = b(88) - lu(683) * b(90)
         b(87) = b(87) - lu(682) * b(90)
         b(86) = b(86) - lu(681) * b(90)
         b(85) = b(85) - lu(680) * b(90)
         b(84) = b(84) - lu(679) * b(90)
         b(83) = b(83) - lu(678) * b(90)
         b(82) = b(82) - lu(677) * b(90)
         b(81) = b(81) - lu(676) * b(90)
         b(80) = b(80) - lu(675) * b(90)
         b(79) = b(79) - lu(674) * b(90)
         b(78) = b(78) - lu(673) * b(90)
         b(77) = b(77) - lu(672) * b(90)
         b(76) = b(76) - lu(671) * b(90)
         b(73) = b(73) - lu(670) * b(90)
         b(72) = b(72) - lu(669) * b(90)
         b(71) = b(71) - lu(668) * b(90)
         b(70) = b(70) - lu(667) * b(90)
         b(69) = b(69) - lu(666) * b(90)
         b(68) = b(68) - lu(665) * b(90)
         b(67) = b(67) - lu(664) * b(90)
         b(66) = b(66) - lu(663) * b(90)
         b(65) = b(65) - lu(662) * b(90)
         b(61) = b(61) - lu(661) * b(90)
         b(59) = b(59) - lu(660) * b(90)
         b(56) = b(56) - lu(659) * b(90)
         b(55) = b(55) - lu(658) * b(90)
         b(54) = b(54) - lu(657) * b(90)
         b(53) = b(53) - lu(656) * b(90)
         b(52) = b(52) - lu(655) * b(90)
         b(50) = b(50) - lu(654) * b(90)
         b(49) = b(49) - lu(653) * b(90)
         b(48) = b(48) - lu(652) * b(90)
         b(46) = b(46) - lu(651) * b(90)
         b(43) = b(43) - lu(650) * b(90)
         b(42) = b(42) - lu(649) * b(90)
         b(41) = b(41) - lu(648) * b(90)
         b(40) = b(40) - lu(647) * b(90)
         b(39) = b(39) - lu(646) * b(90)
         b(37) = b(37) - lu(645) * b(90)
         b(36) = b(36) - lu(644) * b(90)
         b(34) = b(34) - lu(643) * b(90)
         b(28) = b(28) - lu(642) * b(90)
         b(26) = b(26) - lu(641) * b(90)
         b(89) = b(89) * lu(634)
         b(88) = b(88) - lu(633) * b(89)
         b(87) = b(87) - lu(632) * b(89)
         b(86) = b(86) - lu(631) * b(89)
         b(85) = b(85) - lu(630) * b(89)
         b(84) = b(84) - lu(629) * b(89)
         b(83) = b(83) - lu(628) * b(89)
         b(82) = b(82) - lu(627) * b(89)
         b(81) = b(81) - lu(626) * b(89)
         b(80) = b(80) - lu(625) * b(89)
         b(79) = b(79) - lu(624) * b(89)
         b(78) = b(78) - lu(623) * b(89)
         b(77) = b(77) - lu(622) * b(89)
         b(76) = b(76) - lu(621) * b(89)
         b(75) = b(75) - lu(620) * b(89)
         b(74) = b(74) - lu(619) * b(89)
         b(73) = b(73) - lu(618) * b(89)
         b(72) = b(72) - lu(617) * b(89)
         b(71) = b(71) - lu(616) * b(89)
         b(70) = b(70) - lu(615) * b(89)
         b(68) = b(68) - lu(614) * b(89)
         b(67) = b(67) - lu(613) * b(89)
         b(66) = b(66) - lu(612) * b(89)
         b(65) = b(65) - lu(611) * b(89)
         b(64) = b(64) - lu(610) * b(89)
         b(63) = b(63) - lu(609) * b(89)
         b(62) = b(62) - lu(608) * b(89)
         b(61) = b(61) - lu(607) * b(89)
         b(60) = b(60) - lu(606) * b(89)
         b(59) = b(59) - lu(605) * b(89)
         b(58) = b(58) - lu(604) * b(89)
         b(57) = b(57) - lu(603) * b(89)
         b(56) = b(56) - lu(602) * b(89)
         b(55) = b(55) - lu(601) * b(89)
         b(54) = b(54) - lu(600) * b(89)
         b(53) = b(53) - lu(599) * b(89)
         b(52) = b(52) - lu(598) * b(89)
         b(51) = b(51) - lu(597) * b(89)
         b(50) = b(50) - lu(596) * b(89)
         b(49) = b(49) - lu(595) * b(89)
         b(47) = b(47) - lu(594) * b(89)
         b(46) = b(46) - lu(593) * b(89)
         b(45) = b(45) - lu(592) * b(89)
         b(44) = b(44) - lu(591) * b(89)
         b(43) = b(43) - lu(590) * b(89)
         b(42) = b(42) - lu(589) * b(89)
         b(41) = b(41) - lu(588) * b(89)
         b(40) = b(40) - lu(587) * b(89)
         b(39) = b(39) - lu(586) * b(89)
         b(38) = b(38) - lu(585) * b(89)
         b(37) = b(37) - lu(584) * b(89)
         b(36) = b(36) - lu(583) * b(89)
         b(35) = b(35) - lu(582) * b(89)
         b(34) = b(34) - lu(581) * b(89)
         b(33) = b(33) - lu(580) * b(89)
         b(32) = b(32) - lu(579) * b(89)
         b(29) = b(29) - lu(578) * b(89)
         b(28) = b(28) - lu(577) * b(89)
         b(26) = b(26) - lu(576) * b(89)
         b(25) = b(25) - lu(575) * b(89)
         b(24) = b(24) - lu(574) * b(89)
         b(23) = b(23) - lu(573) * b(89)
         b(22) = b(22) - lu(572) * b(89)
         b(21) = b(21) - lu(571) * b(89)
         b(20) = b(20) - lu(570) * b(89)
         b(19) = b(19) - lu(569) * b(89)
         b(18) = b(18) - lu(568) * b(89)
         b(17) = b(17) - lu(567) * b(89)
         b(1) = b(1) - lu(566) * b(89)
      end subroutine lu_slv03
      subroutine lu_slv04( lu, b )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real(r8), intent(in) :: lu(:)
      real(r8), intent(inout) :: b(:)
!-----------------------------------------------------------------------
! ... Local variables
!-----------------------------------------------------------------------
!-----------------------------------------------------------------------
! ... solve L * y = b
!-----------------------------------------------------------------------
         b(88) = b(88) * lu(558)
         b(87) = b(87) - lu(557) * b(88)
         b(86) = b(86) - lu(556) * b(88)
         b(85) = b(85) - lu(555) * b(88)
         b(84) = b(84) - lu(554) * b(88)
         b(83) = b(83) - lu(553) * b(88)
         b(82) = b(82) - lu(552) * b(88)
         b(81) = b(81) - lu(551) * b(88)
         b(80) = b(80) - lu(550) * b(88)
         b(79) = b(79) - lu(549) * b(88)
         b(78) = b(78) - lu(548) * b(88)
         b(77) = b(77) - lu(547) * b(88)
         b(76) = b(76) - lu(546) * b(88)
         b(73) = b(73) - lu(545) * b(88)
         b(72) = b(72) - lu(544) * b(88)
         b(71) = b(71) - lu(543) * b(88)
         b(70) = b(70) - lu(542) * b(88)
         b(69) = b(69) - lu(541) * b(88)
         b(68) = b(68) - lu(540) * b(88)
         b(67) = b(67) - lu(539) * b(88)
         b(66) = b(66) - lu(538) * b(88)
         b(63) = b(63) - lu(537) * b(88)
         b(56) = b(56) - lu(536) * b(88)
         b(55) = b(55) - lu(535) * b(88)
         b(54) = b(54) - lu(534) * b(88)
         b(51) = b(51) - lu(533) * b(88)
         b(48) = b(48) - lu(532) * b(88)
         b(47) = b(47) - lu(531) * b(88)
         b(45) = b(45) - lu(530) * b(88)
         b(44) = b(44) - lu(529) * b(88)
         b(39) = b(39) - lu(528) * b(88)
         b(35) = b(35) - lu(527) * b(88)
         b(27) = b(27) - lu(526) * b(88)
         b(87) = b(87) * lu(517)
         b(82) = b(82) - lu(516) * b(87)
         b(81) = b(81) - lu(515) * b(87)
         b(79) = b(79) - lu(514) * b(87)
         b(60) = b(60) - lu(513) * b(87)
         b(50) = b(50) - lu(512) * b(87)
         b(49) = b(49) - lu(511) * b(87)
         b(86) = b(86) * lu(501)
         b(85) = b(85) - lu(500) * b(86)
         b(84) = b(84) - lu(499) * b(86)
         b(83) = b(83) - lu(498) * b(86)
         b(82) = b(82) - lu(497) * b(86)
         b(81) = b(81) - lu(496) * b(86)
         b(80) = b(80) - lu(495) * b(86)
         b(73) = b(73) - lu(494) * b(86)
         b(62) = b(62) - lu(493) * b(86)
         b(61) = b(61) - lu(492) * b(86)
         b(44) = b(44) - lu(491) * b(86)
         b(85) = b(85) * lu(482)
         b(83) = b(83) - lu(481) * b(85)
         b(82) = b(82) - lu(480) * b(85)
         b(81) = b(81) - lu(479) * b(85)
         b(79) = b(79) - lu(478) * b(85)
         b(73) = b(73) - lu(477) * b(85)
         b(63) = b(63) - lu(476) * b(85)
         b(62) = b(62) - lu(475) * b(85)
         b(37) = b(37) - lu(474) * b(85)
         b(84) = b(84) * lu(464)
         b(82) = b(82) - lu(463) * b(84)
         b(81) = b(81) - lu(462) * b(84)
         b(79) = b(79) - lu(461) * b(84)
         b(76) = b(76) - lu(460) * b(84)
         b(75) = b(75) - lu(459) * b(84)
         b(83) = b(83) * lu(451)
         b(82) = b(82) - lu(450) * b(83)
         b(81) = b(81) - lu(449) * b(83)
         b(79) = b(79) - lu(448) * b(83)
         b(63) = b(63) - lu(447) * b(83)
         b(62) = b(62) - lu(446) * b(83)
         b(54) = b(54) - lu(445) * b(83)
         b(28) = b(28) - lu(444) * b(83)
         b(82) = b(82) * lu(438)
         b(58) = b(58) - lu(437) * b(82)
         b(48) = b(48) - lu(436) * b(82)
         b(81) = b(81) * lu(430)
         b(58) = b(58) - lu(429) * b(81)
         b(80) = b(80) * lu(420)
         b(79) = b(79) * lu(414)
         b(78) = b(78) * lu(404)
         b(62) = b(62) - lu(403) * b(78)
         b(34) = b(34) - lu(402) * b(78)
         b(77) = b(77) * lu(392)
         b(68) = b(68) - lu(391) * b(77)
         b(53) = b(53) - lu(390) * b(77)
         b(76) = b(76) * lu(383)
         b(58) = b(58) - lu(382) * b(76)
         b(75) = b(75) * lu(370)
         b(67) = b(67) - lu(369) * b(75)
         b(50) = b(50) - lu(368) * b(75)
         b(47) = b(47) - lu(367) * b(75)
         b(74) = b(74) * lu(352)
         b(73) = b(73) - lu(351) * b(74)
         b(69) = b(69) - lu(350) * b(74)
         b(50) = b(50) - lu(349) * b(74)
         b(73) = b(73) * lu(342)
         b(44) = b(44) - lu(341) * b(73)
         b(72) = b(72) * lu(331)
         b(68) = b(68) - lu(330) * b(72)
         b(40) = b(40) - lu(329) * b(72)
         b(71) = b(71) * lu(321)
         b(62) = b(62) - lu(320) * b(71)
         b(42) = b(42) - lu(319) * b(71)
         b(33) = b(33) - lu(318) * b(71)
         b(70) = b(70) * lu(306)
         b(68) = b(68) - lu(305) * b(70)
         b(66) = b(66) - lu(304) * b(70)
         b(65) = b(65) - lu(303) * b(70)
         b(51) = b(51) - lu(302) * b(70)
         b(47) = b(47) - lu(301) * b(70)
         b(69) = b(69) * lu(292)
         b(68) = b(68) * lu(287)
         b(67) = b(67) * lu(279)
         b(52) = b(52) - lu(278) * b(67)
         b(66) = b(66) * lu(271)
         b(36) = b(36) - lu(270) * b(66)
         b(65) = b(65) * lu(260)
         b(51) = b(51) - lu(259) * b(65)
         b(64) = b(64) * lu(250)
         b(63) = b(63) * lu(246)
         b(54) = b(54) - lu(245) * b(63)
         b(62) = b(62) * lu(241)
         b(61) = b(61) * lu(233)
         b(60) = b(60) * lu(225)
         b(59) = b(59) * lu(219)
         b(58) = b(58) * lu(215)
         b(57) = b(57) * lu(208)
         b(56) = b(56) * lu(203)
         b(54) = b(54) - lu(202) * b(56)
         b(55) = b(55) * lu(195)
         b(54) = b(54) - lu(194) * b(55)
         b(46) = b(46) - lu(193) * b(55)
         b(54) = b(54) * lu(190)
         b(53) = b(53) * lu(183)
         b(52) = b(52) * lu(176)
         b(51) = b(51) * lu(171)
         b(50) = b(50) * lu(168)
         b(49) = b(49) * lu(163)
         b(48) = b(48) * lu(157)
         b(39) = b(39) - lu(156) * b(48)
         b(47) = b(47) * lu(152)
         b(46) = b(46) * lu(146)
         b(45) = b(45) * lu(140)
         b(27) = b(27) - lu(139) * b(45)
         b(44) = b(44) * lu(136)
         b(43) = b(43) * lu(131)
         b(42) = b(42) * lu(126)
         b(41) = b(41) * lu(121)
         b(40) = b(40) * lu(116)
         b(39) = b(39) * lu(113)
         b(38) = b(38) * lu(106)
         b(37) = b(37) * lu(101)
         b(36) = b(36) * lu(96)
         b(35) = b(35) * lu(89)
         b(34) = b(34) * lu(84)
         b(33) = b(33) * lu(80)
         b(32) = b(32) * lu(75)
         b(22) = b(22) - lu(74) * b(32)
         b(31) = b(31) * lu(70)
         b(30) = b(30) * lu(63)
         b(29) = b(29) * lu(59)
         b(28) = b(28) * lu(56)
         b(27) = b(27) * lu(52)
         b(26) = b(26) * lu(49)
         b(25) = b(25) * lu(44)
         b(24) = b(24) * lu(41)
         b(23) = b(23) * lu(36)
         b(22) = b(22) * lu(34)
         b(1) = b(1) - lu(33) * b(22)
         b(21) = b(21) * lu(30)
         b(20) = b(20) * lu(27)
         b(19) = b(19) * lu(24)
         b(18) = b(18) * lu(21)
         b(17) = b(17) * lu(19)
         b(16) = b(16) * lu(18)
         b(15) = b(15) * lu(17)
         b(14) = b(14) * lu(16)
         b(13) = b(13) * lu(15)
         b(12) = b(12) * lu(14)
         b(11) = b(11) * lu(13)
         b(10) = b(10) * lu(12)
         b(9) = b(9) * lu(11)
         b(8) = b(8) * lu(10)
         b(7) = b(7) * lu(8)
         b(6) = b(6) * lu(7)
         b(5) = b(5) * lu(5)
         b(4) = b(4) * lu(4)
         b(3) = b(3) * lu(3)
         b(2) = b(2) * lu(2)
         b(1) = b(1) * lu(1)
      end subroutine lu_slv04
      subroutine lu_slv( lu, b )
      use shr_kind_mod, only : r8 => shr_kind_r8
      implicit none
!-----------------------------------------------------------------------
! ... Dummy args
!-----------------------------------------------------------------------
      real(r8), intent(in) :: lu(:)
      real(r8), intent(inout) :: b(:)
      call lu_slv01( lu, b )
      call lu_slv02( lu, b )
      call lu_slv03( lu, b )
      call lu_slv04( lu, b )
      end subroutine lu_slv
      end module mo_lu_solve
