eomatch.finder.sat2insitu.Sat2InSituMUFinder#
- class eomatch.finder.sat2insitu.Sat2InSituMUFinder(*args: Any, **kwargs: Any)[source]#
Finder for collocated pairs of satellite and in-situ (ground-based) products.
Wraps the full satellite-to-in-situ matchup discovery pipeline:
Query scrappi for the satellite collection over the in-situ site’s own registered ROI, for the whole configured time window.
Cluster the returned satellite products into events by time gap (see
parse_matchup_events()) – there is no orbit propagation step here, unlikeSat2SatMUFinder, since the in-situ site’s fixed location, not a crossover, defines where to search.For each event, query scrappi per platform (satellite + in-situ site), check geometric overlap, and build
Matchupobjects.Return the full list of
MatchupEventobjects, each carrying itsMatchupSet.
Example usage:
from eomatch import EOMatchContext from eomatch.finder.sat2insitu import Sat2InSituMUFinder ctx = EOMatchContext("my_config.yaml") finder = Sat2InSituMUFinder(context=ctx) events = finder.finder()
- __init__(context: dict | str | None = None) None#
Initialise the finder.
- Parameters:
context –
EOMatchContext(or a dict/path accepted by the parentBaseProcessor) supplying runtime configuration. Defaults toEOMatchContext().
Methods
__init__([context])Initialise the finder.
all_products_overlap(products)Return
Trueif every pair of products in products has a non-empty geometric intersection.all_products_within_time_diff(products, ...)Return
Trueif every pair of products has time ranges no more than threshold seconds apart.filter_overlapping_products(productitem, ...)Return the subset of productitemset whose geometry overlaps productitem.
finder()Run the full matchup discovery pipeline.
has_products(product_array)Return
Trueif product_array is non-None and non-empty.Identify candidate matchup events between the satellite and in-situ site.
parse_matchup_events(products)Split products into clusters by time gap, returning cluster boundary indices.
plot_matchup_event(path, matchupset)Plot the geometries of every matchup in matchupset on a map and save to path.
run_scrappi(query[, context])Execute a single scrappi query and return the matching products.
to_matchup_set(mu_events)Query scrappi for each event and build per-event
MatchupSetobjects.