Skip to content

BREOS 0.5.0

Choose a tag to compare

@Str4vinci Str4vinci released this 05 Aug 14:03
· 50 commits to develop since this release
134c99e

Purpose

0.5.0 brings optional bifacial rear-gain modelling. You can also choose the PV physics: the IAM model, cell-temperature model and mount-appropriate presets. Every choice ships with seven-site benchmark rows, so you can see what it costs before you switch.

Highlights

Bifacial rear gain. Set bifacial_model="infinite_sheds" with a sourced module bifaciality plus explicit row height and pitch, and rear irradiance feeds both DC power and the cell-temperature model — so rear gain is never credited with power but no heat. It gets its own bifacial_rear_gain stage in the loss waterfall and its own provenance block. Left at the default "none", nothing changes.

Selectable IAM optics. iam_model now takes ashrae (the historical default), physical, or martin_ruiz. With diffuse_iam="marion" enabled, the same model is integrated for sky and ground, so beam and diffuse optics cannot silently disagree.

Cell-temperature fidelity. Named SAPM construction/mounting presets, strict opt-in noct-sam, and PVsyst presets that model a realistic module efficiency instead of pvlib's legacy 0.1 placeholder.

Inverter datasheet limits. InverterConfig accepts the DC voltage/power ceilings, MPPT window, startup voltage, per-MPPT current limits, and strings-per-MPPT. They validate against each other but are not read by any model yet — no result changes.

Documentation. Read the Docs is reorganized around task-oriented guides, model assumptions, and API reference, with internal design notes moved to the repository.

Breaking-ish changes

Three fixes move numbers. None affect a default configuration:

  1. Multi-array tracking honours the top-level gcr. Per-array tracking previously fell back to a hardcoded 0.35, so a non-default top-level gcr never reached it. Set gcr explicitly on each pv_arrays entry to keep the old geometry.
  2. An out-of-range gcr is now rejected at App() construction. pvlib silently derives a different backtracking rotation instead of complaining, so a mistyped 3.5 used to return roughly half the annual energy with no error.
  3. pvsyst-* temperature presets model a realistic module efficiency. Expect cell temperatures roughly 2.5–3 °C lower and annual yield 1.0–1.3% higher for those presets.

Also: provenance.ledger_schema_version is now 1.1 (additive — new waterfall stage, new provenance.pv_model block, iam stage relabelled to name the front side). Consumers that pin the value need to accept 1.1. And InverterConfig now validates its long-standing fields on construction, so a negative rating or an efficiency above 1 raises ValueError instead of quietly producing nonsense.

Validation

Seven sites on four continents, with the self-baseline drift test holding every model variant to 0.1%. The bifacial, IAM, temperature, and equal-nameplate comparison rows are all in validation/REPORT.md, alongside their geometry, albedo, inverter loading, and the front-shading limitation that keeps dense-row rear-gain numbers from being a bankable layout estimate.

What's Changed

Full Changelog: v0.4.2...v0.5.0