next up previous print clean
Next: Command line options Up: DESIGN Previous: DESIGN

SU

Another benefit of representing a SEP3D dataset in this manner is that interfacing with SU is basically free. SU is simply a SEP3D dataset with specific set of header values and without a grid. By writing a simple converter to and from this specific representation (libsepsu) it becomes simple to transform to and from SU. For example, Su2sep is a 15 line program. In fact, most SU libraries can be recompiled, without editing source code, to run with SEP3D datasets. INITIALIZERS and DESTRUCTOR'S
Purpose Fortran90 function C Function
Initialize a tag from a SEP tag. init_sep3d init_sep3d_tag
Initialize a tag from another structure. init_sep3d init_sep3d_struct
Initialize a tag from parameters. init_sep3d  
Delete all memory associated with the structure sep3df_delete sep3dc_delete
INTERACTION WITH DISK REPRESENTATION
Purpose Fortran90 function C Function
Read in all/some portion of    
the headers from a file. sep3d_grab_headers sep3dc_grab_headers
Read in the data associated with the    
current headers/grid in memory. sep3d_read_data sep3dc_read_data
Write a structure to disk. sep3d_write_description sep3dc_write_description
Tell which portions of a dataset    
should be written to disk sep3d_write_status sep3dc_write_status
Write the number of traces in the    
dataset to disk sep3d_rite_num_traces sep3dc_rite_num_traces
Write data, headers, and/or grid    
to a tag. sep3d_write_data sep3dc_write_data
INFORMATION ABOUT STRUCTURE

Purpose Fortran90 function C Function
Print a description of the structure. print_sep3d print_sep3dc
Return the last data axis of length > 1. sep3d_ndims sep3dc_ndims
Check to make sure the structure meets    
minimum criteria. valid_structure valid_structure
Check to see if two spaces share the same    
vector space. sep3d_conform sep3dc_conform
Check to see if space occupied by structure A    
is contained within structure B. sep3d_ge_space sep3dc_ge_space
Check to see if structure has a    
data_record_number. sep3d_with_drn sep3dc_with_drn
Return the axis associated with a given label. sep3d_axis_index sep3dc_axis_index
Return the key associated with a given name. sep3d_key_index sep3dc_key_index
INTERACTION WITH INTERNAL REPRESENTATION
Purpose Fortran90 function C Function
Synchronize structure with internal    
representation. sep3d_grab_sep3d sep3dc_grab_sep3d
Grab the header values currently    
in memory through its key name. sep3d_grab_key_vals sep3dc_grab_key_vals
Set the header values currently    
in memory through its internal    
key index. sep3d_set_key_vals sep3dc_set_key_vali
Set the header values currently    
in memorythrough its key name. sep3d_set_key_vals sep3dc_set_key_vals
Grab the header values currently    
in memory through its internal    
key index. sep3d_grab_key_vals sep3dc_grab_key_vali
Grab grid values currently in memory. sep3d_grab_grid_values sep3dc_grab_grid_values
Store grid values currently in memory. sep3d_set_grid_values sep3dc_set_grid_values
Copy the grid values from one    
structure to another. sep3d_grid_copy sep3dc_grid_copy
Copy the header values from one    
structure to another. sep3d_header_copy sep3dc_header_copy
MODIFY A STRUCTURE
Purpose Fortran90 function C Function
Set the number of headers sep3d_set_number_headers sep3dc_set_number_headers
Specify that the headers and    
the data are in the same order sep3d_inorder sep3dc_inorder
Reshape the hyper cube. sep3d_reshape sep3dc_reshape
Allocate space for keys. key_allocate key_allocate
Allocate space for axes. axis_allocate axis_allocate


next up previous print clean
Next: Command line options Up: DESIGN Previous: DESIGN
Stanford Exploration Project
7/8/2003