program testmain{
use sep_f90_lib_mod
use LINEAR_INTERP2D_MOD
implicit none
type(sep_90),pointer :: d1,m1
integer,dimension(:),pointer :: n
real,dimension(:),pointer :: o,d
character(len=128),dimension(:),pointer :: label
call initpar()
call init_vars(d1,m1) !initialize the SEP90 variables
!read in the data, ignore any gridding information
call sep_reed('in',d1,usegrid=.false.)
!-construct a model space
allocate(n(3),o(3),d(3),label(3))
n=(/1,50,150/)
o=(/0.,-112.849998,-16.012501/)
d=(/1.,.001,.000250/)
label(1)='trace';label(2)='sx';label(3)='sy'
call create_sep(m1,n,o,d,label,new_var=.true.)
!create the opperator
call init_linear_interp2d(m1,d1,'sx','sy')
!perform linear interpolation
call linear_interp2d(.true.,m1,d1)
!write out the data
call sep_rite("out",m1)
!write out the = number of traces
call finish_tags()
}