-
Notifications
You must be signed in to change notification settings - Fork 81
Release 3.2.0 #487
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
base: master
Are you sure you want to change the base?
Release 3.2.0 #487
Changes from all commits
0294a7e
2560977
1476f02
b25219d
1d2d060
3f773bf
3c594db
f4a18e1
8b22e2e
6238de5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Large diffs are not rendered by default.
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,78 @@ | ||
| ************************* | ||
| v3.2.0 (X, X, 2026) | ||
| ************************* | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Another even more in the weeds changes is that we have replaced NaNs in |
||
|
|
||
| Enhancements | ||
| ------------ | ||
| * :py:func:`~rdtools.degradation.degradation_year_on_year` has new parameter ``multi_yoy`` | ||
| (default False) to trigger multiple YoY degradation calculations similar to Hugo Quest et | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Let's include a citation to the Quest paper |
||
| al 2023. In this mode, instead of a series of 1-year duration slopes, 2-year, 3-year etc | ||
| slopes are also included. calc_info['YoY_values'] returns a non-monotonic index | ||
| in this mode due to multiple overlapping annual slopes. (:issue:`394`) | ||
| * :py:func:`~rdtools.degradation.degradation_year_on_year` now returns | ||
| ``calc_info['YoY_times']`` DataFrame with ``dt_right``, ``dt_center``, and ``dt_left`` | ||
| columns for each YoY slope. (:issue:`459`) | ||
| * :py:func:`~rdtools.plotting.degradation_timeseries_plot` now supports ``multi_yoy=True`` | ||
| data. To avoid over-filtering, only slopes on the order of 2 years (731 days) or | ||
| shorter are included in the center-labeled median. (:issue:`394`) (:pull:`498`) | ||
| * :py:func:`~rdtools.plotting.degradation_timeseries_plot` refactored to do a rolling | ||
| median, for all slopes whose center timestamp is inside the window. | ||
| ``min_periods`` reduced to ``rolling_days//4``. | ||
| (:issue:`455`) (:pull:`498`) | ||
| * Added ``min_periods_divisor`` argument to | ||
| :py:func:`rdtools.plotting.degradation_timeseries_plot` to control the | ||
| minimum number of observations required in each rolling window | ||
| (``rolling_days // min_periods_divisor``). The current default of ``2`` | ||
| is preserved, and a ``FutureWarning`` is emitted when the default is | ||
| used to signal that the default will change to ``4`` in a future major | ||
| release, making the time-series plot more resilient to small data | ||
| outages without losing fidelity. (:pull:`498`) | ||
| * :py:func:`~rdtools.plotting.degradation_summary_plots` ``detailed=True`` mode now | ||
| properly handles points used odd vs even number of times (not just 0, 1, 2). | ||
| (:issue:`394`) | ||
| * Added new example notebook ``docs/Multi-year_on_year_example.ipynb`` demonstrating the | ||
| ``multi_yoy=True`` features of | ||
| :py:func:`~rdtools.degradation.degradation_year_on_year`. (:issue:`394`) | ||
|
|
||
| Bug Fixes | ||
| --------- | ||
| * Fixed ``usage_of_points`` calculation in :py:func:`~rdtools.degradation.degradation_year_on_year` | ||
| to properly handle ``multi_yoy=True`` mode with overlapping slopes. (:issue:`394`) | ||
|
|
||
| Maintenance | ||
| ----------- | ||
| * Added ``_avg_timestamp_old_Pandas`` helper function for pandas <2.0 compatibility | ||
| when calculating center labels. | ||
| * Fixed nbval workflow command syntax (``--sanitize-with`` to ``--nbval-sanitize-with``). | ||
| * Improved pandas 3.0 compatibility with datetime resolution handling. | ||
| * Updated ``docs/notebook_requirements.txt`` to require ``numexpr>=2.10.2`` and | ||
| ``tabulate>=0.9.0`` to satisfy pandas' optional dependency minimum versions and | ||
| avoid related warnings/errors. | ||
| * Removed trailing semicolons in example notebooks. | ||
| * Added ``.coverage.*`` pattern to ``.gitignore``. | ||
| * Updated the download URL for the ``pvdaq_system_4_2010-2016_subset_soil_signal.csv`` | ||
| example dataset used by the notebooks and the analysis chains tests to a | ||
| GitHub release asset under ``NatLabRockies/rdtools``. (:pull:`513`) | ||
|
|
||
| Testing | ||
| ------- | ||
| * Added tests for error handling paths in :py:mod:`~rdtools.analysis_chains`: | ||
| ``filter_params`` and ``filter_params_aggregated`` setter validation, | ||
| ``clearsky_rescale_index_mismatch``, ``poa_filter_without_poa``, | ||
| ``tcell_filter_without_temperature``, ``hour_angle_filter_without_location``, | ||
| ``clearsky_filter_without_poa``, and ``degradation_timeseries_plot_invalid_case``. | ||
| * Added tests for error handling paths in :py:mod:`~rdtools.degradation`: | ||
| ``classical_decomposition`` missing/irregular data, ``year_on_year`` circular block | ||
| validation, no valid pairs error, and ``_mk_test`` edge cases (no trend, ties, | ||
| decreasing). | ||
| * Added test for ``multi_yoy=True`` parameter in ``degradation_year_on_year``. | ||
| * Added tests for :py:func:`~rdtools.plotting.degradation_timeseries_plot` | ||
| covering multi-YoY duplicate index handling, and ``KeyError`` path. | ||
| * Set matplotlib backend to ``Agg`` in test ``conftest.py`` to avoid tkinter issues. | ||
|
|
||
|
|
||
| Contributors | ||
| ------------ | ||
| * Chris Deline (:ghuser:`cdeline`) | ||
| * Martin Springer (:ghuser:`martin-springer`) | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| { | ||
| "path": "../../../Multi-year_on_year_example.ipynb" | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to add an explanation that the index of YoY_values has changed from a timestamp to integer and that the original behavior can be reconstructed with the help of
calc_info['YoY_times']. Strictly speaking, I don't think this is backward compatible, but for this case I think it may be ok to keep it in a minor version update.