reV.econ.economies_of_scale.EconomiesOfScale

class EconomiesOfScale(data, cap_eqn=None, fixed_eqn=None, var_eqn=None)[source]

Bases: object

Class to calculate economies of scale where power plant capital cost is reduced for larger power plants.

Units

capacity_factor : unitless capacity : kW annual_energy_production : kWh fixed_charge_rate : unitless fixed_operating_cost : $ (per year) variable_operating_cost : $/kWh lcoe : $/MWh

Parameters:
  • data (dict | pd.DataFrame) – Namespace of econ data to use to calculate economies of scale. Keys in dict or column labels in dataframe should match the Independent variables in the eqn input. Should also include variables required to calculate LCOE.

  • cap_eqn (str, optional) – LCOE scaling equation to implement “economies of scale”. Equation must be in python string format and return a scalar value to multiply the capital cost by. Independent variables in the equation should match the keys in the data input arg. This equation may use numpy functions with the package prefix “np”. If None, no economies of scale are applied to the capital cost. By default, None.

  • fixed_eqn (str, optional) – LCOE scaling equation to implement “economies of scale”. Equation must be in python string format and return a scalar value to multiply the fixed operating cost by. Independent variables in the equation should match the keys in the data input arg. This equation may use numpy functions with the package prefix “np”. If None, no economies of scale are applied to the fixed operating cost. By default, None.

  • var_eqn (str, optional) – LCOE scaling equation to implement “economies of scale”. Equation must be in python string format and return a scalar value to multiply the variable operating cost by. Independent variables in the equation should match the keys in the data input arg. This equation may use numpy functions with the package prefix “np”. If None, no economies of scale are applied to the variable operating cost. By default, None.

Methods

is_method(s)

Check if a string is a numpy/pandas or python builtin method

is_num(s)

Check if a string is a number

Attributes

aep

Annual energy production (kWh) back-calculated from the raw LCOE:

capital_cost_scalar

Evaluated output of the EconomiesOfScale capital cost equation.

fcr

Fixed charge rate from input data arg

fixed_operating_cost_scalar

Evaluated output of the EconomiesOfScale fixed operating cost equation.

raw_capital_cost

Unscaled (raw) capital cost found in the data input arg.

raw_fixed_operating_cost

Unscaled (raw) fixed operating cost from input data arg

raw_lcoe

Raw LCOE ($/MWh) taken from the input data

raw_variable_operating_cost

Unscaled (raw) variable operating cost from input data arg

scaled_capital_cost

Capital cost found in the data input arg scaled by the evaluated EconomiesOfScale input equation.

scaled_fixed_operating_cost

Fixed operating cost found in the data input arg scaled by the evaluated EconomiesOfScale input equation.

scaled_lcoe

LCOE ($/MWh) calculated with the scaled costs based on the EconomiesOfScale input equation.

scaled_variable_operating_cost

Variable operating cost found in the data input arg scaled by the evaluated EconomiesOfScale input equation.

variable_operating_cost_scalar

Evaluated output of the EconomiesOfScale equation variable operating cost.

vars

Get a list of variable names that the EconomiesOfScale equation uses as input.

static is_num(s)[source]

Check if a string is a number

static is_method(s)[source]

Check if a string is a numpy/pandas or python builtin method

property vars

Get a list of variable names that the EconomiesOfScale equation uses as input.

Returns:

vars (list) – List of strings representing variable names that were parsed from the equation string. This will return an empty list if the equation has no variables.

property capital_cost_scalar

Evaluated output of the EconomiesOfScale capital cost equation. Should be numeric scalars to apply directly to the capital cost.

Returns:

out (float | np.ndarray) – Evaluated output of the EconomiesOfScale equation. Should be numeric scalars to apply directly to the capital cost.

property fixed_operating_cost_scalar

Evaluated output of the EconomiesOfScale fixed operating cost equation. Should be numeric scalars to apply directly to the fixed operating cost.

Returns:

out (float | np.ndarray) – Evaluated output of the EconomiesOfScale equation. Should be numeric scalars to apply directly to the fixed operating cost.

property variable_operating_cost_scalar

Evaluated output of the EconomiesOfScale equation variable operating cost. Should be numeric scalars to apply directly to the variable operating cost.

Returns:

out (float | np.ndarray) – Evaluated output of the EconomiesOfScale equation. Should be numeric scalars to apply directly to the variable operating cost.

property raw_capital_cost

Unscaled (raw) capital cost found in the data input arg.

Returns:

out (float | np.ndarray) – Unscaled (raw) capital_cost ($) found in the data input arg.

property scaled_capital_cost

Capital cost found in the data input arg scaled by the evaluated EconomiesOfScale input equation.

Returns:

out (float | np.ndarray) – Capital cost ($) found in the data input arg scaled by the evaluated EconomiesOfScale equation.

property fcr

Fixed charge rate from input data arg

Returns:

out (float | np.ndarray) – Fixed charge rate from input data arg

property raw_fixed_operating_cost

Unscaled (raw) fixed operating cost from input data arg

Returns:

out (float | np.ndarray) – Unscaled (raw) fixed operating cost ($/year) from input data arg

property scaled_fixed_operating_cost

Fixed operating cost found in the data input arg scaled by the evaluated EconomiesOfScale input equation.

Returns:

out (float | np.ndarray) – Fixed operating cost ($/year) found in the data input arg scaled by the evaluated EconomiesOfScale equation.

property raw_variable_operating_cost

Unscaled (raw) variable operating cost from input data arg

Returns:

out (float | np.ndarray) – Unscaled (raw) variable operating cost ($/kWh) from input data arg

property scaled_variable_operating_cost

Variable operating cost found in the data input arg scaled by the evaluated EconomiesOfScale input equation.

Returns:

out (float | np.ndarray) – Variable operating cost ($/kWh) found in the data input arg scaled by the evaluated EconomiesOfScale equation.

property aep

Annual energy production (kWh) back-calculated from the raw LCOE:

AEP = (fcr * raw_cap_cost + raw_foc) / (raw_lcoe - raw_voc)

Returns:

out (float | np.ndarray)

property raw_lcoe

Raw LCOE ($/MWh) taken from the input data

Returns:

lcoe (float | np.ndarray)

property scaled_lcoe

LCOE ($/MWh) calculated with the scaled costs based on the EconomiesOfScale input equation.

LCOE = (FCR * scaled_capital_cost + scaled_FOC) / AEP + scaled_VOC

Returns:

lcoe (float | np.ndarray) – LCOE calculated with the scaled costs based on the EconomiesOfScale input equation.