From ceba4578e5cd3e0a8e1e2206cc57f648737265b4 Mon Sep 17 00:00:00 2001 From: Jason Regina Date: Mon, 14 Jun 2021 09:38:46 -0500 Subject: [PATCH 1/3] add event detection tips --- python/events/README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/python/events/README.md b/python/events/README.md index 3096132f..4045b2aa 100644 --- a/python/events/README.md +++ b/python/events/README.md @@ -92,3 +92,14 @@ usgs_site_code 37 2020-09-27 01:00:00 2020-09-27 03:00:00 38 2020-09-28 05:00:00 2020-09-28 11:00:00 ``` + +### Event Detection Tips +The `evaluation_tools.events.event_detection.decomposition` method has two main parameters: `halflife` and `window`. These parameters are passed directly to underlying filters used to remove noise and model the underlying trend in a streamflow time series (also called *baseflow*). Significant contiguous deviations from this trend are flagged as "events". This method was originally conceived to detect rainfall-driven runoff events in small watersheds from records of volumetric discharge or total runoff. Before using decomposition you will want to have some idea of the event timescales you hope to detect in your original time series. + +In general you'll want to consider the following: + +1. Ensure your time series is monotonically increasing with a frequency significantly less than the frequency of events and fill missing data +2. Use a `pandas.Timedelta` compatible `str` to specify `halflife` and `window`. See the [pandas docs](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Timedelta.html) +3. Specify a `halflife` larger than the expected frequency of noise, but smaller than the event timescale +4. Specify a `window` larger than the event timescale, but at least 4 to 5 times smaller than the entire length of the time series +5. Filter the final list of events to remove false positive events, particularly in noisy signals. Filter could be based on peak flow, duration, or other event characteristics From 7461ac56c0b252b5cfb6ffb3572081031ef2b505 Mon Sep 17 00:00:00 2001 From: Jason Regina Date: Mon, 14 Jun 2021 09:42:03 -0500 Subject: [PATCH 2/3] tweak language --- python/events/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/events/README.md b/python/events/README.md index 4045b2aa..6443e3cd 100644 --- a/python/events/README.md +++ b/python/events/README.md @@ -94,7 +94,7 @@ usgs_site_code ``` ### Event Detection Tips -The `evaluation_tools.events.event_detection.decomposition` method has two main parameters: `halflife` and `window`. These parameters are passed directly to underlying filters used to remove noise and model the underlying trend in a streamflow time series (also called *baseflow*). Significant contiguous deviations from this trend are flagged as "events". This method was originally conceived to detect rainfall-driven runoff events in small watersheds from records of volumetric discharge or total runoff. Before using decomposition you will want to have some idea of the event timescales you hope to detect in your original time series. +The `evaluation_tools.events.event_detection.decomposition` method has two main parameters: `halflife` and `window`. These parameters are passed directly to underlying filters used to remove noise and model the trend in a streamflow time series (also called *baseflow*). Significant contiguous deviations from this trend are flagged as "events". This method was originally conceived to detect rainfall-driven runoff events in small watersheds from records of volumetric discharge or total runoff. Before using decomposition you will want to have some idea of the event timescales you hope to detect. In general you'll want to consider the following: @@ -102,4 +102,4 @@ In general you'll want to consider the following: 2. Use a `pandas.Timedelta` compatible `str` to specify `halflife` and `window`. See the [pandas docs](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Timedelta.html) 3. Specify a `halflife` larger than the expected frequency of noise, but smaller than the event timescale 4. Specify a `window` larger than the event timescale, but at least 4 to 5 times smaller than the entire length of the time series -5. Filter the final list of events to remove false positive events, particularly in noisy signals. Filter could be based on peak flow, duration, or other event characteristics +5. Filter the final list of events to remove false positive events, particularly in noisy signals. You could filter on peak event flow, event duration, or other event characteristics From bfd7492919c5babe25d210c23ca96b7f7801ca00 Mon Sep 17 00:00:00 2001 From: Jason Regina Date: Mon, 14 Jun 2021 09:43:02 -0500 Subject: [PATCH 3/3] increment patch version --- python/events/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/events/setup.py b/python/events/setup.py index eb049caf..ffea87f4 100644 --- a/python/events/setup.py +++ b/python/events/setup.py @@ -14,7 +14,7 @@ SUBPACKAGE_SLUG = f"{NAMESPACE_PACKAGE_NAME}.{SUBPACKAGE_NAME}" # Subpackage version -VERSION = "1.0.1" +VERSION = "1.0.2" # Package author information AUTHOR = "Jason Regina"