You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Prompt: "Let’s add one parent issue for caliope and file focused issues for individual topics or link existing ones."
Note
The following content was generated by AI.
Calliope reads annual_flow_max and net_import_share at whatever shape the data gives. A mathspec parameter has one declared shape. The recommendation: refuse this by design, and add a row to limits.md that says to declare one parameter per shape.
Case, why refuse, what to change
Case. In Calliope v0.7.0, annual_energy_balance.yaml reads annual_flow_max per technology, per node, and over a group. net_import_share.yaml does the same with its share. The data decides which shape applies. The port in #770 declares one shape each. The group row reads a separate scalar, annual_flow_max_group, and net_import_share is one number.
Why refuse. A shape that the data decides is a declaration that depends on the data. limits.md already refuses "declarations that depend on the data", because to_spec could then no longer read the file without the data. A parameter per shape states the same model with the shape visible in the file. The port's form is the correct one, not a workaround.
What to change.
Add a row to limits.md → Deliberate non-primitives: "One parameter read at several shapes. Why refused: the data would decide the declaration. Instead: one parameter per shape, each read by its own row."
Note
The following content was generated by AI.
Calliope reads
annual_flow_maxandnet_import_shareat whatever shape the data gives. A mathspec parameter has one declared shape. The recommendation: refuse this by design, and add a row tolimits.mdthat says to declare one parameter per shape.Case, why refuse, what to change
Case. In Calliope v0.7.0,
annual_energy_balance.yamlreadsannual_flow_maxper technology, per node, and over a group.net_import_share.yamldoes the same with its share. The data decides which shape applies. The port in #770 declares one shape each. The group row reads a separate scalar,annual_flow_max_group, andnet_import_shareis one number.Why refuse. A shape that the data decides is a declaration that depends on the data.
limits.mdalready refuses "declarations that depend on the data", becauseto_speccould then no longer read the file without the data. A parameter per shape states the same model with the shape visible in the file. The port's form is the correct one, not a workaround.What to change.
limits.md→ Deliberate non-primitives: "One parameter read at several shapes. Why refused: the data would decide the declaration. Instead: one parameter per shape, each read by its own row."If a maintainer sees a case that one parameter per shape cannot state, that case reopens the question.