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 |
---|---|---|---|

1 | record number | integer | starts at 1 |

2 | transfer date | yyyy-mm-dd hh:mm:ss | date and time (according to computer, not weather station) of transfer from station to file |

3 | reading date | yyyy-mm-dd hh:mm:ss | date and time of record. Appears to be derived from computer’s clock at time of transfer |

4 | reading interval | integer | minutes since previous reading |

5 | indoor humidity | integer | relative humidity percent |

6 | indoor temperature | floating point | degrees centigrade |

7 | outdoor humidity | integer | relative humidity percent |

8 | outdoor temperature | floating point | degrees centigrade |

9 | dew point | floating point | degrees centigrade. See comments below |

10 | wind chill | floating point | degrees centigrade. See comments below |

11 | absolute pressure | floating point | millibars |

12 | relative pressure | floating point | millibars |

13 | wind average | floating point | metres / second |

14 | wind average | integer | Beaufort |

15 | wind gust | floating point | metres / second |

16 | wind gust | integer | Beaufort |

17 | wind direction | integer | 0 to 15. 0 is north, 1 is NNE, 8 is south, 15 is NNW |

18 | wind direction | text | ENE appears as NEE, ESE appears as SEE |

19 | rain ‘ticks’ | integer | cumulative count of number of times rain gauge has tipped. Resets to zero if station’s batteries removed |

20 | rain total | floating point | mm rain total. Column 19 * 0.3, but does not reset to zero, stays fixed until ticks catch up |

21 | rain since last reading | floating point | mm |

22 | rain in last hour | floating point | mm |

23 | rain in last 24 hours | floating point | mm |

24 | rain in last 7 days | floating point | mm |

25 | rain in last 30 days | floating point | mm |

26 | rain total or in last year? | floating point | mm. This is the same as column 20 in my data |

27 | status bit 0 | integer | 0 or 1 |

28 | status bit 1 | integer | 0 or 1 |

29 | status bit 2 | integer | 0 or 1 |

30 | status bit 3 | integer | 0 or 1 |

31 | status bit 4 | integer | 0 or 1 |

32 | status bit 5 | integer | 0 or 1 |

33 | status bit 6 – outdoor readings invalid | integer | 0 or 1 |

34 | status bit 7 | integer | 0 or 1 |

35 | data address | 6-digit hexadecimal | pointer 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. |

36 | raw data | 16 2-digit hexadecimals | the 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:

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.

a = 17.27

b = 237.7

gamma = (a * t / (b + t)) + ln(rh / 100.0)

dew = b * gamma / (a - gamma)

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:

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.

wc = 13.12 + (0.6215 * t) - (11.37 * (v**0.16)) + (0.3965 * t * (v**0.16))

Since writing the above Phil Maddocks has sent me a much better formula, based on Court’s formula for Heat Loss:

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.

if t < 33 and v >= 1.79:

wc = 33 + ((t - 33) * (0.55 + (0.417 * sqr(v)) - (0.0454 * v)))

else:

wc = t