Skip to content


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

Round LogoopenPDC

Open Source Phasor Data Concentrator

The openPDC administered by the Grid Protection Alliance (GPA) is a complete Phasor Data Concentrator software system designed to process streaming time-series data in real-time. Measured data gathered with GPS-time from many hundreds of input sources is time-sorted and provided to user defined actions as well as to custom outputs for archival.


A phasor data concentrator is designed to receive streaming synchrophasor data from phasor measurement units (PMUs) installed on power transmission lines and align this data by GPS time-tag (i.e., it "concentrates" the data based on time). The output of a PDC is a time-synchronized dataset that is forwarded on one or more software applications. For more information on the functional requirements of a PDC see: Phasor Data Concentrator Requirements

The openPDC is much more than just a data concentrator, it is a flexible platform for processing high-speed time-series data that can adapt with changing technology to provide a future-proof phasor data architecture. The openPDC can be used to distribute data (both real-time and historical) to consuming applications and can be installed anywhere within the synchrophasor infrastructure, even on fanless computers that run in a substation environment.

Although the primary purpose of the openPDC is concentration and management of real-time streaming synchrophasors, by having its functionality based on GPA's Time-Series Library the openPDC inherits a modular design that allows it to be classified as a generic event stream processor:

openPDC Flow Diagram


The openPDC implements a number of standard phasor protocols which can be used to receive data from devices. The supported protocols include IEEE C37.118, IEC 61850-90-5, IEEE 1344, BPA PDCstream, F-NET, SEL Fast Message, and Macrodyne among others.

Using the Time-Series Library, the openPDC can be configured to archive to any historian system, however, the system also includes an available built-in historian, the openHistorian, for data archival. The local historian comes with a visualization and extraction tool, a high-speed local API and web services, all of which can be used to extract and monitor the data being archived in real-time. The files produced by the historian can also be analyzed using Hadoop.

With version 2.1 or later, the openPDC can be deployed in POSIX environments as well as on Windows.

Other features include:

  • Lossless phasor data transformation and replication with the ability to create a configurable number of output streams
  • Extensive performance statistic history such as average latency, data quality and time code errors
  • Generic configuration database with support for Microsoft SQL Server and Oracle as well as free alternatives such as MySQL and SQLite
  • Distributed multi-node architecture supported for high availability and throughput
  • Provided output adapters for multiple historians including the openHistorian, OSI-PI Historian and Hadoop.
  • Automated data availability reporting

Documentation and Support



  • .NET 4.8 or higher.
  • 64-bit Windows 7 or newer or POSIX OS, e.g. Linux or Mac.
  • Database management system such as:
    • SQL Server (Express version is fine)
    • MySQL
    • Oracle
    • PostgreSQL
    • SQLite (included, no extra install required - not recommended for large deployments)


  • Download the latest stable release here.
  • Older releases are also available here.
  • Download the nightly build here.


If you would like to contribute please:

  • Read our styleguide.
  • Fork the repository.
  • Code like a boss.
  • Create a pull request.


openPDC is licensed under the MIT license.