Skip to content

Commit

Permalink
Merge pull request #197 from trolie/170-inputs-used-in-slim-proposal
Browse files Browse the repository at this point in the history
optional inputs for slim proposals and snapshots
  • Loading branch information
getorymckeag authored Oct 31, 2024
2 parents 1f1f2c8 + e7411aa commit cc8eff3
Show file tree
Hide file tree
Showing 4 changed files with 126 additions and 1 deletion.
6 changes: 6 additions & 0 deletions docs/_data/components/schemas/array-max-forecast-periods.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,12 @@ resource-forecast-proposal-slim:
items:
$ref: 'array-max-emergency-ratings.yaml#/slim'

resource-forecast-inputs:
<<: *periods
items:
type: number
format: float

missing-forecast:
<<: *limit
properties:
Expand Down
109 changes: 109 additions & 0 deletions docs/_data/components/schemas/array-max-monitored-elements.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,51 @@ forecast-limits-slim-snapshot:
<<: *max
items:
$ref: 'array-max-forecast-periods.yaml#/resource-forecast-proposal-slim'
inputs-used: &inputs-used-slim
description: |
Optional list of quantities used as input to the ratings determination.
The particular information exchange determines which values may be expected
as well as the conventions used to represent those values. This property
is included to prescribe a way to include these inputs.
type: array
minItems: 1
maxItems: 50
items: &inputs-used-slim-items
type: object
properties: &inputs-used-slim-items-props
name:
type: string
format: free-text
maxLength: 50
values: &inputs-used-slim-items-props-values
<<: *max
description: >
Since this is expected to be used for wind speed or temperature,
we expect an array of numbers for each resource. An empty array
is used to indicate that the inputs are not available for a
particular resource. This could occur if the inputs were not provided
by the Ratings Provider or if a recourse rating was utilized.
items:
$ref: ./array-max-forecast-periods.yaml#/resource-forecast-inputs
unit:
type: string
description: |
Since we are not specifying which inputs shall be
provided, we cannot specify a definitive list of units, but
implementors are encouraged to use UnitSymbol from CIM when
appropriate: The CIM may not include appropriate units for
all inputs, e.g., wind speed, degrees Fahrenheit, etc.
format: unit
maxLength: 50
required:
- name
- values
- unit
required:
- snapshot-header
- limits

forecast-limits-detailed-snapshot:
type: object
Expand All @@ -38,6 +83,9 @@ forecast-limits-detailed-snapshot:
description: Forecast including provenance information.
items:
$ref: 'array-max-forecast-periods.yaml#/forecast-limit-item-detailed'
required:
- snapshot-header
- limits

named-power-system-resources: &psr
<<: *max
Expand Down Expand Up @@ -76,6 +124,8 @@ forecast-proposal-slim:
description: Forecasted Ratings
items:
$ref: 'array-max-forecast-periods.yaml#/resource-forecast-proposal-slim'
inputs-used:
<<: *inputs-used-slim
required:
- proposal-header
- ratings
Expand Down Expand Up @@ -233,6 +283,29 @@ realtime-limits-snapshot-slim:
description: Real-time limits
items:
$ref: 'array-max-emergency-ratings.yaml#/slim'
inputs-used:
<<: *inputs-used-slim
items:
<<: *inputs-used-slim-items
properties:
<<: *inputs-used-slim-items-props
values:
<<: *inputs-used-slim-items-props-values
description: |
This is aligned with the `limits` property such that each resource
entry is in the same position here.
A null is used to indicate that the input is not available for a
particular resource. This could occur if the inputs were not provided
by the Ratings Provider or if a recourse rating was utilized.
items:
type: number
format: float
nullable: true

required:
- snapshot-header
- limits

realtime-proposal:
type: object
Expand All @@ -255,6 +328,40 @@ realtime-proposal:
- resource-id
- $ref: ./limit-proposal.yaml

inputs-used: &inputs-used-slim-rt
<<: *inputs-used-slim
items:
type: object
properties:
name:
type: string
format: free-text
maxLength: 50
values:
<<: *max
type: array
description: >
Since this is expected to be used for wind speed or temperature,
we expect an array of numbers for each resource. An empty array
is used to indicate that the inputs are not available for a
particular resource. This could occur if the inputs were not provided
by the Ratings Provider or if a recourse rating was utilized.
items:
$ref: ./array-max-forecast-periods.yaml#/resource-forecast-inputs
unit:
type: string
description: |
Since we are not specifying which inputs shall be
provided, we cannot specify a definitive list of units, but
implementors are encouraged to use UnitSymbol from CIM when
appropriate: The CIM may not include appropriate units for
all inputs, e.g., wind speed, degrees Fahrenheit, etc.
format: unit
maxLength: 50
required:
- name
- values
- unit
required:
- proposal-header
- ratings
Expand All @@ -270,6 +377,8 @@ realtime-proposal-slim:
description: Real-Time Ratings Proposals
items:
$ref: "array-max-emergency-ratings.yaml#/slim"
inputs-used:
<<: *inputs-used-slim
required:
- proposal-header
- ratings
Expand Down
2 changes: 1 addition & 1 deletion docs/_data/components/schemas/limit-proposal.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ allOf:
provided, we cannot specify a definitive list of units, but
implementors are encouraged to use UnitSymbol from CIM when
appropriate: The CIM may not include appropriate units for
all inputs, e.g., wind speed.
all inputs, e.g., wind speed, degrees Fahrenheit, etc.
format: unit
maxLength: 50
required:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,15 @@
[145, 150],
[140, 145]
]
],
"inputs-used": [
{
"name": "dry bulb temperature (Fahrenheit)",
"unit": "degF",
"values": [
[ 50, 51, 52, 53 ],
[ 46.1, 46.5, 47.1, 48 ]
]
}
]
}

0 comments on commit cc8eff3

Please sign in to comment.