- the velocity type conversion routine will now handle the missing average velocity, depth output.
- the internal record number array is now dynamic and as such will no longer fail with more than 4096 record numbers.
- DISCO handvel cards may now be right or left justified.
- the first sample of the output USP velocity dataset is referenced to zero time [t = 0.0 seconds]. This is a change from the first sample being reference to the sample interval.
- the internal interval velocity reference has been moved to the base of the interval. This is a change from the top of the interval.
- a command line option -ilis has been added which results in a fifth order polynomial approximation to the velocity function set being generated. This is the same approximation routine used in the Ilis System.
The following upgrades enable the routine to handle very large datasets and grant the user greater facility in velocity input and conversion.
- if your velocity function set is a USP dataset all dynamic memory allocation is shut off. This enables velin to handle very large datasets [3D] which would previously not be possible.
- when performing sample unit conversions [time/depth] velin now calculates both the maximum time and maximum depth involved an reports the complete function conversion in the printout file [if verbose -V output is flagged].
- all trace header word reference is now accomplished using the trace header mnemonic [see the program scan man page]. This includes the -hw command line entry.
- a sorting routine has been added which sorts the input velocity function set to the same indexed order as the control dataset. This allows one to enter one's velocity control in any arbitrary order which is useful when supplying velocities in pick file -xsd format. One may then pick one's velocity spectra from best spectra to worst instead of left to right.
- a slope adjustment factor has been added for use with USP velocity function set input. If velocity type conversion is requested velin will decimate the input function based on a slope change algorithm. If the input velocity is rms or average, a velocity sample will be gleaned from the input dataset anytime the slope of the velocity curve changes by more than the amount specified by the input slope adjustment factor -saf. The value is supplied as a percent. For instance a -saf value of 0.1 would cause a velocity sample to be gleaned any time the slope changed by greater than 0.1 percent. This parameter affects the smoothness of the resulting velocity field.
The following upgrades allow for much better quality control of the velocity data used.
- an XSD pick file output option has been added which if activated will result in the creation of an XSD pick file containing the output velocity function set. This is useful when quality control of velocity analysis is undertaken. It is also useful [in combination with piktdfn] when an input velocity function set format change is desired.
- an effort has been made to clean up the error messages produced by velin. All error messages are output to the printout file. In addition any terminal condition is also reported to stderr. The error messages now contain references to record number and sample where an error occurred. This should aid in debugging problems with one's input velocity function set.
Once you have determined the velocity function set to convert to a USP dataset the following should enable you to achieve that goal with confidence.
There are two velocity functions contained here. The first is referenced to an index location of 1000 and the second to 1004. velin has the capability of relating the input velocity function indexing to any trace header word. The default header reference in velin is RecNum while other standard references include -shot [SrcLoc], -receiver [RecInd], -cdp [DphInd] and -pri [PrRcNm]. Of course any valid trace header mnemonic may be reference through the use of the command line option -hw.
Whatever the index chosen, it is entirely independent of the sequential record number, which is not stored in any trace header location, but is merely the sequential location of that record in the dataset on disk. The first record in a dataset is always sequential record one while the last record of an N record dataset is always sequential record N. The control dataset for the above velocity function set contains sequential records 1 through 5. Since this example is set up to use default indexing the trace header word that the velocity indexing is referenced to is RecNum. A quick scan reveals that sequential record one has a RecNum entry of 1000 (Table 1).
where ntrc is the number of traces per record of your MBS velocity dataset.
Should the command line flag -ilis be present then the mapping is done using a fifth order polynomial approximation to the input function regardless of velocity type.
Should the input velocity function set be a USP dataset in rms or average velocity velin will attempt to decimate the number of entries in the input function. The algorithm used examines the slope on the time/depth, velocity curve and gleans a sample any time the slope changes by more than the percentage specified by the command line entry for slope adjustment factor -saf. The preset defaults provide reasonable results, however, smoother interpolations, especially when the output velocity type is interval, may be had through experimentation with this value. Too large a value will result in too sparse an output function. Too small a value at worst will cause the output to contain the gleaned function to have the same number of samples as the input. Be sure to flag the command line option -V and examine the printout file to monitor the results.
When attempting a sample units type conversion it is important to get the output sample interval correct. If the interval used in the input control dataset is not desired then use the command line entry -osi to enter the appropriate override.
- scan your input control dataset to verify that trace header word used to index your input velocity function set.
- use the command line option -V to generate a complete listing of the input function read and the output function generated. Examine this listing and verify that the correct action was taken with regard to your choice of command line parameters. This listing will appear in the output printfile.
- plot the resulting velocity dataset using xsd or xmplot and verify that velocity interpolation was carried out correctly. Any glitches in the output velocity field will be very obvious on this display.
- scan your output velocity dataset to verify that the indexing used was correct. You may also use the command line option -np of program scan to output the actual sample values of the velocity dataset to verify that the correct velocity field has been formed. To examine a particular trace of your output velocity dataset you could issue the command
to get a graphical display of velocity versus time/depth.
- always read through the velin printout file as not all the warning are posted to stderr. Most of the policemen inside velin will provide you with the index location and function element where something bad happened.
Return to the USP Home Page.Frame Doc to html conversion by Tony Garossino