EIO
Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.
EnergyPlus Invariant Output (EIO).
At a glance
| Original creator | EnergyPlus (U.S. Department of Energy) |
| Purpose | The EnergyPlus invariant output: everything about a run that does not change over time, such as autosized capacities, surface geometry, zone volumes and the algorithms chosen. |
| Extensions | .eio |
| Poka parser | poka-eio |
| Viewer | poka-tree-viewer |
| Depth tier | Parser with a shared viewer (see Depth tiers) |
| Breadth tier | B2 Broad (see Breadth tiers) |
How much Poka reads
B2 Broad. The common content of the current and the common older versions is decoded. Some named features or versions are not, and are listed.
Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-16: poka-eio src/lib.rs (parse_header, parse_eio, build_ast, unit tests) and tests/samples.rs; corpus oracle_1zone.eio, modeltok-pthp-eplusout.eio and the TenZonesTenHVACSystems files from DesignBuilder 25.1 and 26.1. Covers the self-describing EIO: every record type, row and named column is parsed, including bare counting headers, headers redeclared mid-file and headers glued to a data row. The tree cap of 6,000 nodes is below the roughly 11,000 nodes of the TenZones files (counted from the corpus, not run).
What Poka does not read
- on a multi-zone run the 6,000-node cap cuts later record types and leaves later records without their field rows
- no tabular view of the many repeated records (for example 386 Component Sizing Information rows), only one tree branch per record
- units in column headers are kept as text, not interpreted or converted
- banner prose describing sections is dropped
- no cross-reference between records and the IDF objects they describe
Background
The EIO is self-describing: a line starting with ! declares a record type and its columns, and the lines after it are instances. The record type in the header is not a column, because each data row repeats it, and the counting records use a different header form; both are handled. Poka shows each record type as a branch with its rows and named columns. The tree stops at 6,000 nodes, which the larger multi-zone corpus files exceed.
Versions
| Version | Identifier | Poka | Note |
|---|---|---|---|
| EnergyPlus EIO | Read |
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- opyplus (candidate; MPL-2.0; Python; https://github.com/openergy/opyplus) — Python EnergyPlus package; its API index lists an Eio class, but its behaviour and .eio support were not confirmed from the pages loaded.
Sources
- https://bigladdersoftware.com/epx/docs/24-1/output-details-and-examples/eplusout-eio.html
- parsers/poka-eio/src/lib.rs