Observation Schema
WOW defines observations as a dictionary of string keys and object values. Its properties are the keys, which its schema can be dynamically changed by WOW administrators. Users can send choose which values they want to report and include them in their observation report.
Each observation can have as many parameters as it can. These parameters go through a strict validation check at the time of creation, so any parameter with mismatching type or range is discarded. You can check the "Observation Parameters" section below to find out which parameters are required and needs to be sent and which are optional.
Apart from endpoints like GeoJson and other specific data format endpoints, this observation schema is used everywhere in WOW. You can use this format to parse incoming observation information or post a new one.
Each observation parameter is stored based on its base unit but the original unit value is also kept. For example, if a site is sending temperature data in Celsius, only the Celsius value is kept because it's the base unit. If the site is sending in Fahrenheit, both Celsius and Fahrenheit is kept because Celsius is the base unit and the Fahrenheit is the original one.
Here is a sample observation with value comments:
{
"siteId": "957966001", // Site Id that contains this observation
"reportStartDateTime": "2016-12-19T13:45:00+00:00", // Observation start time
"reportEndDateTime": "2016-12-19T13:45:00+00:00", // Observation end time
"observationType": 1, // Type of the observation
"collectionName": 1, // Collection name
"softwareType": "Cumulus v3.0.0", // Software used to submit this observation
"windDirection": 10, // Wind Direction value in degrees. Check "Observation Parameters" section for details.
"windGust_MilePerHour": 4, // Wind gust in mph. Check "Observation Parameters" section for details.
"windGust_MetrePerSecond": 1.7881570359508971, // Wind gust in metres per second. Check "Observation Parameters" section for details.
"windSpeed_MilePerHour": 2, // Wind speed in mph. Check "Observation Parameters" section for details.
"windSpeed_MetrePerSecond": 0.8940785179754486, // Wind speed in metres per second. Check "Observation Parameters" section for details.
"relativeHumidity": 96, // Relative humidity in percentage. Check "Observation Parameters" section for details.
"dewPointTemperature_Fahrenheit": 43.3, // Dew point temperature in fahrenheit. Check "Observation Parameters" section for details.
"dewPointTemperature_Celsius": 6.277777777777776, // Dew point temperature in celsius. Check "Observation Parameters" section for details.
"rainfallAmount_Inch": 0.02, // Rainfall amount in inches. Check "Observation Parameters" section for details.
"rainfallAmount_Millimetre": 0.508, // Rainfall amount in mm. Check "Observation Parameters" section for details.
"dryBulbTemperature_Fahrenheit": 44.4, // Dry bulb temperature in fahrenheit. Check "Observation Parameters" section for details.
"dryBulbTemperature_Celsius": 6.8888888888888875, // Dry bulb temperature in celsius. Check "Observation Parameters" section for details.
"airPressure_InchOfMercury": 30.264, // Station level pressure in inches of mercury. Check "Observation Parameters" section for details.
"airPressure_Hectopascal": 1024.85676696, // Station level pressure in hpa. Check "Observation Parameters" section for details.
"rainfallRate_InchPerHour": 0.02, // Rainfall rate in inches per hour. Check "Observation Parameters" section for details.
"rainfallRate_MillimetrePerHour": 0.508, // Rainfall rate in mm/hr. Check "Observation Parameters" section for details.
"isPublic": true, // If the observation is public
"isOfficial": false, // If the observation is official
"longitude": -0.529982308459466, // Longitude of the coordinate
"latitude": 51.5066988925248, // Latitude of the coordinate
"height": 27, // Height / Elevation of the coordinate
"id": "20161219ksfryx6f6re6pfyyyyb96sc87w", // Id of the observation
"externalSiteId": 957966001, // External system id of the site
"version": 1, // Revision number (starts from 1)
"isLatestVersion": true, // Check if this is the latest version
"externalId": 10091179520 // External system id of the observation
}
Observation Parameters
Name | Core | Req. | Type | Description | Min | Max |
---|---|---|---|---|---|---|
AccessGroup | Yes | No | String | Access group | ||
AirIntakeTemperature_Celsius | Yes | No | Number | Air Intake Temperature primary unit: °C | -50 | 50 |
AirPressure_Hectopascal | Yes | No | Number | Air Pressure (AKA Pressure at station height) primary unit: hectopascal | ||
AirPressure_InchOfMercury | Yes | No | Number | Air Pressure (AKA Pressure at station height) alternate unit: inch of mercury | ||
AirPressure_Millibar | Yes | No | Number | Air Pressure (AKA Pressure at station height) alternate unit: millibar | ||
AirTemperatureMax_Celsius | Yes | No | Number | Max Air Temperature (AKA Max Temperature) primary unit: °C | -50 | 50 |
AirTemperatureMax_Fahrenheit | Yes | No | Number | Max Air Temperature (AKA Max Temperature) alternate unit: °F | -58 | 122 |
AirTemperatureMax_Kelvin | Yes | No | Number | Max Air Temperature (AKA Max Temperature) alternate unit: °K | ||
AirTemperatureMin_Celsius | Yes | No | Number | Min Air Temperature primary unit: °C | -50 | 50 |
AirTemperatureMin_Fahrenheit | Yes | No | Number | Min Air Temperature alternate unit: °F | -58 | 122 |
AirTemperatureMin_Kelvin | Yes | No | Number | Min Air Temperature alternate unit: °K | ||
CollectionName | Yes | No | Number | (Amateur observation, Synop, METAR, Five day forecast) | ||
ConcreteTemperatureMin_Celsius | Yes | No | Number | Concrete Min Temperature alternate unit: °C | -50 | 50 |
ConcreteTemperatureMin_Fahrenheit | Yes | No | Number | Concrete Min Temperature alternate unit: °F) | -58 | 122 |
ConcreteTemperatureMin_Kelvin | Yes | No | Number | Concrete Min Temperature alternate unit: °K | ||
CreatedDateTime | Yes | No | DateTime | Observation submission time and date | ||
DataPointWeatherType | Yes | No | Number | Weather Type (DataPoint) | 0 | 30 |
DayOfFog | Yes | No | Number | Previous day's fog report | ||
DayOfGale | Yes | No | Number | Previous day's gale report | ||
DayOfHail | Yes | No | Number | Previous day's hail report | ||
DayOfSnow | Yes | No | Number | Previous day's snow/sleet report | ||
DayOfThunder | Yes | No | Number | Previous day's thunder report | ||
DewPointTemperature_Celsius | Yes | No | Number | Dew Point Temperature primary unit: °C | -50 | 50 |
DewPointTemperature_Fahrenheit | Yes | No | Number | Dew Point Temperature primary unit: °F | -58 | 122 |
DewPointTemperature_Kelvin | Yes | No | Number | Dew Point Temperature primary unit: °K | ||
DryBulbTemperature_Celsius | Yes | No | Number | Dry Bulb Temperature (AKA Air Temperature) primary unit: °C | -50 | 50 |
DryBulbTemperature_Fahrenheit | Yes | No | Number | Dry Bulb Temperature (AKA Air Temperature) alternate unit: °F | -58 | 122 |
DryBulbTemperature_Kelvin | Yes | No | Number | Dry Bulb Temperature (AKA Air Temperature) alternate unit: °K | ||
ExternalId | Yes | No | Number | External Id | ||
ExternalSiteId | Yes | No | Number | External Site Id | ||
GrassTemperatureMin_Celsius | Yes | No | Number | Grass Min Temperature primary unit: °C | -50 | 50 |
GrassTemperatureMin_Fahrenheit | Yes | No | Number | Grass Min Temperature alternate unit: °F | -58 | 122 |
GrassTemperatureMin_Kelvin | Yes | No | Number | Grass Min Temperature alternate unit: °K | ||
GroundState | Yes | No | Number | State of Ground | ||
Height | Yes | No | Number | Elevation | ||
HighestWind_Direction | Yes | No | String | Highest Wind Direction | 0 | 360 |
HighestWindSpeed_KilometrePerHour | Yes | No | String | Highest WindSpeed alternate unit: km/h | ||
HighestWindSpeed_Knot | Yes | No | String | Highest WindSpeed alternate unit: knot | ||
HighestWindSpeed_MetrePerSecond | Yes | No | String | Highest WindSpeed primary unit: m/s | ||
HighestWindSpeed_MilePerHour | Yes | No | String | Highest WindSpeed alternate unit: mph | ||
Id | Yes | No | String | Unique Id | ||
ImageBlobPath | Yes | No | String | Image Blob Path | ||
ImpactId | Yes | No | String | Specifies the attached weather impact | ||
IsDcnnReport | Yes | No | Boolean | Is DCNN report? | ||
IsFlagged | Yes | No | Boolean | Has this report been flagged as low quality? | ||
IsLatestVersion | Yes | No | Boolean | Specifies if this is the latest version of observation | ||
IsOfficial | Yes | No | Boolean | Is this report official? | ||
IsPublic | Yes | No | Boolean | Is this report public? | ||
IsTraceRainfallAmount | Yes | No | Boolean | If rainfall amount is trace (too little, e.g. under 0.2 mm) then this should be true | ||
IsTraceSnowDepth | Yes | No | Boolean | This is true when snow depth is too little | ||
Latitude | Yes | Yes | Number | Latitude | -90 | 90 |
Longitude | Yes | Yes | Number | Longitude | -180 | 180 |
MeanSeaLevelPressure_Hectopascal | Yes | No | Number | Mean Sea Level Pressure (AKA MSLP) primary unit: hectopascal | ||
MeanSeaLevelPressure_InchOfMercury | Yes | No | Number | Mean Sea Level Pressure (AKA MSLP) alternate unit: inch of mercury | ||
MeanSeaLevelPressure_Millibar | Yes | No | Number | Mean Sea Level Pressure (AKA MSLP) alternate unit: millibar | ||
MobileSiteSpeed_KilometrePerHour | Yes | No | Number | Mobile Site Speed primary unit: km/h | ||
ModifiedDateTime | Yes | No | DateTime | Observation last edit time and date | ||
NextVersionExternalId | Yes | No | Number | External Id of the next version of observation | ||
NextVersionId | Yes | No | String | Unique Id of the next version of observation | ||
ObservationType | Yes | No | Number | The type of observation, e.g. Forecast, Observed, Estimate | ||
PresentWeatherCode | Yes | No | Number | Local weather summary (Quick observation) | 0 | 99 |
PresentWeatherCodeSimple | Yes | No | Number | Local weather summary (Detailed observation) | ||
PreviousVersionExternalId | Yes | No | Number | External Id of the previous version of observation | ||
PreviousVersionId | Yes | No | String | Unique Id of the previous version of observation | ||
RainfallAmount_Inch | Yes | No | Number | Rainfall Amount (AKA Rainfall Accumulation in last 24 hours) alternate unit: inch | ||
RainfallAmount_Millimetre | Yes | No | Number | Rainfall Amount (AKA Rainfall Accumulation in last 24 hours) primary unit: mm | ||
RainfallRate_InchPerHour | Yes | No | Number | Rainfall Rate alternate unit: inch/hour | ||
RainfallRate_MillimetrePerHour | Yes | No | Number | Rainfall Rate primary unit: mm/hour | ||
RelativeHumidity | Yes | No | Number | Relative Humidity (%) | ||
ReportEndDateTime | Yes | Yes | DateTime | Observation end time and date | ||
ReportStartDateTime | Yes | Yes | DateTime | Observation start time and date | ||
RiverLevel_Metre | Yes | No | Number | River Level primary unit: metres | ||
SiteId | Yes | No | String | Site Id | ||
SnowDepth_Centimetre | Yes | No | Number | Snow Depth primary unit: cm | ||
SnowDepth_Inch | Yes | No | Number | Snow Depth alternate unit: inch | ||
SoftwareType | Yes | No | String | The type of submitting software, e.g. Cumulus v1.9.4 | ||
SoilMoisture_Centibar | Yes | No | Number | Soil Moisture alternate unit: centibar | ||
SoilMoisture_Percent | Yes | No | Number | Soil Moisture primary unit: % | ||
SoilTemperature100cm_Celsius | Yes | No | Number | Soil Temperature 100cm primary unit: °C | -50 | 50 |
SoilTemperature100cm_Fahrenheit | Yes | No | Number | Soil Temperature 100cm primary unit: °F | -58 | 122 |
SoilTemperature100cm_Kelvin | Yes | No | Number | Soil Temperature 100cm primary unit: °K | ||
SoilTemperature10cm_Celsius | Yes | No | Number | Soil Temperature 10cm primary unit: °C | -50 | 50 |
SoilTemperature10cm_Fahrenheit | Yes | No | Number | Soil Temperature 10cm alternate unit: °F | -58 | 122 |
SoilTemperature10cm_Kelvin | Yes | No | Number | Soil Temperature 10cm alternate unit: °K | ||
SoilTemperature20cm_Celsius | Yes | No | Number | Soil Temperature 20cm primary unit: °C | -50 | 50 |
SoilTemperature20cm_Fahrenheit | Yes | No | Number | Soil Temperature 20cm alternate unit: °F | -58 | 122 |
SoilTemperature20cm_Kelvin | Yes | No | Number | Soil Temperature 20cm alternate unit: °K | ||
SoilTemperature30cm_Celsius | Yes | No | Number | Soil Temperature 30cm primary unit: °C | -50 | 50 |
SoilTemperature30cm_Fahrenheit | Yes | No | Number | Soil Temperature 30cm primary unit: °F | -58 | 122 |
SoilTemperature30cm_Kelvin | Yes | No | Number | Soil Temperature 30cm primary unit: °K | ||
SoilTemperature50cm_Celsius | Yes | No | Number | Soil Temperature 50cm primary unit: °C | -50 | 50 |
SoilTemperature50cm_Fahrenheit | Yes | No | Number | Soil Temperature 50cm alternate unit: °F | -58 | 122 |
SoilTemperature50cm_Kelvin | Yes | No | Number | Soil Temperature 50cm alternate unit: °K | ||
SubmissionType | Yes | No | String | How the observation was submitted, e.g. Detailed, Quick, Automatic, Upload | ||
Sunshine_Hour | Yes | No | Number | Sunshine during previous day: hour | ||
TotalCloudCover | Yes | No | Number | Total Cloud Cover | ||
UserId | Yes | No | String | User Id | ||
Version | Yes | No | Number | Version | ||
VideoBlobPath | Yes | No | String | Video Blob Path | ||
VisibilityCode | Yes | No | String | Visibility code | ||
WeatherDiary | Yes | No | String | Free text field for weather related comments | 500 | |
WetBulbTemperature_Celsius | Yes | No | Number | Wet Bulb Temperature primary unit: °C | -50 | 50 |
WetBulbTemperature_Fahrenheit | Yes | No | Number | Wet Bulb Temperature alternate unit: °F | -58 | 122 |
WetBulbTemperature_Kelvin | Yes | No | Number | Wet Bulb Temperature alternate unit: °K | ||
WindDirection | Yes | No | Number | Wind Direction | 0 | 360 |
WindGust_KilometrePerHour | Yes | No | Number | Wind Gust alternate unit: km/h | ||
WindGust_Knot | Yes | No | Number | WindGust alternate unit: knot | ||
WindGust_MetrePerSecond | Yes | No | Number | WindGust primary unit: m/s | ||
WindGust_MilePerHour | Yes | No | Number | Wind Gust alternate unit: mph | ||
WindGustDirection | Yes | No | Number | Wind gust direction: degrees | 0 | 360 |
WindRun_Kilometre | Yes | No | String | Wind run primary unit: km | ||
WindRun_Metre | Yes | No | String | Wind run alternate unit: m | ||
WindRun_Mile | Yes | No | String | Wind run alternate unit: mile | ||
WindSpeed_KilometrePerHour | Yes | No | Number | WindSpeed alternate unit: km/h | ||
WindSpeed_Knot | Yes | No | Number | WindSpeed alternate unit: knot | ||
WindSpeed_MetrePerSecond | Yes | No | Number | WindSpeed primary unit: m/s | ||
WindSpeed_MilePerHour | Yes | No | Number | WindSpeed alternate unit: mph |
* You can also access this list dynamically via /observationparameters endpoint.