Skip to content

feat(config): map PV arrays with their own production profiles - #4

Merged
jravani merged 1 commit into
feat/demand-series-and-heatfrom
feat/pv-arrays
Nov 1, 2026
Merged

jravani merged 1 commit into
feat/demand-series-and-heatfrom
feat/pv-arrays

Conversation

@jravani

@jravani jravani commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

Fixes #5. Stacked on #3.

  • techs.pv_arrays[$j] becomes the supply technology pv_supply_${k}_$j, with the series pv_${k}_$j as performance.precomputed.
  • Mapping version 1.3.0; docs and CHANGELOG updated.

Tests: TestMappingPVArrays (forward and reverse), make test, go vet; checked in dry run through MEME /validate and /convert for Calliope.

A building's PV reached MEME as one pv_supply technology with physics
parameters and no profile. MEME's Calliope and PyPSA targets need a
precomputed profile for a physics technology, and a building can carry
PV on several roof surfaces with different orientations.

techs.pv_arrays lists the arrays of a building, one per surface. Array
$j becomes the series pv_${k}_$j (source inline, unit fraction, the
profile in kW AC per kW DC unchanged) and the supply technology
pv_supply_${k}_$j, whose performance.precomputed names that series. The
technology takes tilt, azimuth and losses as physics parameters and the
shared capacity and cost rules, so cont_energy_cap_max bounds the
array's size. surface_id is not carried. techs.pv_supply is mapped as
before.

A payload without pv_arrays produces the same job as before: the
examples and golden files are unchanged. The reverse restores the
arrays with their profiles. The mapping's version is now 1.3.0.
@jravani
jravani merged commit 2e51dd6 into feat/demand-series-and-heat Nov 1, 2026
7 checks passed
@jravani
jravani deleted the feat/pv-arrays branch November 1, 2026 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant