File formats¶
noodl physics reads each of these formats into the same kind of object — a network with elements and layers — so a model read from a file can be batched, differentiated and coupled exactly like one built by hand in Python. Reading a file is one of two ways in to an application; the other is building the network directly, shown on each application page.
| Format | Reader | What it describes | Produces a model for |
|---|---|---|---|
CONTAM .prj / .wth / .ctm |
read_prj, project_to_model, simulate_project, read_wth, read_ctm |
Multi-zone building airflow, contaminants and occupants; weather; ambient concentrations | Building physics |
| Modelica Buildings Library (JSON + CSV export) | read_modelica |
Multi-zone airflow models built from MBL components | Building physics |
SWMM .inp |
read_swmm_inp |
Gravity sewer and drainage networks | Sewers |
EPANET .inp |
read_epanet_inp |
Pressurised water distribution | Water distribution |
| Modelica circuits (JSON + CSV export) | read_modelica_circuit |
Lumped circuits from the Modelica Standard Library and Buildings Library | Electrical circuits |
MATPOWER .m (case format version 2) |
read_matpower |
Balanced power networks: buses, lines, transformers, loads, shunts, generators | Electrical power flow |
The two .inp formats share one lexical layer, noodl.apps.inpfile: [SECTION] headers, ;
comments, whitespace-separated fields and blank lines. Neither reader's own section names, column
layouts or units live there — apps/sewer/inp.py and apps/water/inp.py each own theirs.