The goal of the Genkir3D package is to help the development and testing of new methods to image 3-D seismic data by allowing the researcher to focus on the specifics of new operators, by hiding the mundane issues related with data geometries, anti-aliasing filtering, and memory allocation. The package automatically reads and write the data in the Sep3D data format that efficiently handle irregularly and regularly sampled seismic data.
The package is called by calling
a Fortran 90 subroutine with the appropriate parameters.
An example of this function call is:
call genkir3d(param=gen_param, &
The user controls the particular operator to be applied to the data by specifying the functions that are internally called by the package to compute the summation surface. The name of these functions are the values of the map_amp and oper_domain arguments. In our example map_amp=dmo3d_map_amp and oper_domain=dmo3d_domain, and thus a 3-D DMO will be applied to the data. The implementation of the desired integral operator is fine-tuned by setting the values of the fields in the data structure that is passed to the Genkir3D package as the param argument. Since both the data and the output space are sampled, temporal and spatial interpolation are important components of a 3-D integral operator. The type of interpolator to be used can be specified by passing the name of the desired interpolators with the trace_interp_real and spat_interp_real parameters. Standard nearest neighborhood and linear interpolators are provided by the package, but the user can use his/her own new interpolators, by providing an appropriate function. The geometry of the output space, and its blocking in memory, are specified by out_gem and out_gem_block.