4.4.1.1.10.1.6. polar2grid.utils.search_noaa_s3_viirs module

Glob for VIIRS SDR objects in NOAA NESDIS S3 buckets.

Example usage:

# Single band python glob_viirs_s3.py –satellite n20 –band I05 –start-time 2026-04-24T01:10 –end-time 2026-04-24T01:12

# Multiple bands python glob_viirs_s3.py –satellite n20 –band I04 –band I05 –band M15 –start-time 2026-04-24T00:00 –end-time 2026-04-24T01:00

# All bands python glob_viirs_s3.py –satellite n20 –band ALL –start-time 2026-04-24T00:00 –end-time 2026-04-24T23:59 –no-sign-request

polar2grid.utils.search_noaa_s3_viirs._convert_file_times_to_datetimes(date_str: str, tstart: str, tend: str) tuple[datetime, datetime][source]
polar2grid.utils.search_noaa_s3_viirs._filter_by_start_end(possible_paths: Iterable[str], start_time: datetime, end_time: datetime) Iterator[str][source]
polar2grid.utils.search_noaa_s3_viirs._generate_glob_patterns(bands: Iterable[str], start_time: datetime, end_time: datetime, satellite: str) Iterator[str][source]
polar2grid.utils.search_noaa_s3_viirs._glob_s3_fs(fs: S3FileSystem, glob_pattern: str) Iterator[str][source]
polar2grid.utils.search_noaa_s3_viirs._overlaps_time_range(fname: str, start_time: datetime, end_time: datetime) bool[source]
polar2grid.utils.search_noaa_s3_viirs._print_uris(paths: Iterable[str], print_urls: bool) None[source]
polar2grid.utils.search_noaa_s3_viirs.band_to_prefix(band: str) str[source]

Convert a band name to the SDR or GEO product-prefix segment used in the S3 key.

For example, the I01 SDR band is converted to “VIIRS-I1-SDR”. The geolocation “band” GITCO is converted to “VIIRS-IMG-GEO-TC”.

polar2grid.utils.search_noaa_s3_viirs.build_parser() ArgumentParser[source]
polar2grid.utils.search_noaa_s3_viirs.file_start_end_time(filename: str) tuple[datetime, datetime] | tuple[None, None][source]

Parse the granule start time from a VIIRS SDR filename.

polar2grid.utils.search_noaa_s3_viirs.iter_day_prefixes(start: datetime, end: datetime)[source]

Yield every unique date/time between start and end (inclusive) at hour resolution.

polar2grid.utils.search_noaa_s3_viirs.main()[source]
polar2grid.utils.search_noaa_s3_viirs.parse_band(value: str) list[str][source]

Validate a single –band value and return the list of bands it represents.

“ALL” expands to every band; otherwise the value must be a known band name.

polar2grid.utils.search_noaa_s3_viirs.parse_datetime(s: str) datetime[source]

Parse date/times from the command line.

Accept ISO-8601-ish strings: YYYY-MM-DDTHH:MM[:SS]