Increase weather queue to 20 and iemre to 10 for faster backfill
This commit is contained in:
parent
3874fc173d
commit
a6b4ac1965
5 changed files with 13 additions and 15 deletions
3
algo.md
3
algo.md
|
|
@ -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 |
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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)},
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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")]}
|
||||
>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue