NNJAObsSat#
- class earth2studio.data.NNJAObsSat(
- time_tolerance=numpy.timedelta64(10, 'm'),
- satellites=None,
- cache=True,
- verbose=True,
- async_timeout=600,
- async_workers=8,
- decode_workers=8,
- retries=3,
- Global
NNJA historical NCEP aggregate microwave satellite observations.
This source reads the NCEP satellite ATMS, MHS, AMSU-A, and AMSU-B BUFR products from the NNJA archive. It returns one long-format row per finite encoded channel value.
sensor_indexis the physicalCHNMchannel number, not a dense index into a selected channel list.atmsreturns the encoded 22-channelTMBRscene brightness temperature.atms_antenna_temperaturereturns the corresponding encodedTMANTantenna temperature. No conversion is performed between those two ATMS products.mhs(5 channels),amsua(15 channels), andamsub(5 channels) return their normal-feedTMBRvalues as encoded by NCEP. For these legacy products the mnemonic does not always mean the same physical antenna-correction state. GSI treats normal-feedTMBRas antenna temperature for AMSU-A, AMSU-B, and MHS, except for NOAA-15/16, which its reader treats as already converted upstream. NOAA satingest independently confirms that exception for AMSU-A. The platform identity is retained so a downstream transform can apply the appropriate convention explicitly.scan_positionpreserves the encoded one-based FOV number.scan_angleis the signed nominal instrument look angle derived from that FOV; negative values are on the first half of the scan. The encodedsatellite_zaremains the unsigned Earth-view zenith magnitude.- Parameters:
time_tolerance (TimeTolerance, optional) – Time tolerance window for filtering observations. Accepts a single value (symmetric +/- window) or a tuple (lower, upper) for asymmetric windows, by default np.timedelta64(10, ‘m’).
satellites (list[str] | None, optional) – Satellite platforms to include.
Noneincludes every platform in the requested aggregate files.cache (bool, optional) – Cache downloaded files in the local filesystem cache, by default True.
verbose (bool, optional) – Show progress bars, by default True.
async_timeout (int, optional) – Total timeout in seconds for the async fetch, by default 600.
async_workers (int, optional) – Maximum number of concurrent async fetch tasks, by default 8.
decode_workers (int, optional) – Number of parallel processes for BUFR message decoding. Set to 1 to disable multiprocessing, by default 8.
retries (int, optional) – Number of retry attempts per failed fetch task with exponential backoff, by default 3.
Warning
Aggregate cycle files contain millions of footprints. Broad long-format requests can require substantial memory. A finite archived value is not a QC decision: historical files may retain passive or degraded channels even when the aggregate carries no usable quality flag. Training pipelines should apply an explicit platform/channel validity policy.
Note
Additional information on the archive and microwave product semantics:
- __call__(time, variable, fields=None)[source]#
Fetch observations for a set of timestamps.
- Parameters:
time (datetime | list[datetime] | ndarray[datetime64])
variable (str | list[str] | ndarray[str])
fields (str | list[str] | Schema | None)
- Return type:
DataFrame