|
MEASUR-Tools-Suite v1.0.11
The MEASUR Tools Suite is a collection of industrial efficiency calculations written in C++ and with bindings for compilation to WebAssembly.
|
This calculator estimates annual water use and associated cost for a set of water reduction measures identified during an energy treasure hunt or water efficiency assessment. It supports four measurement methods — metered flow, volume meter, bucket, and other (direct consumption) — and accumulates the results across all measures in a single pass.
The calculation follows these steps for each measure:
Relevant formulas and symbol definitions are documented below.
Annual water use derived from a continuous flow meter reading and operating hours.
The metered flow method uses the instantaneous flow rate reported by a water meter together with the annual operating hours to obtain total annual water consumption. The factor of 60 converts the meter reading from gallons per minute to gallons per hour before multiplying by the annual operating hours.
\begin{equation}\label{eq:water-reduction-metered-flow} W_{use} = \dot{V}_{meter} \cdot 60 \cdot t_{op}\end{equation}
| \(W_{use}\) | Annual water use \([\unit{ \gallon\per\year}]\) |
| \(\dot{V}_{meter}\) | Meter reading (instantaneous flow rate) \([\unit{ \gallon\per\minute}]\) |
| \(60\) | Conversion factor from minutes to hours \([\unit{ \minute\per\hour}]\) |
| \(t_{op}\) | Annual operating hours \([\unit{ \hour\per\year}]\) |
Annual water use derived from the change in a volume meter over a timed interval.
The volume meter method records the initial and final readings of a totalizing water meter over a measured elapsed time. The difference in readings gives the volume consumed during the test interval. Dividing by the elapsed time (converted to hours) yields the average flow rate, which is then multiplied by the annual operating hours to obtain total annual water consumption.
\begin{equation}\label{eq:water-reduction-volume-meter} W_{use} = \frac{(V_{final} - V_{initial}) \cdot 60}{t_{elapsed}} \cdot t_{op}\end{equation}
| \(W_{use}\) | Annual water use \([\unit{ \gallon\per\year}]\) |
| \(V_{final}\) | Final meter reading \([\unit{ \gallon}]\) |
| \(V_{initial}\) | Initial meter reading \([\unit{ \gallon}]\) |
| \(t_{elapsed}\) | Elapsed time of measurement interval \([\unit{ \minute}]\) |
| \(60\) | Conversion factor from minutes to hours \([\unit{ \minute\per\hour}]\) |
| \(t_{op}\) | Annual operating hours \([\unit{ \hour\per\year}]\) |
Annual water use derived from the time required to fill a bucket of known volume.
The bucket method measures flow rate by recording the time needed to fill a container of known volume. Dividing the bucket volume by the fill time (converted to hours) yields the flow rate in gallons per hour, which is then multiplied by the annual operating hours to obtain total annual water consumption.
\begin{equation}\label{eq:water-reduction-bucket} W_{use} = \frac{V_{bucket} \cdot 3600}{t_{fill}} \cdot t_{op}\end{equation}
| \(W_{use}\) | Annual water use \([\unit{ \gallon\per\year}]\) |
| \(V_{bucket}\) | Volume of the bucket used for measurement \([\unit{ \gallon}]\) |
| \(t_{fill}\) | Time to fill the bucket \([\unit{ \second}]\) |
| \(3600\) | Conversion factor from seconds to hours \([\unit{ \second\per\hour}]\) |
| \(t_{op}\) | Annual operating hours \([\unit{ \hour\per\year}]\) |
Annual water use supplied as a direct consumption value.
The other method accepts a pre-calculated or independently determined annual water consumption value. No flow-rate conversion is applied; the consumption figure is used directly as the annual water use.
\begin{equation}\label{eq:water-reduction-other} W_{use} = C_{other}\end{equation}
| \(W_{use}\) | Annual water use \([\unit{ \gallon\per\year}]\) |
| \(C_{other}\) | Direct annual water consumption \([\unit{ \gallon\per\year}]\) |
Annual water cost calculated from annual water use and the water cost rate.
Regardless of the measurement method used to determine annual water use, the annual water cost is obtained by multiplying the water use by the cost per unit volume of water. This formula applies uniformly to the metered flow, volume meter, bucket, and other methods.
\begin{equation}\label{eq:water-reduction-water-cost} C_{water} = r_{water} \cdot W_{use}\end{equation}
| \(C_{water}\) | Annual water cost \([\unit{ \dollar\per\year}]\) |
| \(r_{water}\) | Water cost rate \([\unit{ \dollar\per\gallon}]\) |
| \(W_{use}\) | Annual water use \([\unit{ \gallon\per\year}]\) |
Modules | |
| Metered Flow Water Use Formula | |
| Annual water use derived from a continuous flow meter reading and operating hours. | |
| Volume Meter Water Use Formula | |
| Annual water use derived from the change in a volume meter over a timed interval. | |
| Bucket Method Water Use Formula | |
| Annual water use derived from the time required to fill a bucket of known volume. | |
| Other Method Water Use Formula | |
| Annual water use supplied as a direct consumption value. | |
| Water Cost Formula | |
| Annual water cost calculated from annual water use and the water cost rate. | |
Files | |
| file | water_reduction.h |
| Declares structs, enums, and functions for the Water Reduction Calculator.Calculates annual water use and cost for water reduction measures using multiple measurement methods. | |
Namespaces | |
| namespace | water_reduction |
| Water reduction calculations for treasure hunt measures. | |
Classes | |
| struct | water_reduction::MeteredFlowMethodData |
| Input data for the metered flow measurement method. More... | |
| struct | water_reduction::VolumeMeterMethodData |
| Input data for the volume meter measurement method. More... | |
| struct | water_reduction::BucketMethodData |
| Input data for the bucket measurement method. More... | |
| struct | water_reduction::WaterOtherMethodData |
| Input data for the other (direct consumption) measurement method. More... | |
| struct | water_reduction::WaterReductionInput |
| Input data for a single water reduction measure. More... | |
| struct | water_reduction::WaterReductionOutput |
| Output data for a water reduction calculation. More... | |
Functions | |
| WaterReductionOutput | water_reduction::waterReduction (const std::vector< WaterReductionInput > &input_vec) |
| Calculates total annual water use and cost for a collection of water reduction measures. | |
| WaterReductionOutput | water_reduction::meteredFlowReduction (const MeteredFlowMethodData &data, int operating_hours, double water_cost) |
| Calculates annual water use and cost using the metered flow method. | |
| WaterReductionOutput | water_reduction::volumeMeterReduction (const VolumeMeterMethodData &data, int operating_hours, double water_cost) |
| Calculates annual water use and cost using the volume meter method. | |
| WaterReductionOutput | water_reduction::bucketReduction (const BucketMethodData &data, int operating_hours, double water_cost) |
| Calculates annual water use and cost using the bucket measurement method. | |
| WaterReductionOutput | water_reduction::otherReduction (const WaterOtherMethodData &data, double water_cost) |
| Calculates annual water use and cost using a directly supplied consumption value. | |
| WaterReductionOutput water_reduction::bucketReduction | ( | const BucketMethodData & | data, |
| int | operating_hours, | ||
| double | water_cost | ||
| ) |
Computes the flow rate by dividing the bucket volume by the fill time (converted to hours), then scales to annual use by multiplying by the operating hours. Water cost is then derived using Water Cost Formula.
| [in] | data | BucketMethodData with bucket volume \([\unit{\gallon}]\) and fill time \([\unit{\second}]\). |
| [in] | operating_hours | Annual operating hours \([\unit{\hour\per\year}]\). |
| [in] | water_cost | Water cost rate \([\unit{\dollar\per\gallon}]\). |
| WaterReductionOutput water_reduction::meteredFlowReduction | ( | const MeteredFlowMethodData & | data, |
| int | operating_hours, | ||
| double | water_cost | ||
| ) |
Multiplies the meter reading by 60 (to convert gal/min to gal/hr) and by the annual operating hours to obtain annual water use. Water cost is then derived using Water Cost Formula.
| [in] | data | MeteredFlowMethodData with the meter reading \([\unit{\gallon\per\minute}]\). |
| [in] | operating_hours | Annual operating hours \([\unit{\hour\per\year}]\). |
| [in] | water_cost | Water cost rate \([\unit{\dollar\per\gallon}]\). |
| WaterReductionOutput water_reduction::otherReduction | ( | const WaterOtherMethodData & | data, |
| double | water_cost | ||
| ) |
Uses the consumption field directly as the annual water use without any flow-rate conversion. Water cost is then derived using Water Cost Formula.
| [in] | data | WaterOtherMethodData with the annual water consumption \([\unit{\gallon\per\year}]\). |
| [in] | water_cost | Water cost rate \([\unit{\dollar\per\gallon}]\). |
| WaterReductionOutput water_reduction::volumeMeterReduction | ( | const VolumeMeterMethodData & | data, |
| int | operating_hours, | ||
| double | water_cost | ||
| ) |
Computes the average flow rate from the change in meter reading over the elapsed time, then scales to annual use by multiplying by the operating hours. Water cost is then derived using Water Cost Formula.
| [in] | data | VolumeMeterMethodData with initial/final meter readings \([\unit{\gallon}]\) and elapsed time \([\unit{\minute}]\). |
| [in] | operating_hours | Annual operating hours \([\unit{\hour\per\year}]\). |
| [in] | water_cost | Water cost rate \([\unit{\dollar\per\gallon}]\). |
| WaterReductionOutput water_reduction::waterReduction | ( | const std::vector< WaterReductionInput > & | input_vec | ) |
Iterates over input_vec, dispatches each measure to the appropriate single-method helper (metered flow, volume meter, bucket, or other), and accumulates the results.
| [in] | input_vec | Vector of WaterReductionInput structs, one per measure. |