next up previous print clean
Next: Included modules Up: INTERFACES FOR OTHER USER-DEFINABLE Previous: Interface: trace_interp_real and trace_interp_complex

Interface: spat_interp_real and spat_interp_complex

 

These functions perform a spatial interpolation between a regularly sampled data space and an irregularly sampled one. When the parameter adj=.true. the irregular data is sprayed into the regular one. On the contrary, when the parameter adj=.false. the irregular data is reconstructed by interpolating the regular data. The function spat_interp_real is used for real traces, while the function spat_interp_complex is used for complex traces.

These interpolation functions are needed by Genkir3D to regrid the intermediate output space into the real output space, when the spraying mapping is applied.

The mapping from the intermediate space into the real output space is defined either by only the structure out_geom%irr or by both out_geom%irr and out_coord. When the mapping between the intermediate space and the real output space is time-invariant, the midpoint coordinates of the intermediate traces in the real output space are stored in the out_geom%irr structure. When this mapping is time-variant, the midpoint coordinates in the real output space, of each sample in the intermediate traces, are stored in the out_coord array.

function spat_interp_real (adj, irr_geom, reg_geom, irr_data, reg_data, &
                           out_coord)  result (stat)
integer                 :: stat
logical, intent (in)    :: adj
type(irr_trace_geom_type), pointer :: irr_geom
type(reg_trace_geom_type), pointer :: reg_geom
real,  dimension (:,:)  :: irr_data
real,  dimension (:,:,:,:,:)  :: reg_data
real, pointer,  dimension (:,:,:)  :: out_coord

function spat_interp_complex (adj, irr_geom, reg_geom, irr_data, reg_data, & out_coord) result (stat) integer :: stat logical, intent (in) :: adj type(irr_trace_geom_type), pointer :: irr_geom type(reg_trace_geom_type), pointer :: reg_geom complex, dimension (:,:) :: irr_data complex, dimension (:,:,:,:,:) :: reg_data real, pointer, dimension (:,:,:) :: out_coord

2|c|Scalar arguments  
Name Description
stat Status of the call. Set to 0 if successful
adj Pull interpolation from regular to irregular (adj=.false.)
  Push interpolation from irregular to regular (adj=.true.)

2|c|Derived-type arguments  
Name Description
irr_geom Geometry of irregular data
reg_geom Geometry of regular data

3|c|Array arguments    
Name Description Shape
irr_data Irregularly sampled traces (n_t_inp,n_tr_inp)
reg_data Regularly sampled traces (n_tz_out,n_cmpx,n_cmpy,n_aoff,n_azim) if #1
    (n_tz_out,n_cmpx,n_aoff,n_azim,n_cmpy) if #2
out_coord Map from irregular to regular (n_t_inp,n_tr_inp,2)

 


next up previous print clean
Next: Included modules Up: INTERFACES FOR OTHER USER-DEFINABLE Previous: Interface: trace_interp_real and trace_interp_complex
Stanford Exploration Project
7/5/1998