-
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
PySEP v0.4.0 #112
Merged
PySEP v0.4.0 #112
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
* renamed specfem station writing function, and added an ordering component * bumping version in setup and changing url and author * small mt typo change * added an example config that gathers a small amount of data for testing/dev purposes * added a new kwarg 'order_stations_list_by' which sets the order of the output stations list, related to #36 * bugfix typo parameter call * bugfix rotating was not actually rotating streams in place for arbitrary components ->ENZ * bugfix fixed rotation testing, which was not actually evaluating as expected. some confusion about editing streams and inventories in place which was not actually happening. Fixed and now rotate test works as expected * added 12Z test data for rotating 12Z -> ENZ which works now, added test to cover this case * moved 2012 central alaska IU gather script (which gathers 12Z component) into examples * bugfix pysep was not setting log level properly from the config file. now in the load() function, config log level is allowed to override logger level * changed config examples dir name to test, to be used as a test bed for checking specific data gathering features such as data gap removal * bugfix #57, reading event origin time from sac header was shifting times unexpectedly
* bugfix clipped amplitude check was not properly checking the data array * added error catch and release during rotate code to avoid processing breakdown. also rotate now goes by channel rather than the entire stream at once * rearranged rotation algorithm to be a bit cleaner, previously too many different streams floating around and being fed to one another. * pysep rotation now has additional checks for station metadata and error catching to get around any rotation bugs that used to cause the rotation to fail added new tests to cover rotation and fixed a rotation test that was failing due to change added a config for testing the rotation bug, providing station info * updating bug config file
* fixed exclude string making and added a bool check for deleting tmpdir in mass download function * removed accidental debug statement
* moved llnl_db_client as a hard dep of pysep and moved it into an optional dependency hid llnl_db_client import statement behind a try-except block and threw a check in the init of pysep only requiring this dep if the client choice is LLNL * Added setup.py legacy file * removed llnl dep from conda env yml file * tested install with and without llnl dep and tested check statement for missing llnl import
* started adding declustering rewrite with test and test data * finished cartesian gridding decluster script, added radial gridding decluster script, added tests to cover both and plotting * decluster catalog added feature to threshold events by min magnitude and data availability separate from declustering added plot feture to connect source receiver pairs based on data availability added feature to allow sorting by data availability * adjusting default figure names for declust plotting scripts * cleaned up plotting functions into functions to avoid repeat plotting calls, added removed events to plotting routines * small typo updte declust * moved some declustering functions into util * declust started srcrcv weighting function * individual source or receiver list weighting working with the smart scan feature next up is to implement the entire weighting scheme with normalization and based on data availability * declust slow progression * finished srcrcv weighting scheme * finished declustering and weighting algos with additional plotting and text file writing for weights * added basic test for srcrcv weight calc
* reformatted PySEP init docstring, added missing parameters and categorized parameters to make things easier to find * removed hard requirement that user provides event depth and magnitude if event selection is default * added boolean flag to toggle insufficient length checker bugfix: added remove_clipped boolean toggle on the actual processing step, which was not there before * bugfix phase list passed from pysep into util function for phase getting * last minute touch ups on docstring * recsec removed unneeded myround function from top of script * categorized recsec init docstring for easier readability
…as an empty list, but it was expected as NoneType within the main processing function. removed this type conversion
ign dummy values to cap header because these are required by record section
* moved docstring of pysep into class description for autoapi * instantiated sphinx for doc creation and autoapi building, reorganized pysep and recsec docstrings to be well formatted for autoapi * migrated wiki docs into docs directory
bugfix: removing debug statement left in pysep
* replace plotw_rs with record section run command in pysep plotting, sets default sorting to 'distance' and not 'distance_r' for pysep-generated record section * working on ordering of multiple pages * added feature tmark to add static lines at given time values, does not address time shifts or move out
* reformatting plotw_rs page separation logic * sort order of multi-page record sections is now reversed to be more natural
* added a try-except block over trace merging to avoid errors caused by incompatible sampling rates * re-ordered processing steps, resample now occurs before merge and start/endtime trims to avoid sampling rate inconsistency during merge process * added comment for merge command
* pysep new parameter which allows users to fill gappy data with a given value process function 'merge_and_trim_start_end_times' now takes fill value in order to fill in gappy data added test to test gap filling * added gap_fraction parameter which allows selecting the overall percentage length of allowable data gaps. defaults to 1 (100%). added test to cover this * added gap_fraction to pysep docstring and parameters * cleaned up docstrings for new parameters * split up processing function 'merge_and_trim...' into merge function and trim function trim function now takes actual expected start and end times rather than inferring from the data bugfix gap percentage not accurately determinig total trace length * bugfix merge gapped data not returning any data * remove debugger statement * added a check in trim function for late starttimes and early endtimes which would create incomplete data * changed default 'fill_data_gaps' value as False to be more intuitive * added new hidden variable 'extra_download_pct' which allows downloading an additional x% of data from data center because downloading the exact time bounds may lead to shorter waveforms after resampling or preprocessing. the extra downloaded data is trimmed away before being saved * fixing tests, trim start and end times ignored if no origin time given to allow for direct preprocessing of streams without event ifnormation
bugfix: debugger left in test suite
* bugfix: seconds before and after ref were allowed to be integers which caused floating point rounding errors when trimming start and end times curtail remove for insufficient lenght now checks for streams with time less than the mode rather than no equal, to not kick out streams with sufficient data * check statement forces time buggers to be floats obspy trim function set nearest sample to False to ensure we are taking inner samples and getting same sampling rate * remove last data gap check from merge gapped data * allow user to fill boundary data gaps with parameter 'fill_data_gaps' which sidesteps rejection for late starttimes and early endtimes * update changelog * added another postprocessing check to remove masked data from array which has a flag toggle in PySEP to turn on or off, on by default * fixed merging tests * moved remove masked data check into end of preprocessing because it affects the rotation operations if not done prior to rotation. fixed tests * bugfix insufficient length check remove '=' which was causing all traces to be thrown out and not just ones with shorter lengths
…ude information provided. This was used in the title of the map, so added some if statements to avoid these quantities if they are nto rpesent
* API change, parameters 'mindistance' -> 'mindistance_km', 'maxdistance' -> 'maxdistance_km' * related to #98 allow list of station ids as input updated docs to reflect station id parameter starting script to update example config files * formatting * moved default phase list value into init and out of hard set parameter since its a list (avoiding mutable input values) * update all example config files with updated API * bugfix recsec spines not showing by default and bugfix allow command line users ability to input spine flags which are input as strings * typo incorrect default inventory name in cookbook docs
* #75 turn OFF azimuth bins when sorting by absolute (back)azimuth * typo fixing, adding 'event_depth_km' and 'event_magnitude' to pysep docstring * replaced 'stations_list' -> 'station_list' throughout package for consistentcy' * one more stations -> station * slightly modified how the plot and write functions check for validity of file selection, same outward behavior but internally a little cleaner * removed unncessary 'cha' aprameter in RTZ rotation updating rotation implementation * updated write system to be able to write out individual channel SAC files completed intermediate writing so that files are written as the program progresses * overwrite_event_tag new behavior, allow users to dump files directly into output directory with no event tags' * allow SAC sub directory bypass * added file logger to pysep * pysep added ability to write out specific components for SAC files added docs page for explaining how to ignore event tag and sac sub directory * fixing up docs page for output control * cleanup docs
…and move created log to output directory after run has completed
…ied by the user but not already existing. Bump devel version number for debug checking
…races to traverse through the list causing index errors
… recsec initialization
… two points in cartesian space
…and synthetics (st_syn) because originally all scaling was done w.r.t data array which would cause incorrect normalizations for per-trace normalizing
…y to ignore repeat stations even if they came from different networks, due to exclusion based on station name only. Now it excludes based on a NN.SSS (network + station), which is assumed to be unique for all seismic stations
… explicitely used by PySEP to help debug argument mispelling or future API changes not registering. Related to #110
…ocs publishing in docs readme
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
PySEP official version release v0.4.0. This PR sets up the requirements for the latest official version release of PySEP, and also will acts as a requirement template for any future version pushes. For reference, devel updates are stopping at d1ca76e for this version.
devel
is up to date withmaster
pyproject.toml
docs/conf.py
pysep/__init__.py
CHANGELOG
to include all major changes since last versionSpecific to this version bump, need to finish docs migration to readthedocs (from gh-pages)
pysep.readthedocs.io
docs/README.md
gh-pages
gh-pages
andgithub-pages
master
anddevel
branch docs in readthedocsOnce the PR is merged:
README.md