module type_mod

!!.. define type for axes
  type axis 
    integer :: n
    real    :: d
    real    :: o
  end type

!!.. define type wspace for global use
  type wspace
    type(axis) :: kx, ky
    type(axis) :: hx, hy
    integer    :: nw1, nw2, nw3, nw4
  end type

!!.. define type cgrid for computation grid
  type cgrid
    !!.. general coordinate parameter
    type(axis) :: x, y, z
    !!.. source location for a shot gather
    real       :: sx, sy, sz
    !!.. minimum and maximum receiver locations
    real       :: gxmin, gxmax, gymin, gymax
    !!.. the index for source location on the computation grid
    integer    :: iosx, iosy
    !!.. the index for the first receiver location on the computation grid
    integer    :: iogx, iogy
 
  end type
end module
