For completeness sake, here is the HW Beta 2.0 format. As you can see the data set is not complete. There is for example no relative pressure. That would have to be determined by either reading the relative pressure from the console or by prompting the user for an offset from the abolute pressure.
Source: http://www.niftythings.org/HeavyWeather%20History%20Format.txt
HeavyWeather V2.0 beta La Crosse WS-2310 and WS-2315 weather stations
Each row of data is stored in 36 byte chunks starting from the beginning of the file (no header).
| Offset | Type | Name | Unit |
|---|---|---|---|
| 00 | ULong [4] | unknown | (Value is always 1) |
| 04 | ULong [4] | Timestamp | seconds from 1/1/1900 00:00:00 (GMT) |
| 08 | Float [4] | Abs Pressure | hectopascals (millibars) |
| 12 | Float [4] | Wind Speed | meters/second |
| 16 | ULong [4] | Wind Direction | see below |
| 20 | Float [4] | Total Rainfall | millimeters |
| 24 | Float [4] | Indoor Temp | Celsius |
| 28 | Float [4] | Outdoor Temp | Celsius |
| 32 | UWord [2] | Indoor Humidity | % |
| 34 | UWord [2] | Outdoor Humidity | % |
At the end of the file is an additional 28 bytes providing information about the dataset as a whole.
| Offset | Type | Description |
|---|---|---|
| 00 | ULong [4] | unknown |
| 04 | Ulong [4] | unknown (0) |
| 08 | Float [4] | unknown (5.698) |
| 12 | ULong [4] | unknown (0) |
| 16 | ULong [4] | Number of rows |
| 20 | ULong [4] | Timestamp of the first row of data |
| 24 | ULong [4] | Timestamp of the last row of data |
Wind direction is encoded as an integer between 0 and 15. To get the wind direction in degrees, multiply the value by 22.5. To get compass directions (moving clockwise) 0 is North, 1 is North-Northeast, 2 is Northeast, etc…
| Value | Direction |
|---|---|
| 0 | N |
| 1 | NNE |
| 2 | NE |
| 3 | ENE |
| 4 | E |
| 5 | ESE |
| 6 | SE |
| 7 | SSE |
| 8 | S |
| 9 | SSW |
| 10 | SW |
| 11 | WSW |
| 12 | W |
| 13 | WNW |
| 14 | NW |
| 15 | NNW |