Increase weather queue to 20 and iemre to 10 for faster backfill

This commit is contained in:
Graham McIntire 2026-03-31 10:41:49 -05:00
parent 3874fc173d
commit a6b4ac1965
No known key found for this signature in database
GPG key ID: F4ABF488E6029E59
5 changed files with 13 additions and 15 deletions

View file

@ -138,6 +138,7 @@ These findings drive the scoring model's design. Each contradicts or refines ass
The most important discovery. At 10 GHz, more moisture = longer paths (refractivity dominates, absorption negligible). At 24+ GHz, more moisture = shorter paths (absorption dominates).
**10 GHz — humidity helps (N=53,013 QSOs):**
| Abs. Humidity | Avg Dist | P90 Dist |
|---------------|----------|----------|
| 5-8 g/m^3 | 193 km | 342 km |
@ -145,6 +146,7 @@ The most important discovery. At 10 GHz, more moisture = longer paths (refractiv
| 17+ g/m^3 | 230 km | 519 km |
**24 GHz — humidity hurts (N=3,639 QSOs):**
| Abs. Humidity | Avg Dist | P90 Dist |
|---------------|----------|----------|
| 5-8 g/m^3 | 115 km | 154 km |
@ -152,6 +154,7 @@ The most important discovery. At 10 GHz, more moisture = longer paths (refractiv
| 17+ g/m^3 | 53 km | 103 km |
**47 GHz — humidity hurts, less severely (N=689 QSOs):**
| Abs. Humidity | Avg Dist | P90 Dist |
|---------------|----------|----------|
| 0-5 g/m^3 | 191 km | 234 km |

View file

@ -112,6 +112,7 @@
padding: 0 1rem;
line-height: 1.75;
color: var(--color-base-content);
overflow-x: auto;
}
.markdown-content h1 {
@ -183,18 +184,18 @@
}
.markdown-content table {
width: 100%;
width: max-content;
min-width: 100%;
border-collapse: collapse;
margin: 1rem 0;
font-size: 0.9em;
overflow-x: auto;
display: block;
}
.markdown-content th, .markdown-content td {
border: 1px solid var(--color-base-300);
padding: 0.5rem 0.75rem;
text-align: left;
white-space: nowrap;
}
.markdown-content th {
@ -202,7 +203,7 @@
font-weight: 600;
}
.markdown-content tr:nth-child(even) {
.markdown-content tbody tr:nth-child(even) {
background: var(--color-base-200);
}

View file

@ -44,7 +44,7 @@ config :microwaveprop, MicrowavepropWeb.Endpoint,
config :microwaveprop, Oban,
repo: Microwaveprop.Repo,
queues: [solar: 1, weather: 3, enqueue: 1, hrrr: 20, terrain: 4, commercial: 2, iemre: 5, propagation: 1],
queues: [solar: 1, weather: 20, enqueue: 1, hrrr: 20, terrain: 4, commercial: 2, iemre: 10, propagation: 1],
plugins: [
{Oban.Plugins.Pruner, max_age: 3600 * 24},
{Oban.Plugins.Lifeline, rescue_after: to_timeout(minute: 30)},

View file

@ -100,20 +100,14 @@ defmodule Microwaveprop.Propagation do
defp prune_old_scores do
keep_times =
from(gs in GridScore,
select: gs.valid_time,
distinct: gs.valid_time,
order_by: [desc: gs.valid_time],
limit: 2
Repo.all(
from(gs in GridScore, select: gs.valid_time, distinct: gs.valid_time, order_by: [desc: gs.valid_time], limit: 2)
)
|> Repo.all()
if length(keep_times) == 2 do
oldest_kept = List.last(keep_times)
{deleted, _} =
from(gs in GridScore, where: gs.valid_time < ^oldest_kept)
|> Repo.delete_all()
{deleted, _} = Repo.delete_all(from(gs in GridScore, where: gs.valid_time < ^oldest_kept))
if deleted > 0 do
Logger.info("PropagationScores: pruned #{deleted} old scores, keeping 2 most recent valid_times")

View file

@ -155,10 +155,10 @@ defmodule MicrowavepropWeb.MapLive do
>
<li :for={band <- @bands}>
<button
onclick="document.activeElement.blur()"
phx-click={
JS.dispatch("show-loading", to: "#propagation-map")
|> JS.push("select_band", value: %{value: band.freq_mhz})
|> JS.dispatch("click", to: "#propagation-map")
}
class={[if(@selected_band == band.freq_mhz, do: "active")]}
>