CREATE TABLE weather_observations (
    id              BIGSERIAL PRIMARY KEY,
    observed_at     TIMESTAMPTZ NOT NULL,
    wind_speed_mph  DECIMAL(5,2) NOT NULL,
    wind_direction  INTEGER NOT NULL CHECK (wind_direction >= 0 AND wind_direction < 360),
    wind_gust_mph   DECIMAL(5,2),
    source          VARCHAR(50) DEFAULT 'open-meteo',
    created_at      TIMESTAMPTZ DEFAULT NOW(),
    UNIQUE (observed_at, source)
);

CREATE INDEX idx_weather_time ON weather_observations (observed_at DESC);
