PowerTableDataParser.jl
Overview
PowerTableDataParser.jl is a Julia package that parses a directory of CSV files describing a power system (buses, branches, generators, loads, DC branches, reserves, storage) together with user-supplied YAML configuration files into a PowerSystemTableData object. That object can then be passed to PowerSystems.jl's System constructor to build a fully-typed system.
This package is a stand-alone extraction of the tabular "CDM" (Component Data Model) parser that previously lived inside PowerSystems.jl. Support for the tabular parser inside PowerSystems.jl is removed starting with PowerSystems.jl v6, so new users should depend on this package directly.
When to use this package
Use PowerTableDataParser.jl when:
- Your input data is a collection of CSV files (one per component category) produced by spreadsheet workflows, RTS-style datasets, or internal tools.
- You want to keep your own column names and units and map them to
PowerSystems.jlfield names via a YAML descriptor file, rather than editing your raw CSVs. - You want to map generator rows to concrete
Generatorsubtypes using a small(fuel, type) -> GeneratorYAML mapping.
If your data is already in a MATPOWER, PSS/e RAW/DYR, or a serialized PowerSystems.jl format, use the corresponding PowerSystems.jl parsers directly instead.
Documentation layout
The documentation follows the Diataxis framework:
- Tutorials — hands-on walkthroughs (coming soon).
- How to... — task-oriented recipes, e.g. Parse Tabular Data from .csv Files.
- Explanation — conceptual background on how the parser combines CSV, YAML, and time-series inputs.
- Reference — auto-generated API documentation for
PowerSystemTableDataand related internals.
About
PowerTableDataParser is part of the Sienna platform, an open source framework for scheduling problems and dynamic simulations for power systems. The Sienna ecosystem can be found on github. It contains three applications:
- Sienna\Data enables efficient data input, analysis, and transformation.
- Sienna\Ops enables system scheduling simulations by formulating and solving optimization problems.
- Sienna\Dyn enables system transient analysis including small signal stability and full system dynamic simulations.
Each application uses multiple packages in the Julia programming language.