! ! Example for Dmo3d using GenKir3D ! !% program Exampuse dmo3d_types
use genkir3d_mod use dmo3d_mod
implicit none
interface subroutine param_dmo (dmo3d_param,gen_param,out_geom) type(dmo3d_param_type) :: dmo3d_param type(genkir3d_param_type) :: gen_param type(seis3d_geom_type) :: out_geom end subroutine param_dmo end interface
type(dmo3d_param_type) :: dmo3d_param type(genkir3d_param_type) :: gen_param type(seis3d_geom_type) :: out_geom
integer :: ierr=0
call initpar() call init_3d()
call genkir3d_init(.false.,gen_param)
call param_dmo (dmo3d_param,gen_param, out_geom)
if(dmo3d_map_amp_init (dmo3d_param%max_slow) /= 0 ) then call seperr('Problems with initializing dmo3d_map_amp_init') end if
call genkir3d(param=gen_param, & out_geom=out_geom, & trace_interp_real=trace_interp_lin_real, & spat_interp_real=spat_interp_lin_near_real, & map_amp=dmo3d_map_amp, & oper_domain=dmo3d_domain)
! clean-up if(allocated(out_geom%reg)) deallocate(out_geom%reg,stat=ierr) if(ierr .ne. 0) call seperr('Troubles in deallocating out_geom%reg') if(allocated(out_geom%irr)) deallocate(out_geom%irr,stat=ierr) if(ierr .ne. 0) call seperr('Troubles in deallocating out_geom%irr')
stop
end program Examp