prop/priv/repo/migrations/20260410134532_create_hrrr_climatology.exs
Graham McIntire 0f0e5e8d43 Phase 3 spike (parked) + Phase 6: temperature anomaly
Phase 3 NEXRAD spike: IEM n0q composite available at 5-min cadence
back to 2022+. Compression-ratio proxy shows afternoon images have
13-81% more texture than dawn (directionally correct), but the n0q
product thresholds out the faint clear-air returns needed for BL
stability detection. Parked until MRMS or Level III products can be
investigated. See docs/research/nexrad_spike.md.

Phase 6: hrrr_climatology table aggregating surface_temp_c by
(lat, lon, month, hour) from the 42M+ hrrr_profiles grid-point
rows. mix hrrr_climatology builds it via a single SQL GROUP BY +
upsert. Backtest.Features.temperature_anomaly computes current_temp
minus climatological mean — the meteorologist's "temperature
deviation above normal" predictor for summer afternoon enhancement.
2026-04-10 08:47:11 -05:00

19 lines
629 B
Elixir

defmodule Microwaveprop.Repo.Migrations.CreateHrrrClimatology do
use Ecto.Migration
def change do
create table(:hrrr_climatology, primary_key: false) do
add :id, :binary_id, primary_key: true, null: false
add :lat, :float, null: false
add :lon, :float, null: false
add :month, :integer, null: false
add :hour, :integer, null: false
add :mean_surface_temp_c, :float
add :stddev_surface_temp_c, :float
add :sample_count, :integer
end
create unique_index(:hrrr_climatology, [:lat, :lon, :month, :hour])
create index(:hrrr_climatology, [:month, :hour])
end
end