Skip to content

Release v0.7.0.dev8

Pre-release
Pre-release

Choose a tag to compare

@irm-codebase irm-codebase released this 01 Sep 16:08
· 1 commit to main since this release
55f3385

User-facing changes

|changed| Rename definition_matrix input array to active, indexed over only nodes and techs (no longer also carriers), to align with YAML active definition.

|changed| |backwards-incompatible| foreach now restricts components to active node/tech combinations only; it no longer implicitly restricts the carriers dimension. Carrier membership must be stated explicitly in a component's where string (e.g., carrier_out, or a reference to a decision variable that is itself gated on carriers).

|removed| |backwards-incompatible| defined math helper function no longer available. Users should now define a boolean lookup array in their inputs to access the same functionality.

|new| init config key retain_inactive which allows deactivated components to remain in the input array rather than be cleaned out. Enables components to be re-activated after model instantiation but before running the optimisation problem. Defaults to False for backwards compatibility.

|new| Optimisation problems can be built and solved with the open-source HiGHS solver via a new, direct backend interface: config.build.backend: highs (#856). Piecewise constraints are not yet available in this backend.

|removed| link_flow_cap decision variable, for constraining the flow_cap either end of a transmission link to the same value. Instead, rather than via this auxiliary variable, the constraint is applied directly to each flow_cap entry.

|changed| link_from/link_to and one_way transmission technology parameters persist in the inputs array and their handling is deferred to the math.

|new| map_dim math helper function, to map from a string lookup array indexed over dimension(s) != , where entries are references to values of dimension , to a boolean array. |fixed| "Running in Python" docs to load models with calliope.read_yaml instead of the removed calliope.Model(path) instantiation form (#870).

|fixed| Default values on masked array entries entering into math expression summation. In particular, fixes sum(flow_cap, over=carriers) on the constraint source_availability_supply erroneously returning inf (#862).

|fixed| Time clustering method, to handle cases where floating point errors can lead to index mismatches and dropped clusters (#826).

|new| user-defined math example introducing monthly peak charges (#727).

|changed| data table key data → table and parameters → inputs, to avoid confusion with math components (#814).

|fixed| parameters loaded in from multiple data tables indexed over different dimensions broadcast across nodes and techs correctly (#806).

|new| YAML math section for creating data arrays after solving a model, using expressions combining inputs and/or results (#638).

|new| Dimensions can now be referenced in math where and expression strings and arithmetic can be used when making comparisons and using helper functions in where strings (#733).

|removed| Duplication of math attributes in array attributes. For example, model.inputs.flow_cap_max.attrs["default"] is now only available from model.math.build.parameters.flow_cap_max.default.

|changed| Init config can be updated on re-init and on loading a model from NetCDF, e.g. to apply new subsetting, resampling, clustering, math.

|fixed| Reloading a clustered model from file was attempting to re-cluster (#824).

|fixed| Example notebook outputs no longer clutter search results in docs and search result example notebook pages are grouped under the top-level page header (#675).

|fixed| Documentation now clarifies more explicitly that Calliope is unit-agnostic and that capacity and its costs are relative to carrier flow (#775).

|fixed| Documentation explains better how dimensions and broadcasting work (#667).

|fixed| Documentation improvements: Clarify dimension subsetting documentation, always reference calliope.read_yaml(path) rather than calliope.Model(path) (#829)

|changed| Community and help links now point to Zulip (https://calliope-modelblocks.zulipchat.com/) instead of GitHub Discussions.

|fixed| Pre-defined operate mode math is now documented alongside the other built-in math.

|fixed| Built-in math documentation now shows components that an override deactivates (REMOVED) and those it moves to a different component group, e.g. from decision variable to parameter (REDEFINED).

|changed| Math documentation includes math components that have no math expression to show, documenting them by their description alone.

What's Changed

New Contributors

Full Changelog: v0.7.0.dev7...v0.7.0.dev8