Reliability User Guide

Reliability Overview
The reliability module provides the ability to induce events on a system and evaluate their impacts. The reliability module collects and outputs module-appropriate metrics to a log file for user evaluation. reliability is only an event-inducing and metrics-recording module and requires specific interfaces to different modules of interest. At this time, the only module interface that exists is with the powerflow module (see the Power Flow User Guide).

Overall settings
The reliability module has two module-level settings that a user can specify. These two settings influence all reliability-related items in the system, regardless of the module. The two parameters are maximum_event_length and report_event_log, which would be implemented as

module reliability { maximum_event_length 300 s; 	report_event_log TRUE; } The maximum_event_length specifies the maximum duration any object may be in a fault condition on the system. If a randomly-generated fault exceeds this time limit, it will be thresholded to the value of maximum_event_length</tt>. However, manual faulting scenarios do not check this limit, and can produce longer fault condition.

The report_event_log</tt> property defines whether the metrics</tt> object will include a list of induced events, or just the output statistics. If enabled, the output file will include when an event started, when it ended, the desired fault, the implemented fault, and some customer information.

Reliability Objects
There are two object within the reliability</tt> module. These two objects will interact with specific module classes to generate the events and record module-appropriate metrics.

Metrics
The metrics</tt> object collects and outputs any of the measurements associated with reliability in a specific module. The actual metrics are computed by module-specific objects, such as the power_metrics</tt> object in the powerflow</tt> module. The output file containing the event information and reliability calculations is output by the metrics</tt> object.

A minimal metrics</tt> object would be implemented as

object metrics { name test_metrics; module_metrics_object powermetrics; metrics_of_interest "SAIFI,SAIDI"; customer_group "groupid=METEROBJS"; } with an equivalent implementation of

object metrics { name test_metrics; module_metrics_object powermetrics; metrics_of_interest "SAIFI,SAIDI"; customer_group "groupid=METEROBJS"; metric_interval 0 s; 	report_interval 1 yr; }

Eventgen
The eventgen</tt> object creates events on objects in the GLM file to test the reliability of the system. Such induced events often produce a relevant result in the metrics</tt> object, or in some output of the system. The eventgen</tt> object allows both manually specified, deterministic events, or randomly-generated, stochastic events.

eventgen</tt> objects must be parented to an appropriate metrics</tt> object to function. This allows the reliability indices to be calculated appropriately when an event is induced.

The minimal setup required for a randomly-induced event would be

object eventgen { name RandEvent; parent MetricsObj; target_group "class=line AND groupid=FAULTY"; fault_type "DLG-X"; } which is equivalent to a fully specified version of object eventgen { name RandEvent; parent MetricsObj; target_group "class=line AND groupid=FAULTY"; fault_type "DLG-X"; failure_dist EXPONENTIAL; restoration_dist PARETO; failure_dist_param_1 3.858e-7; failure_dist_param_2 0.0; restoration_dist_param_1 1.0; restoration_dist_param_2 1.0002778; max_outage_length 432000 s; 	max_simultaneous_faults -1; }

A deterministic eventgen</tt> object can be specified as

object eventgen { name DeterEvent; parent MetricsObj; fault_type "DLG-X"; manual_outages "nodeB,2000-01-01 5:00:00,2000-01-02 6:00:00"; }

Note that a deterministic evengen</tt> object ignores the limits specified in the module-level <tt>maximum_event_length</tt> parameter, as well as the <tt>max_outage_length</tt> and <tt>max_simultaneous_faults</tt> properties.

Eventgen external event mode
<tt>eventgen</tt> also has an "external event" mode where an event can be sent via JSON string, via something like HELICS. To support this approach, a typical <tt>eventgen</tt> object would look like:

object eventgen { name ExternalSupported; use_external_faults TRUE; }

External events are sent to the <tt>external_fault_event</tt> field, and have a JSON syntax of:

"{ 	\"name\": \"fault1\", 	\"type\": \"TLL\", 	\"fault_object\": \"line12\" }"

where the <tt>name</tt> field is a unique identifier for the fault event, <tt>type</tt> is the same as the powerflow types listed at the end of this wiki page, and <tt>fault_object</tt> is the GridLAB-D object to induce the event on. Note that the <tt>name</tt> is utilized as a unique identifier of this fault, so to turn the fault off, simply sending that name will be sufficnent. e.g.,:

"{\"name\":\fault1\"}"

Powerflow implementation
At this time, the <tt>reliability</tt> module only interfaces with the <tt>powerflow</tt> module. Faults can currently only be induced on <tt>link</tt> objects within the <tt>powerflow</tt> module. Faults available are:
 * SLG-A, SLG-B, SLG-C, SLG-X -> single-line-ground A, B, C, or random
 * DLG-AB, DLG-BC, DLG-CA, DLG-X -> double-line-ground AB, BC, CA, or random
 * LL-AB, LL-BC, LL-CA, LL-X -> line-line AB, BC, CA, or random
 * TLG -> triple-line-ground - ABC
 * OC-A, OC1-A, OC-B, OC1-B, OC-C, OC1-C, OC-X, OC1-X -> single open conductor A, A, B, B, C, C, random, or random (OC and OC1 are the same)
 * OC2-AB, OC2-BC, OC2-CA, OC2-X -> double open conductor AB, BC, CA, or random
 * OC3 -> triple open circuit - ABC

The following fault types are valid events in <tt>reliability</tt> calls, but should not be explicitly induced. These events are induced by <tt>switch</tt> or <tt>fuse</tt> objects when specific actions occur. They may show up in the output log of <tt>powerflow</tt> <tt>reliability</tt> calls, but should not be explicitly specified as a fault.
 * SW-A, SW-B, SW-C -> open switch phase A, B, or C
 * SW-AB, SW-BC, SW-CA -> open switch phases AB, BC, or CA
 * SW-ABC -> open switch phases ABC
 * FUS-A, FUS-B, FUS-C, FUS-X -> fuse tripping (forced) A, B, C, or random
 * FUS-AB, FUS-BC, FUS-CA, FUS-X -> fuse tripping (forced) AB, BC, CA, or random
 * FUS-ABC -> fuse tripping (forced) - ABC

= See Also = Reliability

Power Flow User Guide