outage_table: Convolve generators to create outage tables

Description Usage Arguments Details Value References See Also Examples

View source: R/outage_table.R

Description

Allows to create outage tables for different areas and levels of aggregation for a list of capacities and equivalent forced outage rates (EFOR) for generators. The assumption is that the generator outages are independent from each other. The table can be used to quickly compute loss-of-load probability (LOLP) and expected unserved energy (EUE).

Usage

1
outage_table(generators, levels = NULL, threshold = 1e-06, round = 1)

Arguments

generators

Data frame with the list of generators (see details for requirements)

levels

Optional data frame that contains levels of aggregation, e.g., BAA, transmission area or interconnection (see details for requirements)

threshold

Table entries with LOLP below this value are ignored

round

Used to round capacities (default is 1 MW)

Details

Requirements for generators:

Requirements for levels:

Value

The result is a data.table object that is used to calculate LOLP metrics. For each area, the output presents the following columns: Capacity, Prob, LOLP and BaseEUE. The column Capacity is duplicated as (Capacity2) and is used internally by the LOLP calculation functions.

Given a load level L, the probability parameters are calculated as follows:

References

R. Billinton, and R. N. Allan, Reliability evaluation of power systems, New York: Plenum Press 1996.

See Also

format_timedata is the function that creates compatible time data objects

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# Outage table with one 10-MW generator with 2% EFOR
outage_table(data.frame(Capacity = 10, EFOR = 0.02))

# Outage table with two generators (10 MW with 2% EFOR and 20 MW with 1% EFOR)
outage_table(data.frame(Capacity = c(10, 20), EFOR = c(0.02, 0.01)))

# List of generators and areas
gens <- data.frame(Area = c(rep("A", 10), rep("B", 5)),
                   Capacity = rep(60, 15),
                   EFOR = rep(0.08, 15))
levs <- data.frame(BAA = c("A", "B"), Region = c("All", "All"))

# Create a single outage table (without specifying area)
outage_table(gens[, c("Capacity", "EFOR")])

# Create an outage table for each 'Area'
outage_table(gens)

# Create table for each 'Area' and different and levels of aggregation in 'levs'
outage_table(gens, levs)

NREL/repra documentation built on May 7, 2019, 6:03 p.m.