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).
|
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):**
|
**10 GHz — humidity helps (N=53,013 QSOs):**
|
||||||
|
|
||||||
| Abs. Humidity | Avg Dist | P90 Dist |
|
| Abs. Humidity | Avg Dist | P90 Dist |
|
||||||
|---------------|----------|----------|
|
|---------------|----------|----------|
|
||||||
| 5-8 g/m^3 | 193 km | 342 km |
|
| 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 |
|
| 17+ g/m^3 | 230 km | 519 km |
|
||||||
|
|
||||||
**24 GHz — humidity hurts (N=3,639 QSOs):**
|
**24 GHz — humidity hurts (N=3,639 QSOs):**
|
||||||
|
|
||||||
| Abs. Humidity | Avg Dist | P90 Dist |
|
| Abs. Humidity | Avg Dist | P90 Dist |
|
||||||
|---------------|----------|----------|
|
|---------------|----------|----------|
|
||||||
| 5-8 g/m^3 | 115 km | 154 km |
|
| 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 |
|
| 17+ g/m^3 | 53 km | 103 km |
|
||||||
|
|
||||||
**47 GHz — humidity hurts, less severely (N=689 QSOs):**
|
**47 GHz — humidity hurts, less severely (N=689 QSOs):**
|
||||||
|
|
||||||
| Abs. Humidity | Avg Dist | P90 Dist |
|
| Abs. Humidity | Avg Dist | P90 Dist |
|
||||||
|---------------|----------|----------|
|
|---------------|----------|----------|
|
||||||
| 0-5 g/m^3 | 191 km | 234 km |
|
| 0-5 g/m^3 | 191 km | 234 km |
|
||||||
|
|
|
||||||
|
|
@ -112,6 +112,7 @@
|
||||||
padding: 0 1rem;
|
padding: 0 1rem;
|
||||||
line-height: 1.75;
|
line-height: 1.75;
|
||||||
color: var(--color-base-content);
|
color: var(--color-base-content);
|
||||||
|
overflow-x: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.markdown-content h1 {
|
.markdown-content h1 {
|
||||||
|
|
@ -183,18 +184,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.markdown-content table {
|
.markdown-content table {
|
||||||
width: 100%;
|
width: max-content;
|
||||||
|
min-width: 100%;
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
margin: 1rem 0;
|
margin: 1rem 0;
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
overflow-x: auto;
|
|
||||||
display: block;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.markdown-content th, .markdown-content td {
|
.markdown-content th, .markdown-content td {
|
||||||
border: 1px solid var(--color-base-300);
|
border: 1px solid var(--color-base-300);
|
||||||
padding: 0.5rem 0.75rem;
|
padding: 0.5rem 0.75rem;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.markdown-content th {
|
.markdown-content th {
|
||||||
|
|
@ -202,7 +203,7 @@
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
.markdown-content tr:nth-child(even) {
|
.markdown-content tbody tr:nth-child(even) {
|
||||||
background: var(--color-base-200);
|
background: var(--color-base-200);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ config :microwaveprop, MicrowavepropWeb.Endpoint,
|
||||||
|
|
||||||
config :microwaveprop, Oban,
|
config :microwaveprop, Oban,
|
||||||
repo: Microwaveprop.Repo,
|
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: [
|
plugins: [
|
||||||
{Oban.Plugins.Pruner, max_age: 3600 * 24},
|
{Oban.Plugins.Pruner, max_age: 3600 * 24},
|
||||||
{Oban.Plugins.Lifeline, rescue_after: to_timeout(minute: 30)},
|
{Oban.Plugins.Lifeline, rescue_after: to_timeout(minute: 30)},
|
||||||
|
|
|
||||||
|
|
@ -100,20 +100,14 @@ defmodule Microwaveprop.Propagation do
|
||||||
|
|
||||||
defp prune_old_scores do
|
defp prune_old_scores do
|
||||||
keep_times =
|
keep_times =
|
||||||
from(gs in GridScore,
|
Repo.all(
|
||||||
select: gs.valid_time,
|
from(gs in GridScore, select: gs.valid_time, distinct: gs.valid_time, order_by: [desc: gs.valid_time], limit: 2)
|
||||||
distinct: gs.valid_time,
|
|
||||||
order_by: [desc: gs.valid_time],
|
|
||||||
limit: 2
|
|
||||||
)
|
)
|
||||||
|> Repo.all()
|
|
||||||
|
|
||||||
if length(keep_times) == 2 do
|
if length(keep_times) == 2 do
|
||||||
oldest_kept = List.last(keep_times)
|
oldest_kept = List.last(keep_times)
|
||||||
|
|
||||||
{deleted, _} =
|
{deleted, _} = Repo.delete_all(from(gs in GridScore, where: gs.valid_time < ^oldest_kept))
|
||||||
from(gs in GridScore, where: gs.valid_time < ^oldest_kept)
|
|
||||||
|> Repo.delete_all()
|
|
||||||
|
|
||||||
if deleted > 0 do
|
if deleted > 0 do
|
||||||
Logger.info("PropagationScores: pruned #{deleted} old scores, keeping 2 most recent valid_times")
|
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}>
|
<li :for={band <- @bands}>
|
||||||
<button
|
<button
|
||||||
|
onclick="document.activeElement.blur()"
|
||||||
phx-click={
|
phx-click={
|
||||||
JS.dispatch("show-loading", to: "#propagation-map")
|
JS.dispatch("show-loading", to: "#propagation-map")
|
||||||
|> JS.push("select_band", value: %{value: band.freq_mhz})
|
|> JS.push("select_band", value: %{value: band.freq_mhz})
|
||||||
|> JS.dispatch("click", to: "#propagation-map")
|
|
||||||
}
|
}
|
||||||
class={[if(@selected_band == band.freq_mhz, do: "active")]}
|
class={[if(@selected_band == band.freq_mhz, do: "active")]}
|
||||||
>
|
>
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue