STFINV library: seek source wavelet correction filter
segy.h
Go to the documentation of this file.
1 /* Copyright (c) Colorado School of Mines, 2011.*/
2 /* All rights reserved. */
3 
4 /* This header file is part of the Seismic Unix (SU) package.
5  * For license information please see the file
6  * LEGAL_STATEMENT_segy_h.
7  */
8 
9 /* segy.h - include file for SEGY traces
10  *
11  * declarations for:
12  * typedef struct {} segy - the trace identification header
13  * typedef struct {} bhed - binary header
14  *
15  * Note:
16  * If header words are added, run the makefile in this directory
17  * to recreate hdr.h.
18  *
19  * Reference:
20  * K. M. Barry, D. A. Cavers and C. W. Kneale, "Special Report:
21  * Recommended Standards for Digital Tape Formats",
22  * Geophysics, vol. 40, no. 2 (April 1975), P. 344-352.
23  *
24  * $Author: john $
25  * $Source: /usr/local/cwp/src/su/include/RCS/segy.h,v $
26  * $Revision: 1.33 $ ; $Date: 2011/11/11 23:56:14 $
27  */
28 
29 #include <limits.h>
30 
31 #ifndef SEGY_H
32 #define SEGY_H
33 
34 #define SU_NFLTS 65535 /* Arbitrary limit on data array size */
35 /* #define SU_NFLTS 32767 Arbitrary limit on data array size */
36 
37 
38 /* TYPEDEFS */
39 typedef struct { /* segy - trace identification header */
40 
41  int tracl; /* Trace sequence number within line
42  --numbers continue to increase if the
43  same line continues across multiple
44  SEG Y files.
45  byte# 1-4
46  */
47 
48  int tracr; /* Trace sequence number within SEG Y file
49  ---each file starts with trace sequence
50  one
51  byte# 5-8
52  */
53 
54  int fldr; /* Original field record number
55  byte# 9-12
56  */
57 
58  int tracf; /* Trace number within original field record
59  byte# 13-16
60  */
61 
62  int ep; /* energy source point number
63  ---Used when more than one record occurs
64  at the same effective surface location.
65  byte# 17-20
66  */
67 
68  int cdp; /* Ensemble number (i.e. CDP, CMP, CRP,...)
69  byte# 21-24
70  */
71 
72  int cdpt; /* trace number within the ensemble
73  ---each ensemble starts with trace number one.
74  byte# 25-28
75  */
76 
77  short trid; /* trace identification code:
78  -1 = Other
79  0 = Unknown
80  1 = Seismic data
81  2 = Dead
82  3 = Dummy
83  4 = Time break
84  5 = Uphole
85  6 = Sweep
86  7 = Timing
87  8 = Water break
88  9 = Near-field gun signature
89  10 = Far-field gun signature
90  11 = Seismic pressure sensor
91  12 = Multicomponent seismic sensor
92  - Vertical component
93  13 = Multicomponent seismic sensor
94  - Cross-line component
95  14 = Multicomponent seismic sensor
96  - in-line component
97  15 = Rotated multicomponent seismic sensor
98  - Vertical component
99  16 = Rotated multicomponent seismic sensor
100  - Transverse component
101  17 = Rotated multicomponent seismic sensor
102  - Radial component
103  18 = Vibrator reaction mass
104  19 = Vibrator baseplate
105  20 = Vibrator estimated ground force
106  21 = Vibrator reference
107  22 = Time-velocity pairs
108  23 ... N = optional use
109  (maximum N = 32,767)
110 
111  Following are CWP id flags:
112 
113  109 = autocorrelation
114  110 = Fourier transformed - no packing
115  xr[0],xi[0], ..., xr[N-1],xi[N-1]
116  111 = Fourier transformed - unpacked Nyquist
117  xr[0],xi[0],...,xr[N/2],xi[N/2]
118  112 = Fourier transformed - packed Nyquist
119  even N:
120  xr[0],xr[N/2],xr[1],xi[1], ...,
121  xr[N/2 -1],xi[N/2 -1]
122  (note the exceptional second entry)
123  odd N:
124  xr[0],xr[(N-1)/2],xr[1],xi[1], ...,
125  xr[(N-1)/2 -1],xi[(N-1)/2 -1],xi[(N-1)/2]
126  (note the exceptional second & last entries)
127  113 = Complex signal in the time domain
128  xr[0],xi[0], ..., xr[N-1],xi[N-1]
129  114 = Fourier transformed - amplitude/phase
130  a[0],p[0], ..., a[N-1],p[N-1]
131  115 = Complex time signal - amplitude/phase
132  a[0],p[0], ..., a[N-1],p[N-1]
133  116 = Real part of complex trace from 0 to Nyquist
134  117 = Imag part of complex trace from 0 to Nyquist
135  118 = Amplitude of complex trace from 0 to Nyquist
136  119 = Phase of complex trace from 0 to Nyquist
137  121 = Wavenumber time domain (k-t)
138  122 = Wavenumber frequency (k-omega)
139  123 = Envelope of the complex time trace
140  124 = Phase of the complex time trace
141  125 = Frequency of the complex time trace
142  130 = Depth-Range (z-x) traces
143  201 = Seismic data packed to bytes (by supack1)
144  202 = Seismic data packed to 2 bytes (by supack2)
145  byte# 29-30
146  */
147 
148  short nvs; /* Number of vertically summed traces yielding
149  this trace. (1 is one trace,
150  2 is two summed traces, etc.)
151  byte# 31-32
152  */
153 
154  short nhs; /* Number of horizontally summed traces yielding
155  this trace. (1 is one trace
156  2 is two summed traces, etc.)
157  byte# 33-34
158  */
159 
160  short duse; /* Data use:
161  1 = Production
162  2 = Test
163  byte# 35-36
164  */
165 
166  int offset; /* Distance from the center of the source point
167  to the center of the receiver group
168  (negative if opposite to direction in which
169  the line was shot).
170  byte# 37-40
171  */
172 
173  int gelev; /* Receiver group elevation from sea level
174  (all elevations above the Vertical datum are
175  positive and below are negative).
176  byte# 41-44
177  */
178 
179  int selev; /* Surface elevation at source.
180  byte# 45-48
181  */
182 
183  int sdepth; /* Source depth below surface (a positive number).
184  byte# 49-52
185  */
186 
187  int gdel; /* Datum elevation at receiver group.
188  byte# 53-56
189  */
190 
191  int sdel; /* Datum elevation at source.
192  byte# 57-60
193  */
194 
195  int swdep; /* Water depth at source.
196  byte# 61-64
197  */
198 
199  int gwdep; /* Water depth at receiver group.
200  byte# 65-68
201  */
202 
203  short scalel; /* Scalar to be applied to the previous 7 entries
204  to give the real value.
205  Scalar = 1, +10, +100, +1000, +10000.
206  If positive, scalar is used as a multiplier,
207  if negative, scalar is used as a divisor.
208  byte# 69-70
209  */
210 
211  short scalco; /* Scalar to be applied to the next 4 entries
212  to give the real value.
213  Scalar = 1, +10, +100, +1000, +10000.
214  If positive, scalar is used as a multiplier,
215  if negative, scalar is used as a divisor.
216  byte# 71-72
217  */
218 
219  int sx; /* Source coordinate - X
220  byte# 73-76
221  */
222 
223  int sy; /* Source coordinate - Y
224  byte# 77-80
225  */
226 
227  int gx; /* Group coordinate - X
228  byte# 81-84
229  */
230 
231  int gy; /* Group coordinate - Y
232  byte# 85-88
233  */
234 
235  short counit; /* Coordinate units: (for previous 4 entries and
236  for the 7 entries before scalel)
237  1 = Length (meters or feet)
238  2 = Seconds of arc
239  3 = Decimal degrees
240  4 = Degrees, minutes, seconds (DMS)
241 
242  In case 2, the X values are longitude and
243  the Y values are latitude, a positive value designates
244  the number of seconds east of Greenwich
245  or north of the equator
246 
247  In case 4, to encode +-DDDMMSS
248  counit = +-DDD*10^4 + MM*10^2 + SS,
249  with scalco = 1. To encode +-DDDMMSS.ss
250  counit = +-DDD*10^6 + MM*10^4 + SS*10^2
251  with scalco = -100.
252  byte# 89-90
253  */
254 
255  short wevel; /* Weathering velocity.
256  byte# 91-92
257  */
258 
259  short swevel; /* Subweathering velocity.
260  byte# 93-94
261  */
262 
263  short sut; /* Uphole time at source in milliseconds.
264  byte# 95-96
265  */
266 
267  short gut; /* Uphole time at receiver group in milliseconds.
268  byte# 97-98
269  */
270 
271  short sstat; /* Source static correction in milliseconds.
272  byte# 99-100
273  */
274 
275  short gstat; /* Group static correction in milliseconds.
276  byte# 101-102
277  */
278 
279  short tstat; /* Total static applied in milliseconds.
280  (Zero if no static has been applied.)
281  byte# 103-104
282  */
283 
284  short laga; /* Lag time A, time in ms between end of 240-
285  byte trace identification header and time
286  break, positive if time break occurs after
287  end of header, time break is defined as
288  the initiation pulse which maybe recorded
289  on an auxiliary trace or as otherwise
290  specified by the recording system
291  byte# 105-106
292  */
293 
294  short lagb; /* lag time B, time in ms between the time break
295  and the initiation time of the energy source,
296  may be positive or negative
297  byte# 107-108
298  */
299 
300  short delrt; /* delay recording time, time in ms between
301  initiation time of energy source and time
302  when recording of data samples begins
303  (for deep water work if recording does not
304  start at zero time)
305  byte# 109-110
306  */
307 
308  short muts; /* mute time--start
309  byte# 111-112
310  */
311 
312  short mute; /* mute time--end
313  byte# 113-114
314  */
315 
316  unsigned short ns; /* number of samples in this trace
317  byte# 115-116
318  */
319 
320  unsigned short dt; /* sample interval; in micro-seconds
321  byte# 117-118
322  */
323 
324  short gain; /* gain type of field instruments code:
325  1 = fixed
326  2 = binary
327  3 = floating point
328  4 ---- N = optional use
329  byte# 119-120
330  */
331 
332  short igc; /* instrument gain constant
333  byte# 121-122
334  */
335 
336  short igi; /* instrument early or initial gain
337  byte# 123-124
338  */
339 
340  short corr; /* correlated:
341  1 = no
342  2 = yes
343  byte# 125-126
344  */
345 
346  short sfs; /* sweep frequency at start
347  byte# 127-128
348  */
349 
350  short sfe; /* sweep frequency at end
351  byte# 129-130
352  */
353 
354  short slen; /* sweep length in ms
355  byte# 131-132
356  */
357 
358  short styp; /* sweep type code:
359  1 = linear
360  2 = cos-squared
361  3 = other
362  byte# 133-134
363  */
364 
365  short stas; /* sweep trace length at start in ms
366  byte# 135-136
367  */
368 
369  short stae; /* sweep trace length at end in ms
370  byte# 137-138
371  */
372 
373  short tatyp; /* taper type: 1=linear, 2=cos^2, 3=other
374  byte# 139-140
375  */
376 
377  short afilf; /* alias filter frequency if used
378  byte# 141-142
379  */
380 
381  short afils; /* alias filter slope
382  byte# 143-144
383  */
384 
385  short nofilf; /* notch filter frequency if used
386  byte# 145-146
387  */
388 
389  short nofils; /* notch filter slope
390  byte# 147-148
391  */
392 
393  short lcf; /* low cut frequency if used
394  byte# 149-150
395  */
396 
397  short hcf; /* high cut frequncy if used
398  byte# 151-152
399  */
400 
401  short lcs; /* low cut slope
402  byte# 153-154
403  */
404 
405  short hcs; /* high cut slope
406  byte# 155-156
407  */
408 
409  short year; /* year data recorded
410  byte# 157-158
411  */
412 
413  short day; /* day of year
414  byte# 159-160
415  */
416 
417  short hour; /* hour of day (24 hour clock)
418  byte# 161-162
419  */
420 
421  short minute; /* minute of hour
422  byte# 163-164
423  */
424 
425  short sec; /* second of minute
426  byte# 165-166
427  */
428 
429  short timbas; /* time basis code:
430  1 = local
431  2 = GMT
432  3 = other
433  byte# 167-168
434  */
435 
436  short trwf; /* trace weighting factor, defined as 1/2^N
437  volts for the least sigificant bit
438  byte# 169-170
439  */
440 
441  short grnors; /* geophone group number of roll switch
442  position one
443  byte# 171-172
444  */
445 
446  short grnofr; /* geophone group number of trace one within
447  original field record
448  byte# 173-174
449  */
450 
451  short grnlof; /* geophone group number of last trace within
452  original field record
453  byte# 175-176
454  */
455 
456  short gaps; /* gap size (total number of groups dropped)
457  byte# 177-178
458  */
459 
460  short otrav; /* overtravel taper code:
461  1 = down (or behind)
462  2 = up (or ahead)
463  byte# 179-180
464  */
465 
466 #ifdef SLTSU_SEGY_H /* begin Unocal SU segy.h differences */
467 
468 
469  /* cwp local assignments */
470  float d1; /* sample spacing for non-seismic data
471  byte# 181-184
472  */
473 
474  float f1; /* first sample location for non-seismic data
475  byte# 185-188
476  */
477 
478  float d2; /* sample spacing between traces
479  byte# 189-192
480  */
481 
482  float f2; /* first trace location
483  byte# 193-196
484  */
485 
486  float ungpow; /* negative of power used for dynamic
487  range compression
488  byte# 197-200
489  */
490 
491  float unscale; /* reciprocal of scaling factor to normalize
492  range
493  byte# 201-204
494  */
495 
496  short mark; /* mark selected traces
497  byte# 205-206
498  */
499 
500  /* SLTSU local assignments */
501  short mutb; /* mute time at bottom (start time)
502  bottom mute ends at last sample
503  byte# 207-208
504  */
505  float dz; /* depth sampling interval in (m or ft)
506  if =0.0, input are time samples
507  byte# 209-212
508  */
509 
510  float fz; /* depth of first sample in (m or ft)
511  byte# 213-116
512  */
513 
514  short n2; /* number of traces per cdp or per shot
515  byte# 217-218
516  */
517 
518  short shortpad; /* alignment padding
519  byte# 219-220
520  */
521 
522  int ntr; /* number of traces
523  byte# 221-224
524  */
525 
526  /* SLTSU local assignments end */
527 
528  short unass[8]; /* unassigned
529  byte# 225-240
530  */
531 
532 #else
533 
534  /* cwp local assignments */
535  float d1; /* sample spacing for non-seismic data
536  byte# 181-184
537  */
538 
539  float f1; /* first sample location for non-seismic data
540  byte# 185-188
541  */
542 
543  float d2; /* sample spacing between traces
544  byte# 189-192
545  */
546 
547  float f2; /* first trace location
548  byte# 193-196
549  */
550 
551  float ungpow; /* negative of power used for dynamic
552  range compression
553  byte# 197-200
554  */
555 
556  float unscale; /* reciprocal of scaling factor to normalize
557  range
558  byte# 201-204
559  */
560 
561  int ntr; /* number of traces
562  byte# 205-208
563  */
564 
565  short mark; /* mark selected traces
566  byte# 209-210
567  */
568 
569  short shortpad; /* alignment padding
570  byte# 211-212
571  */
572 
573 
574  short unass[14]; /* unassigned--NOTE: last entry causes
575  a break in the word alignment, if we REALLY
576  want to maintain 240 bytes, the following
577  entry should be an odd number of short/UINT2
578  OR do the insertion above the "mark" keyword
579  entry
580  byte# 213-240
581  */
582 #endif
583 
584  float data[SU_NFLTS];
585 
586 } segy;
587 
588 
589 typedef struct { /* bhed - binary header */
590 
591  int jobid; /* job identification number */
592 
593  int lino; /* line number (only one line per reel) */
594 
595  int reno; /* reel number */
596 
597  short ntrpr; /* number of data traces per record */
598 
599  short nart; /* number of auxiliary traces per record */
600 
601  unsigned short hdt; /* sample interval in micro secs for this reel */
602 
603  unsigned short dto; /* same for original field recording */
604 
605  unsigned short hns; /* number of samples per trace for this reel */
606 
607  unsigned short nso; /* same for original field recording */
608 
609  short format; /* data sample format code:
610  1 = floating point, 4 byte (32 bits)
611  2 = fixed point, 4 byte (32 bits)
612  3 = fixed point, 2 byte (16 bits)
613  4 = fixed point w/gain code, 4 byte (32 bits)
614  5 = IEEE floating point, 4 byte (32 bits)
615  8 = two's complement integer, 1 byte (8 bits)
616  */
617 
618  short fold; /* CDP fold expected per CDP ensemble */
619 
620  short tsort; /* trace sorting code:
621  1 = as recorded (no sorting)
622  2 = CDP ensemble
623  3 = single fold continuous profile
624  4 = horizontally stacked */
625 
626  short vscode; /* vertical sum code:
627  1 = no sum
628  2 = two sum ...
629  N = N sum (N = 32,767) */
630 
631  short hsfs; /* sweep frequency at start */
632 
633  short hsfe; /* sweep frequency at end */
634 
635  short hslen; /* sweep length (ms) */
636 
637  short hstyp; /* sweep type code:
638  1 = linear
639  2 = parabolic
640  3 = exponential
641  4 = other */
642 
643  short schn; /* trace number of sweep channel */
644 
645  short hstas; /* sweep trace taper length at start if
646  tapered (the taper starts at zero time
647  and is effective for this length) */
648 
649  short hstae; /* sweep trace taper length at end (the ending
650  taper starts at sweep length minus the taper
651  length at end) */
652 
653  short htatyp; /* sweep trace taper type code:
654  1 = linear
655  2 = cos-squared
656  3 = other */
657 
658  short hcorr; /* correlated data traces code:
659  1 = no
660  2 = yes */
661 
662  short bgrcv; /* binary gain recovered code:
663  1 = yes
664  2 = no */
665 
666  short rcvm; /* amplitude recovery method code:
667  1 = none
668  2 = spherical divergence
669  3 = AGC
670  4 = other */
671 
672  short mfeet; /* measurement system code:
673  1 = meters
674  2 = feet */
675 
676  short polyt; /* impulse signal polarity code:
677  1 = increase in pressure or upward
678  geophone case movement gives
679  negative number on tape
680  2 = increase in pressure or upward
681  geophone case movement gives
682  positive number on tape */
683 
684  short vpol; /* vibratory polarity code:
685  code seismic signal lags pilot by
686  1 337.5 to 22.5 degrees
687  2 22.5 to 67.5 degrees
688  3 67.5 to 112.5 degrees
689  4 112.5 to 157.5 degrees
690  5 157.5 to 202.5 degrees
691  6 202.5 to 247.5 degrees
692  7 247.5 to 292.5 degrees
693  8 293.5 to 337.5 degrees */
694 
695  short hunass[170]; /* unassigned */
696 
697 } bhed;
698 
699 /* DEFINES */
700 #define gettr(x) fgettr(stdin, (x))
701 #define vgettr(x) fvgettr(stdin, (x))
702 #define puttr(x) fputtr(stdout, (x))
703 #define vputtr(x) fvputtr(stdout, (x))
704 #define gettra(x, y) fgettra(stdin, (x), (y))
705 
706 
707 /* TOTHER represents "other" */
708 #define TOTHER -1
709 /* TUNK represents time traces of an unknown type */
710 #define TUNK 0
711 /* TREAL represents real time traces */
712 #define TREAL 1
713 /* TDEAD represents dead time traces */
714 #define TDEAD 2
715 /* TDUMMY represents dummy time traces */
716 #define TDUMMY 3
717 /* TBREAK represents time break traces */
718 #define TBREAK 4
719 /* UPHOLE represents uphole traces */
720 #define UPHOLE 5
721 /* SWEEP represents sweep traces */
722 #define SWEEP 6
723 /* TIMING represents timing traces */
724 #define TIMING 7
725 /* WBREAK represents timing traces */
726 #define WBREAK 8
727 /* NFGUNSIG represents near field gun signature */
728 #define NFGUNSIG 9
729 /* FFGUNSIG represents far field gun signature */
730 #define FFGUNSIG 10
731 /* SPSENSOR represents seismic pressure sensor */
732 #define SPSENSOR 11
733 /* TVERT represents multicomponent seismic sensor
734  - vertical component */
735 #define TVERT 12
736 /* TXLIN represents multicomponent seismic sensor
737  - cross-line component */
738 #define TXLIN 13
739 /* TINLIN represents multicomponent seismic sensor
740  - in-line component */
741 #define TINLIN 14
742 /* ROTVERT represents rotated multicomponent seismic sensor
743  - vertical component */
744 #define ROTVERT 15
745 /* TTRANS represents rotated multicomponent seismic sensor
746  - transverse component */
747 #define TTRANS 16
748 /* TRADIAL represents rotated multicomponent seismic sensor
749  - radial component */
750 #define TRADIAL 17
751 /* VRMASS represents vibrator reaction mass */
752 #define VRMASS 18
753 /* VBASS represents vibrator baseplate */
754 #define VBASS 19
755 /* VEGF represents vibrator estimated ground force */
756 #define VEGF 20
757 /* VREF represents vibrator reference */
758 #define VREF 21
759 
760 /*** CWP trid assignments ***/
761 /* ACOR represents autocorrelation */
762 #define ACOR 109
763 /* FCMPLX represents fourier transformed - no packing
764  xr[0],xi[0], ..., xr[N-1],xi[N-1] */
765 #define FCMPLX 110
766 /* FUNPACKNYQ represents fourier transformed - unpacked Nyquist
767  xr[0],xi[0],...,xr[N/2],xi[N/2] */
768 #define FUNPACKNYQ 111
769 /* FTPACK represents fourier transformed - packed Nyquist
770  even N: xr[0],xr[N/2],xr[1],xi[1], ...,
771  xr[N/2 -1],xi[N/2 -1]
772  (note the exceptional second entry)
773  odd N:
774  xr[0],xr[(N-1)/2],xr[1],xi[1], ...,
775  xr[(N-1)/2 -1],xi[(N-1)/2 -1],xi[(N-1)/2]
776  (note the exceptional second & last entries)
777 */
778 #define FTPACK 112
779 /* TCMPLX represents complex time traces */
780 #define TCMPLX 113
781 /* FAMPH represents freq domain data in amplitude/phase form */
782 #define FAMPH 114
783 /* TAMPH represents time domain data in amplitude/phase form */
784 #define TAMPH 115
785 /* REALPART represents the real part of a trace to Nyquist */
786 #define REALPART 116
787 /* IMAGPART represents the real part of a trace to Nyquist */
788 #define IMAGPART 117
789 /* AMPLITUDE represents the amplitude of a trace to Nyquist */
790 #define AMPLITUDE 118
791 /* PHASE represents the phase of a trace to Nyquist */
792 #define PHASE 119
793 /* KT represents wavenumber-time domain data */
794 #define KT 121
795 /* KOMEGA represents wavenumber-frequency domain data */
796 #define KOMEGA 122
797 /* ENVELOPE represents the envelope of the complex time trace */
798 #define ENVELOPE 123
799 /* INSTPHASE represents the phase of the complex time trace */
800 #define INSTPHASE 124
801 /* INSTFREQ represents the frequency of the complex time trace */
802 #define INSTFREQ 125
803 /* DEPTH represents traces in depth-range (z-x) */
804 #define TRID_DEPTH 130
805 /* 3C data... v,h1,h2=(11,12,13)+32 so a bitmask will convert */
806 /* between conventions */
807 /* CHARPACK represents byte packed seismic data from supack1 */
808 #define CHARPACK 201
809 /* SHORTPACK represents 2 byte packed seismic data from supack2 */
810 #define SHORTPACK 202
811 
812 
813 #define ISSEISMIC(id) (( (id)==TUNK || (id)==TREAL || (id)==TDEAD || (id)==TDUMMY || (id)==TBREAK || (id)==UPHOLE || (id)==SWEEP || (id)==TIMING || (id)==WBREAK || (id)==NFGUNSIG || (id)==FFGUNSIG || (id)==SPSENSOR || (id)==TVERT || (id)==TXLIN || (id)==TINLIN || (id)==ROTVERT || (id)==TTRANS || (id)==TRADIAL || (id)==ACOR ) ? cwp_true : cwp_false )
814 
815 /* FUNCTION PROTOTYPES */
816 #ifdef __cplusplus /* if C++, specify external linkage to C functions */
817 extern "C" {
818 #endif
819 
820 /* get trace and put trace */
821 int fgettr(FILE *fp, segy *tp);
822 int fvgettr(FILE *fp, segy *tp);
823 void fputtr(FILE *fp, segy *tp);
824 void fvputtr(FILE *fp, segy *tp);
825 int fgettra(FILE *fp, segy *tp, int itr);
826 
827 /* get gather and put gather */
828 /*segy **fget_gather(FILE *fp, cwp_String *key,cwp_String *type,Value *n_val,
829  int *nt,int *ntr, float *dt,int *first);
830 segy **get_gather(cwp_String *key, cwp_String *type, Value *n_val,
831  int *nt, int *ntr, float *dt, int *first);
832 segy **fput_gather(FILE *fp, segy **rec,int *nt, int *ntr);
833 segy **put_gather(segy **rec,int *nt, int *ntr);*/
834 
835 /* hdrpkge */
836 /*void gethval(const segy *tp, int index, Value *valp);
837 void puthval(segy *tp, int index, Value *valp);
838 void getbhval(const bhed *bhp, int index, Value *valp);
839 void putbhval(bhed *bhp, int index, Value *valp);
840 void gethdval(const segy *tp, char *key, Value *valp);
841 void puthdval(segy *tp, char *key, Value *valp);
842 char *hdtype(const char *key);
843 char *getkey(const int index);
844 int getindex(const char *key);
845 void swaphval(segy *tp, int index);
846 void swapbhval(bhed *bhp, int index);
847 void printheader(const segy *tp);*/
848 
849 void tabplot(segy *tp, int itmin, int itmax);
850 
851 #ifdef __cplusplus /* if C++, end external linkage specification */
852 }
853 #endif
854 
855 #endif
short hcf
Definition: segy.h:397
float f2
Definition: segy.h:547
short nvs
Definition: segy.h:148
short hstyp
Definition: segy.h:637
short polyt
Definition: segy.h:676
short format
Definition: segy.h:609
unsigned short hdt
Definition: segy.h:601
short sec
Definition: segy.h:425
int fgettr(FILE *fp, segy *tp)
short trid
Definition: segy.h:77
short sstat
Definition: segy.h:271
int tracr
Definition: segy.h:48
short gaps
Definition: segy.h:456
short rcvm
Definition: segy.h:666
int gdel
Definition: segy.h:187
short sut
Definition: segy.h:263
short hour
Definition: segy.h:417
short nofils
Definition: segy.h:389
float ungpow
Definition: segy.h:551
short ntrpr
Definition: segy.h:597
void fvputtr(FILE *fp, segy *tp)
short tstat
Definition: segy.h:279
short swevel
Definition: segy.h:259
short year
Definition: segy.h:409
int offset
Definition: segy.h:166
float d2
Definition: segy.h:543
int sx
Definition: segy.h:219
short afils
Definition: segy.h:381
int gwdep
Definition: segy.h:199
short lcf
Definition: segy.h:393
unsigned short dt
Definition: segy.h:320
Definition: segy.h:39
short nhs
Definition: segy.h:154
unsigned short dto
Definition: segy.h:603
short wevel
Definition: segy.h:255
short slen
Definition: segy.h:354
int jobid
Definition: segy.h:591
short laga
Definition: segy.h:284
short nofilf
Definition: segy.h:385
unsigned short nso
Definition: segy.h:607
void fputtr(FILE *fp, segy *tp)
short fold
Definition: segy.h:618
float unscale
Definition: segy.h:556
int cdpt
Definition: segy.h:72
short bgrcv
Definition: segy.h:662
short scalel
Definition: segy.h:203
float f1
Definition: segy.h:539
short hstas
Definition: segy.h:645
int tracl
Definition: segy.h:41
short vpol
Definition: segy.h:684
int sdepth
Definition: segy.h:183
short lagb
Definition: segy.h:294
short tsort
Definition: segy.h:620
short stas
Definition: segy.h:365
short trwf
Definition: segy.h:436
short tatyp
Definition: segy.h:373
short sfs
Definition: segy.h:346
short gain
Definition: segy.h:324
short scalco
Definition: segy.h:211
short afilf
Definition: segy.h:377
int selev
Definition: segy.h:179
short grnors
Definition: segy.h:441
short day
Definition: segy.h:413
short duse
Definition: segy.h:160
int sy
Definition: segy.h:223
short hstae
Definition: segy.h:649
int ep
Definition: segy.h:62
short minute
Definition: segy.h:421
short schn
Definition: segy.h:643
int gx
Definition: segy.h:227
short shortpad
Definition: segy.h:569
short nart
Definition: segy.h:599
int tracf
Definition: segy.h:58
float d1
Definition: segy.h:535
short counit
Definition: segy.h:235
short htatyp
Definition: segy.h:653
short hsfs
Definition: segy.h:631
unsigned short ns
Definition: segy.h:316
short gstat
Definition: segy.h:275
short mute
Definition: segy.h:312
short igc
Definition: segy.h:332
short stae
Definition: segy.h:369
short sfe
Definition: segy.h:350
int sdel
Definition: segy.h:191
short gut
Definition: segy.h:267
int cdp
Definition: segy.h:68
int ntr
Definition: segy.h:561
Definition: segy.h:589
int fldr
Definition: segy.h:54
unsigned short hns
Definition: segy.h:605
short muts
Definition: segy.h:308
short timbas
Definition: segy.h:429
short mark
Definition: segy.h:565
short hslen
Definition: segy.h:635
short hsfe
Definition: segy.h:633
short mfeet
Definition: segy.h:672
int gy
Definition: segy.h:231
int gelev
Definition: segy.h:173
int swdep
Definition: segy.h:195
short hcorr
Definition: segy.h:658
int reno
Definition: segy.h:595
short igi
Definition: segy.h:336
int lino
Definition: segy.h:593
void tabplot(segy *tp, int itmin, int itmax)
int ntr
Definition: globvar.h:29
short otrav
Definition: segy.h:460
short hcs
Definition: segy.h:405
short corr
Definition: segy.h:340
short delrt
Definition: segy.h:300
int fgettra(FILE *fp, segy *tp, int itr)
int fvgettr(FILE *fp, segy *tp)
short grnlof
Definition: segy.h:451
short lcs
Definition: segy.h:401
short styp
Definition: segy.h:358
short vscode
Definition: segy.h:626
#define SU_NFLTS
Definition: segy.h:34
short grnofr
Definition: segy.h:446