patio.model.colo_resources¶
Attributes¶
Classes¶
Base class for protocol classes. |
|
Work with multiple cvxpy.Variable objects as if they were one. |
|
Returns: |
|
Returns: |
|
Returns: |
|
This allows storage duration to be a parameter while preserving the |
|
x_s, x_dt, x_ct, x_st |
|
x_s, x_dt, x_ct, x_st |
|
x_d, x_s, x_dt, x_ct, x_st |
|
Charges thermal storage to meet a constant (thermal) load. |
|
x_d, x_c, x_s, x_dt, x_ct, x_st |
|
x_j |
|
x_lt x_ft |
|
x_ft |
|
x_f x_lt |
|
x_f x_lt |
|
x_f x_lt |
Functions¶
|
Module Contents¶
- class patio.model.colo_resources.ParamVarLike[source]¶
Bases:
Protocol
Base class for protocol classes.
Protocol classes are defined as:
class Proto(Protocol): def meth(self) -> int: ...
Such classes are primarily used with static type checkers that recognize structural subtyping (static duck-typing).
For example:
class C: def meth(self) -> int: return 0 def func(x: Proto) -> int: return x.meth() func(C()) # Passes static type check
See PEP 544 for details. Protocol classes decorated with @typing.runtime_checkable act as simple-minded runtime protocols that check only the presence of given attributes, ignoring their type signatures. Protocol classes can be generic, they are defined as:
class GenProto[T](Protocol): def meth(self) -> T: ...
- value: numpy.ndarray[source]¶
- class patio.model.colo_resources.MultiXCapShim[source]¶
Bases:
tuple
Work with multiple cvxpy.Variable objects as if they were one.
Initialize self. See help(type(self)) for accurate signature.
- class patio.model.colo_resources.DecisionVariable(m)[source]¶
- Parameters:
m (colo_lp.Model)
- property dur: ParamVarLike | types.NotImplementedType[source]¶
- Return type:
ParamVarLike | types.NotImplementedType
- class patio.model.colo_resources.Load(m, sqkm_per_mw, ld_value)[source]¶
Bases:
DecisionVariable
- Parameters:
m (colo_lp.Model)
sqkm_per_mw (float)
ld_value (float)
- x_cap: ParamVarLike[source]¶
- class patio.model.colo_resources.ConstantLoad(m, sqkm_per_mw, ld_value, x_cap)[source]¶
Bases:
Load
Returns: object:
- Parameters:
m (colo_lp.Model)
sqkm_per_mw (float)
x_cap (float)
- class patio.model.colo_resources.EndogenousLoad(m, sqkm_per_mw=1 / 247, ld_value=1000, x_cap=None)[source]¶
Bases:
Load
Returns: object:
- Parameters:
m (colo_lp.Model)
sqkm_per_mw (float)
x_cap (float | None)
- class patio.model.colo_resources.FlexLoad(m, sqkm_per_mw=1 / 247, ld_value=1000, uptime=0.5, min_load=0.5, x_cap=None)[source]¶
Bases:
Load
Returns: object:
- Parameters:
- class patio.model.colo_resources.Storage(m, d_eff, c_eff, l_eff, pre_charge, opex_mult, min_soc_hrs)[source]¶
Bases:
DecisionVariable
- Parameters:
m (colo_lp.Model)
- max_cols = ('dur', 'life_adj', 'itc_adj', 'reg_mult', 'tx_capex_raw', 'distance', 'ptc', 'ptc_gen')[source]¶
- property dur: ParamVarLike[source]¶
- Return type:
- class patio.model.colo_resources._StorageCostCapShim(dv)[source]¶
This allows storage duration to be a parameter while preserving the general interface for DecisionVariable.cap_cost
- Parameters:
dv (FixedDurationStorage)
- class patio.model.colo_resources.FixedDurationStorage(m, d_eff=COSTS['eff']['d'], c_eff=COSTS['eff']['c'], l_eff=COSTS['eff']['l'], pre_charge=0.5, opex_mult=0.8 / 30, duration=8, x_cap=None, min_soc_hrs=0)[source]¶
Bases:
Storage
x_s, x_dt, x_ct, x_st
- Parameters:
- class patio.model.colo_resources.FeStorage(m, pre_charge=0.5, x_cap=None, min_soc_hrs=0)[source]¶
Bases:
Storage
x_s, x_dt, x_ct, x_st
- Parameters:
m (colo_lp.Model)
pre_charge (float)
x_cap (float | None)
min_soc_hrs (int)
- class patio.model.colo_resources.EndogenousDurationStorage(m, d_eff=COSTS['eff']['d'], c_eff=COSTS['eff']['c'], l_eff=COSTS['eff']['l'], pre_charge=0.5, opex_mult=0.8 / 30, x_cap=None, min_soc_hrs=0)[source]¶
Bases:
Storage
x_d, x_s, x_dt, x_ct, x_st
- Parameters:
- property dur: ParamVarLike[source]¶
- Return type:
- class patio.model.colo_resources.ThermalStorageLoad(m, d_eff=0.5, c_eff=1.0, l_eff=0.01, pre_charge=0.5, opex_mult=0.025, x_cap=None, const_load=10.0, min_soc_hrs=0)[source]¶
Bases:
Storage
Charges thermal storage to meet a constant (thermal) load.
x_d, x_c, x_s, x_ct, x_st
- Parameters:
- property dur: ParamVarLike[source]¶
- Return type:
- class patio.model.colo_resources.DecoupledStorage(m, d_eff=0.5, c_eff=1.0, l_eff=0.01, pre_charge=0.5, opex_mult=0.025, x_cap=None, min_soc_hrs=0)[source]¶
Bases:
Storage
x_d, x_c, x_s, x_dt, x_ct, x_st
- Parameters:
- property dur: ParamVarLike[source]¶
- Return type:
- class patio.model.colo_resources.Renewables(m, x_cap=None)[source]¶
Bases:
DecisionVariable
x_j
- Parameters:
x_cap (numpy.ndarray | None)
- class patio.model.colo_resources.Curtailment(m, min_cost=0.0)[source]¶
Bases:
DecisionVariable
- class patio.model.colo_resources.CleanExport(m)[source]¶
Bases:
DecisionVariable
- class patio.model.colo_resources.Fossil(m, mcoe=None)[source]¶
Bases:
DecisionVariable
- Parameters:
mcoe (polars.DataFrame | None)
- class patio.model.colo_resources.IncumbentFossil(m, mcoe=None)[source]¶
Bases:
Fossil
x_lt x_ft
- Parameters:
mcoe (polars.DataFrame | None)
- class patio.model.colo_resources.ExportOnlyIncumbentFossil(m, mcoe=None)[source]¶
Bases:
Fossil
x_ft
- Parameters:
mcoe (polars.DataFrame | None)
- class patio.model.colo_resources.LoadOnlyFossil(m, mcoe=None, tech='nggt', x_cap=None)[source]¶
Bases:
Fossil
x_f x_lt
- Parameters:
mcoe (polars.DataFrame | None)
x_cap (float | None)
- class patio.model.colo_resources.LoadOnlyFossilWithBackupFuel(m, mcoe=None, tech='nggt', x_cap=None)[source]¶
Bases:
Fossil
x_f x_lt
- Parameters:
mcoe (polars.DataFrame | None)
x_cap (float | None)