diff --git a/src/central/adapters/eonet.py b/src/central/adapters/eonet.py index 36d9226..6b3d955 100644 --- a/src/central/adapters/eonet.py +++ b/src/central/adapters/eonet.py @@ -152,6 +152,12 @@ class EONETAdapter(SourceAdapter): # Event lat/lon mirrored from Geo.centroid into event.data (see poll()). enrichment_locations = [("latitude", "longitude")] + # Global-by-design: EONET disaster events (earthquakes, floods, wildfires, + # etc.) span the entire globe. A geographic monitoring area (e.g. Idaho) + # drops everything outside the bbox, yielding zero events. Skip the + # publish-time/archive bbox filter (mirrors v0.14.2/#108 satellite exemption). + # Keep in sync with archive._BYPASS_BBOX_ADAPTERS. + bypass_bbox_filter = True def __init__( self, diff --git a/src/central/archive.py b/src/central/archive.py index 4380fee..269de27 100644 --- a/src/central/archive.py +++ b/src/central/archive.py @@ -36,14 +36,15 @@ BATCH_SIZE = 100 FETCH_TIMEOUT = 5.0 ACK_WAIT = 30 -# v0.14.2: adapters whose events are global-by-design (satellite telemetry) and -# must bypass the geographic monitoring-area bbox filter. The archive consumer -# only has the adapter NAME at runtime (it reads off the wire, not the adapter -# class), so it can't reach SourceAdapter.bypass_bbox_filter directly -- this -# static set is the consumer-side mirror. It MUST stay in sync with the adapter -# classes that set bypass_bbox_filter = True; tests/test_bypass_bbox_consistency.py -# fails CI if the two drift. -_BYPASS_BBOX_ADAPTERS = {"sat_positions", "sat_orbits"} +# v0.14.2: adapters whose events are global-by-design (satellite telemetry, +# global disaster feeds) and must bypass the geographic monitoring-area bbox +# filter. The archive consumer only has the adapter NAME at runtime (it reads +# off the wire, not the adapter class), so it can't reach +# SourceAdapter.bypass_bbox_filter directly -- this static set is the +# consumer-side mirror. It MUST stay in sync with the adapter classes that set +# bypass_bbox_filter = True; tests/test_bypass_bbox_consistency.py fails CI if +# the two drift. +_BYPASS_BBOX_ADAPTERS = {"sat_positions", "sat_orbits", "eonet"} def consumer_name_for(stream: str) -> str: