cim for environmental data - home - cimugcimug.ucaiug.org/meetings/ljubljana2013/presentations/day...
TRANSCRIPT
SOUTHERN CALIFORNIA EDISON®
CIM for Environmental Data
European CIMug Meeting June, 2013
Henry Dotson, James Horstman - SCE
Pat Brown – EPRI Alan McMorran – Open Grid Systems
SOUTHERN CALIFORNIA EDISON®
The Story of CIM for Environmental Data
Dave had an idea
There’s no Weather model in
CIM…
Jim
Dave
Let’s do a project!!
Jim had a problem
SOUTHERN CALIFORNIA EDISON®
The Story of CIM for Environmental Data
Jim & Dave hired Alan Alan
… and drafted Henry & Pat
PatHenry
SOUTHERN CALIFORNIA EDISON®
The Story of CIM for Environmental Data
They: •Gathered requirements •Documented use cases •Designed a model •Tested a prototype service
Alan
PatHenry
Jim
Alan & Henry & Jim & Pat worked.
SOUTHERN CALIFORNIA EDISON®
The Story of CIM for Environmental Data
… and they thought they were done (at least with the hard work)
But then Marty said Nice model.. But what about
WXXM?
Marty
SOUTHERN CALIFORNIA EDISON®
The Story of CIM for Environmental Data
So Alan & Henry & Jim & Pat & Marty worked some more
Alan
PatHenry
Jim Marty
… and the model got better
SOUTHERN CALIFORNIA EDISON®
The Story of CIM for Environmental Data
… and they thought they were done (at least with the hard work)
All that was left was to submit the model
to a CIM IEC Working Group
Nice model.. Working Group 16 could use it for
markets!!
Margaret
SOUTHERN CALIFORNIA EDISON®
The Story of CIM for Environmental Data
So Alan & Henry & Jim & Pat presented the model to Working Group 16
Alan
Pat
Henry
Jim
Margaret
WG16
SOUTHERN CALIFORNIA EDISON®
The Story of CIM for Environmental Data
… and they thought they were done (at least with the hard work)
But then Todd & Chris said
Todd & Chris
Nice model.. We’d like to implement it
Vendor
SOUTHERN CALIFORNIA EDISON®
The Story of CIM for Environmental Data
So Alan & Henry & Jim & Pat & Todd & Chris
worked some more
Alan
PatHenry
Jim Todd & Chris
… and the model got better
(& WG16)
Margaret
WG16
SOUTHERN CALIFORNIA EDISON®
The Story of CIM for Environmental Data
… and they thought they were done (at least with the hard work)
So WG16 said
Nice model.. Let’s propose it as a new CIM standard
Margaret
WG16
SOUTHERN CALIFORNIA EDISON®
The Story of CIM for Environmental Data
… and after commenting, the IEC countries voted to approve it
Nice model.. Let’s use it!!
SOUTHERN CALIFORNIA EDISON®
The Story of CIM for Environmental Data
… and everyone lived happily ever after…
Alan
Pat
HenryJim
Todd & Chris
Marty
Margaret
WG16
SOUTHERN CALIFORNIA EDISON®
• So, it’s all true so far..
• We’re here:
So Alan & Henry & Jim & Pat & Todd & Chris
worked some more
Alan
Pat
Jim Todd & Chris
(& WG16)
Margaret
WG16
The Story of CIM for Environmental Data
Henry
SOUTHERN CALIFORNIA EDISON®
• Background and Drivers
• Data Requirements
• The Model
• Profiles & Transformations
• Current Status
• Next Steps
• Lessons Learned
Extending the CIM for Environmental Data
Alan
Pat
SOUTHERN CALIFORNIA EDISON®
• The project
– Sponsored by Southern Cal Edison, executed jointly with EPRI and Open Grid Systems
– Extend CIM to cover Environmental information
– Allow utilities a way to share environmental data (correlated to other utility information) internally between multiple utility applications in a familiar manner
– Use case driven (SCE and other utilities)
Extending the CIM for Environmental Data
SOUTHERN CALIFORNIA EDISON®
• Use of environmental data is pervasive in utilities – Load forecasting – Pre-storm resource deployment – Restoration – Root cause analysis (lightning strikes) – Litigation
• Current utility picture – Many sources (some external, some internal)
– Procurement silos (multiple providers on department-by-department basis)
– Multiple formats – Manual correlation, communication and data entry within
the utility
Extending the CIM for Environmental Data
SOUTHERN CALIFORNIA EDISON®
• Data requirements
– Multiple weather domains (atmospheric/geospheric/hydrospheric/space)
– Multiple time frames (historic, current, future)
– Multiple kinds of data (raw, phenomena)
– Need for definition of alerts
Extending the CIM for Environmental Data
SOUTHERN CALIFORNIA EDISON®
Model Evolution
• The model was designed to enable the representation of raw environmental data and classified phenomena
• The current work is extending this into modeling what could be classified as derived data (e.g. warning codes, average temperatures over a period)
• There is also requirements to model the parameters and return types of service methods (e.g. requests for derived data)
SOUTHERN CALIFORNIA EDISON® 21
Stateless Transformation
The intent was not to “copy & paste” existing standards into the CIM, this benefits nobody This does not mean re-inventing the wheel and the aim was to allow bi-directional transformation between CIM for Environmental Data and other standards (e.g. WXXM or TMY3) where they overlap They were harmonized, not unified CIM modeling conventions were be used and existing elements re-used and extended where necessary
SOUTHERN CALIFORNIA EDISON® 22
A Single Model
The reason for extending the CIM to cover environmental data is that the CIM is more than just an information model With the CIM comes processes, tools and formats that are widely used in utilities SCE wanted all data exchanges within their enterprise to be defined by a single common model CIM for Environmental Data thus becomes a package within the overall CIM that covers a large number of systems within a utility
SOUTHERN CALIFORNIA EDISON®
23
Environmental Alerts
EnvironmentalAlertalertType: WarninginEffect: 2011-10-06T00:00:00 - 2011-10-06T23:59:59
SOUTHERN CALIFORNIA EDISON® 24
Observations
EnvironmentalAlertalertType: WarninginEffect: 2011-10-06T00:00:00 - 2011-10-06T23:59:59
Forecastprovider: NWScreated: 2011-10-05T13:12:00validFor: 2011-10-06T00:00:00 - 2011-10-06T23:59:59
SOUTHERN CALIFORNIA EDISON® 25
Phenomena
Forecastprovider: NWScreated: 2011-10-05T13:12:00validFor: 2011-10-06T00:00:00 - 2011-10-06T23:59:59
Hurricaneauthority: NWStimeStamp: 2011-10-06T02:00:00 - 2011-10-06T18:00:00direction:45speed:150category:4
AtmosphericValueSetpredicted: truetimeStamp: 2011-10-06T04:00:00 - 2011-10-06T08:00:00
SOUTHERN CALIFORNIA EDISON® 27
Environmental Data
AtmosphericValueSetpredicted: truetimeStamp: 2011-10-06T04:00:00 - 2011-10-06T08:00:00
AtmosphericValueunit: msvalue: 130000atmosphericType: WindSpeeduncertainty: 5
AtmosphericValueunit: degvalue: 45atmosphericType: WindDirectionuncertainty: 15
SOUTHERN CALIFORNIA EDISON® 28
Example EnvironmentalAlertalertType: WarninginEffect: 2011-10-06T00:00:00 - 2011-10-06T23:59:59
Forecastprovider: NWScreated: 2011-10-05T13:12:00validFor: 2011-10-06T00:00:00 - 2011-10-06T23:59:59
Hurricaneauthority: NWStimeStamp: 2011-10-06T02:00:00 - 2011-10-06T18:00:00direction:45speed:150category:4
Windauthority: NWStimeStamp: 2011-10-06T04:00:00 - 2011-10-06T14:00:00direction:45speed:150maxSpeed:180
Location
CoordinateSystemcrsUrn: urn:ogc:def:crs:EPSG:4326
PositionPointxPosition: -79.82yPosition: 23.15
Hurricaneauthority: NWStimeStamp: 2011-10-06T02:00:00 - 2011-10-06T18:00:00direction:45speed:150category:4
AtmosphericValueSetpredicted: truetimeStamp: 2011-10-06T04:00:00 - 2011-10-06T08:00:00
AtmosphericValueunit: msvalue: 130000atmosphericType: WindSpeeduncertainty: 5
AtmosphericValueunit: degvalue: 45atmosphericType: WindDirectionuncertainty: 15
SkyCoverageValueunit: PerCentvalue: 95atmosphericType: SkyCoverageskyCoverageType: Total
SOUTHERN CALIFORNIA EDISON® 29
Environmental Data Profiles
Two profiles were derived from the CIM for Environmental Data UML model
These profiles were for two interfaces that exchange atmospheric environmental data
Historical weather station data covering the scope of TMY3
Current atmospheric data readings as defined by METAR, the most popular format in the world for exchanging atmospheric (and hydrospheric for sea temperature) environmental data
SOUTHERN CALIFORNIA EDISON®
Historical Station Data
• The Station Data covers the data requirements of the National Renewable Energy Laboratory (NREL) TMY3 format
• Multiple AtmosphericValueSets for different time periods can be included in a single message
• Each message is for a single Monitoring Station with a Geographical Location
30
SOUTHERN CALIFORNIA EDISON®
Current Station Readings
• The Station Readings represent the METAR data as an EnvironmentalAlert
• It supports multiple observations of atmospheric and hydrospheric value sets from different Monitoring Stations
• Different structure from the Historical Station Data due to the different use-cases
• Common classes and attributes shared between profiles
31
SOUTHERN CALIFORNIA EDISON® 32
Data Transformation
To test compatibility and demonstrate harmonisation a transform between METAR data in WXXM and CIM for Environmental Data was developed
The CIM for Environmental Data message was defined with the contextual profile defined in the previous section and realised as an XML Schema file
The WXXM Schema and Sample WXXM message were taken from official WXXM release (1.1).
SOUTHERN CALIFORNIA EDISON® 33
CIM for Environmental Data Message
The CIM for Environmental Data Message was built to deliver an Environmental Alert for Observed weather readings
The CIM for Environmental Data profile and XSD were built and generated by CIMTool
A Model-Driven Transformation then mapped
WXXM to CIM for Environmental Data
SOUTHERN CALIFORNIA EDISON® 34
Transform
Majority of elements mapped 1 to 1
As the CIM uses SI units and WXXM allows multiple units data translation converted to SI units
mapping WindSpeedType::windSpeed() : CIM::AtmosphericValue{
switch{
case (self.uom = UomSpeedType::mS){ result.value := self.value;}
case (self.uom = UomSpeedType::mph){ result.value := self.value * 0.44704;}
case (self.uom = UomSpeedType::kmH){ result.value := self.value * 0.277777778;}
case (self.uom = UomSpeedType::kt){ result.value := self.value * 0.514444444;}
};
result.type := CIM::AtmosphericValueKind::WindSpeed;
}
mapping WindDirectionType::windDirection() : CIM::AtmosphericValue{
switch{
case (self.uom = UomAngleType::deg){ result.value := self.value;};
case (self.uom = UomAngleType::rad){ result.value := self.value / (180/PI);};
case (self.uom = UomAngleType::arcminute){result.value := self.value * 0.0166666667;};
case (self.uom = UomAngleType::arcsecond){result.value := self.value * 0.000277777778;};
};
result.type := CIM::AtmosphericValueKind::WindDirection;
}
SOUTHERN CALIFORNIA EDISON® 35
Transform
Data sets were split into Atmospheric and Hydrospheric where appropriate
mapping AVWX::AerodromeWxType::aerodromeWxValues() : avs : CIM::AtmosphericValueSet, hvs : CIM::HydrosphericValueSet{
result.avs.atmosphericValue += self.airPressure.map pressure();
result.avs.temperatureValue += self.airTemperature.map temperature(CIM::TemperatureKind::DryBulb);
result.avs.temperatureValue += self.dewpointTemperature.map temperature(CIM::TemperatureKind::DewPoint);
result.avs.atmosphericValue += self.verticalVisibility.map verticalVisibility();
result.avs.atmosphericValue += self.windDirection.map windDirection();
result.avs.atmosphericValue += self.windSpeed.map windSpeed();
self.seaWx->forEach(sea){
result.hvs.hydrosphericValues += sea.seaWx.surfaceTemperature.map seaTemperature();
};
}
mapping TemperatureType::seaTemperature() : CIM::HydrosphericValue{
switch{
case (self.uom = UomTemperatureType::C){ result.value := self.value};
case (self.uom = UomTemperatureType::K){ result.value := self.value + 273.15};
case (self.uom = UomTemperatureType::F){
result.value := (self.value - 32) * (5/9);
};
};
type := CIM::HydrosphericValueKind::Temperature;
}
SOUTHERN CALIFORNIA EDISON® 36
Transform GML Locations were converted to CIM Location + PositionPoint + CoordinateSystemReference
• (The WXXM Test Data contained only single point data but multi-point data could also be converted)
mapping GML::LocationPropertyType::location() : CIM::Location{
mRID := getUUID();
if (self.abstractGeometry.oclIsKindOf(GML::PointType)) then{
var point := self.abstractGeometry.oclAsType(GML::PointType);
result.coordinateSystem := object CIM::CoordinateSystem{
crsUrn := point.srsName;
};
var pt := point.pos;
var x := pt.value->at(1);
var y := pt.value->at(2);
var z := pt.value->at(3);
var posPoint := object CIM::PositionPoint{
xPosition := x.repr();
yPosition := y.repr();
zPosition := z.repr();
};
result.positionPoints += posPoint;
}endif;
}
SOUTHERN CALIFORNIA EDISON® 38
Transform Summary
There were some small gaps identified in the CIM for Environmental Data as part of this work and so the model was enhanced to reflect this
The majority of data mapped across 1:1
The whole transform for a METAR (a standard for Meteorological Observation Data for Aviation) message from WXXM to CIM was ~200 lines code
SOUTHERN CALIFORNIA EDISON®
• Current status:
– Refining the model in WG16
– Collaborating with other WGs where models touch
• Location (WG14)
• OrganizationRole (WG14)
• MeasurementValue (WG13)
• ActivityRecord (WG14)
• UsagePoint (WG14)
Extending the CIM for Environmental Data
SOUTHERN CALIFORNIA EDISON®
• Next steps:
– Finalize model
– Refine and define some useful profiles
– Write NWIP (New Work in Progress)
– Produce CD (Committee Draft)
• Using jCleanCIM
• Including UML instance drawings
Extending the CIM for Environmental Data
SOUTHERN CALIFORNIA EDISON®
• Lessons learned
It only takes…
• Persistence, Time, Money, Patience
More input really does make the model better…
Engaging WG members in a project makes it easier (or possible)…
Utility input and vision are vital..
Extending the CIM for Environmental Data
SOUTHERN CALIFORNIA EDISON®
• To learn more
– Visit the CIMug website www.cimug.org Project>CIM for Weather>Public Documents>
– Contact Jim Horstman [email protected] Henry Dotson [email protected] Alan McMorran [email protected] Pat Brown [email protected]
Extending the CIM for Environmental Data