[2.1.14] Pump's internal fluid buffer is not accounted for by circuit signals
Posted: Mon Aug 10, 2026 8:58 pm
I'm building a power plant load monitor that measures how much steam is consumed by the turbines from a buffer tank over a given number of ticks.
The measurement cycle consists of two steps:
Refilling — the intake pump is enabled and the power switch near the turbines is disabled, allowing the measurement unit to be filled with steam.
Measurement — the intake pump is disabled and the power switch is enabled, so the turbines consume steam from the measurement unit.
For continuous measurements, I use two measurement units: while one is being measured, the other is being refilled.
To make the measurements accurate, I need to know the exact amount of steam in the measurement unit immediately before and after the measurement step.
This is where the pump's internal fluid buffer becomes a problem.
The pump's internal buffer is always discharged into the output side. When the pump is disabled, it stops the flow between the input and its internal buffer, but the contents of the internal buffer can still be discharged.
In effect, the pump's internal buffer behaves as part of the output pipeline — but its contents are not included in the fluid amount reported for that pipeline.
This may actually be internally consistent with how the pump is implemented: the pump can be thought of as a small fluid producer whose "production" is simply the fluid it moves from the input to its output.
However, I think this model is somewhat problematic for a pump, because a pump does not produce fluid — it transports fluid.
This is different from a consumption buffer, where it makes sense for the resource to become effectively unavailable to the surrounding system while it is being processed or consumed.
A pump's buffer is a transport buffer: the fluid in it has already entered the transport system and is simply waiting to be moved to the output. From the perspective of measuring fluid flow, it therefore seems natural to consider it part of the amount of fluid currently being transported.
For other entities with internal transport buffers, the contents of the buffer are still part of the entity's stored resources and can be accounted for through circuit signals. With a pump, however, there is an amount of fluid that is physically stored inside the entity, can subsequently enter the output pipeline, and yet is invisible to circuit logic. For example, if I measure the amount of steam before and after an operation, I would expect the difference to represent steam that was consumed or transferred elsewhere. But if some steam is sitting in the pump's internal buffer, that steam effectively disappears from the measurement until it is discharged into the output pipeline.
This is particularly problematic for systems that use circuit signals to measure fluid flow or consumption, because the pump introduces an unobservable intermediate state.
In other words, the pump's internal buffer is:
Would it be possible to make the pump's internal fluid buffer observable, for example by either:
At the moment, precise measurements across a pump are impossible because part of the fluid can temporarily exist in an unobservable buffer.
The measurement cycle consists of two steps:
Refilling — the intake pump is enabled and the power switch near the turbines is disabled, allowing the measurement unit to be filled with steam.
Measurement — the intake pump is disabled and the power switch is enabled, so the turbines consume steam from the measurement unit.
For continuous measurements, I use two measurement units: while one is being measured, the other is being refilled.
To make the measurements accurate, I need to know the exact amount of steam in the measurement unit immediately before and after the measurement step.
This is where the pump's internal fluid buffer becomes a problem.
The pump's internal buffer is always discharged into the output side. When the pump is disabled, it stops the flow between the input and its internal buffer, but the contents of the internal buffer can still be discharged.
In effect, the pump's internal buffer behaves as part of the output pipeline — but its contents are not included in the fluid amount reported for that pipeline.
This may actually be internally consistent with how the pump is implemented: the pump can be thought of as a small fluid producer whose "production" is simply the fluid it moves from the input to its output.
However, I think this model is somewhat problematic for a pump, because a pump does not produce fluid — it transports fluid.
This is different from a consumption buffer, where it makes sense for the resource to become effectively unavailable to the surrounding system while it is being processed or consumed.
A pump's buffer is a transport buffer: the fluid in it has already entered the transport system and is simply waiting to be moved to the output. From the perspective of measuring fluid flow, it therefore seems natural to consider it part of the amount of fluid currently being transported.
For other entities with internal transport buffers, the contents of the buffer are still part of the entity's stored resources and can be accounted for through circuit signals. With a pump, however, there is an amount of fluid that is physically stored inside the entity, can subsequently enter the output pipeline, and yet is invisible to circuit logic. For example, if I measure the amount of steam before and after an operation, I would expect the difference to represent steam that was consumed or transferred elsewhere. But if some steam is sitting in the pump's internal buffer, that steam effectively disappears from the measurement until it is discharged into the output pipeline.
This is particularly problematic for systems that use circuit signals to measure fluid flow or consumption, because the pump introduces an unobservable intermediate state.
In other words, the pump's internal buffer is:
- physically part of the pipeline;
- isn't related to fluid production;
- capable of silently transferring its contents to the output, regardless of the current pump state;
- but not represented in the circuit-readable fluid amount of either side.
Would it be possible to make the pump's internal fluid buffer observable, for example by either:
- including it in the amount reported on one of the pump's sides (likely the output side), or
- exposing the pump's internal buffer as a separate circuit-readable amount?
At the moment, precise measurements across a pump are impossible because part of the fluid can temporarily exist in an unobservable buffer.