utils
This module consists of helpful utility functions
- electric_emission_cost.utils.convert_utc_to_timezone(utc_hour, timezone_str)[source]
Convert UTC hour (0-23) to the corresponding hour in a specified timezone.
Parameters: utc_hour (int): Hour in UTC (0-23). timezone_str (str): Timezone string, e.g., ‘America/New_York’.
Returns: int: Corresponding hour in the specified timezone.
- electric_emission_cost.utils.get_freq_binsize_minutes(freq)[source]
Gets size of a given time frequency expressed in units of minutes
- Parameters:
freq (str) – a string of the form [type][freq_binsize], where type corresponds to a numpy.timedelta64 encoding and freq binsize is an integer giving the number of increments of type of one binned increment of our time variable (for example ‘6h’ means the data are grouped into increments of 6 hours)
- Raises:
ValueError – when resolution is not minute, hourly, or daily
- Returns:
integer giving the number of minutes in the given time frequency unit
- Return type:
- electric_emission_cost.utils.idxparam_value(idx_param)[source]
Returns the parameter value at the given index.
- Parameters:
idx_param (pyomo.environ.Param or pyomo.environ.Var) – The Pyomo parameter or variable to be converted
- Returns:
Indexed variable or parameter as a numpy array
- Return type:
- electric_emission_cost.utils.max(expression, model=None, varstr=None)[source]
Elementwise maximum of an expression or array
- Parameters:
expression ([) – numpy.Array, cvxpy.Expression, pyomo.core.expr.numeric_expr.NumericExpression, pyomo.core.expr.numeric_expr.NumericNDArray, pyomo.core.expr.numeric_expr.NumericNDArray, pyomo.environ.Param, pyomo.environ.Var
] – The expression to find the maximum of
model (pyomo.environ.Model) – The model object associated with the problem. Only used in the case of Pyomo, so None by default.
varstr (str) – Name of the variable to be created if using a Pyomo model
- Raises:
TypeError – When expression is not of type numpy.Array, cvxpy.Expression, pyomo.core.expr.numeric_expr.NumericExpression, pyomo.core.expr.numeric_expr.NumericNDArray, pyomo.environ.Param, or pyomo.environ.Var
- Returns:
Expression representing max of expression
- Return type:
([numpy.Array, cvxpy.Expression, pyomo.environ.Var], pyomo.environ.Model)
- electric_emission_cost.utils.max_pos(expression, model=None, varstr=None)[source]
Returns the maximum positive scalar value of an expression. I.e., max([x, 0]) where x is any element of the expression (if a matrix)
- Parameters:
expression ([) – numpy.Array, cvxpy.Expression, pyomo.core.expr.numeric_expr.NumericExpression, pyomo.core.expr.numeric_expr.NumericNDArray, pyomo.environ.Param, pyomo.environ.Var
] – Expression representing a matrix, vector, or scalar
model (pyomo.environ.Model) – The model object associated with the problem. Only used in the case of Pyomo, so None by default.
varstr (str) – Name of the variable to be created if using a Pyomo model
- Raises:
TypeError – When expression is not of type numpy.Array, cvxpy.Expression, pyomo.core.expr.numeric_expr.NumericNDArray, pyomo.core.expr.numeric_expr.NumericExpression, pyomo.environ.Param, or pyomo.environ.Var
- Returns:
( – [numpy.float, numpy.int, numpy.Array, cvxpy.Expression, or pyomo.environ.Var], pyomo.environ.Model
) – Expression representing maximum positive scalar value of expression
- electric_emission_cost.utils.multiply(expression1, expression2, model=None, varstr=None)[source]
Implements elementwise multiplication operation on two optimization expressions
- Parameters:
expression1 ([) – numpy.Array, cvxpy.Expression, pyomo.core.expr.numeric_expr.NumericExpression, pyomo.core.expr.numeric_expr.NumericNDArray, pyomo.environ.Param, pyomo.environ.Var
] – LHS of multiply operation
expression2 ([) – numpy.Array, cvxpy.Expression, pyomo.core.expr.numeric_expr.NumericExpression, pyomo.core.expr.numeric_expr.NumericNDArray, pyomo.environ.Param, pyomo.environ.Var
] – RHS of multiply operation
model (pyomo.environ.Model) – The model object associated with the problem. Only used in the case of Pyomo, so None by default.
varstr (str) – Name of the variable to be created if using a Pyomo model
- Raises:
TypeError – When expression is not of type numpy.Array, cvxpy.Expression, pyomo.core.expr.numeric_expr.NumericNDArray, pyomo.core.expr.numeric_expr.NumericExpression, pyomo.environ.Param, or pyomo.environ.Var
- Returns:
[ – numpy.Array, cvxpy.Expression, pyomo.core.expr.numeric_expr.NumericNDArray, pyomo.environ.Expression
] – result from elementwise multiplication of expression1 and expression2
- electric_emission_cost.utils.parse_freq(freq)[source]
Parses a time frequency code string, returning its type and its freq_binsize
- Parameters:
freq (str) – a string of the form [type][freq_binsize], where type corresponds to a numpy.timedelta64 encoding and freq binsize is an integer giving the number of increments of type of one binned increment of our time variable (for example ‘6h’ means the data are grouped into increments of 6 hours)
- Returns:
tuple of the form (int,`str`) giving the binsize and units (freq_type)
- Return type:
- electric_emission_cost.utils.sanitize_varstr(varstr)[source]
Sanitizes a variable string by removing non-alphanumeric characters and replacing spaces with underscores.
- Parameters:
varstr (str) – The variable string to sanitize.
- Returns:
The sanitized variable string.
- Return type:
- electric_emission_cost.utils.sum(expression, axis=0, model=None, varstr=None)[source]
Elementwise maximum of an expression or array
- Parameters:
expression ([) – numpy.Array, cvxpy.Expression, pyomo.core.expr.numeric_expr.NumericExpression, pyomo.core.expr.numeric_expr.NumericNDArray, pyomo.environ.Param, pyomo.environ.Var
] – Expression representing a matrix to sum
axis (int) – Optional axis along which to compute sum. Default is 0
model (pyomo.environ.Model) – The model object associated with the problem. Only used in the case of Pyomo, so None by default.
varstr (str) – Name of the variable to be created if using a Pyomo model
- Raises:
TypeError – When expression is not of type numpy.Array, cvxpy.Expression, pyomo.core.expr.numeric_expr.NumericExpression, pyomo.core.expr.numeric_expr.NumericNDArray pyomo.environ.Param, or pyomo.environ.Var
- Returns:
Expression representing sum of expression along axis
- Return type:
[numpy.Array, cvxpy.Expression, pyomo.environ.Expression]