revrt.costs.config.config.TransmissionConfig#

class TransmissionConfig(config=None)[source]#

Bases: UserDict

Load default transmission cost configuration as dictionary

This configuration dict has the following keys:

  • base_line_costs

  • iso_lookup

  • iso_multipliers

  • land_use_classes

  • new_substation_costs

  • power_classes

  • power_to_voltage

  • transformer_costs

  • upgrade_substation_costs

  • reverse_iso (dynamically computed)

  • voltage_to_power (dynamically computed)

  • line_power_to_classes (dynamically computed)

Parameters:

config (str | dict, optional) – Dictionary of transmission cost configuration values, or path to JSON/JSON5 file containing this dictionary. The dictionary should have the following keys:

  • base_line_costs

  • iso_lookup

  • iso_multipliers

  • land_use_classes

  • new_substation_costs

  • power_classes

  • power_to_voltage

  • transformer_costs

  • upgrade_substation_costs

Each of these keys should point to another dictionary or path to JSON/JSON5 file containing a dictionary of configurations for each section. For the expected contents of each dictionary, see the default config. If None, values from the default config are used. By default, None.

Methods

capacity_to_kv(capacity)

Convert capacity class to line voltage

clear()

copy()

fromkeys(iterable[, value])

get(k[,d])

items()

keys()

kv_to_capacity(kv)

Convert line voltage to capacity class

new_sub_cost(region, tie_line_voltage)

Extract new substation costs

pop(k[,d])

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem()

as a 2-tuple; but raise KeyError if D is empty.

setdefault(k[,d])

sub_upgrade_cost(region, tie_line_voltage)

Extract substation upgrade costs

transformer_cost(feature_voltage, ...)

Extract transformer costs

update([E, ]**F)

If E present and has a .keys() method, does: for k in E.keys(): D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values()

capacity_to_kv(capacity)[source]#

Convert capacity class to line voltage

Parameters:

capacity (int) – Capacity class in MW.

Returns:

kV (int) – Tie-line voltage in kV.

kv_to_capacity(kv)[source]#

Convert line voltage to capacity class

Parameters:

kv (int) – Tie-line voltage in kV.

Returns:

capacity (int) – Capacity class in MW.

sub_upgrade_cost(region, tie_line_voltage)[source]#

Extract substation upgrade costs

Costs are given in $ based on region and tie-line voltage rating.

Parameters:
  • region (int) – Region code used to extract ISO.

  • tie_line_voltage (int | str) – Tie-line voltage class in kV.

Returns:

int – Substation upgrade cost.

new_sub_cost(region, tie_line_voltage)[source]#

Extract new substation costs

Costs are given in $ based on region and tie-line voltage rating.

Parameters:
  • region (int) – Region code used to extract ISO.

  • tie_line_voltage (int | str) – Tie-line voltage class in kV.

Returns:

int – New substation cost.

transformer_cost(feature_voltage, tie_line_voltage)[source]#

Extract transformer costs

Costs are given in $ based on region and tie-line voltage rating.

Parameters:
  • feature_voltage (int) – Voltage of feature that tie-line is connecting to.

  • tie_line_voltage (int | str) – Tie-line voltage class in kV.

Returns:

int – Transformer cost as $/MW.

clear() None.  Remove all items from D.#
get(k[, d]) D[k] if k in D, else d.  d defaults to None.#
items() a set-like object providing a view on D's items#
keys() a set-like object providing a view on D's keys#
pop(k[, d]) v, remove specified key and return the corresponding value.#

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem() (k, v), remove and return some (key, value) pair#

as a 2-tuple; but raise KeyError if D is empty.

setdefault(k[, d]) D.get(k,d), also set D[k]=d if k not in D#
update([E, ]**F) None.  Update D from mapping/iterable E and F.#

If E present and has a .keys() method, does: for k in E.keys(): D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values() an object providing a view on D's values#