No description
Two changes that bring /skewt visually and analytically into parity with the NOAA SPC sounding viewer (https://www.spc.noaa.gov/exper/soundings/): NOAA-style line set ------------------- Updated the SkewtSvg style block to match the public SPC chart: * Temperature trace ........ pure red (#ff0000) at 2.5 px stroke * Dewpoint trace ........... pure green (#00aa00) at 2.5 px stroke * Isotherms ................ dashed teal (#14b8a6) * Dry adiabats ............. solid orange (#f59e0b) * Moist (saturated) adiabats dashed sky-blue (#38bdf8) * Mixing-ratio lines ....... dotted darker green (#16a34a), with labels at 700 mb showing the g/kg value, drawn only below 600 mb (matches the SPC chart's lower-band number row) * Parcel ascent ............ new dashed grey (#475569) line, drawn whenever SkewtParams.derive returns a non-empty parcel_trace The mixing-ratio set is the SPC standard (0.4 / 0.7 / 1 / 2 / 3 / 5 / 8 / 12 / 16 / 20 g/kg) instead of the prior arbitrary set. SkewtParams: SPC parcel-theory + indices module ----------------------------------------------- New `Microwaveprop.Weather.SkewtParams` derives the parameter set that ships in the SPC `*.txt` companion file: * LCL pressure / temperature / height (Bolton 1980 eq 22) * LFC pressure / height * EL pressure / height * SBCAPE, SBCIN (J/kg, virtual-temperature integration with surface parcel) * 3 km CAPE * Lifted Index (parcel ↔ environment T at 500 mb) * Freezing level (T = 0 °C height) and Wet-Bulb Zero * DCAPE (downdraft CAPE — picks the min-θₑ source level in 400–700 mb, descends moist-adiabatically to surface) * Layer lapse rates: sfc–3 km, 700–500 mb, 850–500 mb * `parcel_trace` — pressure/temperature trajectory used by SkewtSvg to draw the dashed parcel-ascent overlay Wind-derived indices (SRH, BWD, Bunkers motion, SCP, STP, SHIP) are deliberately *not* produced and the LiveView surfaces a one-line note explaining why: HRRR persists wind only at 10 m AGL, so per-pressure- level shear can't be computed from this data source. LiveView panel restructured into grouped sections (Surface, Convective parcel, Levels, Lapse rates, Moisture/stability, Refractivity) so the layout matches the SPC viewer's order. The Levels rows show pressure *and* height ("872 mb · 1,140 m") for quick cross-reference between the diagram axis and the readout. Tests: 8/8 new SkewtParamsTest cases (LCL Bolton check, saturated-air edge case, full field-set presence, summer profile produces SBCAPE > 0 and LI < 0, capped profile produces SBCAPE = 0 and LI > 0, freezing level interpolated correctly, sfc–3 km lapse rate, empty profile no crash). 25/25 across all skewt-related test files. mix test green (2,902 / 2,902 + 221 properties), mix credo --strict clean, mix assets.build clean. |
||
|---|---|---|
| .forgejo/workflows | ||
| .github | ||
| assets | ||
| bin | ||
| config | ||
| docs | ||
| k8s | ||
| lib | ||
| lib_ml | ||
| notebooks | ||
| priv | ||
| rel | ||
| rust/prop_grid_rs | ||
| scripts | ||
| test | ||
| vendor | ||
| .credo.exs | ||
| .dockerignore | ||
| .formatter.exs | ||
| .gitignore | ||
| .tool-versions | ||
| AGENTS.md | ||
| algo.md | ||
| app.json | ||
| bugs.md | ||
| CLAUDE.md | ||
| Dockerfile | ||
| elevation.md | ||
| LICENSE | ||
| mix.exs | ||
| mix.lock | ||
| prediction.md | ||
| README.md | ||
| tail_logs.sh | ||
| updates.md | ||
Microwaveprop
To start your Phoenix server:
- Run
mix setupto install and setup dependencies - Start Phoenix endpoint with
mix phx.serveror inside IEx withiex -S mix phx.server
Now you can visit localhost:4000 from your browser.
Ready to run in production? Please check our deployment guides.
Learn more
- Official website: https://www.phoenixframework.org/
- Guides: https://hexdocs.pm/phoenix/overview.html
- Docs: https://hexdocs.pm/phoenix
- Forum: https://elixirforum.com/c/phoenix-forum
- Source: https://github.com/phoenixframework/phoenix