Skip to content

Commit

Permalink
docs update
Browse files Browse the repository at this point in the history
  • Loading branch information
jpjones76 committed Jul 8, 2020
1 parent 8b481a7 commit 220ee02
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 40 deletions.
3 changes: 2 additions & 1 deletion docs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
### 2020-07-02
* minor bug fix for Julia v1.5: calling `sizeof(R)` on an empty `MultiStageResp`
* minor bug fix: in Julia v1.5+, calling `sizeof(R)` on an empty `MultiStageResp`
object should no longer throw an error
* `resample!` has been rewritten, fixing issues #50 and #51. syntax and keywords
are unchanged.
+ The current version consumes slightly more memory than the previous one.
Expand Down
90 changes: 51 additions & 39 deletions docs/ReleaseNotes/release_1.1.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,14 @@ v1.1.0 includes only minor changes. The change to SAC file handling can break us
## **SeedLink**
Functions *seedlink* and *seedlink!* now accept keyword *seq="* for starting sequence number, consistent with [SeisComp3 protocols](https://www.seiscomp3.org/doc/seattle/2012.279/apps/seedlink.html).

## **IRISWS timeseries**
SeisIO has made some minor changes to `get_data("IRIS", ... )` behavior, due to server-side changes to IRISWS timeseries:
* The Stage 0 (scalar) gain of each channel is logged to `:notes` for fmt="sacbl" ("sac") and fmt="geocsv".
* The output of `get_data("IRIS", ... , w=true)` differs slightly from calling `read_data` on the files created by the same command:
+ This affects the fields `:misc` and `:notes`.
+ `:loc` will be set in objects read from SAC and GeoCSV files, but not mini-SEED.
+ Data in objects read from SAC or GeoCSV files will be scaled by the Stage 0 gain; fix this with `unscale!`.

# 2. **Bug Fixes**
* SEED submodule support functions (e.g. `mseed_support()`) now correctly info dump to stdout
* *merge!* is now logged in a way that *show_processing* catches
Expand All @@ -21,9 +29,26 @@ Functions *seedlink* and *seedlink!* now accept keyword *seq="* for starting seq
* The data processing functions *ungap!*, *taper!*, *env!*, *filtfilt!*, and *resample!* now correctly skip irregularly-sampled channels.
* Irregularly-sampled channels are no longer writable to ASDF, which, by design, does not handle irregularly-sampled data.
* ASDF groups and datasets are now always closed after reading with *read_hdf5*.
* Fixed issue #43; reading Steim-compressed mini-SEED into an existing channel with a Float64 data vector.
* In Julia v1.5+, calling `sizeof(R)` on an empty `MultiStageResp` object should no longer error.

## GitHub Issues Fixed
* #42 : mini-SEED calibration blockettes parse correctly again.
* #43 : reading Steim-compressed mini-SEED into an existing channel with an empty Float64 data vector should no longer error.
+ `get_data` should no longer error when the first part of a segmented request includes no data from some channels.
* #48 : mini-SEED Blockette 100 should now be handled as in the IRIS mini-SEED C library.
* #50 : `resample!` now consistently allows upsampling.
* #51 : `resample!` now correctly updates `:t` of a gapless SeisChannel.
+ The new `resample!` consumes slightly more memory than the previous incarnation, but behavior should be nearly identical.

## **SeisIO Test Scripts**
Fixed some rare bugs that could break automated tests.
* *test/TestHelpers/check_get_data.jl*: now uses a *try-catch* loop for *FDSNWS station* requests
* *tests/Processing/test_merge.jl*: testing *xtmerge!* no longer allows total timespan *δt > typemax(Int64)*
* *tests/Quake/test_fdsn.jl*: KW *src="all"* is no longer tested; too long, too much of a timeout risk
* *tests/Web/test_fdsn.jl*: bad request channels are deleted before checking file write accuracy
* Tests now handle time and data comparison of re-read data more robustly

# 3. **Consistency Changes**
# 3. **Consistency, Performance**
* *get_data* with *w=true* now logs the raw download write to *:notes*
* *show* now identifies times in irregular data as "vals", not "gaps"
* *show_writes* now prints the filename in addition to the write operation
Expand All @@ -34,48 +59,35 @@ Functions *seedlink* and *seedlink!* now accept keyword *seq="* for starting seq
* *write_sxml* now works with all GphysData subtypes
* *read_data* now uses verbosity for formats "slist" and "lennartz"
* *get_data("IRIS", ...)* now accepts `fmt="sac"` as an alias to `fmt="sacbl"`
* *sync!* has been rewritten based on @tclements suggestions (Issue #31). Notable changes:
* Much less memory use
* Much faster; ~6x speedup on tests with 3 channels of length ~10^7 samples
* More robust handling of unusual time matrices (e.g., segments out of order)
* *SeisIO.RandSeis* functions have been optimized.
+ *randSeisChannel* has two new keywords: *fs_min*, *fc*
+ *randSeisData* has two new keywords: *fs_min*, *a0*

## **SeisIO Test Scripts**
Fixed some rare bugs that could break automated tests.
* *test/TestHelpers/check_get_data.jl*: now uses a *try-catch* loop for *FDSNWS station* requests
* *tests/Processing/test_merge.jl*: testing *xtmerge!* no longer allows total timespan *δt > typemax(Int64)*
* *tests/Quake/test_fdsn.jl*: KW *src="all"* is no longer tested; too long, too much of a timeout risk
* *tests/Web/test_fdsn.jl*: bad request channels are deleted before checking file write accuracy
* Tests now handle time and data comparison of re-read data more robustly

# 4. **Other Changes**
* Most internal functions have now switched from keywords to positional args.
* RandSeis: `populate_arr!`, `populate_chan!`
* SeisHDF: `write_asdf` (note: doesn't affect `write_hdf5`)
# 4. **Developer API Changes**
* Most internal functions have switched from keywords to positional arguments. This includes:
* SeisIO: `FDSN_sta_xml` , `FDSNget!` , `IRISget!` , `fdsn_chp` , `irisws` , `parse_charr` , `parse_chstr` , `read_station_xml!` , `read_sxml` , `sxml_mergehdr!` , `trid`
* Rewrote SeisIO.RandSeis for faster structure generation
+ randSeisChannel has two new keywords: *fs_min* and *fc*
+ randSeisData has two new keywords: *fs_min* and *a0*
* [Official documentation](https://seisio.readthedocs.io/) updated
* SeisIO.RandSeis: `populate_arr!`, `populate_chan!`
* SeisIO.SeisHDF: `write_asdf` (note: doesn't affect `write_hdf5`)
* *t_extend* is now more robust and no longer needs a mini-API
+ previously, some rare cases of time matrix extension could break. They were likely never present in real data -- e.g., a time matrix with a gap before the last sample would break when extended by another sample -- but these "end-member" cases were theoretically possible.
+ the rewrite covers and tests all possible cases of time matrix extension.
* *check_for_gap!* is now a thin wrapper to *t_extend*, ensuring uniform behavior.
* Internal functions in *SeisIO.RandSeis* have changed significantly.

## **Documentation**
# 5. **Documentation**
* [Official documentation](https://seisio.readthedocs.io/) updated
* Many docstrings have been updated and standardized. Notable examples:
+ *?timespec* is now *?TimeSpec*
+ *?chanspec* is now *?web_chanspec*
+ *?taper* now exists
+ *?seedlink* keywords table corrected
+ SeisIO.Quake:
+ *?taper* once again exists
+ *?seedlink* keywords table is once again current
+ *SeisIO.Quake*:
- *?EventChannel* now produces a docstring, rather than an error
- *?get_pha!* now describes the correct function
* Updated and expanded the tutorial
- *?get_pha!* once again describes the correct function
* Updated and expanded the Jupyter tutorial
* Updated and expanded the time API
* Fixed issue #39
* Documentation improvements to address issues #44, #45.

## *sync!*
Rewritten based on @tclements suggestions (Issue #31). Notable changes:
* Much less memory use
* Much faster; ~6x speedup on tests with 3 channels of length ~10^7 samples
* More robust handling of unusual time matrices (e.g., segments out of order)

## **Internals**
* *t_extend* is now more robust and no longer needs a mini-API
+ previously, some rare cases of time matrix extension could break. They were likely never present in real data -- e.g., a time matrix with a gap before the last sample would break when extended by another sample -- but these "end-member" cases were theoretically possible.
+ the rewrite covers and tests all possible cases of time matrix extension.
* *check_for_gap!* is now a thin wrapper to *t_extend*, ensuring uniform behavior
* The internal functions in SeisIO.RandSeis have changed significantly.
* GitHub issues addressed by documentation fixes: #39, #44, #45

2 comments on commit 220ee02

@jpjones76
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JuliaRegistrator
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Registration pull request created: JuliaRegistries/General/17624

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a v1.1.0 -m "<description of version>" 220ee02b3f81fbef8bd5c67a209083510c0b2e30
git push origin v1.1.0

Please sign in to comment.