Each Geonor sensor records three precipitation values and three gauge depths every 5 minutes. It also records, for each wire, the maximum, minimum, and average wire frequences for the hour. This algorithm describes how to derive from these values a single precipitation value for a specific 5 minute period.

For the 5 minute period in question, let
*P1*, *P2*, *P3* be
the three precipitation values, in mm, and *d1*,
*d2*, and *d3* the three gauge depths,
in mm. Let the
maximum, minimum, and
average wire frequences for the hour be denoted by
*F1 ^{min}*,

*F2*,

^{min}*F3*,

^{min}*F1*,

^{max}*F2*,

^{max}*F3*,

^{max}*F1*,

^{avg}*F2*, and

^{avg}*F3*. Also let

^{avg}*d1*,

^{prev}*d2*, and

^{prev}*d3*be the gauge depths from the previous 5 minute period.

^{prev}
Each of the *Pi*'s is either zero, some postive number, or is
missing. (A missing value can be the result of a temporary equipment
malfunction, or an error in data transmission; missing values are
indicated by a value of 6999 or -6999.) We say that a *Pi* is
*present* if it is not zero and is not missing --- i.e. it is
some non-zero value other than 6999 or -6999.

We will also need the pairwise differences of each pair of precipitation values (omit any of these involving precipitation values that are not present):

For each of the three differencesD12= |P1-P2|

D23= |P2-P3|

D31= |P3-P1|

*Dij*, we say that

*Dij*is "within tolerance" if

*Dij*≤ 0.3.

In some situations we use the following terminology: we say that a
*Pi* (i=1,2,3) is *valid*
if |*di* - *di ^{prev}*| ≥ 0.3 and

*Fi*-

^{max}*Fi*> 2.

^{min}With the above terminology we can now state the algorithm for the official USCRN precipitation value as follows:

- If any of
*P1*,*P2*,*P3*is greater than 25, then the official precipitation is specified as "missing" - If all three of
*P1*,*P2*,*P3*are present, and they are all less than or equal to 25, and- if all three of the Dij are within tolerance, then the official USCRN precipitation value is the median of P1,P2,P3.
- if exactly two of the Dij are within tolerance, then the official USCRN precipitation value is the median of P1,P2,P3.
- if exactly one of the Dij is within tolerance, then the official USCRN precipitation value is the average of the two precipitation values whose difference is within tolerance.
- if none of the Dij are within tolerance, then the official USCRN precipitation value is specified as "missing"

- If exactly two of
*P1*,*P2*,*P3*are present, and they are both less than or equal to 25, and- If both of the present
*Pi*values are ≤ 0.3 and- if both of these
*Pi*values are valid, then the official USCRN precipitation value is the average of these two values - if exactly one of these
*Pi*values is valid, then the official USCRN precipitation value is this one valid value - if neither of these
*Pi*values is valid, then the official USCRN precipitation is specified as "missing"

- if both of these
- If at least one of the present
*Pi*values is > 0.3 and- if the difference between the two present
*Pi*values is within tolerence, then the official USCRN precipitation value is the average of these two values - if the difference between the two present
*Pi*values is > 0.3, then the official USCRN precipitation is specified as "missing"

- if the difference between the two present

- If both of the present
- If exactly one of
*P1*,*P2*,*P3*are present, and it is less than 25, and- if this one present value is valid, the official USCRN precipitation value is this one valid value
- if this one present value is not valid, then the official USCRN precipitation is specified as "missing"

- If none of
*P1*,*P2*,*P3*are present, then the official USCRN precipitation is specified as "missing"