mirror of
https://github.com/wassname/segpy.git
synced 2026-07-02 04:08:29 +08:00
214 lines
9.5 KiB
Python
214 lines
9.5 KiB
Python
from revisions import SEGY_REVISION_0, SEGY_REVISION_1
|
|
|
|
STH_def = {"TraceSequenceLine": {"pos": 0, "type": "int32"}}
|
|
STH_def["TraceSequenceFile"]= {"pos": 4, "type": "int32"}
|
|
STH_def["FieldRecord"]= {"pos": 8, "type": "int32"}
|
|
STH_def["TraceNumber"]= {"pos": 12, "type": "int32"}
|
|
STH_def["EnergySourcePoint"]= {"pos": 16, "type": "int32"}
|
|
STH_def["cdp"]= {"pos": 20, "type": "int32"}
|
|
STH_def["cdpTrace"]= {"pos": 24, "type": "int32"}
|
|
STH_def["TraceIdentificationCode"] = {"pos": 28 , "type": "uint16"}
|
|
STH_def["TraceIdentificationCode"]["descr"] = {SEGY_REVISION_0: {
|
|
1: "Seismic data",
|
|
2: "Dead",
|
|
3: "Dummy",
|
|
4: "Time Break",
|
|
5: "Uphole",
|
|
6: "Sweep",
|
|
7: "Timing",
|
|
8: "Water Break"}}
|
|
STH_def["TraceIdentificationCode"]["descr"][SEGY_REVISION_1] = {
|
|
-1: "Other",
|
|
0: "Unknown",
|
|
1: "Seismic data",
|
|
2: "Dead",
|
|
3: "Dummy",
|
|
4: "Time break",
|
|
5: "Uphole",
|
|
6: "Sweep",
|
|
7: "Timing",
|
|
8: "Waterbreak",
|
|
9: "Near-field gun signature",
|
|
10: "Far-field gun signature",
|
|
11: "Seismic pressure sensor",
|
|
12: "Multicomponent seismic sensor - Vertical component",
|
|
13: "Multicomponent seismic sensor - Cross-line component",
|
|
14: "Multicomponent seismic sensor - In-line component",
|
|
15: "Rotated multicomponent seismic sensor - Vertical component",
|
|
16: "Rotated multicomponent seismic sensor - Transverse component",
|
|
17: "Rotated multicomponent seismic sensor - Radial component",
|
|
18: "Vibrator reaction mass",
|
|
19: "Vibrator baseplate",
|
|
20: "Vibrator estimated ground force",
|
|
21: "Vibrator reference",
|
|
22: "Time-velocity pairs"}
|
|
STH_def["NSummedTraces"] = {"pos": 30 , "type": "int16"}
|
|
STH_def["NStackedTraces"] = {"pos": 32 , "type": "int16"}
|
|
STH_def["DataUse"] = {"pos": 34 , "type": "int16"}
|
|
STH_def["DataUse"]["descr"] = {0: {
|
|
1: "Production",
|
|
2: "Test"}}
|
|
STH_def["DataUse"]["descr"][1] = STH_def["DataUse"]["descr"][0]
|
|
STH_def["offset"] = {"pos": 36 , "type": "int32"}
|
|
STH_def["ReceiverGroupElevation"] = {"pos": 40 , "type": "int32"}
|
|
STH_def["SourceSurfaceElevation"] = {"pos": 44 , "type": "int32"}
|
|
STH_def["SourceDepth"] = {"pos": 48 , "type": "int32"}
|
|
STH_def["ReceiverDatumElevation"] = {"pos": 52 , "type": "int32"}
|
|
STH_def["SourceDatumElevation"] = {"pos": 56 , "type": "int32"}
|
|
STH_def["SourceWaterDepth"] = {"pos": 60 , "type": "int32"}
|
|
STH_def["GroupWaterDepth"] = {"pos": 64 , "type": "int32"}
|
|
STH_def["ElevationScalar"] = {"pos": 68 , "type": "int16"}
|
|
STH_def["SourceGroupScalar"] = {"pos": 70 , "type": "int16"}
|
|
STH_def["SourceX"] = {"pos": 72 , "type": "int32"}
|
|
STH_def["SourceY"] = {"pos": 76 , "type": "int32"}
|
|
STH_def["GroupX"] = {"pos": 80 , "type": "int32"}
|
|
STH_def["GroupY"] = {"pos": 84 , "type": "int32"}
|
|
STH_def["CoordinateUnits"] = {"pos": 88 , "type": "int16"}
|
|
STH_def["CoordinateUnits"]["descr"] = {SEGY_REVISION_0: {
|
|
1: "Length (meters or feet)",
|
|
2: "Seconds of arc"}}
|
|
STH_def["CoordinateUnits"]["descr"][SEGY_REVISION_1] = {
|
|
1: "Length (meters or feet)",
|
|
2: "Seconds of arc",
|
|
3: "Decimal degrees",
|
|
4: "Degrees, minutes, seconds (DMS)"}
|
|
STH_def["WeatheringVelocity"] = {"pos": 90 , "type": "int16"}
|
|
STH_def["SubWeatheringVelocity"] = {"pos": 92 , "type": "int16"}
|
|
STH_def["SourceUpholeTime"] = {"pos": 94 , "type": "int16"}
|
|
STH_def["GroupUpholeTime"] = {"pos": 96 , "type": "int16"}
|
|
STH_def["SourceStaticCorrection"] = {"pos": 98 , "type": "int16"}
|
|
STH_def["GroupStaticCorrection"] = {"pos": 100 , "type": "int16"}
|
|
STH_def["TotalStaticApplied"] = {"pos": 102 , "type": "int16"}
|
|
STH_def["LagTimeA"] = {"pos": 104 , "type": "int16"}
|
|
STH_def["LagTimeB"] = {"pos": 106 , "type": "int16"}
|
|
STH_def["DelayRecordingTime"] = {"pos": 108 , "type": "int16"}
|
|
STH_def["MuteTimeStart"] = {"pos": 110 , "type": "int16"}
|
|
STH_def["MuteTimeEND"] = {"pos": 112 , "type": "int16"}
|
|
STH_def["ns"] = {"pos": 114 , "type": "uint16"}
|
|
STH_def["dt"] = {"pos": 116 , "type": "uint16"}
|
|
STH_def["GainType"] = {"pos": 119 , "type": "int16"}
|
|
STH_def["GainType"]["descr"] = {SEGY_REVISION_0: {
|
|
1: "Fixes",
|
|
2: "Binary",
|
|
3: "Floating point"}}
|
|
STH_def["GainType"]["descr"][SEGY_REVISION_1] = STH_def["GainType"]["descr"][SEGY_REVISION_0]
|
|
STH_def["InstrumentGainConstant"] = {"pos": 120 , "type": "int16"}
|
|
STH_def["InstrumentInitialGain"] = {"pos": 122 , "type": "int16"}
|
|
STH_def["Correlated"] = {"pos": 124 , "type": "int16"}
|
|
STH_def["Correlated"]["descr"] = {SEGY_REVISION_0: {
|
|
1: "No",
|
|
2: "Yes"}}
|
|
STH_def["Correlated"]["descr"][SEGY_REVISION_1] = STH_def["Correlated"]["descr"][SEGY_REVISION_0]
|
|
|
|
STH_def["SweepFrequencyStart"] = {"pos": 126 , "type": "int16"}
|
|
STH_def["SweepFrequencyEnd"] = {"pos": 128 , "type": "int16"}
|
|
STH_def["SweepLength"] = {"pos": 130 , "type": "int16"}
|
|
STH_def["SweepType"] = {"pos": 132 , "type": "int16"}
|
|
STH_def["SweepType"]["descr"] = {SEGY_REVISION_0: {
|
|
1: "linear",
|
|
2: "parabolic",
|
|
3: "exponential",
|
|
4: "other"}}
|
|
STH_def["SweepType"]["descr"][SEGY_REVISION_1] = STH_def["SweepType"]["descr"][SEGY_REVISION_0]
|
|
|
|
STH_def["SweepTraceTaperLengthStart"] = {"pos": 134 , "type": "int16"}
|
|
STH_def["SweepTraceTaperLengthEnd"] = {"pos": 136 , "type": "int16"}
|
|
STH_def["TaperType"] = {"pos": 138 , "type": "int16"}
|
|
STH_def["TaperType"]["descr"] = {SEGY_REVISION_0: {
|
|
1: "linear",
|
|
2: "cos2c",
|
|
3: "other"}}
|
|
STH_def["TaperType"]["descr"][SEGY_REVISION_1] = STH_def["TaperType"]["descr"][SEGY_REVISION_0]
|
|
|
|
STH_def["AliasFilterFrequency"] = {"pos": 140 , "type": "int16"}
|
|
STH_def["AliasFilterSlope"] = {"pos": 142 , "type": "int16"}
|
|
STH_def["NotchFilterFrequency"] = {"pos": 144 , "type": "int16"}
|
|
STH_def["NotchFilterSlope"] = {"pos": 146 , "type": "int16"}
|
|
STH_def["LowCutFrequency"] = {"pos": 148 , "type": "int16"}
|
|
STH_def["HighCutFrequency"] = {"pos": 150 , "type": "int16"}
|
|
STH_def["LowCutSlope"] = {"pos": 152 , "type": "int16"}
|
|
STH_def["HighCutSlope"] = {"pos": 154 , "type": "int16"}
|
|
STH_def["YearDataRecorded"] = {"pos": 156 , "type": "int16"}
|
|
STH_def["DayOfYear"] = {"pos": 158 , "type": "int16"}
|
|
STH_def["HourOfDay"] = {"pos": 160 , "type": "int16"}
|
|
STH_def["MinuteOfHour"] = {"pos": 162 , "type": "int16"}
|
|
STH_def["SecondOfMinute"] = {"pos": 164 , "type": "int16"}
|
|
STH_def["TimeBaseCode"] = {"pos": 166 , "type": "int16"}
|
|
STH_def["TimeBaseCode"]["descr"] = {SEGY_REVISION_0: {
|
|
1: "Local",
|
|
2: "GMT",
|
|
3: "Other"}}
|
|
STH_def["TimeBaseCode"]["descr"][SEGY_REVISION_1] = {
|
|
1: "Local",
|
|
2: "GMT",
|
|
3: "Other",
|
|
4: "UTC"}
|
|
STH_def["TraceWeightingFactor"] = {"pos": 168 , "type": "int16"}
|
|
STH_def["GeophoneGroupNumberRoll1"] = {"pos": 170 , "type": "int16"}
|
|
STH_def["GeophoneGroupNumberFirstTraceOrigField"] = {"pos": 172 , "type": "int16"}
|
|
STH_def["GeophoneGroupNumberLastTraceOrigField"] = {"pos": 174 , "type": "int16"}
|
|
STH_def["GapSize"] = {"pos": 176 , "type": "int16"}
|
|
STH_def["OverTravel"] = {"pos": 178 , "type": "int16"}
|
|
STH_def["OverTravel"]["descr"] = {SEGY_REVISION_0: {
|
|
1: "down (or behind)",
|
|
2: "up (or ahead)",
|
|
3: "other"}}
|
|
STH_def["OverTravel"]["descr"][SEGY_REVISION_1] = STH_def["OverTravel"]["descr"][SEGY_REVISION_0]
|
|
|
|
|
|
STH_def["cdpX"] = {"pos": 180 , "type": "int32"}
|
|
STH_def["cdpY"] = {"pos": 184 , "type": "int32"}
|
|
STH_def["Inline3D"] = {"pos": 188 , "type": "int32"}
|
|
STH_def["Crossline3D"] = {"pos": 192 , "type": "int32"}
|
|
STH_def["ShotPoint"] = {"pos": 192 , "type": "int32"}
|
|
STH_def["ShotPointScalar"] = {"pos": 200 , "type": "int16"}
|
|
STH_def["TraceValueMeasurementUnit"] = {"pos": 202 , "type": "int16"}
|
|
STH_def["TraceValueMeasurementUnit"]["descr"] = {SEGY_REVISION_1: {
|
|
-1: "Other",
|
|
0: "Unknown (should be described in Data Sample Measurement Units Stanza) ",
|
|
1: "Pascal (Pa)",
|
|
2: "Volts (V)",
|
|
3: "Millivolts (v)",
|
|
4: "Amperes (A)",
|
|
5: "Meters (m)",
|
|
6: "Meters Per Second (m/s)",
|
|
7: "Meters Per Second squared (m/&s2)Other",
|
|
8: "Newton (N)",
|
|
9: "Watt (W)"}}
|
|
STH_def["TransductionConstantMantissa"] = {"pos": 204 , "type": "int32"}
|
|
STH_def["TransductionConstantPower"] = {"pos": 208 , "type": "int16"}
|
|
STH_def["TransductionUnit"] = {"pos": 210 , "type": "int16"}
|
|
STH_def["TransductionUnit"]["descr"] = STH_def["TraceValueMeasurementUnit"]["descr"]
|
|
STH_def["TraceIdentifier"] = {"pos": 212 , "type": "int16"}
|
|
STH_def["ScalarTraceHeader"] = {"pos": 214 , "type": "int16"}
|
|
STH_def["SourceType"] = {"pos": 216 , "type": "int16"}
|
|
STH_def["SourceType"]["descr"] = {SEGY_REVISION_1: {
|
|
-1: "Other (should be described in Source Type/Orientation stanza)",
|
|
0: "Unknown",
|
|
1: "Vibratory - Vertical orientation",
|
|
2: "Vibratory - Cross-line orientation",
|
|
3: "Vibratory - In-line orientation",
|
|
4: "Impulsive - Vertical orientation",
|
|
5: "Impulsive - Cross-line orientation",
|
|
6: "Impulsive - In-line orientation",
|
|
7: "Distributed Impulsive - Vertical orientation",
|
|
8: "Distributed Impulsive - Cross-line orientation",
|
|
9: "Distributed Impulsive - In-line orientation"}}
|
|
|
|
STH_def["SourceEnergyDirectionMantissa"] = {"pos": 218 , "type": "int32"}
|
|
STH_def["SourceEnergyDirectionExponent"] = {"pos": 222 , "type": "int16"}
|
|
STH_def["SourceMeasurementMantissa"] = {"pos": 224 , "type": "int32"}
|
|
STH_def["SourceMeasurementExponent"] = {"pos": 228 , "type": "int16"}
|
|
STH_def["SourceMeasurementUnit"] = {"pos": 230 , "type": "int16"}
|
|
STH_def["SourceMeasurementUnit"]["descr"] = {1: {
|
|
-1: "Other (should be described in Source Measurement Unit stanza)",
|
|
0: "Unknown",
|
|
1: "Joule (J)",
|
|
2: "Kilowatt (kW)",
|
|
3: "Pascal (Pa)",
|
|
4: "Bar (Bar)",
|
|
5: "Newton (N)",
|
|
6: "Kilograms (kg)"}}
|
|
STH_def["UnassignedInt1"] = {"pos": 232 , "type": "int32"}
|
|
STH_def["UnassignedInt2"] = {"pos": 236 , "type": "int32"}
|