#power #voltage #file-format #data-exchange #comtrade #oscillography #disturbance

yanked comtrade-rs

A pure Rust parser for the COMTRADE (Common format for Transient Data Exchange for power systems) file format

0.2.0 Oct 22, 2021

#8 in #voltage

MIT license

40KB
818 lines

comtrade-rs

Warning: this library is a WIP and not yet ready for production usage.

This library provides a native Rust library for parsing COMTRADE (Common format for Transient Data Exchange for power systems) files, containing oscillography and status data for power system disturbances.

Implementation status

Task Status
Implement parsing .cfg files (encoded in ASCII) Working (1991, 1999, 2013)
Implement parsing .cfg files (encoded in UTF-8) Todo
Implement parsing .cfg files (encoded in other encodings such as latin1) Todo
Implement parsing ACSII data files Todo
Implement parsing binary16 data files Todo
Implement parsing binary32 data files Todo
Implement parsing float32 data files Todo
Implement loading separate files from combined 2013 .cff format. Working (1991, 1999, 2013)
Implement retrieval of actual analog data values using primary vs. secondary factors, offsets, etc. Todo
Implement calculation of real time based on skews, time multipliers, etc. Todo

Getting started

Todo: once ready, deploy to crates.io.

Usage

Todo: document usage.

Todo

  • Current test files all have only one sample rate - can I find a COMTRADE file with > 1 sample rate for purpose of testing comprehensiveness?
  • Clean up error messages - maybe have consistent format including filename and line number?
  • No test files with continuously variable sample rate.

Dependencies

~6.5MB
~118K SLoC