Binary output file does not store pump max flow exceeded or PRV/PSV cannot supply pressure states
According to the output file specifications, it should be possible to read whether a pump is in the XFLOW state (5), or whether a PRV or PSV is in the XPRESSURE state (7). However, based on my testing, these statuses do not appear to be written to the binary output file.
These states are accessible during the simulation via the toolkit using EN_getlinkvalue() with EN_PUMP_STATE (for both pumps and valves).
From a quick look at the code, it appears that the pump status is calculated on the fly during the API call, rather than being read from LinkStatus. I haven’t dug deeply into why the PRV/PSV states can be accessed during the run but are not preserved in the output file, but my assumption is that they are either overwritten or not used later in the process.