CIM Issues #4995
Time intervalsFor time intervals to be used in series the
Description
Time intervals
For time intervals to be used in series the start time should be inclusive (equal to or larger) and the end time shall be exclusive (smaller than).
Proposed Solution
Update the documentation to describe this for
- DateTimeInterval
- DateInterval
- TimeInterval
- MonthDayInterval
Assign too Units of Measure Subgroup
Decision
16-Sep-2024 Joint TF Hybrid meetings:
Revisited the review of this topic during our Monday PM Joint Session. We discovered that the DateTimeInterval class was changed to reflect what is requested in this issue:
DateTimeInterval class: "Interval between two date and time points, where the interval includes the start time but excludes end time."
DateTimeInterval.start "Start date and time of this interval. The start date and time is included in the defined interval."
DateTimeInterval.end "End date and time of this interval. The end date and time where the interval is defined up to, but excluded."
Decisions is to create/update a SHACL rule to properly reflect this as a validity requirement. This should be defined for each of the remaining classes reference by this issue i.e. DateInterval, TimeInterval, MonthDayInterval classes.
Note that during the discussion the question was asked if the SHACL constraint should RESTRICT the start and end from being the same. We think this additional constraint should not be included (in other words we SHOULD allow start/end to be the same) as Jan Owe checked and provided the following info from ENTSO-E document:
Regarding ENTSO-E rules related to time periods. There is a document from 2022 that was updated in early September here, but is not yet published. The version from 2022 is found here https://eepublicdownloads.entsoe.eu/clean-documents/EDI/Library/cim_based/Introduction_of_different_Timeseries_possibilities__curvetypes__with_ENTSO-E_electronic_document_v1.4.pdf. Refer to the end of Clause 4.2 where the text states "In the special case when only one point value is exchanged, it is allowed to specify the EndDateTime as the same as StartDateTime. There will then be only one repetition of the Point class. Note: If the resolution is zero, also then only one repetition of the Point class is allowed"
One example of having EndDateTime the same as StartDateTime is when you use TimeSeries, and you send "Point values", but only - in some messages - have just one point. E.g. often you send several points, but some times only one, then the period length will be "zero".