XYCurve, XYCurvePoint, XYCurveX Objects

 

The ability add XYCurve and XYCurvePoint objects was added in Version 23.

The ability to define XYCurveX objects was added beginning in the September 15, 2023 patch of Version 23.

 

XYCurve and XYCurvePoint objects are used as part of the Weather-Dependent Limits which are accessed on the Weather-Dependent Limits dialog.

A XYCurve and XYCurvePoint objects represents any a generic XYCurve. They represent a function that takes one input and provides one output.

 

Normally we expect that objects using an XYCurve will provide the X-axis value to use with the XYCurve and XYCurvePoint objects to perform the lookup function based on the provided X. For example a Branch using weather-dependent MVA limits will provide the temperature in Celsisus as the X-Value itself. The temperature will come from the WeatherStation assigned to branch for example. This normal behavior can be overridden by creating XYCurveX objects and assigning them to the XYCurve. The XYCurveX object will then refer to an Object and ObjectField which provides the X-Value to the XYCurve. For the purposes of weather-related limit we would expect that Object to be a WeatherStation and the ObjectField to be a temperature, wind speed, or other weather-related value.

 

XYCurve Objects

XYCurve objects have the following 3 fields, and then also store a list of XYCurvePoint objects associated with them which are also described below.

Field

Type

Input

Type

Name

String

(KEY field)

Key Field Identifier

Name of the curve. This is the unique identifier (Key Field) for the XYCurve.

Information

String

User Input

Informational string about equipment that results in this curve being used. It is possible that one device in the power system model will have multiple curves associated with it. For example: a line may also have current transformer associated with it that has a different lower rating than the line.

Enabled

String

User

Input

Set to either YES or NO. If set to NO then any calls to this XYCurve by other objects will not be used and thus ignored. For example, a Branch that is configured to us an XYCurve with Enabled=NO will not use the weather-dependent limit.

XType

 

Option added beginning in the September 15, 2023 patch of Version 23.

Discrete Options

Ignore

Max

Min

EvalMax

EvalMin

User

Input

Specifies how to interpret multiple XYCurveX objects associated with this XYCurve.

Ignore means that XYCurveX objects are ignored and the XYCurve will use whatever XValue is provided from the calling object (such as a Branch providing a temperature).

Max or Min will take the maximum or minimum of all the XCurveX values.

EvalMax or EvalMin will evalute the XYCurve for all XCurveX values and then return either the maximum or minimum of those evaluations

IntermediateType

Discrete Options

AtOrAbove

AtOrBelow

Closest

Interpolate

User Input

Specifies how to handle any lookup when the temperature falls between X values. See the image below for

AtOrAbove means the limits are at or above the specified temperature

AtOrBelow means the limits are at or below the specified temperature

Closest means use the limit based on the closest temperature

Interpolate means we will linearly interpolate between points

These options are depicted in the next image. The XYCurvePoints are represented by the black dots in the image below.

 

XYCurvePoint Objects

Each XYCurvePoint object represents one point on the XYCurve. The XYCurvePoint object has the following fields.

Field

Type

Input

Type

Name

String

(KEY field)

Key Field Identifier

Name of the XYCurve to which this point belongs.

X

Single Float

(KEY field)

Key Field Identifier

Single float storing temperature (tolerance would be 0.01. Thus 10.223 and 10.218 are both considered to be 10.22 degrees). The unit of this field will depend on what object is using the curve, so the curve itself does not know the units. This is assumed to be Celsius for temperature dependent curves.

Info1, Info2, Info3

Info4, Info5

String

User Input

Informational strings about device that results in this value being used. There may be processing done outside of PowerWorld that creates a curve where each point in the curve represents a different piece of equipment. This may be done instead of defining a separate curve for each piece of equipment

Y

Single Float

User Input

Function Output at this temperature. The unit will depend on what object is using this curve, so the curve itself does not know the units. This is assumed to be MVA for temperature dependent Branch rating curves.

 

XYCurveX Objects added beginning in the September 15, 2023 patch of Version 23.

Each XYCurveX object represents one possible X-Value that would be provided to its XYCurve to perform a lookup.

Field

Type

Input

Type

Name

String

(KEY field)

Key Field Identifier

Name of the XYCurve to which this point belongs.

Object

String

(KEY field)

Key Field Identifier

Object from which the XYCurveX obtains its XValue. The string is of the same format as the ObjectID field used in AUX files starting with an ObjectType following by either primary key fields, secondary key fields or a label identifier.

ObjectField

String

(KEY field)

Key Field Identifier

Variablename from which the XYCurve obtains its XValue from its Object.