      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(31) = b(31) - lu(2) * b(1)
         b(40) = b(40) - lu(3) * b(1)
         b(29) = b(29) - lu(5) * b(2)
         b(29) = b(29) - lu(8) * b(3)
         b(31) = b(31) - lu(10) * b(4)
         b(32) = b(32) - lu(11) * b(4)
         b(40) = b(40) - lu(13) * b(5)
         b(34) = b(34) - lu(15) * b(6)
         b(40) = b(40) - lu(16) * b(6)
         b(17) = b(17) - lu(18) * b(7)
         b(32) = b(32) - lu(19) * b(7)
         b(33) = b(33) - lu(20) * b(7)
         b(35) = b(35) - lu(21) * b(7)
         b(39) = b(39) - lu(22) * b(7)
         b(23) = b(23) - lu(24) * b(8)
         b(26) = b(26) - lu(25) * b(8)
         b(27) = b(27) - lu(26) * b(8)
         b(28) = b(28) - lu(27) * b(8)
         b(38) = b(38) - lu(28) * b(8)
         b(26) = b(26) - lu(30) * b(9)
         b(29) = b(29) - lu(31) * b(9)
         b(35) = b(35) - lu(32) * b(9)
         b(37) = b(37) - lu(33) * b(9)
         b(38) = b(38) - lu(34) * b(9)
         b(39) = b(39) - lu(35) * b(9)
         b(11) = b(11) - lu(37) * b(10)
         b(19) = b(19) - lu(38) * b(10)
         b(20) = b(20) - lu(39) * b(10)
         b(22) = b(22) - lu(40) * b(10)
         b(29) = b(29) - lu(41) * b(10)
         b(32) = b(32) - lu(42) * b(10)
         b(19) = b(19) - lu(44) * b(11)
         b(20) = b(20) - lu(45) * b(11)
         b(22) = b(22) - lu(46) * b(11)
         b(29) = b(29) - lu(47) * b(11)
         b(32) = b(32) - lu(48) * b(11)
         b(22) = b(22) - lu(50) * b(12)
         b(29) = b(29) - lu(51) * b(12)
         b(33) = b(33) - lu(52) * b(12)
         b(36) = b(36) - lu(53) * b(12)
         b(17) = b(17) - lu(55) * b(13)
         b(18) = b(18) - lu(56) * b(13)
         b(30) = b(30) - lu(57) * b(13)
         b(32) = b(32) - lu(58) * b(13)
         b(34) = b(34) - lu(59) * b(13)
         b(35) = b(35) - lu(60) * b(13)
         b(39) = b(39) - lu(61) * b(13)
         b(26) = b(26) - lu(63) * b(14)
         b(32) = b(32) - lu(64) * b(14)
         b(37) = b(37) - lu(65) * b(14)
         b(38) = b(38) - lu(66) * b(14)
         b(40) = b(40) - lu(67) * b(14)
         b(41) = b(41) - lu(68) * b(14)
         b(19) = b(19) - lu(72) * b(15)
         b(20) = b(20) - lu(73) * b(15)
         b(21) = b(21) - lu(74) * b(15)
         b(22) = b(22) - lu(75) * b(15)
         b(29) = b(29) - lu(76) * b(15)
         b(32) = b(32) - lu(77) * b(15)
         b(33) = b(33) - lu(78) * b(15)
         b(36) = b(36) - lu(79) * b(15)
         b(26) = b(26) - lu(81) * b(16)
         b(32) = b(32) - lu(82) * b(16)
         b(34) = b(34) - lu(83) * b(16)
         b(36) = b(36) - lu(84) * b(16)
         b(38) = b(38) - lu(85) * b(16)
         b(26) = b(26) - lu(87) * b(17)
         b(35) = b(35) - lu(88) * b(17)
         b(38) = b(38) - lu(89) * b(17)
         b(39) = b(39) - lu(90) * b(17)
         b(26) = b(26) - lu(93) * b(18)
         b(30) = b(30) - lu(94) * b(18)
         b(32) = b(32) - lu(95) * b(18)
         b(34) = b(34) - lu(96) * b(18)
         b(38) = b(38) - lu(97) * b(18)
         b(40) = b(40) - lu(98) * b(18)
         b(41) = b(41) - lu(99) * b(18)
         b(20) = b(20) - lu(101) * b(19)
         b(21) = b(21) - lu(102) * b(19)
         b(22) = b(22) - lu(103) * b(19)
         b(29) = b(29) - lu(104) * b(19)
         b(32) = b(32) - lu(105) * b(19)
         b(33) = b(33) - lu(106) * b(19)
         b(36) = b(36) - lu(107) * b(19)
         b(21) = b(21) - lu(110) * b(20)
         b(22) = b(22) - lu(111) * b(20)
         b(29) = b(29) - lu(112) * b(20)
         b(32) = b(32) - lu(113) * b(20)
         b(33) = b(33) - lu(114) * b(20)
         b(36) = b(36) - lu(115) * b(20)
         b(22) = b(22) - lu(121) * b(21)
         b(29) = b(29) - lu(122) * b(21)
         b(32) = b(32) - lu(123) * b(21)
         b(33) = b(33) - lu(124) * b(21)
         b(36) = b(36) - lu(125) * b(21)
         b(29) = b(29) - lu(132) * b(22)
         b(32) = b(32) - lu(133) * b(22)
         b(33) = b(33) - lu(134) * b(22)
         b(35) = b(35) - lu(135) * b(22)
         b(36) = b(36) - lu(136) * b(22)
         b(26) = b(26) - lu(139) * b(23)
         b(27) = b(27) - lu(140) * b(23)
         b(28) = b(28) - lu(141) * b(23)
         b(29) = b(29) - lu(142) * b(23)
         b(33) = b(33) - lu(143) * b(23)
         b(35) = b(35) - lu(144) * b(23)
         b(37) = b(37) - lu(145) * b(23)
         b(38) = b(38) - lu(146) * b(23)
         b(26) = b(26) - lu(149) * b(24)
         b(31) = b(31) - lu(150) * b(24)
         b(32) = b(32) - lu(151) * b(24)
         b(38) = b(38) - lu(152) * b(24)
         b(40) = b(40) - lu(153) * b(24)
         b(41) = b(41) - lu(154) * b(24)
         b(26) = b(26) - lu(159) * b(25)
         b(31) = b(31) - lu(160) * b(25)
         b(32) = b(32) - lu(161) * b(25)
         b(35) = b(35) - lu(162) * b(25)
         b(38) = b(38) - lu(163) * b(25)
         b(39) = b(39) - lu(164) * b(25)
         b(40) = b(40) - lu(165) * b(25)
         b(41) = b(41) - lu(166) * b(25)
         b(28) = b(28) - lu(168) * b(26)
         b(32) = b(32) - lu(169) * b(26)
         b(36) = b(36) - lu(170) * b(26)
         b(38) = b(38) - lu(171) * b(26)
         b(28) = b(28) - lu(176) * b(27)
         b(32) = b(32) - lu(177) * b(27)
         b(34) = b(34) - lu(178) * b(27)
         b(35) = b(35) - lu(179) * b(27)
         b(36) = b(36) - lu(180) * b(27)
         b(37) = b(37) - lu(181) * b(27)
         b(38) = b(38) - lu(182) * b(27)
         b(39) = b(39) - lu(183) * b(27)
         b(40) = b(40) - lu(184) * b(27)
         b(41) = b(41) - lu(185) * b(27)
         b(29) = b(29) - lu(188) * b(28)
         b(32) = b(32) - lu(189) * b(28)
         b(36) = b(36) - lu(190) * b(28)
         b(37) = b(37) - lu(191) * b(28)
         b(38) = b(38) - lu(192) * b(28)
         b(42) = b(42) - lu(193) * b(28)
         b(32) = b(32) - lu(206) * b(29)
         b(33) = b(33) - lu(207) * b(29)
         b(35) = b(35) - lu(208) * b(29)
         b(36) = b(36) - lu(209) * b(29)
         b(37) = b(37) - lu(210) * b(29)
         b(38) = b(38) - lu(211) * b(29)
         b(42) = b(42) - lu(212) * b(29)
         b(31) = b(31) - lu(222) * b(30)
         b(32) = b(32) - lu(223) * b(30)
         b(33) = b(33) - lu(224) * b(30)
         b(34) = b(34) - lu(225) * b(30)
         b(35) = b(35) - lu(226) * b(30)
         b(36) = b(36) - lu(227) * b(30)
         b(37) = b(37) - lu(228) * b(30)
         b(38) = b(38) - lu(229) * b(30)
         b(39) = b(39) - lu(230) * b(30)
         b(40) = b(40) - lu(231) * b(30)
         b(41) = b(41) - lu(232) * b(30)
         b(42) = b(42) - lu(233) * b(30)
         b(32) = b(32) - lu(245) * b(31)
         b(33) = b(33) - lu(246) * b(31)
         b(34) = b(34) - lu(247) * b(31)
         b(35) = b(35) - lu(248) * b(31)
         b(36) = b(36) - lu(249) * b(31)
         b(37) = b(37) - lu(250) * b(31)
         b(38) = b(38) - lu(251) * b(31)
         b(39) = b(39) - lu(252) * b(31)
         b(40) = b(40) - lu(253) * b(31)
         b(41) = b(41) - lu(254) * b(31)
         b(42) = b(42) - lu(255) * b(31)
         b(33) = b(33) - lu(280) * b(32)
         b(34) = b(34) - lu(281) * b(32)
         b(35) = b(35) - lu(282) * b(32)
         b(36) = b(36) - lu(283) * b(32)
         b(37) = b(37) - lu(284) * b(32)
         b(38) = b(38) - lu(285) * b(32)
         b(39) = b(39) - lu(286) * b(32)
         b(40) = b(40) - lu(287) * b(32)
         b(41) = b(41) - lu(288) * b(32)
         b(42) = b(42) - lu(289) * b(32)
         b(34) = b(34) - lu(303) * b(33)
         b(35) = b(35) - lu(304) * b(33)
         b(36) = b(36) - lu(305) * b(33)
         b(37) = b(37) - lu(306) * b(33)
         b(38) = b(38) - lu(307) * b(33)
         b(39) = b(39) - lu(308) * b(33)
         b(40) = b(40) - lu(309) * b(33)
         b(41) = b(41) - lu(310) * b(33)
         b(42) = b(42) - lu(311) * b(33)
         b(35) = b(35) - lu(322) * b(34)
         b(36) = b(36) - lu(323) * b(34)
         b(37) = b(37) - lu(324) * b(34)
         b(38) = b(38) - lu(325) * b(34)
         b(39) = b(39) - lu(326) * b(34)
         b(40) = b(40) - lu(327) * b(34)
         b(41) = b(41) - lu(328) * b(34)
         b(42) = b(42) - lu(329) * b(34)
         b(36) = b(36) - lu(346) * b(35)
         b(37) = b(37) - lu(347) * b(35)
         b(38) = b(38) - lu(348) * b(35)
         b(39) = b(39) - lu(349) * b(35)
         b(40) = b(40) - lu(350) * b(35)
         b(41) = b(41) - lu(351) * b(35)
         b(42) = b(42) - lu(352) * b(35)
      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(37) = b(37) - lu(365) * b(36)
         b(38) = b(38) - lu(366) * b(36)
         b(39) = b(39) - lu(367) * b(36)
         b(40) = b(40) - lu(368) * b(36)
         b(41) = b(41) - lu(369) * b(36)
         b(42) = b(42) - lu(370) * b(36)
         b(38) = b(38) - lu(390) * b(37)
         b(39) = b(39) - lu(391) * b(37)
         b(40) = b(40) - lu(392) * b(37)
         b(41) = b(41) - lu(393) * b(37)
         b(42) = b(42) - lu(394) * b(37)
         b(39) = b(39) - lu(416) * b(38)
         b(40) = b(40) - lu(417) * b(38)
         b(41) = b(41) - lu(418) * b(38)
         b(42) = b(42) - lu(419) * b(38)
         b(40) = b(40) - lu(434) * b(39)
         b(41) = b(41) - lu(435) * b(39)
         b(42) = b(42) - lu(436) * b(39)
         b(41) = b(41) - lu(456) * b(40)
         b(42) = b(42) - lu(457) * b(40)
         b(42) = b(42) - lu(479) * b(41)
      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(42) = b(42) * lu(496)
         b(41) = b(41) - lu(495) * b(42)
         b(40) = b(40) - lu(494) * b(42)
         b(39) = b(39) - lu(493) * b(42)
         b(38) = b(38) - lu(492) * b(42)
         b(37) = b(37) - lu(491) * b(42)
         b(36) = b(36) - lu(490) * b(42)
         b(35) = b(35) - lu(489) * b(42)
         b(34) = b(34) - lu(488) * b(42)
         b(33) = b(33) - lu(487) * b(42)
         b(32) = b(32) - lu(486) * b(42)
         b(31) = b(31) - lu(485) * b(42)
         b(30) = b(30) - lu(484) * b(42)
         b(29) = b(29) - lu(483) * b(42)
         b(28) = b(28) - lu(482) * b(42)
         b(3) = b(3) - lu(481) * b(42)
         b(2) = b(2) - lu(480) * b(42)
         b(41) = b(41) * lu(478)
         b(40) = b(40) - lu(477) * b(41)
         b(39) = b(39) - lu(476) * b(41)
         b(38) = b(38) - lu(475) * b(41)
         b(37) = b(37) - lu(474) * b(41)
         b(36) = b(36) - lu(473) * b(41)
         b(35) = b(35) - lu(472) * b(41)
         b(34) = b(34) - lu(471) * b(41)
         b(33) = b(33) - lu(470) * b(41)
         b(32) = b(32) - lu(469) * b(41)
         b(31) = b(31) - lu(468) * b(41)
         b(30) = b(30) - lu(467) * b(41)
         b(29) = b(29) - lu(466) * b(41)
         b(28) = b(28) - lu(465) * b(41)
         b(26) = b(26) - lu(464) * b(41)
         b(25) = b(25) - lu(463) * b(41)
         b(24) = b(24) - lu(462) * b(41)
         b(18) = b(18) - lu(461) * b(41)
         b(17) = b(17) - lu(460) * b(41)
         b(6) = b(6) - lu(459) * b(41)
         b(5) = b(5) - lu(458) * b(41)
         b(40) = b(40) * lu(455)
         b(39) = b(39) - lu(454) * b(40)
         b(38) = b(38) - lu(453) * b(40)
         b(37) = b(37) - lu(452) * b(40)
         b(36) = b(36) - lu(451) * b(40)
         b(35) = b(35) - lu(450) * b(40)
         b(34) = b(34) - lu(449) * b(40)
         b(33) = b(33) - lu(448) * b(40)
         b(32) = b(32) - lu(447) * b(40)
         b(31) = b(31) - lu(446) * b(40)
         b(29) = b(29) - lu(445) * b(40)
         b(28) = b(28) - lu(444) * b(40)
         b(27) = b(27) - lu(443) * b(40)
         b(26) = b(26) - lu(442) * b(40)
         b(25) = b(25) - lu(441) * b(40)
         b(24) = b(24) - lu(440) * b(40)
         b(23) = b(23) - lu(439) * b(40)
         b(14) = b(14) - lu(438) * b(40)
         b(5) = b(5) - lu(437) * b(40)
         b(39) = b(39) * lu(433)
         b(38) = b(38) - lu(432) * b(39)
         b(37) = b(37) - lu(431) * b(39)
         b(36) = b(36) - lu(430) * b(39)
         b(35) = b(35) - lu(429) * b(39)
         b(34) = b(34) - lu(428) * b(39)
         b(33) = b(33) - lu(427) * b(39)
         b(32) = b(32) - lu(426) * b(39)
         b(29) = b(29) - lu(425) * b(39)
         b(28) = b(28) - lu(424) * b(39)
         b(27) = b(27) - lu(423) * b(39)
         b(26) = b(26) - lu(422) * b(39)
         b(17) = b(17) - lu(421) * b(39)
         b(7) = b(7) - lu(420) * b(39)
         b(38) = b(38) * lu(415)
         b(37) = b(37) - lu(414) * b(38)
         b(36) = b(36) - lu(413) * b(38)
         b(35) = b(35) - lu(412) * b(38)
         b(34) = b(34) - lu(411) * b(38)
         b(33) = b(33) - lu(410) * b(38)
         b(32) = b(32) - lu(409) * b(38)
         b(31) = b(31) - lu(408) * b(38)
         b(30) = b(30) - lu(407) * b(38)
         b(29) = b(29) - lu(406) * b(38)
         b(28) = b(28) - lu(405) * b(38)
         b(27) = b(27) - lu(404) * b(38)
         b(26) = b(26) - lu(403) * b(38)
         b(25) = b(25) - lu(402) * b(38)
         b(24) = b(24) - lu(401) * b(38)
         b(23) = b(23) - lu(400) * b(38)
         b(17) = b(17) - lu(399) * b(38)
         b(16) = b(16) - lu(398) * b(38)
         b(14) = b(14) - lu(397) * b(38)
         b(9) = b(9) - lu(396) * b(38)
         b(8) = b(8) - lu(395) * b(38)
         b(37) = b(37) * lu(389)
         b(36) = b(36) - lu(388) * b(37)
         b(35) = b(35) - lu(387) * b(37)
         b(34) = b(34) - lu(386) * b(37)
         b(33) = b(33) - lu(385) * b(37)
         b(32) = b(32) - lu(384) * b(37)
         b(31) = b(31) - lu(383) * b(37)
         b(30) = b(30) - lu(382) * b(37)
         b(29) = b(29) - lu(381) * b(37)
         b(28) = b(28) - lu(380) * b(37)
         b(27) = b(27) - lu(379) * b(37)
         b(26) = b(26) - lu(378) * b(37)
         b(24) = b(24) - lu(377) * b(37)
         b(23) = b(23) - lu(376) * b(37)
         b(18) = b(18) - lu(375) * b(37)
         b(16) = b(16) - lu(374) * b(37)
         b(14) = b(14) - lu(373) * b(37)
         b(9) = b(9) - lu(372) * b(37)
         b(8) = b(8) - lu(371) * b(37)
         b(36) = b(36) * lu(364)
         b(35) = b(35) - lu(363) * b(36)
         b(34) = b(34) - lu(362) * b(36)
         b(33) = b(33) - lu(361) * b(36)
         b(32) = b(32) - lu(360) * b(36)
         b(29) = b(29) - lu(359) * b(36)
         b(28) = b(28) - lu(358) * b(36)
         b(27) = b(27) - lu(357) * b(36)
         b(26) = b(26) - lu(356) * b(36)
         b(23) = b(23) - lu(355) * b(36)
         b(16) = b(16) - lu(354) * b(36)
         b(3) = b(3) - lu(353) * b(36)
         b(35) = b(35) * lu(345)
         b(34) = b(34) - lu(344) * b(35)
         b(33) = b(33) - lu(343) * b(35)
         b(32) = b(32) - lu(342) * b(35)
         b(31) = b(31) - lu(341) * b(35)
         b(30) = b(30) - lu(340) * b(35)
         b(29) = b(29) - lu(339) * b(35)
         b(28) = b(28) - lu(338) * b(35)
         b(26) = b(26) - lu(337) * b(35)
         b(25) = b(25) - lu(336) * b(35)
         b(22) = b(22) - lu(335) * b(35)
         b(18) = b(18) - lu(334) * b(35)
         b(17) = b(17) - lu(333) * b(35)
         b(13) = b(13) - lu(332) * b(35)
         b(9) = b(9) - lu(331) * b(35)
         b(7) = b(7) - lu(330) * b(35)
         b(34) = b(34) * lu(321)
         b(33) = b(33) - lu(320) * b(34)
         b(32) = b(32) - lu(319) * b(34)
         b(31) = b(31) - lu(318) * b(34)
         b(30) = b(30) - lu(317) * b(34)
         b(29) = b(29) - lu(316) * b(34)
         b(28) = b(28) - lu(315) * b(34)
         b(27) = b(27) - lu(314) * b(34)
         b(26) = b(26) - lu(313) * b(34)
         b(16) = b(16) - lu(312) * b(34)
         b(33) = b(33) * lu(302)
         b(32) = b(32) - lu(301) * b(33)
         b(31) = b(31) - lu(300) * b(33)
         b(30) = b(30) - lu(299) * b(33)
         b(29) = b(29) - lu(298) * b(33)
         b(28) = b(28) - lu(297) * b(33)
         b(27) = b(27) - lu(296) * b(33)
         b(26) = b(26) - lu(295) * b(33)
         b(23) = b(23) - lu(294) * b(33)
         b(22) = b(22) - lu(293) * b(33)
         b(21) = b(21) - lu(292) * b(33)
         b(20) = b(20) - lu(291) * b(33)
         b(19) = b(19) - lu(290) * b(33)
         b(32) = b(32) * lu(279)
         b(31) = b(31) - lu(278) * b(32)
         b(30) = b(30) - lu(277) * b(32)
         b(29) = b(29) - lu(276) * b(32)
         b(28) = b(28) - lu(275) * b(32)
         b(27) = b(27) - lu(274) * b(32)
         b(26) = b(26) - lu(273) * b(32)
         b(25) = b(25) - lu(272) * b(32)
         b(24) = b(24) - lu(271) * b(32)
         b(22) = b(22) - lu(270) * b(32)
         b(21) = b(21) - lu(269) * b(32)
         b(20) = b(20) - lu(268) * b(32)
         b(19) = b(19) - lu(267) * b(32)
         b(18) = b(18) - lu(266) * b(32)
         b(17) = b(17) - lu(265) * b(32)
         b(16) = b(16) - lu(264) * b(32)
         b(15) = b(15) - lu(263) * b(32)
         b(14) = b(14) - lu(262) * b(32)
         b(13) = b(13) - lu(261) * b(32)
         b(12) = b(12) - lu(260) * b(32)
         b(11) = b(11) - lu(259) * b(32)
         b(10) = b(10) - lu(258) * b(32)
         b(3) = b(3) - lu(257) * b(32)
         b(2) = b(2) - lu(256) * b(32)
         b(31) = b(31) * lu(244)
         b(30) = b(30) - lu(243) * b(31)
         b(29) = b(29) - lu(242) * b(31)
         b(28) = b(28) - lu(241) * b(31)
         b(26) = b(26) - lu(240) * b(31)
         b(25) = b(25) - lu(239) * b(31)
         b(24) = b(24) - lu(238) * b(31)
         b(6) = b(6) - lu(237) * b(31)
         b(5) = b(5) - lu(236) * b(31)
         b(4) = b(4) - lu(235) * b(31)
         b(1) = b(1) - lu(234) * b(31)
         b(30) = b(30) * lu(221)
         b(29) = b(29) - lu(220) * b(30)
         b(28) = b(28) - lu(219) * b(30)
         b(26) = b(26) - lu(218) * b(30)
         b(18) = b(18) - lu(217) * b(30)
         b(17) = b(17) - lu(216) * b(30)
         b(13) = b(13) - lu(215) * b(30)
         b(6) = b(6) - lu(214) * b(30)
         b(4) = b(4) - lu(213) * b(30)
      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(29) = b(29) * lu(205)
         b(28) = b(28) - lu(204) * b(29)
         b(22) = b(22) - lu(203) * b(29)
         b(21) = b(21) - lu(202) * b(29)
         b(20) = b(20) - lu(201) * b(29)
         b(19) = b(19) - lu(200) * b(29)
         b(15) = b(15) - lu(199) * b(29)
         b(12) = b(12) - lu(198) * b(29)
         b(11) = b(11) - lu(197) * b(29)
         b(10) = b(10) - lu(196) * b(29)
         b(3) = b(3) - lu(195) * b(29)
         b(2) = b(2) - lu(194) * b(29)
         b(28) = b(28) * lu(187)
         b(26) = b(26) - lu(186) * b(28)
         b(27) = b(27) * lu(175)
         b(26) = b(26) - lu(174) * b(27)
         b(17) = b(17) - lu(173) * b(27)
         b(16) = b(16) - lu(172) * b(27)
         b(26) = b(26) * lu(167)
         b(25) = b(25) * lu(158)
         b(24) = b(24) - lu(157) * b(25)
         b(17) = b(17) - lu(156) * b(25)
         b(5) = b(5) - lu(155) * b(25)
         b(24) = b(24) * lu(148)
         b(5) = b(5) - lu(147) * b(24)
         b(23) = b(23) * lu(138)
         b(8) = b(8) - lu(137) * b(23)
         b(22) = b(22) * lu(131)
         b(21) = b(21) - lu(130) * b(22)
         b(20) = b(20) - lu(129) * b(22)
         b(19) = b(19) - lu(128) * b(22)
         b(11) = b(11) - lu(127) * b(22)
         b(10) = b(10) - lu(126) * b(22)
         b(21) = b(21) * lu(120)
         b(20) = b(20) - lu(119) * b(21)
         b(19) = b(19) - lu(118) * b(21)
         b(15) = b(15) - lu(117) * b(21)
         b(12) = b(12) - lu(116) * b(21)
         b(20) = b(20) * lu(109)
         b(12) = b(12) - lu(108) * b(20)
         b(19) = b(19) * lu(100)
         b(18) = b(18) * lu(92)
         b(6) = b(6) - lu(91) * b(18)
         b(17) = b(17) * lu(86)
         b(16) = b(16) * lu(80)
         b(15) = b(15) * lu(71)
         b(12) = b(12) - lu(70) * b(15)
         b(11) = b(11) - lu(69) * b(15)
         b(14) = b(14) * lu(62)
         b(13) = b(13) * lu(54)
         b(12) = b(12) * lu(49)
         b(11) = b(11) * lu(43)
         b(10) = b(10) * lu(36)
         b(9) = b(9) * lu(29)
         b(8) = b(8) * lu(23)
         b(7) = b(7) * lu(17)
         b(6) = b(6) * lu(14)
         b(5) = b(5) * lu(12)
         b(4) = b(4) * lu(9)
         b(3) = b(3) * lu(7)
         b(2) = b(2) - lu(6) * b(3)
         b(2) = b(2) * lu(4)
         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
