PyDSS Project Layout¶
A PyDSS project is made up of one or more scenarios that run simulations on a shared OpenDSS model. Scenarios allow users to customize inputs, outputs, and controls independently. Use cases for multiple scenarios include:
Running different control algorithms on the same circuit
Running snapshot simulations at different time points
Exporting different sets of data
Running custom post-process scripts after simulation
Project Structure¶
my-project/
├── simulation.toml # Main simulation configuration
├── store.h5 # HDF5 data store (created after run)
├── DSSfiles/ # OpenDSS model files
│ ├── Master.dss
│ └── ...
├── Exports/ # Simulation output (per scenario)
│ └── <scenario-name>/
├── Reports/ # Generated reports
├── Logs/ # Simulation logs
├── Profiles/ # Load/PV profiles (optional)
│ ├── profiles.hdf5
│ └── mapping.toml
└── Scenarios/
└── <scenario-name>/
├── ExportLists/ # Export configuration
│ ├── Exports.toml
│ └── Subscriptions.toml
├── pyControllerList/ # Controller configurations
│ ├── PvController.toml
│ └── StorageController.toml
├── pyPlotList/ # Plot configuration
├── PostProcess/ # Post-simulation scripts
└── Monte_Carlo/ # Monte Carlo settings
Simulation Settings¶
The main configuration file is simulation.toml, located at the project root.
This file controls all aspects of the simulation including timing, solver settings,
export options, co-simulation, and reports.
Refer to SimulationSettingsModel for the full schema.
Scenarios¶
Each scenario has its own configuration directory under Scenarios/<scenario-name>/.
The key subdirectories are:
ExportLists/ — Configures what data to export. The Exports.toml file defines
which element classes and properties to collect. See Pre-filtering Export Data.
pyControllerList/ — Configures controllers for this scenario. Each .toml file
maps element names to controller settings. See Controller Documentation.
PostProcess/ — Optional Python scripts to run after each simulation solve step.
Exports¶
When export_results is enabled, exported data is written to
Exports/<scenario-name>/. The format (HDF5 or CSV) is configured in simulation.toml.
Reports¶
When reports are enabled in simulation.toml, generated report files are written to
Reports/. See Reports for available report types.
HDF5 Store¶
All exported data is also stored in store.h5 at the project root. This provides
efficient compressed storage with ~95% compression ratio. See HDF Data Format
for the internal layout.