Skip to content

Commit 3cc2926

Browse files
create a pending changelog
1 parent a69d01b commit 3cc2926

File tree

2 files changed

+126
-0
lines changed

2 files changed

+126
-0
lines changed

docs/sphinx/source/changelog.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
RdTools Change Log
22
==================
3+
.. include:: changelog/pending.rst
34
.. include:: changelog/v3.1.0.rst
45
.. include:: changelog/v3.0.1.rst
56
.. include:: changelog/v3.0.0.rst
Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
***************
2+
Pending Changes
3+
***************
4+
5+
This document tracks changes pending release for the soiling module refactor.
6+
Changes from :pull:`435` are integrated via :pull:`479`.
7+
8+
9+
API Changes
10+
-----------
11+
* Renamed SRR soiling parameters for clarity and consistency (:pull:`479`):
12+
13+
- ``min_interval_length`` -> ``min_interval_days`` in :py:func:`~rdtools.soiling.soiling_srr`
14+
and :py:func:`~rdtools.soiling.monthly_soiling_rates`
15+
- ``max_negative_step`` -> ``max_neg_step`` in :py:func:`~rdtools.soiling.SRRAnalysis._calc_result_df`
16+
17+
* Consolidated soiling method names (:pull:`479`):
18+
19+
- Removed ``method="perfect_clean_complex"`` - use ``method="perfect_clean"``
20+
with ``detect_neg_shifts=True`` instead
21+
- Removed ``method="inferred_clean_complex"`` - use ``method="inferred_clean"``
22+
with ``detect_neg_shifts=True`` instead
23+
24+
* Renamed SRR parameters for new features (:pull:`479`):
25+
26+
- ``neg_shift`` -> ``detect_neg_shifts``
27+
- ``piecewise`` -> ``piecewise_fit``
28+
29+
30+
Enhancements
31+
------------
32+
* Added negative shift detection capability to :py:func:`~rdtools.soiling.soiling_srr`
33+
via the ``detect_neg_shifts`` parameter. When enabled, detects negative shifts
34+
in soiling profiles that may indicate partial cleaning events or sensor issues.
35+
(:pull:`435`, :pull:`479`)
36+
37+
* Added piecewise linear fitting capability to :py:func:`~rdtools.soiling.soiling_srr`
38+
via the ``piecewise_fit`` parameter. Detects changes in soiling rate slope within
39+
intervals using segmented regression. (:pull:`435`, :pull:`479`)
40+
41+
* Added ``collapse_window_days`` parameter to :py:func:`~rdtools.soiling.SRRAnalysis._calc_daily_df`
42+
to control collapsing of consecutive cleaning events (default: 5 days). (:pull:`479`)
43+
44+
* Added ``forward_median_window`` parameter to :py:func:`~rdtools.soiling.SRRAnalysis._calc_result_df`
45+
for forward median calculation in shift validation (default: 10). (:pull:`479`)
46+
47+
* Added ``neg_shift_factor`` parameter to control sensitivity of negative shift
48+
detection (default: 2.5). (:pull:`479`)
49+
50+
* Added ``min_piecewise_days`` parameter to set minimum interval length for
51+
piecewise fitting attempts (default: 27 days). (:pull:`479`)
52+
53+
* Added ``inferred_recovery`` and ``inferred_begin_shift`` columns to soiling interval
54+
summary output for tracking inferred cleaning recovery and beginning shift values.
55+
(:pull:`435`, :pull:`479`)
56+
57+
* Consecutive cleaning events are now always collapsed to single events
58+
(previously only when ``piecewise=True``). This improves soiling interval
59+
detection consistency. (:pull:`479`)
60+
61+
* Add capability to seed the CircularBlockBootstrap for reproducible uncertainty
62+
calculations. (:pull:`435`)
63+
64+
* Removed experimental warning label from soiling module. The SRR and CODS
65+
algorithms are now considered stable. (:pull:`435`, :pull:`479`)
66+
67+
68+
Bug Fixes
69+
---------
70+
* Fixed pylint bare except error for :py:func:`~rdtools.soiling.segmented_soiling_period`
71+
in ``soiling.py`` (:pull:`432`, :pull:`435`)
72+
73+
* Fixed variable shadowing bug in ``CODSAnalysis.iterative_signal_decomposition``
74+
where a local variable ``degradation`` shadowed the imported ``degradation``
75+
module, causing ``UnboundLocalError``. Renamed to ``degradation_value``. (:pull:`479`)
76+
77+
78+
Documentation
79+
-------------
80+
* Removed experimental warning docstrings and runtime warnings from soiling
81+
plotting functions: :py:func:`~rdtools.plotting.soiling_monte_carlo_plot`,
82+
:py:func:`~rdtools.plotting.soiling_interval_plot`, and
83+
:py:func:`~rdtools.plotting.soiling_rate_histogram`. (:pull:`435`, :pull:`479`)
84+
85+
* Added new example notebook ``soiling_options_comparison_v2.ipynb`` demonstrating
86+
the various soiling analysis options including ``detect_neg_shifts`` and
87+
``piecewise_fit``. (:pull:`479`)
88+
89+
90+
Testing
91+
-------
92+
* Added new test fixtures for soiling data with negative shifts
93+
(``soiling_normalized_daily_with_neg_shifts``) and piecewise slope changes
94+
(``soiling_normalized_daily_with_piecewise_slope``). (:pull:`435`, :pull:`479`)
95+
96+
* Added comprehensive tests for negative shift detection (``test_negative_shifts``),
97+
piecewise fitting (``test_piecewise``), and combined functionality
98+
(``test_piecewise_and_neg_shifts``). (:pull:`435`, :pull:`479`)
99+
100+
* Added pytests to cover invalid segmentations for
101+
:py:func:`~rdtools.soiling.segmented_soiling_period` including tests for
102+
non-datetime index, no change point found, short periods, and long periods.
103+
(:pull:`432`, :pull:`435`, :pull:`479`)
104+
105+
* Updated test parameter names to match API changes (``neg_shift`` ->
106+
``detect_neg_shifts``, ``piecewise`` -> ``piecewise_fit``, etc.). (:pull:`479`)
107+
108+
* Updated test function names (``test_soiling_srr_min_interval_length`` ->
109+
``test_soiling_srr_min_interval_days``, etc.). (:pull:`479`)
110+
111+
112+
Code Quality
113+
------------
114+
* Reformatted ``soiling.py`` with consistent double-quote string formatting
115+
and improved function signature readability. (:pull:`479`)
116+
117+
* Removed unused ``warnings`` import from ``plotting.py``. (:pull:`479`)
118+
119+
120+
Contributors
121+
------------
122+
* Martin Springer (:ghuser:`martin-springer`)
123+
* Matthew Muller (:ghuser:`mmuller`)
124+
* Noah Moyer (:ghuser:`noromo01`)
125+
* Quyen Nguyen (:ghuser:`qnguyen345`)

0 commit comments

Comments
 (0)