Skip to content

Commit

Permalink
Update Calliope terminology description in docs (#706)
Browse files Browse the repository at this point in the history
* Add system description image
  • Loading branch information
brynpickering authored Dec 4, 2024
1 parent 8123e2b commit c300f2e
Show file tree
Hide file tree
Showing 5 changed files with 692 additions and 24 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

### User-facing changes

|changed| "An overview of the Calliope terminology" information admonition to remove self-references and improve understandability.
Now also includes a visual depiction of how the different defined components connect together (#699).

|fixed| Area-based parameters have appropriate documented units of `area` rather than `area^2` (#701).

|fixed| Technology capacity lower bound constraints so that `[cap-type]_min` (e.g., `flow_cap_min`) is not always enforced if the `purchased_units` variable is active (#643).
Expand Down
2 changes: 1 addition & 1 deletion docs/advanced/solver.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Gurobi

Refer to the [Gurobi manual](https://www.gurobi.com/documentation/), which contains a list of parameters.
Refer to the [Gurobi manual](https://docs.gurobi.com/projects/optimizer/en/current/reference/parameters.html), which contains a list of parameters.
Simply use the names given in the documentation (e.g. "NumericFocus" to set the numerical focus value).
For example:

Expand Down
37 changes: 17 additions & 20 deletions docs/creating/index.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,22 @@
# Creating a model

In short, a Calliope model works like this: **supply technologies** can take a **source** from outside of the modeled system and turn it into a specific **carrier** in the system.
The model specifies one or more **nodes** along with the technologies allowed at those nodes.
**Transmission technologies** can move the same carrier from one node to another, while **conversion technologies** can convert one carrier into another at the same node.
**Demand technologies** remove carriers from the system through a **sink**, while **storage technologies** can store carriers at a specific node.
Putting all of these possibilities together allows a modeller to specify as simple or as complex a model as necessary to answer a given research question.

??? info "An overview of the Calliope terminology"
The terminology defined here is used throughout the documentation and the model code and configuration files:

* **Technology**: a technology that produces, consumes, converts or transports carriers.
* **Node**: a site which can contain multiple technologies and which may contain other nodes for carrier balancing purposes.
* **Source**: a source of commodity that can (or must) be used by a technology to introduce carriers into the system.
* **Sink**: a commodity sink that can (or must) be used by a technology to remove carriers from the system.
* **Carrier**: a carrier that groups technologies together into the same network, for example `electricity` or `heat`.

As more generally in constrained optimisation, the following terms are also used:

* Parameter: a fixed coefficient that enters into model equations.
* Variable: a variable coefficient (decision variable) that enters into model equations.
* Constraint: an equality or inequality expression that constrains one or several variables.
A Calliope model is a collection of interconnected technologies, nodes and carriers describing a real world system of flows.
Usually, we consider those to be _energy_ flows, and most of what you will read in this documentation concerns energy systems.
However, it is just as applicable to other types of flows, such as water!

**Carriers** are commodities whose flows we track, e.g., electricity, heat, hydrogen, water, CO<sub>2</sub>.

**Technologies** supply, consume, convert, store or transmit _carriers_, e.g., transmission lines/pipes, batteries, power plants, wind turbines, or home appliances.

**Nodes** contain groups of _technologies_ and are usually geographic, e.g., a country, municipality or a single house.

Flows can enter the system from **sources**, e.g., energy from the sun to power a solar panel, and can exit it into **sinks**, e.g., electricity consumed by household appliances.
Unlike _carriers_, we do not explicitly track the type of commodity described by sources and sinks.

Putting all of these possibilities together allows a modeller to create a model that is as simple or complex as necessary to answer a given research question.
Calliope's syntax ensures these models are intuitive, and easy to understand and share.

![Visual description of the Calliope terminology.](../img/description_of_system.svg)

!!! example
Refer to the [examples and tutorials section](../examples/index.md) for a more practical look at how to build a Calliope model.
Expand Down
Loading

0 comments on commit c300f2e

Please sign in to comment.