Methods
Methods in CESM control how entities behave during optimization. Each method defines which parameters are required and how they are interpreted by the solver. This design makes it straightforward to validate input data: if a method is selected, the corresponding parameters must be present. It also makes the specification easier to extend — adding a new method does not break existing functionality, and a model tool can clearly report whether it supports a given method.
Conversion Method
The ConversionMethod enum is set on Unit via conversion_method.
It determines how a unit converts input flows to output flows.
| Method | Description | Required Parameters | Example |
|---|---|---|---|
|
Single efficiency value applied uniformly across all operating points. The unit converts all inputs to outputs using this constant ratio. |
|
Unit |
|
Piecewise linear efficiency defined by two operating points. Allows modelling efficiency that varies with load. |
|
|
Flow Scaling Method
The FlowScalingMethod enum is available on Balance and Storage entities through the HasFlow mixin.
It controls how flow_profile time series data is interpreted.
| Method | Description | Required Parameters | Example |
|---|---|---|---|
|
The |
|
Balance |
|
The |
|
Balance |
Startup Method
The StartupMethod enum is set on Unit via startup_method.
It controls how the online/offline status of a unit is modelled.
| Method | Description | Required Parameters | Example |
|---|---|---|---|
|
The online variable is continuous (relaxed LP formulation). Faster to solve but allows fractional online states. |
|
|
|
The online variable is discrete (MIP formulation). The unit is either fully online or fully offline. |
|
|
Transfer Method
The TransferMethod enum is set on Link via transfer_method.
It defines how energy is transferred between nodes.
| Method | Description | Required Parameters | Example |
|---|---|---|---|
|
Standard linear transfer with fixed efficiency and capacity. |
|
Link |
Solve Mode
The SolveMode enum is set on Solve_pattern via solve_mode.
It determines the temporal structure of the optimization.
| Method | Description | Required Parameters | Example |
|---|---|---|---|
|
The entire time horizon is solved in one optimization window. |
|
|
|
The time horizon is solved using a rolling window that advances by |
|
Solve_pattern |
Investment Method
The InvestmentMethod enum is available on Unit, Port, Link, and Storage entities through the HasInvestments mixin. It controls whether and how new capacity investments are allowed.
| Method | Description | Required Parameters | Example |
|---|---|---|---|
|
No new investment is possible. Existing capacity is used as-is. |
None |
|
|
Unconstrained investment. The solver can build any amount of new capacity, subject to economic parameters. |
|
Unit |