• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pvlib / pvanalytics / 784
100%

Build:
DEFAULT BRANCH: master
Ran 13 Oct 2020 01:20PM UTC
Jobs 3
Files 37
Run time 57s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
784

push

travis-ci

web-flow
Time shift detection (#74)

* Implementation of ruptures-based time shift detection

* Add optional dependency on ruptures 

* Add tests for +/- 1-hour shifts

Create a fixture that can be used for most/all time-shift tests.

* Exclude the change point from shift labels

The index returned by ruptures is the first index of the changed
signal. We change the call to pandas.cut() to be closed on the
left and open on the right so that the shift labels are assigned
correctly.

Also pass jump=1 to ruptures.Pelt.__init__ to get the best
precision in the changepoint detection results. We may want to
allow users to pass a different `jump` if they want to get better
performance at the price of reduced precision.

* Only append last index if not identified as a breakpoint

Ruptures seems to always return the last index when using Pelt;
however, there does not appear to be any guarantee of this in the
documentation. To make sure that the entire series is covered by
the intervals passed to cut we add the last index+1 if it is not
already present in the breakpoint list.

* Refactor rounding to support more conservative shift estimates

Adds parameters to specify where to round to and the point at
which to round up instead of down. Will facilitate the more
conservative shift estimation in the PVFleets project, just need
to expose these two params at the top-level API.

* Tweak the ruptures.Pelt.predict() penalty parameter

Reducing the penalty slightly gets all the tests passing. I am
slightly concerned about whether the value we are using (13) is
actually a reasonable value. The effect of `pen` and its interaction
with the `min_size` parameter to ruptures.Pelt() makes me think
that `pen` (and other ruptures-related paramters) should be exposed
in the API.

* Document the algorithm implemented by time.shifts_ruptures()

* Explicitly unset the frequency for the daytime mask in tests

Having a frequency set creates probl... (continued)

1434 of 1439 relevant lines covered (99.65%)

2.99 hits per line

Jobs
ID Job ID Ran Files Coverage
1 784.1 13 Oct 2020 01:21PM UTC 0
99.65
Travis Job 784.1
2 784.2 13 Oct 2020 01:20PM UTC 0
99.65
Travis Job 784.2
3 784.3 13 Oct 2020 01:20PM UTC 0
99.66
Travis Job 784.3
Source Files on build 784
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #784
  • f6bd37ac on github
  • Prev Build on master (#767)
  • Next Build on master (#804)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc