-
Notifications
You must be signed in to change notification settings - Fork 529
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mseed3 read/write support #3411
Open
crotwell
wants to merge
20
commits into
obspy:master
Choose a base branch
from
crotwell:mseed3
base: master
Could not load branches
Branch not found: {{ refName }}
Could not load tags
Nothing to show
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…much easier to type!
crotwell
requested review from
megies,
trichter and
d-chambers
as code owners
February 26, 2024 21:45
crotwell
added
the
build_docs
Docs will be automatically built and deployed in github actions on pushes to the PR
label
Feb 26, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
build_docs
Docs will be automatically built and deployed in github actions on pushes to the PR
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Adds read and write support for miniseed3.
Why was it initiated? Any relevant Issues?
Read and write the new FDSN miniseed3 format.
FDSN Specification
I set this up to use my simplemseed pypi package. Most other obspy.io subpackages seem to not have external dependencies, so was unsure how to handle this. Simplemseed has a dependency of crc32c, so not as simple as just copying files in, although I guess it is possible.
Also likely worth bringing @chad-earthscope into the conversation as there may be advantages to using mseed3 from new version of his libmseed C library. Personally, I like having a pure python implementation as it makes long term maintenance easier than via a C library, but opinions may vary.
Because the new json "extra headers" in miniseed3 are very flexible, it may be worth thinking about automatically copying more from the Trace Stats object. I have followed other io formats by having "mseed3"
inside of the stats, but that may be an extra layer that doesn't actually help anyone. It would be relative easy to just copy anything from stats that is not a standard part of the header into the extra headers. Its just json after all.
Code for parsing FDSN source ids is used internally, see code here. Not sure if it would be helpful to expose this further within obspy for dealing with FDSN source ids outside of miniseed3?
This code also creates longer network, station, etc in stats, which may break code that assumes the seed length limits. For example a SID of
FDSN:XX2024_REALFAKE_01234567_H_HRQ_Z
becomes:Believe I have checked all the items for submission, but happy to revise if missed anything.
PR Checklist
master
for new features,maintenance_...
for bug fixesno_ci
label can be added to skip CI buildsJust add the
build_docs
tag to this PR.Docs will be served at docs.obspy.org/pr/{branch_name} (do not use master branch).
Please post a link to the relevant piece of documentation.
clients.fdsn
) should be tested for the PR,just add the
test_network
tag to this PR.CHANGELOG.txt
.CONTRIBUTORS.txt
.from all the CI builds look correct. Add the "upload_plots" tag so that plotting
outputs are attached as artifacts.
CODEOWNERS
with your github handleready for review
label when you are ready for the PR to be reviewed.