fix(cyclones): accept advisories NHC publishes before their nominal time

NHC stamps an advisory with its nominal time and writes it about half an
hour early, so the 5-minute future limit rejected the whole feed each
advisory cycle and the layer showed no storms. Allow 90 minutes ahead.
This commit is contained in:
Bilawal Sidhu committed 2026-09-28 20:47:06 -05:00
1 parent e7707d9a0f
commit 9c15f093a1
3 files changed
+18 -1

No files matched your search

+9
View File
@@ -162,6 +162,15 @@ test('malformed, duplicate, oversized, future and expired status is rejected rat
assert.deepEqual(parseCycloneStatus({ activeStorms: [] }, NOW), []);
});
test('advisories published before their nominal time are accepted, far-future ones are not', () => {
// NHC wrote the 03:00Z advisory at 02:34Z.
const early = Date.UTC(2026, 8, 16, 2, 34);
assert.equal(parseCycloneStatus(status(), early)[0].issuedAt, TIME);
assert.throws(() =>
parseCycloneStatus(status(), Date.UTC(2026, 8, 16, 1, 25)),
);
});
test('coherent geometry is retained with holes/dateline while older advisory geometry is omitted', () => {
const storms = parseCycloneStatus(status(), NOW);
const parts = collections();