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.