BOM Weather Data
Overview
This dataset is built from Australian Bureau of Meteorology's (BOM) automated weather station historical datasets and current observations. Omnata combines, cleans and normalizes these datasets for consumption via Snowflake.
The historical data looks backwards from 1st of August 2025 to the beginning of BOM records. However, stations and available measures have changed over time, so some columns may return null where those measurements or stations are not available.
Dataset Schema
Core Observation Fields
station_id
String
Unique BOM station identifier
-
station_name
String
Human-readable station name
-
observation_time
Timestamp
Date and time of observation (local time)
ISO 8601
observation_time_utc
Timestamp
Date and time of observation (UTC)
ISO 8601
latitude
Float
Station latitude
Decimal degrees
longitude
Float
Station longitude
Decimal degrees
elevation
Integer
Station elevation above sea level
Meters
Weather Measurements
air_temperature
Float
Air temperature
°C
apparent_temperature
Float
Apparent temperature (feels like)
°C
dew_point
Float
Dew point temperature
°C
relative_humidity
Integer
Relative humidity
%
wind_direction
String
Wind direction (compass point)
Cardinal/Ordinal
wind_direction_degrees
Integer
Wind direction
Degrees (0-360)
wind_speed_kmh
Float
Wind speed
km/h
wind_gust_kmh
Float
Wind gust speed
km/h
pressure_msl
Float
Mean sea level pressure
hPa
pressure_qnh
Float
QNH pressure
hPa
rainfall_since_9am
Float
Rainfall since 9am local time
mm
visibility
Integer
Visibility
km
cloud_cover
String
Cloud cover description
Text
weather_description
String
Current weather conditions
Text
Data Quality Indicators
data_quality
String
Quality assessment (Good/Fair/Poor)
automatic_station
Boolean
Whether station is automated (AWS)
last_updated
Timestamp
When record was last updated
Data Availability
Spatial Coverage: ~700+ weather stations across Australia
Update Frequency: Daily
Granularity: 30mins
Usage Examples
Basic Query
-- Get latest observations for Sydney area stations
SELECT station_name, observation_time, air_temperature,
wind_speed_kmh, rainfall_since_9am
FROM OBSERVATIONS
WHERE station_name LIKE '%SYDNEY%'
AND observation_time >= CURRENT_TIMESTAMP - INTERVAL '24 HOURS'
ORDER BY observation_time DESC;
Temperature Analysis
-- Find stations with extreme temperatures in last 24 hours
SELECT station_name, state,
MAX(air_temperature) as max_temp,
MIN(air_temperature) as min_temp,
AVG(air_temperature) as avg_temp
FROM OBSERVATIONS
WHERE observation_time >= CURRENT_TIMESTAMP - INTERVAL '24 HOURS'
AND air_temperature IS NOT NULL
GROUP BY station_name, state
HAVING MAX(air_temperature) > 35 OR MIN(air_temperature) < 5
ORDER BY max_temp DESC;
Data Quality Notes
Missing Values: Some observations may be NULL due to equipment issues or maintenance
Manual Stations: Update less frequently than automated stations
Quality Flags: Use
data_quality
field to filter for reliable observationsTimezone: All times are provided in both local and UTC formats
Compliance and Attribution
This dataset is derived from the Australian Bureau of Meteorology's publicly available weather observations. Usage complies with BOM's data licensing terms. Original data remains the property of the Commonwealth of Australia, Bureau of Meteorology.
Last updated