-
Notifications
You must be signed in to change notification settings - Fork 15
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
QOL improvements to RecSec file reading capabilities #122
Comments
bch0w
added a commit
that referenced
this issue
Sep 24, 2023
…c_data function, contains logic for taking paths and return streams and can handle both obs and syn data as well as SAC formatted syn data (#122) bugfix: added a catch in recsec to kill the object if no stream data are found
bch0w
added a commit
that referenced
this issue
Sep 24, 2023
* BUGFIX: in read_events_plus, read_specfem3d_cmtsolution_cartesian was returning an Event and not a catalog object. This was probably fine but not consistent with the other returns * new recsec.read_data function that replaces the old generate_synthetic_data function, contains logic for taking paths and return streams and can handle both obs and syn data as well as SAC formatted syn data (#122) bugfix: added a catch in recsec to kill the object if no stream data are found * API CHANGE: RecSec parameter 'cmtsolution' has been changed to 'source' for generality because the file does not need to be a cmtsolution, can be a forcesolution or source as well * small bugfixes to get synthetic stream reading working * adding Cartesian generated synthetics to test data and added new test data to make sure read_sem can handle these appropriately * removing some of the test data, only need a few traces * update API recsec cmtsolution -> source * update changelog
Hi @bch0w, I can now confirm that I can plot synthetic SAC files - thank you so much for implementing this! -Amanda |
bch0w
added a commit
that referenced
this issue
Nov 20, 2023
* FEATURE: improves FORCESOLUTION read function to deal with SPECFEM3D_GLOBE format, previously could only handle 3D_CARTESIAN. adds more detailed docstring for the function * utils.io.read_forcesolution changed input variable 'default_time' -> 'origin_time' to match other read functions and be slightly more intuitive * REFORMAT read_forcesolution to return an ObsPy Event object rather than a PySEP SOURCE object, so that it can be parsed and used by Pyflex which is expecting ObsPy Event or Catalog objects to define sources * added function 'read_events_plus' (originally defined in Pyatoa) which provides additional file format support to ObsPy's read_events function * removed Source class from io.mt which was an old holdover for reading in FORCESOLUTION and SOURCE files from SPECFEM2D/3D. the revised method simply returns barebones ObsPy Event objects which is much cleaner and avoids requiring having to define an entirely new class. Does not affect PySEP routines, these were mainly used by external libraries calling PySEP * General Improvements: improve recsec log, single-source version, bugfix zero trace length (#121) * bumping version numbers to 0.5.0-dev to signify backwards-incompatible changes and that this is the 'dev' version of the code * Issue #120 single-sourcing version number from pyproject.toml and sourcing version number in docs and __init__ directly from this value * code fix conf finding version number, update 'how_to_version_release' to only bump pyproject.toml version number * #117 added a new pre-preprocessing curtail function that removes Traces whose trace lenght is 0 * #116 RecSec now logs amplitude and amplitude ratios if both obs and syn are plotted together * amp ratio log messages now for abs max * update CHANGELOG * updates RTD Yaml file to comply with build.image deprecation * attempt fix failing RTD build by swapping Python for Mamba * removed 'read_sem' logger warning about not providing an origin time by setting default origin time to 1970-01-01T00:00:00 directly in the input variables * added read functions to main package imports (read_sem, read_stations, read_events_plus) * Bugfix: incorrect RecSec xlim_s indexing (#123) * bugfix: xlim_s was using time and not sample to index the waveform when selecting max amplitudes for normalization, causing incorrect normalization to occur * tests caught edge case where indicies were None and could not be converted to integer samples. fixing * Update RecordSection data reading (#124) * BUGFIX: in read_events_plus, read_specfem3d_cmtsolution_cartesian was returning an Event and not a catalog object. This was probably fine but not consistent with the other returns * new recsec.read_data function that replaces the old generate_synthetic_data function, contains logic for taking paths and return streams and can handle both obs and syn data as well as SAC formatted syn data (#122) bugfix: added a catch in recsec to kill the object if no stream data are found * API CHANGE: RecSec parameter 'cmtsolution' has been changed to 'source' for generality because the file does not need to be a cmtsolution, can be a forcesolution or source as well * small bugfixes to get synthetic stream reading working * adding Cartesian generated synthetics to test data and added new test data to make sure read_sem can handle these appropriately * removing some of the test data, only need a few traces * update API recsec cmtsolution -> source * update changelog * BUGFIX: RecSec was unable to read different source file formats. New parameter added '--srcfmt' which allows the User to set the file format manually. If srcfmt is not provided, RecSec will attempt to guess the file format based on the file name, checking against a list of common SPECFEM source file format types * BUGFIX: function 'read_specfem3d_cmtsolution_cartesian' can is now less strict about how it expects the incoming file to be formatted * removing debug statement left in read forcesolution function * #126 updating example config files to fix inconsistencies * BUGFIX: RecordSection was incorrectly using indices in units of time, and not samples, to index the visible portion of the waveform for use in determining the local max amplitude within the time window. This would have led to incorrectly scaled waveforms when using the option 'xlim_s'. This bugfix sets the correct index unit, and ensures that all indices coming out of getter function 'get_xlim' are integers so that they directly be used to index waveform data * Update recsec.rst Accommodating parameter name change from 'cmtsolution' to 'source' in the docs to match recent update in #124 * pysep internal variable _legacy_naming -> legacy_naming so that it can be used in parameter file * recsec #127 added parameters 'obs_wildcard' and 'syn_wildcard' to allow user to determine which files are read in * change feature so that 'syn_wildcard' defaults to 'wildcard' unless explicitely provided * removed parameters 'log_level' and 'legacy_naming' from the default config writing function, remade the template config, added new test to check the example config files are still in order and removed some unncessary parameters from example configs * update changelog
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Small quality of life updates for RecSec file reading. RecSec has slightly restrictive requirements for its input file reading:
The text was updated successfully, but these errors were encountered: