jpjones76 / SeisIO.jl

Julia language support for geophysical time series data
http://seisio.readthedocs.org
Other
47 stars 21 forks source link

issue reading an mseed file #40

Closed mdenolle closed 4 years ago

mdenolle commented 4 years ago

Hi Josh,

I have an issue reading an mseed file. The file is located here. A note that seems to matter: I wrote these files in obspy after reading a binary C++ format. When I print the trace in obspy, it returns correct values. Thus I do not have a problem reading it in obspyv1.1.1

Here is my attempt after 'using SeisIO'

(v1.2) pkg> st Status ~/.julia/environments/v1.2/Project.toml [1c724243] AWSS3 v0.6.8 [336ed68f] CSV v0.5.20 [a93c6f00] DataFrames v0.20.0 [5752ebe1] GMT v0.16.0 [91a5bcdd] Plots v0.29.1 [d330b81b] PyPlot v2.8.2 [b372bb87] SeisIO v1.0.0 [8cc7c3c0] SeisNoise v0.3.1 #master (https://github.com/tclements/SeisNoise.jl.git)

(v1.2) pkg> ^C

julia> S=read_data("miniseed","/Users/marinedenolle/NODES/continuous_waveforms/2018/2018_204/NO201EHE2018204.ms") "/Users/marinedenolle/NODES/continuous_waveforms/2018/2018_204/NO201EHE2018204.ms"

julia> S[1].x SeisData with 1 channels (1 shown) ID: NO.201.--.EHE
NAME: NO.201.--.EHE
LOC: 0.0 N, 0.0 E, 0.0 m
FS: 100.0
GAIN: 1.0
RESP: a0 1.0, f0 1.0, 0z, 0p
UNITS:
SRC: /Users/marinedenolle/NODES/contin… MISC: 0 entries
NOTES: 1 entries
T: 2018-07-23T00:00:00 (0 gaps)
X: +0.000e+00
+4.628e-41
...
+0.000e+00
(nx = 8640001)
C: 0 open, 0 total

julia> S[1].x[1] 8640001-element Array{Float32,1}: 0.0
4.6275e-41
0.0
4.6275e-41
-1.3954251e35 0.0
4.6096e-41
0.0
4.6096e-41
5.0639263e-12 1.720927e-30 4.6275e-41
...

Kurama Okubo tried it as well.

  1. read_data(“mseed”, filename); failed even if changing options for read_data() using obspy, st=read(filename); succeeded.
  2. convert using obspy from mseed to mseed: st=read(filename); st.write(“test.mseed”, format=“MSEED”), then reading “test.mseed” with SeisIO; failed
  3. convert using obspy from mseed to sac: st=read(filename); st.write(“test.sac”, format=“sac”), then reading “test.sac” with SeisIO; succeeded.
  4. convert again using obspy from sac to mseed: st=read(“test.sac”); st.write(“test2.mseed”, format=“mseed”), then reading “test2.mseed” with SeisIO; succeeded, but somehow reading speed is extremely slow.

Let me know if you have an idea on the bug. Cheers, Marine

mdenolle commented 4 years ago

Related to issue #33, fixed with Tim Clements.

jpjones76 commented 4 years ago

Oh no...was this "little-endian Steim" again?

I'll look into read speed with mseed files created from SAC in obspy, though. I suspect that has to do with the compression scheme. Everything but Steim and uncompressed formats could use an "optimization" pass, but I'd be surprised if it isn't Steim-compressed.