halfsou.f90
Go to the documentation of this file.00001 subroutine halfsou(soug)
00002
00003 use phys_constant, only : nnrg
00004 use grid_parameter_1D, only : nrg
00005 use coordinate_grav_r_1D, only : rg, hrg
00006 implicit none
00007
00008 real(8), external :: fn_lagint
00009 real(8), intent(inout) :: soug(0:nnrg)
00010 real(8) :: x4(4), f4(4)
00011 real(8) :: hhrr, sougb(0:nnrg)
00012 integer :: irg, irg0
00013
00014 sougb(0:nrg) = soug(0:nrg)
00015
00016 do irg = 1, nrg
00017 hhrr = hrg(irg)
00018 irg0 = min0(max0(irg-2,0),nrg-3) - 1
00019 x4(1:4) = rg(irg0+1:irg0+4)
00020 f4(1:4) = sougb(irg0+1:irg0+4)
00021 soug(irg) = fn_lagint(x4,f4,hhrr)
00022 end do
00023
00024 soug(0) = 0.0d0
00025
00026 end subroutine halfsou