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