reV.econ.economies_of_scale.EconomiesOfScale

class EconomiesOfScale(eqn, data)[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:
  • eqn (str) – 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”.

  • 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.

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 back-calculated from the raw LCOE:

capital_cost_scalar

Evaluated output of the EconomiesOfScale equation.

fcr

Fixed charge rate from input data arg

foc

Fixed operating cost from input data arg

raw_capital_cost

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

raw_lcoe

Raw LCOE taken from the input data

scaled_capital_cost

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

scaled_lcoe

LCOE calculated with the scaled capital cost based on the EconomiesOfScale input equation.

vars

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

voc

Variable operating cost from input data arg

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 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 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 foc

Fixed operating cost from input data arg

Returns:

out (float | np.ndarray) – Fixed operating cost from input data arg

property voc

Variable operating cost from input data arg

Returns:

out (float | np.ndarray) – Variable operating cost from input data arg

property aep

Annual energy production back-calculated from the raw LCOE:

AEP = (fcr * raw_cap_cost + foc) / raw_lcoe

Returns:

out (float | np.ndarray)

property raw_lcoe

Raw LCOE taken from the input data

Returns:

lcoe (float | np.ndarray)

property scaled_lcoe

LCOE calculated with the scaled capital cost based on the EconomiesOfScale input equation.

LCOE = (FCR * scaled_capital_cost + FOC) / AEP + VOC

Returns:

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