The EasyWeather.dat file format

As part of my experimenting with the EasyWeather software that came with my weather station I’ve managed to decipher the meaning of most of the numbers in the EasyWeather.dat file. It’s a plain text file, with comma separated values (i.e. CSV format). The table below shows what I think each column means.

After a few months I stopped using EasyWeather, as I’d developed my own alternative software to run on a low power embedded Linux box. For more details about this software, and links to other weather station software, see my main weather station page.

Column Item Format Comments
1record numberintegerstarts at 1
2transfer dateyyyy-mm-dd hh:mm:ssdate and time (according to computer, not weather station) of transfer from station to file
3reading dateyyyy-mm-dd hh:mm:ssdate and time of record. Appears to be derived from computer’s clock at time of transfer
4reading intervalintegerminutes since previous reading
5indoor humidityintegerrelative humidity percent
6indoor temperaturefloating pointdegrees centigrade
7outdoor humidityintegerrelative humidity percent
8outdoor temperaturefloating pointdegrees centigrade
9dew pointfloating pointdegrees centigrade. See comments below
10wind chillfloating pointdegrees centigrade. See comments below
11absolute pressurefloating pointmillibars
12relative pressurefloating pointmillibars
13wind averagefloating pointmetres / second
14wind averageintegerBeaufort
15wind gustfloating pointmetres / second
16wind gustintegerBeaufort
17wind directioninteger0 to 15. 0 is north, 1 is NNE, 8 is south, 15 is NNW
18wind directiontextENE appears as NEE, ESE appears as SEE
19rain ‘ticks’integercumulative count of number of times rain gauge has tipped. Resets to zero if station’s batteries removed
20rain totalfloating pointmm rain total. Column 19 * 0.3, but does not reset to zero, stays fixed until ticks catch up
21rain since last readingfloating pointmm
22rain in last hourfloating pointmm
23rain in last 24 hoursfloating pointmm
24rain in last 7 daysfloating pointmm
25rain in last 30 daysfloating pointmm
26rain total or in last year?floating pointmm. This is the same as column 20 in my data
27status bit 0integer0 or 1
28status bit 1integer0 or 1
29status bit 2integer0 or 1
30status bit 3integer0 or 1
31status bit 4integer0 or 1
32status bit 5integer0 or 1
33status bit 6 – outdoor readings invalidinteger0 or 1
34status bit 7integer0 or 1
35data address6-digit hexadecimalpointer to where in weather station’s memory data came from. Range is 000100 to 00FFF0. After reaching 00FFF0, returns to 000100 – i.e. a circular or ring buffer.
36raw data16 2-digit hexadecimalsthe raw data as it came from the weather station

The dew point and wind chill values are computed from outdoor temperature, outdoor humidity and average wind speed. I have found formulae on various web sites, but none exactly matches the values in the data file.

Dew point is computed as follows:
a = 17.27
b = 237.7
gamma = (a * t / (b + t)) + ln(rh / 100.0)
dew = b * gamma / (a - gamma)
where t is the outdoor temperature in degrees centigrade and rh is the relative humidity. This formula gives results within 0.1 degrees of the EasyWeather values, especially after some rounding tweaks are added. This formula is only accurate to about 0.4 degrees anyway, so this result is acceptable. I’ve yet to discover what happens at sub zero temperatures.

Wind chill is a bit more complicated. There are various quite different formulae, with some variation by country. The best bet I’ve found so far is this:
wc = 13.12 + (0.6215 * t) - (11.37 * (v**0.16)) + (0.3965 * t * (v**0.16))
where t is the outdoor temperature (centigrade) and v is the average wind speed in km/h. Unfortunately this formula is just not working for me at present, with results quite different from the EasyWeather values.

Since writing the above Phil Maddocks has sent me a much better formula, based on Court’s formula for Heat Loss:
if t < 33 and v >= 1.79:
    wc = 33 + ((t - 33) * (0.55 + (0.417 * sqr(v)) - (0.0454 * v)))
    wc = t
where t is the outdoor temperature (centigrade) and v is the average wind speed in m/s (not km/h). I haven’t tried this formula myself yet.