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.