Draw the grey line map

Window > Grey Line opens the world with the night on it. The dark area is
where the sun is down, and the band along its edge is the twilight from the
horizon to six degrees below it, which is the grey line an operator watches
for on the low bands.

Grayline works out where the sun stands: the subsolar point, the elevation at
a place, and the latitude the terminator crosses a meridian at, which is what
the map fills the night between. It is the same question SunTimes answers from
the other end, and the two are checked against each other in the tests.

The coastlines are Natural Earth's 110m coastline, public domain, cut to a
tenth of a degree.

Our own station is drawn from the grid square, the station being called and
the spots on the band from the country file. The map follows the clock.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RoGtneMQaz4M9w7Kk49AVD
This commit is contained in:
2026-08-31 22:09:16 +00:00
parent c8de74e24a
commit 53c15d4061
11 changed files with 642 additions and 1 deletions

View File

@@ -47,7 +47,7 @@ scorer: red for a dupe, green for a new multiplier, blue for points.
| Contests | CQ WW (CW, SSB, RTTY), CQ WPX (CW, SSB, RTTY), WAE (CW, SSB, RTTY), ARRL DX, IARU HF, Sweepstakes, RTTY Roundup, NAQP, OK/OM DX (CW), YOTA, IOTA, EU DX Contest, CQ 160, ARRL 10M, REF, Ukrainian DX, Russian DX RTTY, RDAC, YO DX HF, Oceania DX, All Asian, SARTG RTTY, BARTG Sprint, Mexico RTTY, IARU Region 1 Field Day, general logging, and user-defined `.udc` contests |
| Log | N1MM `.s3db`, Cabrillo 3.0 out, ADIF in and out |
| While typing | dupe check, multiplier check, points, country and zone from the country file, exchange filled from a call history file |
| Windows | entry, log, check, bandmap, available mults and Qs, score summary, telnet, digital interface |
| Windows | entry, log, check, bandmap, available mults and Qs, score summary, grey line, telnet, digital interface |
| Editing | double-click a cell in the log, or open the whole contact with Ctrl+Y; Delete removes it. All of it goes out to the other stations |
| Radio | one or two radios over hamlib `rigctld`, split, reconnecting on its own |
| Cluster | DX cluster over telnet: a telnet window with the node's traffic, the published list of nodes, command buttons and spot filters, spots feeding the bandmap, Alt+P to spot a station |
@@ -382,6 +382,24 @@ otherwise, which puts the station in the middle of its country. Sunrise and
sunset are worked out from that position for today; inside the polar circles the
line says the sun does not rise or set.
### The grey line
**Window → Grey Line** draws the world with the night on it. The dark area is
where the sun is down; the band along its edge is the twilight between the
horizon and six degrees below it, which is the grey line itself — the hour when
the low bands carry furthest along it.
On the map: our own station, from the grid square in the station settings; the
station being called; and every station spotted on the band the radio is on.
The yellow dot is the point the sun is straight above. The map follows the
clock, redrawing every minute. Sunrise and sunset for the station being called
are on the line under the entry window, which is where N1MM puts them too.
The coastlines are Natural Earth's 110m coastline, which is public domain, cut
to a tenth of a degree: `src/Nonemm.App/Assets/coastline.txt`. The sun's
position is the standard low-precision solar formula, good to about a hundredth
of a degree.
### The log window
The pane under the log lists what has already been worked with the call being