📄 cwpsegy.h
字号:
short otrav; /* overtravel taper code: 1 = down (or behind) 2 = up (or ahead) */ /* local assignments */ float d1; /* sample spacing for non-seismic data */ float f1; /* first sample location for non-seismic data */ float d2; /* sample spacing between traces */ float f2; /* first trace location */ float ungpow; /* negative of power used for dynamic range compression */ float unscale; /* reciprocal of scaling factor to normalize range */ short mark; /* mark selected traces */ short unass[17]; /* unassigned--NOTE: last entry causes a break in the word alignment, if we REALLY want to maintain 240 bytes, the following entry should be an odd number of short/UINT2 OR do the insertion above the "mark" keyword entry */ float data[SU_NFLTS];} cwpsegy;typedef struct { /* bhed - binary header */ int jobid; /* job identification number */ int lino; /* line number (only one line per reel) */ int reno; /* reel number */ short ntrpr; /* number of data traces per record */ short nart; /* number of auxiliary traces per record */ short hdt; /* sample interval in micro secs for this reel */ short dto; /* same for original field recording */ short hns; /* number of samples per trace for this reel */ short nso; /* same for original field recording */ short format; /* data sample format code: 1 = floating point (4 bytes) 2 = fixed point (4 bytes) 3 = fixed point (2 bytes) 4 = fixed point w/gain code (4 bytes) */ short fold; /* CDP fold expected per CDP ensemble */ short tsort; /* trace sorting code: 1 = as recorded (no sorting) 2 = CDP ensemble 3 = single fold continuous profile 4 = horizontally stacked */ short vscode; /* vertical sum code: 1 = no sum 2 = two sum ... N = N sum (N = 32,767) */ short hsfs; /* sweep frequency at start */ short hsfe; /* sweep frequency at end */ short hslen; /* sweep length (ms) */ short hstyp; /* sweep type code: 1 = linear 2 = parabolic 3 = exponential 4 = other */ short schn; /* trace number of sweep channel */ short hstas; /* sweep trace taper length at start if tapered (the taper starts at zero time and is effective for this length) */ short hstae; /* sweep trace taper length at end (the ending taper starts at sweep length minus the taper length at end) */ short htatyp; /* sweep trace taper type code: 1 = linear 2 = cos-squared 3 = other */ short hcorr; /* correlated data traces code: 1 = no 2 = yes */ short bgrcv; /* binary gain recovered code: 1 = yes 2 = no */ short rcvm; /* amplitude recovery method code: 1 = none 2 = spherical divergence 3 = AGC 4 = other */ short mfeet; /* measurement system code: 1 = meters 2 = feet */ short polyt; /* impulse signal polarity code: 1 = increase in pressure or upward geophone case movement gives negative number on tape 2 = increase in pressure or upward geophone case movement gives positive number on tape */ short vpol; /* vibratory polarity code: code seismic signal lags pilot by 1 337.5 to 22.5 degrees 2 22.5 to 67.5 degrees 3 67.5 to 112.5 degrees 4 112.5 to 157.5 degrees 5 157.5 to 202.5 degrees 6 202.5 to 247.5 degrees 7 247.5 to 292.5 degrees 8 293.5 to 337.5 degrees */ short hunass[170]; /* unassigned */} cwpbhed;/* The following refer to the trid field in segy.h *//* CHARPACK represents byte packed seismic data from supack1 */#define CHARPACK 101/* SHORTPACK represents 2 byte packed seismic data from supack2 */#define SHORTPACK 102/* TREAL represents real time traces */#define TREAL 1/* TDEAD represents dead time traces */#define TDEAD 2/* TDUMMY represents dummy time traces */#define TDUMMY 3/* TBREAK represents time break traces */#define TBREAK 4/* UPHOLE represents uphole traces */#define UPHOLE 5/* SWEEP represents sweep traces */#define SWEEP 6/* TIMING represents timing traces */#define TIMING 7/* WBREAK represents timing traces */#define WBREAK 8/* TCMPLX represents complex time traces */#define TCMPLX 13/* TAMPH represents time domain data in amplitude/phase form */#define TAMPH 15/* FPACK represents packed frequency domain data */#define FPACK 12/* FUNPACKNYQ represents complex frequency domain data */#define FUNPACKNYQ 11/* FCMPLX represents complex frequency domain data */#define FCMPLX 10/* FAMPH represents freq domain data in amplitude/phase form */#define FAMPH 14/* REALPART represents the real part of a trace to Nyquist */#define REALPART 16/* IMAGPART represents the real part of a trace to Nyquist */#define IMAGPART 17/* AMPLITUDE represents the amplitude of a trace to Nyquist */#define AMPLITUDE 18/* PHASE represents the phase of a trace to Nyquist */#define PHASE 19/* KT represents wavenumber-time domain data */#define KT 21/* KOMEGA represents wavenumber-frequency domain data */#define KOMEGA 22/* ENVELOPE represents the envelope of the complex time trace */#define ENVELOPE 23/* INSTPHASE represents the phase of the complex time trace */#define INSTPHASE 24/* INSTFREQ represents the frequency of the complex time trace */#define INSTFREQ 25/* DEPTH represents traces in depth-range (z-x) */#define TRID_DEPTH 30#define ISSEISMIC(id) ( (id)==0 || (id)==TREAL || (id)==TDEAD || (id)==TDUMMY )#endif#define INT2 0#define INT4 1#define IREAL4 2#define UINT2 3static struct {char *sukey; char sutype; int suoffs; char *pkey; char ptype; char *desc;} sumap[] = {{"tracl", INT4, 0, "TRACENO ", INT4, "Trace number in seismic line "},{"tracr", INT4, 4, "SOURCE ", INT4, "Live source number(usr-defined) "},{"fldr", INT4, 8, "FFID ", INT4, "Field file ID number "},{"tracf", INT4, 12, "CHAN ", INT4, "Recording channel number "},{"ep", INT4, 16, "SIN ", INT4, "Source index number (internal) "},{"cdp", INT4, 20, "CDP ", INT4, "CDP bin number "},{"cdpt", INT4, 24, "SEQNO ", INT4, "Sequence number in ensemble "},{"trid", INT2, 28, "TRC_TYPE", INT4, "Trace type (data, aux, etc.) "},{"nvs", INT2, 30, "SU_NVS ", INT4, "SU header: number vert stack "},{"nhs", INT2, 32, "TR_FOLD ", IREAL4, "Actual trace fold "},{"duse", INT2, 34, "SU_DUSE ", INT4, "SU header: data use: 1=prod "},{"offset", INT4, 36, "OFFSET ", IREAL4, "Signed source-receiver offset "},{"gelev", INT4, 40, "REC_ELEV", IREAL4, "Receiver elevation "},{"selev", INT4, 44, "SOU_ELEV", IREAL4, "Source elevation "},{"sdepth", INT4, 48, "DEPTH ", IREAL4, "Source depth "},{"gdel", INT4, 52, "SU_GDEL ", IREAL4, "SU header: rec datum elev "},{"sdel", INT4, 56, "SU_SDEL ", IREAL4, "SU header: source datum elev "},{"swdep", INT4, 60, "SOU_H2OD", IREAL4, "Water depth at source "},{"gwdep", INT4, 64, "REC_H2OD", IREAL4, "Water depth at receiver "},{"scalel", INT2, 68, "SUSCALE1", IREAL4, "SU header: elevation scaler "},{"scalco", INT2, 70, "SUSCALCO", IREAL4, "SU header: coordinate scaler "},{"sx", INT4, 72, "SOU_X ", IREAL4, "Source X coordinate "},{"sy", INT4, 76, "SOU_Y ", IREAL4, "Source Y coordinate "},{"gx", INT4, 80, "REC_X ", IREAL4, "Receiver X coordinate "},{"gy", INT4, 84, "REC_Y ", IREAL4, "Receiver Y coordinate "},{"counit", INT2, 88, "SUCOUNIT", INT4, "SU header: coordinate units "},{"wevel", INT2, 90, "REC_SLOC", INT4, "Receiver surface location number"},{"swevel", INT2, 92, "FB_PICK ", IREAL4, "First break pick time "},{"sut", INT2, 94, "UPHOLE ", IREAL4, "Source uphole time "},{"gut", INT2, 96, "AOFFSET ", IREAL4, "Absolute value of offset "},{"sstat", INT2, 98, "SOU_STAT", IREAL4, "Total static for source "},{"gstat", INT2, 100, "REC_STAT", IREAL4, "Total static for receiver "},{"tstat", INT2, 102, "TOT_STAT", IREAL4, "Total static for this trace "},{"laga", INT2, 104, "SOU_SLOC", INT4, "Nearest surface loc. to source "},{"lagb", INT2, 106, "NCHANS ", INT4, "Number of channels of source "},{"delrt", INT2, 108, "REC_NFLD", INT4, "Receiver fold "},{"muts", INT2, 110, "TLIVE_S ", IREAL4, "Start time of live samples "},{"unass[0]", INT2, 210, "TLIVE_E", IREAL4, "End time of live samples "},{"ns", UINT2, 114, "SU_NS ", INT4, "SU header: number of samples "},{"dt", UINT2, 116, "SU_DT ", INT4, "SU header: sample rate usec "},{"gain", INT2, 118, "NA_STAT ", IREAL4, "Portion of static not applied "},{"igc", INT2, 120, "SKEWSTAT", IREAL4, "Multiplex skew static "},{"igi", INT2, 122, "END_ENS ", INT4, "End-of-ensemble flag "},{"corr", INT2, 124, "EOJ ", INT4, "End of job flag "},{"sfs", INT2, 126, "LEN_SURG", IREAL4, "Length of surgical mute taper "},{"sfe", INT2, 128, "AMP_NORM", IREAL4, "Amplitude normalization factor "},{"slen", INT2, 130, "SR_AZIM ", IREAL4, "Source to receiver azimuth "},{"styp", INT2, 132, "GEO_COMP", INT4, "Geophone component (x,y,z) "},{"stas", INT2, 134, "NMO_STAT", IREAL4, "NMO datum static (don't apply) "},{"stae", INT2, 136, "FNL_STAT", IREAL4, "Static to move to final datum "},{"tatyp", INT2, 138, "SEQ_DISK", INT4, "Trace sequence number from disk "},{"afilf", INT2, 140, "REPEAT ", INT4, "REPEATED data copy number "},{"afils", INT2, 142, "CS_STAT ", IREAL4, "Corr. autostatics source static "},{"nofilf", INT2, 144, "CR_STAT ", IREAL4, "Corr. autostatics recvr static "},{"nofils", INT2, 146, "PS_STAT ", IREAL4, "Power autostatics source static "},{"lcf", INT2, 148, "PR_STAT ", IREAL4, "Power autostatics recvr static "},{"hcf", INT2, 150, "TRIMSTAT", IREAL4, "Trim static "},{"lcs", INT2, 152, "LSEG_END", INT4, "Line segment end "},{"hcs", INT2, 154, "LSEG_SEQ", INT4, "Line segment sequence number "},{"year", INT2, 156, "DMOOFF ", IREAL4, "Offset bin for DMO "},{"day", INT2, 158, "SU_DAY ", IREAL4, "SU header: day data recorded "},{"hour", INT2, 160, "SU_HOUR ", IREAL4, "Receiver depth below surface "},{"minute", INT2, 162, "SOU_COMP", INT4, "Source component (x,y,z) "},{"sec", INT2, 164, "DS_SEQNO", INT4, "Input dataset sequence number "},{"timbas", INT2, 166, "OFB_CNTR", IREAL4, "Offset bin center "},{"trwf", INT2, 168, "OFB_NO ", INT4, "Offset bin number "},{"grnors", INT2, 170, "LINE_NO ", INT4, "Line number (hashed line name) "},{"grnofr", INT2, 172, "FRN_TRNO", INT4, "Foreign trace-number-within line"},{"grnlof", INT2, 174, "ILINE_NO", INT4, "3D inline number "},{"gaps", INT2, 176, "XLINE_NO", INT4, "3D crossline number "},{"otrav", INT2, 178, "DISKITER", INT4, "Disk Data Input iteration "},{"d1", IREAL4, 180, "SU_D1 ", IREAL4, "SU header: increment dim 1 "},{"f1", IREAL4, 184, "SU_F1 ", IREAL4, "SU header: first value dim 1 "},{"d2", IREAL4, 188, "SU_D2 ", IREAL4, "SU header: increment dim 2 "},{"f2", IREAL4, 192, "SU_F2 ", IREAL4, "SU header: first value dim 2 "}, {"ungpow", IREAL4, 196, "SU_UNGPO", IREAL4, "SU header: gpower "},{"unscale", IREAL4, 200, "SU_UNSCA", IREAL4, "SU header: unscale "},{"mark", INT2, 204, "SU_MARK ", IREAL4, "SU header: mark "},{"ens_end", INT2, 206, "END_ENS ", INT4, "End-of-ensemble flag* "},{"mute", INT2, 112, "SU_MUTE ", INT4, "SU header: mute time "},{" ", -1, -1, " ", -1, " "},};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -