data.JPSS_ATMS¶
Global
Import path: earth2studio.data.JPSS_ATMS
Documentation¶
JPSS ATMS (Advanced Technology Microwave Sounder) Level 1 BUFR brightness-temperature observations served from NOAA Open Data on AWS.
Each BUFR file contains a single scan line with 96 cross-track
field-of-view (FOV) positions and 22 microwave channels.
The returned DataFrame has one row per FOV per channel,
following the same convention as [UFSObsSat][earth2studio.data.UFSObsSat].
ATMS has 22 channels spanning 23.8--183.31 GHz. The sensor_index
column (1--22) identifies each channel:
.. list-table:: ATMS Channel Specification :header-rows: 1 :widths: 8 15 35
-
- Channel
- Frequency (GHz)
- Primary Sensitivity
-
- 1
- 23.8
- Window / water-vapour (surface)
-
- 2
- 31.4
- Window (surface emissivity, cloud liquid water)
-
- 3
- 50.3
- Oxygen (lower troposphere temperature)
-
- 4
- 51.76
- Oxygen (lower troposphere temperature)
-
- 5
- 52.8
- Oxygen (troposphere temperature)
-
- 6
- 53.596
- Oxygen (troposphere temperature)
-
- 7
- 54.40
- Oxygen (mid-troposphere temperature)
-
- 8
- 54.94
- Oxygen (mid-troposphere temperature)
-
- 9
- 55.50
- Oxygen (upper troposphere temperature)
-
- 10
- 57.29 (fO1)
- Oxygen (tropopause temperature)
-
- 11
- 57.29 (fO2)
- Oxygen (lower stratosphere temperature)
-
- 12
- 57.29 (fO3)
- Oxygen (stratosphere temperature)
-
- 13
- 57.29 (fO4)
- Oxygen (stratosphere temperature)
-
- 14
- 57.29 (fO5)
- Oxygen (upper stratosphere temperature)
-
- 15
- 57.29 (fO6)
- Oxygen (upper stratosphere temperature)
-
- 16
- 88.20
- Window (precipitation, sea ice)
-
- 17
- 165.5
- Window (precipitation, ice cloud)
-
- 18
- 183.31 (fH1)
- Water-vapour (upper troposphere humidity)
-
- 19
- 183.31 (fH2)
- Water-vapour (mid-troposphere humidity)
-
- 20
- 183.31 (fH3)
- Water-vapour (mid-troposphere humidity)
-
- 21
- 183.31 (fH4)
- Water-vapour (lower troposphere humidity)
-
- 22
- 183.31 (fH5)
- Water-vapour (lower troposphere humidity)
Channels 10--15 share the 57.29 GHz oxygen-absorption line but use different passband offsets (fO1--fO6), giving each a distinct altitude weighting function. Channels 18--22 similarly share 183.31 GHz with different offsets (fH1--fH5) for water-vapour profiling at different altitudes.
Parameters:
-
satellites(list[str] | None, default:None) –Satellite short-names to query. Valid values are
"n20"(NOAA-20),"n21"(NOAA-21), and"npp"(Suomi NPP). By defaultNone, which queries all valid satellites. -
time_tolerance(TimeTolerance, default:timedelta64(10, 'm')) –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').
-
cache(bool, default:True) –Cache downloaded BUFR files locally, by default True
-
verbose(bool, default:True) –Show download progress bars, by default True
-
async_timeout(int, default:600) –Total timeout in seconds for the async fetch, by default 600
-
max_workers(int, default:24) –Maximum number of concurrent S3 fetch tasks, by default 24
-
retries(int, default:3) –Per-file retry count on transient I/O failures, by default 3
Warning
This is a remote data source and can potentially download a large amount of data to your local machine for large requests.
Note
Additional information on the data repository:
- registry.opendata.aws/noaa-jpss/
- www.star.nesdis.noaa.gov/jpss/ATMS.php
- www.nesdis.noaa.gov/current-satellite-missions/currently-flying/joint-polar-satellite-system
ATMS channel specification and BUFR SDR format:
__call__ ¶
__call__(
time: datetime | list[datetime] | TimeArray,
variable: str | list[str] | VariableArray,
fields: str | list[str] | Schema | None = None,
) -> DataFrame
Fetch ATMS brightness-temperature observations.
Parameters:
-
time(datetime | list[datetime] | TimeArray) –Timestamps to return data for (UTC).
-
variable(str | list[str] | VariableArray) –Variable names to return (e.g.
["atms"]). -
fields(str | list[str] | Schema | None, default:None) –Subset of schema fields to include, by default None (all).
Returns:
-
DataFrame–Long-format DataFrame with one row per FOV per channel.
fetch
async
¶
fetch(
time: datetime | list[datetime] | TimeArray,
variable: str | list[str] | VariableArray,
fields: str | list[str] | Schema | None = None,
) -> DataFrame
Async implementation of the data fetch.
Parameters:
-
time(datetime | list[datetime] | TimeArray) –Timestamps to return data for (UTC).
-
variable(str | list[str] | VariableArray) –Variable names to return.
-
fields(str | list[str] | Schema | None, default:None) –Subset of schema fields to include, by default None.
Returns:
-
DataFrame–Long-format DataFrame.
available
classmethod
¶
available(time: datetime | datetime64) -> bool
Check whether data is available for a given time.
Parameters:
-
time(datetime | datetime64) –Date-time to check.
Returns:
-
bool–