Fall back to 1000mb level data when surface fields are missing (fills coastal gaps)

This commit is contained in:
Graham McIntire 2026-03-31 09:58:16 -05:00
parent aa694c1771
commit 14e1078bf9
No known key found for this signature in database
GPG key ID: F4ABF488E6029E59

View file

@ -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)"],