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