Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

media type params #202

Merged
merged 15 commits into from
Nov 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
131 changes: 96 additions & 35 deletions docs/_data/components/schemas/array-max-monitored-elements.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
forecast-limits-snapshot:
forecast-limits-snapshot: &forecast-limit-snapshot
type: object
description: A snapshot of the forecast for a monitoring set.
properties:
Expand All @@ -11,17 +11,27 @@ forecast-limits-snapshot:
description: Set of forecast limits
items:
$ref: 'array-max-forecast-periods.yaml#/forecast-limit-item'
required:
- snapshot-header
- limits

forecast-limits-slim-snapshot:
type: object
description: A snapshot of the forecast for a monitoring set.
properties:
forecast-limits-snapshot-slim:
<<: *forecast-limit-snapshot
description: A slim snapshot of the forecast for a monitoring set.
properties: &forecast-limit-snapshot-slim-props
snapshot-header:
$ref: ./headers.yaml#/forecast-snapshot-slim-header
limits:
<<: *max
items:
$ref: 'array-max-forecast-periods.yaml#/resource-forecast-proposal-slim'
forecast-limits-snapshot-slim-inputs-used:
<<: *forecast-limit-snapshot
description: |
A slim snapshot of the forecast for a monitoring set, including the inputs
that were used to determine the continuous limits.
properties:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@getorymckeag Please take particular note of this: continuous limits. The issue is that different providers can potentially set continuous versus emergency limits, so a single input for each period's rating set might be insufficient. Since this is about creating situational awareness in interop, I felt the compromise of only guarantee the input was associated with the continuous limit was worthwhile.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is fine. I am having trouble imaging a scenario where the inputs are actually different. It would be kind of strange to have a weather measurement that is used to generate an emergency rating but NOT a continuous rating. While the inverse seems at least possible (maybe ignore some more "exotic" cooling factor?), the difference for emergency limits and continuous is really an internal of the TO's rating methodology, and I would think is something market monitors could work with the TO to simply rederive from the available continuous input + equipment characteristics if they really wanted to.

<<: *forecast-limit-snapshot-slim-props
inputs-used: &inputs-used-slim
description: |

Expand Down Expand Up @@ -64,20 +74,24 @@ forecast-limits-slim-snapshot:
- name
- values
- unit
required:
- snapshot-header
- limits

forecast-limits-detailed-snapshot:
type: object
forecast-limits-snapshot-elide-psr:
<<: *forecast-limit-snapshot
properties:
snapshot-header:
$ref: ./headers.yaml#/forecast-snapshot-header-elide-psr
limits: *max

forecast-limits-detailed-snapshot-elide-psr: &forecast-limit-detailed
<<: *forecast-limit-snapshot
description: |

A detailed snapshot of the forecast for a monitoring set. These details are
meant to support analysis, archival, and troubleshooting.

properties:
properties: &forecast-limit-detailed-props
snapshot-header:
$ref: ./headers.yaml#/forecast-snapshot-header
$ref: ./headers.yaml#/forecast-snapshot-header-elide-psr
limits:
<<: *max
description: Forecast including provenance information.
Expand All @@ -87,6 +101,13 @@ forecast-limits-detailed-snapshot:
- snapshot-header
- limits

forecast-limits-detailed-snapshot:
<<: *forecast-limit-detailed
properties:
<<: *forecast-limit-detailed-props
snapshot-header:
$ref: ./headers.yaml#/forecast-snapshot-header

named-power-system-resources: &psr
<<: *max
description: Collection of power system resource names
Expand Down Expand Up @@ -248,41 +269,39 @@ real-time-proposal-status:
- invalid-proposal-count
- proposal-validation-errors

realtime-limits-snapshot:
realtime-limits-snapshot: &realtime-limit-snapshot
type: object
description: A snapshot of the realtime limits for a monitoring set.
properties:
properties: &realtime-limit-snapshot-props
snapshot-header:
$ref: ./headers.yaml#/real-time-snapshot-header
limits:
<<: *max
description: Real-time limits
items:
$ref: './realtime-limit-item.yaml#/normal'

realtime-limits-detailed-snapshot:
type: object
description: A snapshot of the realtime limits for a monitoring set.
properties:
snapshot-header:
$ref: ./headers.yaml#/real-time-snapshot-header
limits:
<<: *max
description: Real-time limits including provenance.
items:
$ref: './realtime-limit-item.yaml#/detailed'
required:
- snapshot-header
- limits

realtime-limits-snapshot-slim:
type: object
description: A snapshot of the realtime limits for a monitoring set.
properties:
snapshot-header:
$ref: ./headers.yaml#/real-time-snapshot-header
<<: *realtime-limit-snapshot
description: A slim snapshot of the realtime limits for a monitoring set.
properties: &realtime-limit-snapshot-slim-props
<<: *realtime-limit-snapshot-props
limits:
<<: *max
description: Real-time limits
items:
$ref: 'array-max-emergency-ratings.yaml#/slim'

realtime-limits-snapshot-slim-inputs-used:
<<: *realtime-limit-snapshot
description: |
A slim snapshot of the realtime limits for a monitoring set, including the
inputs used to determine the continuous limits.
properties:
<<: *realtime-limit-snapshot-slim-props
inputs-used:
<<: *inputs-used-slim
items:
Expand All @@ -302,10 +321,37 @@ realtime-limits-snapshot-slim:
type: number
format: float
nullable: true

required:
- snapshot-header
- limits
- inputs-used

realtime-limits-snapshot-elide-psr:
<<: *realtime-limit-snapshot
properties:
<<: *realtime-limit-snapshot-props
snapshot-header:
$ref: ./headers.yaml#/real-time-snapshot-header-elide-psr

realtime-limits-detailed-snapshot-elide-psr:
<<: *realtime-limit-snapshot
description: A snapshot of the realtime limits for a monitoring set.
properties:
snapshot-header:
$ref: ./headers.yaml#/real-time-snapshot-header-elide-psr
limits:
<<: *max
description: Real-time limits including provenance.
items:
$ref: './realtime-limit-item.yaml#/detailed'

realtime-limits-detailed-snapshot:
<<: *realtime-limit-snapshot
description: A snapshot of the realtime limits for a monitoring set.
properties:
<<: *realtime-limit-snapshot-props
limits:
$ref: "#/realtime-limits-detailed-snapshot-elide-psr/properties/limits"

realtime-proposal:
type: object
Expand Down Expand Up @@ -432,26 +478,41 @@ seasonal-ratings-proposal-status:
- incomplete-obligation-count
- invalid-proposal-count

seasonal-ratings-snapshot:
seasonal-ratings-snapshot: &seasonal-rating-snapshot
type: object
description: A snapshot of the seasonal ratings for a monitoring set.
properties: &seasonal-rating-snapshot-props
properties:
snapshot-header:
$ref: ./headers.yaml#/common-header
ratings:
<<: *max
items:
$ref: ./array-max-seasons.yaml#/seasonal-rating-snapshot-item
required:
- snapshot-header
- ratings


seasonal-ratings-snapshot-detailed:
<<: *seasonal-rating-snapshot
description: A snapshot of the seasonal ratings for a monitoring set.
properties:
<<: *seasonal-rating-snapshot-props
snapshot-header:
$ref: ./headers.yaml#/common-header
ratings:
<<: *max
items:
$ref: ./array-max-seasons.yaml#/seasonal-rating-snapshot-item-detailed

seasonal-ratings-snapshot-detailed-elide-psr:
<<: *seasonal-rating-snapshot
description: A snapshot of the seasonal ratings for a monitoring set.
properties:
snapshot-header:
$ref: ./headers.yaml#/base-header
ratings:
$ref: "#/seasonal-ratings-snapshot-detailed/properties/ratings"

temporary-aar-exception-set:
type: array
minItems: 0
Expand Down
59 changes: 40 additions & 19 deletions docs/_data/components/schemas/headers.yaml
Original file line number Diff line number Diff line change
@@ -1,22 +1,27 @@
common-header: &common-header
base-header: &base-header
type: object

properties: &common-header-props
properties: &base-header-props
source:
$ref: ./data-provenance.yaml

default-emergency-durations:
$ref: ./array-max-emergency-durations.yaml#/emergency-durations
power-system-resources:
$ref: ./array-max-monitored-elements.yaml#/named-power-system-resources
default-limiting-analysis:
$ref: ./limiting-analysis.yaml
additionalProperties: false
required:
- source
- default-emergency-durations

common-header: &common-header
<<: *base-header
properties: &common-header-props
<<: *base-header-props
power-system-resources:
$ref: ./array-max-monitored-elements.yaml#/named-power-system-resources
required:
- source
- default-emergency-durations
- power-system-resources
additionalProperties: false

real-time-proposal-header: &forecast-proposal-header
<<: *common-header
Expand Down Expand Up @@ -88,17 +93,34 @@ forecast-proposal-slim-header:
- default-emergency-durations
- power-system-resources

forecast-snapshot-header: &forecast-snapshot-header
description: Details about the snapshot provided by the Clearinghouse provider.
properties: &forecast-snapshot-header-props
<<: *common-header-props
forecast-snapshot-header-elide-psr:
description: |
Details about the snapshot provided by the Clearinghouse provider. The
`power-system-resources` property is omitted from this header.
properties: &forecast-snapshot-header-elide-psr-props
<<: *base-header-props
begins:
<<: *begins
description: |

RFC 3339 date-time string with *no fractional seconds component* that
Nominates the operational window of this snapshot.

source:
$ref: ./data-provenance.yaml
default-emergency-durations:
$ref: ./array-max-emergency-durations.yaml#/emergency-durations
required:
- begins
- source
- default-emergency-durations

forecast-snapshot-header: &forecast-snapshot-header
description: Details about the snapshot provided by the Clearinghouse provider.
properties: &forecast-snapshot-header-props
<<: *forecast-snapshot-header-elide-psr-props
power-system-resources:
$ref: ./array-max-monitored-elements.yaml#/named-power-system-resources
required:
- begins
- source
Expand All @@ -124,13 +146,13 @@ forecast-snapshot-slim-header:
- power-system-resources
- default-emergency-durations

real-time-snapshot-header-elide-psr:
<<: *base-header
description: Details about the snapshot provided by the Clearinghouse provider.

real-time-snapshot-header:
<<: *common-header
description: Details about the snapshot provided by the Clearinghouse provider.
properties:
<<: *common-header-props
required:
- source
- power-system-resources

seasonal-proposal-header:
<<: *common-header
Expand All @@ -155,9 +177,8 @@ seasonal-proposal-header-slim:

Defines the seasonal schedule that is used in the proposal. Each season
is defined in the `schedule` array and the `ends` property defines the
end of the last season.

Each individual facility proposal must have
end of the last season. Each individual facility proposal must have
corresponding entry for each entry In the `schedule` array.

properties:
schedule:
Expand Down
15 changes: 15 additions & 0 deletions docs/_data/components/schemas/limit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,21 @@ description: |
`application/problem+json` response if they receive a proposal in an
unsupported but valid limit type as defined here.

When used as the media type parameter `limit-type`, these are nominated by
the following names.

* `active-power`
* `active-power-with-power-factor`
* `apparent-power`
* `current`
* `current-with-kV`
* `reactive-power`
* `overvoltage-threshold-pu`
* `overvoltage-threshold`
* `undervoltage-threshold-pu`
* `undervoltage-threshold`


oneOf:
- $ref: './limit-types/active-power.yaml'
- $ref: './limit-types/active-power-with-power-factor.yaml'
Expand Down
Loading
Loading