From 14e1078bf9cea007cf43ce24ac914abd45056de4 Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Tue, 31 Mar 2026 09:58:16 -0500 Subject: [PATCH] Fall back to 1000mb level data when surface fields are missing (fills coastal gaps) --- lib/microwaveprop/weather/hrrr_client.ex | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/microwaveprop/weather/hrrr_client.ex b/lib/microwaveprop/weather/hrrr_client.ex index 12e3d8df..0dc12bb5 100644 --- a/lib/microwaveprop/weather/hrrr_client.ex +++ b/lib/microwaveprop/weather/hrrr_client.ex @@ -174,9 +174,18 @@ defmodule Microwaveprop.Weather.HrrrClient do end end) + # Fall back to lowest pressure level if surface fields are missing (near-coast points) + lowest_level = List.first(profile) + + sfc_temp_c = + if sfc_temp_k, do: sfc_temp_k - 273.15, else: lowest_level && lowest_level["tmpc"] + + sfc_dpt_c = + if sfc_dpt_k, do: sfc_dpt_k - 273.15, else: lowest_level && lowest_level["dwpc"] + %{ - surface_temp_c: if(sfc_temp_k, do: sfc_temp_k - 273.15), - surface_dewpoint_c: if(sfc_dpt_k, do: sfc_dpt_k - 273.15), + surface_temp_c: sfc_temp_c, + surface_dewpoint_c: sfc_dpt_c, surface_pressure_mb: if(sfc_pres_pa, do: sfc_pres_pa / 100.0), hpbl_m: parsed["HPBL:surface"], pwat_mm: parsed["PWAT:entire atmosphere (considered as a single layer)"],