Conversation
|
If this is merged into the master, BB calculation (and LF2BB - need to retain to isolate HF effect) from the old workflow will break. We could (Option 1) deprecate LFSeis in stages letting it coexist with the new code with clear comment it is only for old workflow. or (Option 2) fix relevant bits in the old workflow, such as. |
|
@sungeunbae I like the deprecation approach but it needs a timeline. Open-ended deprecation is just asking to leave old code lying around forever. |
|
Based on the discussion with @sungeunbae we will:
The deprecation of HF/BBSeis is a bit more open ended because they need to stay in the module to read old data. But once that old data is considered irrelevant or scientifically useless these should also be removed. |
sungeunbae
left a comment
There was a problem hiding this comment.
If we deprecate BBSeis, it means all the archived BB waveforms are unreadable. I think we should create a conversion script to support old format.
|
@sungeunbae I agree. This would be a good candidate for a script in |
The
LFSeisclass has a number of problems, and it is not reliable enough to make debugging complicated EMOD3D outputs simple. Moreover, it makes selecting slices of LF outputs difficult, and is hard for researchers to use. This PR proposes removing theLFSeisclass in favour of a newxarraybacked function.Examples
Compare the output of the new method
to the old method
and you'll immediately appreciate the improved UX provided by the xarray method. Selecting the velocity waveforms for a single station is roughly the same as before
Howeever, xarray datasets can select based on far more sophisticated criteria
None of those examples are supported by the old code, and would've required between some and a significant amount of code to do.
As a bonus, we get a merge_ts-like workflow stage that can save LF seismograph outputs as HDF5 datasets.
Testing
There is a regression test in
qcore/tests/test_timeseries/test_timeseries.py. It compares the old waveform outputs of LFSeis to the ones loaded by the new code.