The basic approach
The basic approach to determine sky temperature is simply subtracting the ambient temperature from the infrared measured temperature, as in:
Tsky = Ts – Ta
- Tsky = Corrected sky temperature (ºC)
- Ts = Infrared sky measured temperature (ºC)
- Ta = Ambient temperature (ºC)
This simple approach, however, requires frequent changes to the limits—that is, the resulting cloud-detection temperature is not the same as the weather changes along the year.
The polynomial correction
To improve on this, the CloudWatcher has a polynomial model to adjust the correction value depending on the ambient temperature, with different weights, given by:
Td = (K1 / 100) * (Ta - K2 / 10) + (K3 / 100) * (Exp (K4 / 1000 * Ta)) ^ (K5 / 100) + T67
- Td = Correction value (ºC)
- Ta = Ambient temperature (ºC)
- K1, K2, K3, K4, K5, K6 and K7 are the coefficients defined in the Device section of the Setup tab, or the SOLO configuration page
- T67 (cold weather factor)—calculation shown below
- Exp(n) = e (the base of natural logarithms) raised to the power of n
- a^b = a raised to the power of b
The corrected sky temperature (Tsky) is then given by:
Tsky = Ts – Td
- Tsky = Corrected sky temperature (ºC)
- Ts = Infrared sky measured temperature (ºC)
- Td = Correction value (ºC)
Computing the sky temperature this way, and after proper calibration, makes it possible to have accurate detection along a wide temperature range.
Calculation of the T67 (cold weather) term
If Abs((K2 / 10 - Ta)) < 1 Then
T67 = Sgn(K6) * Sgn(Ta - K2 / 10) * Abs((K2 / 10 - Ta))
Else
T67 = K6 / 10 * Sgn(Ta - K2 / 10) * (Log(Abs((K2 / 10 - Ta))) / Log(10) + K7 / 100)
End If
- Sgn(x) = function that returns the sign of x (or 0 if K6 is 0)
- Log(x) = function that returns the natural logarithm of x
- Abs(x) = function that returns the absolute value of x
Important: in all calculations the values of the temperatures are in degrees Celsius.
Please note: leaving K1 = 100 and K2, K3 … K7 = 0 results in the simplified Tsky = Ts – Ta. Leaving all K factors at 0, the result is the raw measured IR, that is, Tsky = Ts.
