Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion docs/inputs/technodata.rst
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,10 @@ TechnicalLife
represents the number of years that a technology operates before it is decommissioned.

UtilizationFactor
represents the maximum actual output of the technology in a year, divided by the theoretical maximum output if the technology were operating at full capacity for the whole year. Must be between 0 and 1.
represents the *maximum* actual output of the technology in a year, divided by the theoretical maximum output if the technology were operating at full capacity for the whole year. Must be between 0 and 1.

MinimumServiceFactor
Is the *minimum* output of the technology in a year, divided by the theoretical maximum output if the technology were operating at full capacity for the whole year. Must be between 0 and 1 and be smaller or equal than the `UtilizationFactor`. It is used to define the minimum service level that a technology must provide due to, typically, technical or efficiency constraints.

ScalingSize
represents the reference capacity at which capital costs are estimated when used as agents' objective as described in :ref:`inputs-agents`.
Expand Down
2 changes: 1 addition & 1 deletion src/muse/constraints.py
Original file line number Diff line number Diff line change
Expand Up @@ -530,7 +530,7 @@ def minimum_service(
.drop_vars("technology")
)
capacity = convert_timeslice(
techs.fixed_outputs * techs.utilization_factor * techs.minimum_service_factor,
techs.fixed_outputs * techs.minimum_service_factor,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where does the division by the maximum output happen?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't: the minimum service factor is the result of that division, that is why it is a fraction! fixed_outputs would be the absolute maximum and you multiply it by utilization_factor or the minimum_service_factor to recover the upper and lower limits of the production.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh I seeeee

market.timeslice,
QuantityType.EXTENSIVE,
)
Expand Down