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

openego / eDisGo / 36383938974
84%

Build:
DEFAULT BRANCH: dev
Ran 28 Sep 2026 07:35AM UTC
Jobs 1
Files 68
Run time 1min
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

28 Sep 2026 05:54AM UTC coverage: 84.011%. Remained the same
36383938974

push

github

web-flow
Adjusted the time exponent used in the heat storage energy constraint… (#717)

* Adjusted the time exponent used in the heat storage energy constraint for inter-time-step state-of-charge coupling. Now fractions of hours can be simulated.

* test(opf): pin the thermal storage standing loss to the elapsed time

The exponent fix of the previous commit has no test, and none of the existing
ones could have caught it: eDisGo_OPF.jl has no test suite of its own, and every
snapshot index in tests/opf/test_powermodels_opf.py is hourly, which is the one
resolution at which the old formula was right.

The test solves the OPF on a 15-minute index and checks the energy balance the
solver enforced. That is possible without forcing the storage power to zero
because both variables of the constraint are written back: heat_storage_t.e is
hse and heat_storage_t.p is phs, so

    e[t+1] == e[t] * (1 - p_loss)**(time_elapsed/24) - time_elapsed * p[t+1]

can be checked directly. It also asserts that the same balance does NOT hold
with the fixed 1/24 exponent, so the test fails if the old formula returns
rather than passing for both.

It needs the time_elapsed fix of #693 to pass: without it a 15-minute step
arrives as int(0.25) == 0, the decay becomes 1 and the coupling degenerates to
e[t+1] == e[t]. Verified both ways -- the test fails on this branch alone and
passes once #693's branch is merged in.

openego/eDisGo#697

* test(opf): solve the standing-loss test with Ipopt, not Gurobi

method="soc" runs the OPF through Gurobi, which needs a licence the CI does
not have -- the two existing OPF tests both use method="nc" for that reason.
The test passed locally and failed in CI.

Ipopt enforces the equality just as tightly: the balance holds to 1.1e-16 while
the fixed-exponent variant is off by 1.2e-3, so the 1e-6 tolerance still
separates the two by three orders of magnitude. Rechecked both ways, the test
passes with the fix and fails without it.

Also asserts the storage i... (continued)

9568 of 11389 relevant lines covered (84.01%)

0.84 hits per line

Jobs
ID Job ID Ran Files Coverage
1 36383938974.1 28 Sep 2026 07:35AM UTC 68
84.01
GitHub Action Run
Source Files on build 36383938974
  • Tree
  • List 68
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • e87f7ab4 on github
  • Prev Build on dev (#36118471475)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc