osier.equations.objective_from_capacity#
- osier.equations.objective_from_capacity(technology_list, attribute, solved_dispatch_model=None)[source]#
This function calculates a general objective for a given set of technologies and their corresponding dispatch on a per-unit-capacity basis.
The general objective function is
\[\mathcal{K} = \sum_g^G \textbf{CAP}_g \kappa_g,\]\[\textbf{CAP}_g = \text{the capacity of the g-th technology} \quad \left[MW\right].\]\[\kappa_g = \text{the power density of the g-th technology} \quad \left[\frac{-}{MW}\right].\]Warning
User-defined attributes are not validated by
osier. Verify the units are accurate and uniform across all technologies before running a simulation with this function.- Parameters:
technology_list (list of
osier.Technologyobjects) – The list of technologies.solved_dispatch_model (
osier.DispatchModel) – A _solved_ dispatch model (i.e. with model results and objective attributes).attribute (string) – The technology attribute to measure.
- Returns:
objective_value – The objective value for a particular energy mix.
- Return type:
Examples
The simplest way to employ this function is with functools.partial.
>>> import functools >>> from osier import per_unit_capacity >>> objectives_list = [functools.partial(objective_from_capacity, attribute='land_use'), ... functools.partial(objective_from_capacity, attribute='employment')]