diff --git a/docs/_data/components/schemas/array-max-emergency-durations.yaml b/docs/_data/components/schemas/array-max-emergency-durations.yaml index b47a7e9..f5e2a4e 100644 --- a/docs/_data/components/schemas/array-max-emergency-durations.yaml +++ b/docs/_data/components/schemas/array-max-emergency-durations.yaml @@ -38,3 +38,7 @@ limit-value-set: duration-name: *emergency-kind-name limit: $ref: ./limit.yaml + + +# TODO: add way to reference emergency-kind-name from limit-provenance.yaml +# or change forecast-limit-period.yaml#/forecast-period-snapshot-detailed to reference a new limit-snapshot.yaml that has the association \ No newline at end of file diff --git a/docs/_data/components/schemas/forecast-limit-period.yaml b/docs/_data/components/schemas/forecast-limit-period.yaml index e37acab..2eb6f4f 100644 --- a/docs/_data/components/schemas/forecast-limit-period.yaml +++ b/docs/_data/components/schemas/forecast-limit-period.yaml @@ -21,11 +21,12 @@ forecast-period-proposal: allOf: - $ref: '#/period' - - $ref: ./limit-data.yaml + - $ref: ./limit-proposal.yaml forecast-period-snapshot-slim: allOf: - - $ref: '#/forecast-period-proposal' + - $ref: '#/period' + - $ref: ./limit-data.yaml - type: object properties: updated-time: diff --git a/docs/_data/components/schemas/limit-data.yaml b/docs/_data/components/schemas/limit-data.yaml index f037638..f2d3fc5 100644 --- a/docs/_data/components/schemas/limit-data.yaml +++ b/docs/_data/components/schemas/limit-data.yaml @@ -4,42 +4,6 @@ properties: $ref: ./limit.yaml emergency-operating-limits: $ref: ./array-max-emergency-durations.yaml#/limit-value-set - inputs-used: - 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 but - - type: array - minItems: 1 - maxItems: 50 - items: - type: object - properties: - name: - type: string - format: free-text - maxLength: 50 - value: - type: object - description: > - This could be any value: a bit, float, integer, string, etc. - unit: - type: string - description: | - If the `value` is dimensionless, this property should not be - provided. 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. - format: unit - maxLength: 50 - required: - - name - - value required: - continuous-operating-limit - emergency-operating-limits diff --git a/docs/_data/components/schemas/limit-proposal.yaml b/docs/_data/components/schemas/limit-proposal.yaml new file mode 100644 index 0000000..a8be1cd --- /dev/null +++ b/docs/_data/components/schemas/limit-proposal.yaml @@ -0,0 +1,41 @@ +type: object +allOf: + - $ref: ./limit-data.yaml + - type: object + properties: + inputs-used: + 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: + type: object + properties: + name: + type: string + format: free-text + maxLength: 50 + value: + type: object + description: > + This could be any value: a bit, float, integer, string, etc. + unit: + type: string + description: | + If the `value` is dimensionless, this property should not be + provided. 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. + format: unit + maxLength: 50 + required: + - name + - value diff --git a/docs/_data/components/schemas/limit-provenance.yaml b/docs/_data/components/schemas/limit-provenance.yaml index 359e498..7eab568 100644 --- a/docs/_data/components/schemas/limit-provenance.yaml +++ b/docs/_data/components/schemas/limit-provenance.yaml @@ -2,21 +2,18 @@ type: object description: Given a limit value, a set of data defining the provenance of that limit. properties: proposals-considered: - description: | - Set of IDs of proposals that affect this limit. + description: The forecast proposals provided by the Ratings Providers during the Forecast Window for this limits snapshot. type: array - maxItems: 10 + maxItems: &max-proposals 10 items: - $ref: ./generic-identifier.yaml + $ref: 'forecast-limit-period.yaml#/forecast-period-proposal' temporary-aar-exceptions: description: | - Set of IDs temporary AAR exceptions that affect this limit. + Set of IDs temporary AAR exceptions that affect this limit. type: array - maxItems: 10 + maxItems: *max-proposals items: $ref: ./generic-identifier.yaml - limiting-segment: - $ref: ./generic-identifier.yaml override-reason: type: string description: > @@ -26,6 +23,7 @@ properties: If not provided, users may assume no override is in place. format: free-text maxLength: 500 + additional-data: description: > Implementors may use this object to provide freeform extensions with @@ -33,6 +31,6 @@ properties: Schema of this object is out of scope of the TROLIE specification. type: object + required: - proposals-considered - - limiting-segment diff --git a/docs/example-narratives/examples/forecast-limits-detailed.json b/docs/example-narratives/examples/forecast-limits-detailed.json index 66a2e05..c300319 100644 --- a/docs/example-narratives/examples/forecast-limits-detailed.json +++ b/docs/example-narratives/examples/forecast-limits-detailed.json @@ -2,7 +2,7 @@ "snapshot-header": { "last-updated": "2023-07-12T16:00:00-07:00", "snapshot-provenance": { - "provider":"X-AMPL", + "provider":"X-AMPL-RC", "last-updated": "2023-07-12T16:00:00-07:00", "origin-id": "//trolie.example.com/snapshots/2024-08-05T11%3a00%3a00-07%3a00" }, @@ -30,7 +30,7 @@ }, { "name": "LINE1 SEG-X", - "authority": "RC-NERC-ID", + "authority": "X-AMPL-RC", "mrid": "8badf00d" } ] @@ -45,7 +45,7 @@ "period-start": "2023-07-12T16:00:00-07:00", "period-end": "2023-07-12T17:00:00-07:00", "updated-time": "2023-07-12T13:05:43.044267100-07:00", - "proposals-considered":["c386503e-ae8f-46e7-8fcf-bdee30f4f56b"], + "proposals-considered": [], "temporary-aar-exceptions": ["2d8c80e8-f533-4be9-85bf-f7f81eb73d67"], "limiting-segment": "segmentX", "override-reason": "Any reason entered by the operator for an override.", diff --git a/docs/example-narratives/examples/realtime-limit-set-detailed.json b/docs/example-narratives/examples/realtime-limit-set-detailed.json index b445225..ec3dd2c 100644 --- a/docs/example-narratives/examples/realtime-limit-set-detailed.json +++ b/docs/example-narratives/examples/realtime-limit-set-detailed.json @@ -2,7 +2,7 @@ "snapshot-header": { "last-updated": "2023-07-12T15:05:43.044267100-07:00", "snapshot-provenance": { - "provider": "X-AMPL", + "provider": "X-AMPL-RC", "last-updated": "2023-07-12T15:05:43.044267100-07:00", "origin-id": "//trolie.example.com/snapshots/2024-08-05T11%3a00%3a00-07%3a00" }, @@ -40,9 +40,7 @@ "limits": [ { "transmission-facility-id": "line2", - "proposals-considered": [ - "c386503e-ae8f-46e7-8fcf-bdee30f4f56b" - ], + "proposals-considered": [], "temporary-aar-exceptions": [ "2d8c80e8-f533-4be9-85bf-f7f81eb73d67" ],