Quick Links
News -- About the openPDC -- Registration -- Community Involvement -- Attributions -- Nightly Builds

The openPDC is a complete set of applications for processing streaming time-series data in real-time. Measured data is gathered with GPS-time from multiple input sources, time-sorted and provided to user defined actions, then dispersed to custom output destinations for archival.

collage.jpg

News

January 28, 2010 We are excited to introduce the openPDC Management System! As you know, the primary components of openPDC Management System have been under development for some time. In the latest code release you will find a very useful application called the “openPDC Manager” that is used to manage multiple openPDC instances from one simple to use web application. It provides tremendous improvements that simplify configuration and operation of the openPDC, including a device configuration wizard that will take a configuration collected directly from a device and use this information to automatically configure the system. Click here for more information.

Other recent developments include the addition of the openPDC Data Quality and Monitoring System that allows users to monitor any number of system signals for quality. The data quality system currently includes a range tester, a data flat-line tester and a timestamp quality tester. The quality monitoring system also includes a series of web services that allow consumers to take monitored signal quality and integrate the results into existing operational alarming systems. Click here for more information.

October 7, 2009 The Tennessee Valley Authority (TVA) is pleased to publicly provide the source code for its data concentration software known in the industry as the Super Phasor Data Concentrator (SPDC) -- see press release. It is our hope that this code will be used to support the development of the smart grid and facilitate the Department of Energy (DOE) plans to accelerate the use of synchrophasors in the U.S. as part of the federal economic stimulus programs. We believe that this software will be an enabling technology for both vendors and the electric power system industry as a whole.

About the openPDC

The open source phasor data concentrator (openPDC) is a system that is used to manage, process and respond to dynamic changes in fast moving streaming phasor data. More specifically, the openPDC can process any kind of data that can be described as “time-stamped measured values”. These measured values are simply numeric quantities that have been acquired at a source device and are typically called points, signals, events, time-series values or measurements. Examples of measurements include temperature, voltage, vibration, location, luminosity and, of course, phasors. When a value gets measured, an exact timestamp is taken, typically using a GPS-clock for accuracy – the value, along with its timestamp, is then streamed to the openPDC where it can be “time-aligned” with other incoming measurements so that an action can then be taken on a complete slice of data that was all measured at the exact same moment in time.

Although the system was specifically developed to manage real-time streaming synchrophasors and generate time-sorted concentrated data streams using standard protocols, its completely modular based design makes the system a general purpose distributed stream processing engine. This adaptive system design also makes it simple to integrate the openPDC with other systems that you may want to use to help manage and archive streaming event data (e.g., Microsoft's StreamInsight CEP Platform, OSIsoft's PI Historian, etc.) The openPDC will have a broad range of uses outside of synchrophasors where real-time streaming measured data needs to be processed and archived, for example: consumer energy usage (smart-grid), seismic metering, high-speed location tracking, fast changing temperature monitoring, surveillance applications, network traffic processing, etc.

Below is an image that shows the openPDC modular system design used to manage streaming measurements. User defined input adapters are used to collect streaming data and assign incoming measurements an ID. Measurements are then sorted by time and passed along to custom action adapters that process the data. Finally, all measurements are sent to output adapters that are used to queue up data for archival. The high level data flow is: map, sort, queue where map is the step of assigning an ID to a measurement, sort is the step of sorting the measurements by time so that an action can be taken, and queue is the step of queuing up measurements so they can sent to different outputs. The system loads user defined “assemblies” to perform all of these steps – that is, users can develop their own input, action and output adapters to provide extensible processing of any streaming measured data. The project includes a variety of adapters to make the system operate as a “phasor data concentrator” as well as to archive time-series measurements into files that can be processed in bulk by Hadoop. The map-reduce code needed to allow Hadoop to mass process the time-series archive files is also included.

openPDC Data Flow.jpg

Background

TVA began development of a Phasor Data Concentrator (PDC) in 2004, in order to advance the efforts of the Eastern Interconnection Phasor Project (EIPP). With the help of this system the EIPP continued to grow, is now under NERC oversight and has been expanded as the North American Synchrophasor Initiative (NASPI). TVA has made this PDC available to the public as an open source project called the openPDC.

Phasor measurements complement traditional electric utility control systems and measure electrical information on the grid in order to determine its health. The electric system information is sampled at very high speeds with individual measured values getting transmitted at 30 times per second. Each measurement carries a precise time stamp taken from GPS satellites so that the electric grid can be analyzed at a specific (synchronized) time (see also: What is a phasor?). Advancing the use of these "synchrophasors" is considered to be among the most important next steps to the improvement of power systems.

TVA was among the early pioneers in the use of synchrophasors having installed its first phasor measurement units (PMUs) in 1993. TVA currently collects information from over 120 PMUs throughout the eastern half of North America. Data continually streams to the TVA SPDC from locations ranging from Miami, Florida to Manitoba, Canada.

PMU Map
Click for larger image

The current implementation of this project at TVA handles:
  • Space utilization rate of 1.5 GB/hr (36 GB a day)
  • Measurement archival rate of 150 million/hr (3.6 billion a day)
  • 120 online PMUs
  • 1850 defined measurements

As of October 2009 the total synchrophasor storage totals more than 20TB.

Registration

In an effort to track usage and maintain accurate records of the openPDC, our license agreement requests that users register with TVA by visiting the following website: https://naspi.tva.com/Registration/. Only very basic information will be collected, and your name and personal information will be used for statistical purposes only. Also, if you choose to be notified we will let you know about any important updates to the openPDC.

Community Involvement

We provided the openPDC to the public with the goal that users would take the code and extend it. In the spirit of this cooperative effort, here are some items we are hoping the openPDC community can help with:
  • Building n-unit tests around critical system components
  • Additional needed protocol parsers (e.g., IEC 61850)
  • Standard historian output adpaters (e.g., OSI-PI, Instep, etc.)
  • Common useful action adapters (e.g., typical power calculations)
  • Improvements in security, optimizations and efficiency
  • Continued development of operational documentation

Click here for more information on becoming an openPDC developer.

Attributions

Primary Contributors

J. Ritchie Carroll Brian B. Fox
Pinal C. Patel Josh L. Patterson
F. Russell Robertson Mehulbhi Thakkar
Paul B. Trachian Stephen C. Wills
Darrell Zuercher Jian Ryan Zuo
Andy Hill Galen Riley

Other Contributors

Shyni John Jeffery Kinzer
Steven A. Lowe John H. Shugart
Tim M. Shults

Special Thanks

Rob St. Andre Craig Goodwin
Matthew Hauer Erich Heine
Alan Karlak Himanshu Khurana
Barbara Motteler Tim Yardley

Acknowledgements

Authors Project (Adaptation) License
Alex Kwok, Uwe Keim FTP code based on similar C# project (TVA.Net.Ftp.*) Code Project Open License
Leslie Sanford Multimedia.Timer class adaptation (TVA.PrecisionTimer) MIT License
James Brock DateTimePrecise adaptation (TVA.PrecisionTimer.UtcNow) Code Project Open License
Jeff Atwood Exception handling adaptation (TVA.ErrorManagement.ErrorLogger) Code Project Open License

Last edited Feb 1 at 2:55 PM by ritchiecarroll, version 79

 

Want to leave feedback?
Please use Discussions or Reviews instead.

Updating...
© 2006-2010 Microsoft | About CodePlex | Privacy Statement | Terms of Use | Code of Conduct | Advertise With Us | Version 2010.1.12.16187