00001 subroutine source_vep_surface_CF_peos(vpot_v,surp)
00002 use phys_constant, only : long, nmpt
00003 use grid_parameter, only : nrf, ntf, npf
00004 use def_metric_on_SFC_CF
00005 use def_matter, only : rs, vep
00006 use def_velocity_potential
00007 use interface_interpo_linear_surface_type0
00008 use interface_flgrad_midpoint_surface_type0
00009 use interface_calc_surface_normal_midpoint
00010 implicit none
00011 real(long), pointer :: surp(:,:), vpot_v(:,:,:)
00012 real(long) :: dxvpot_v, dyvpot_v, dzvpot_v, rnx, rny, rnz
00013 integer :: ir, it, ip
00014
00015 ir = nrf
00016 do ip = 1, npf
00017 do it = 1, ntf
00018 call flgrad_midpoint_surface_type0(vpot_v,dxvpot_v,dyvpot_v,dzvpot_v,it,ip)
00019 call calc_surface_normal_midpoint(rs,rnx,rny,rnz,it,ip)
00020 surp(it,ip) = dxvpot_v*rnx + dyvpot_v*rny + dzvpot_v*rnz
00021 end do
00022 end do
00023
00024 end subroutine source_vep_surface_CF_peos