00001 subroutine grdphi_gridpoint_type0(fnc,deriv,irg,itg,ipg)
00002 use phys_constant, only : long
00003 use coordinate_grav_extended
00004 implicit none
00005 real(long), external :: dfdx_4th
00006 real(long), pointer :: fnc(:,:,:)
00007 real(long), intent(out) :: deriv
00008 real(long) :: pv
00009 real(long) :: phi5(5), fp5(5)
00010 integer :: irg, itg, ipg, irgex, itgex, ipgex
00011 integer :: ip0, ipg0, ii
00012
00013
00014
00015
00016
00017
00018 ip0 = ipg-2
00019
00020 do ii = 1, 5
00021 ipg0 = ip0 + ii - 1
00022 phi5(ii) = phigex(ipg0)
00023
00024 irgex = irg
00025 itgex = itg
00026 ipgex = ipgex_phi(ipg0)
00027 fp5(ii) = fnc(irgex,itgex,ipgex)
00028 end do
00029
00030
00031
00032 pv = phig(ipg)
00033 deriv = dfdx_4th(phi5,fp5,pv)
00034
00035 end subroutine grdphi_gridpoint_type0