Next: I/O
Up: INTERFACE TO SEPF90
Previous: INTERFACE TO SEPF90
We provide several different levels of
sophistication for creating sep_90 types:
- sep_create
sep_create provides the user the most flexibility in creating
a sep_90 type. It can be used to create
- a simple data sub-space described entirely by its dimensions
- a SEPlib77 simple dataset
- a SEPlib90 irregular dataset with headers and traces
- numerous mutations of the above (irregular without headers,
only header information, etc.)
sep_create, like most of the SEPF90 library takes full
advantage of Fortran 90's overloading and optional abilities.
As the user desires higher levels of complexity the call to sep_create
expands:
- add sepdata,n
-
To create a sep_90 dataset where o,
d, and label are extraneous.
Where sepdata is a type(sep_90), pointer and n is an integer
array describing its dimensions.
To creating a dataset that is analogous to a SEPlib77 dataset.
- add o,d,label.
-
To create a SEPlib90-like dataset
- add n_keys, keyname, keytype,
keyformat, mask (or tr_num)
- .
The user has to additionally supply information
about the number (n_keys, integer), name (keyname, character
array), type (keytype, character array),
format (keyformat, character array), and potentially information
about data irregularity by passing a logical or integer array describing
where traces exist (mask, logical array or tr_num, integer
array).
- sep_90_alloc and sep_90_duplicate
These two routines will create a new sep_90 dataset from another sep_90
type. The first simply copies the shape, the second copies not only
the shape but values. The interface to both takes the form:
call sep_90_alloc(old,new)
All of these methods must be preceded a call to init_vars which
allocates the sep_90(s) and sets up some initial defaults.
Freeing a sep_90 dataset is accomplished through a call to
cleanup_sep
call cleanup_sep(sepdata)
Next: I/O
Up: INTERFACE TO SEPF90
Previous: INTERFACE TO SEPF90
Stanford Exploration Project
11/11/1997