简要描述卫星格式数据的结构
# 文件命名约定
文件名涉及以下属性的某种组合:
日期的格式是年月日的最后 2 位数字(补齐 0)。例如:2009 年 8 月 4 日 为 090804。 - <orbit_number> 5 位数的轨道编号。
- <product_version> 产品版本。
ID | File Naming Convention | Format |
---|---|---|
1B01 | 1B01. | HDF4 |
1B11 | 1B11. | HDF4 |
1B21 | 1B21. | HDF4 |
1C21 | 1C21. | HDF4 |
2A12 | 2A12. | HDF4 |
2A21 | 2A21. | HDF4 |
2A23 | 2A23. | HDF4 |
2A25 | 2A25. | HDF4 |
2B31 | 2B31. | HDF4 |
3A11 | 3A11. | HDF4 |
3A12 | 3A12. | HDF4 |
3A25 | 3A25. | HDF4 |
3A26 | 3A26. | HDF4 |
3B31 | 3B31. | HDF4 |
3A46 | 3A46. | HDF4 |
3B42 | 3B42. | HDF4 |
3B43 | 3B43. | HDF4 |
CSH | CSH. | HDF4 |
# 文件格式和结构
TRMM 文件采用 HDF-4 格式开发。 这些扩展有助于创建 Grid、Point 和 Swath 数据结构,具体取决于数据是轨道数据还是网格数据。 轨道(1 级和 2 级)数据存储在使用 Swath 结构的 HDF-4 文件中。 轨道 TRMM 文件中的变量(产品 ID 以“1”或“2”开头)包含维度为 (nscan x nray) 的 Swath 数据结构。 网格变量的维度为(经度 x 纬度)。 在网格文件中发现的三维变量具有表面以上高度的第三个维度,以公里为单位。 缺失数据由小于或等于 -99、-9999、-9999、-9999.9 和 -9999.9 的值表示,分别对应 1 字节整数、2 字节整数、4 字节浮点数和 8 字节浮点数。 数组维度以列优先排序,即第一个维度的索引变化最快,最后一个维度的索引变化最慢。 Fortran、MATLAB 和 R 等语言自然使用列优先排序。 如果您使用 C++ 和 Python 等行优先语言,建议您颠倒数组的维数顺序以获得最佳性能。
# 数据内容
# 维度
文件中变量的维度因处理(产品 ID 开头的“1”、“2”或“3”)级别而异。
# Level 1 Data
大多数这些变量的维度为 nscan x nray。 nscan 指的是每个 granule 中的扫描次数,因文件而异。 第二个维度,nray 是指每次扫描中的角度 bin 数量,始终为 49。
::: tips TODO: 理解 granule 和 angle bins 和含义 :::
# Level 2 Data
这些变量具有不同数量的维度,由下面列出的维度组成。
- ncluster:每个冻结高度的簇数,始终为 100
- nlayer:分析层数,始终为 28
- npixel:每次扫描的像素数,始终为 208
- nfindex:冻结高度指数的数量,始终为 13
- nspecies:对应于水凝物种类的数字。下面的表 5 列出了物种
ID | 描述 | 单位 |
---|---|---|
1 | Cloud liquid water content | |
2 | Rain water content | |
3 | Cloud ice water content | |
4 | Snow water content | |
5 | Graupel water content | |
6 | Latent heating |
# Level 3 Data
这些变量位于地理网格上,并具有下列维度的各种组合。
- nlat:纬度数
- nlon:经度数
- nlayer:垂直层数,表示表面上方的高度。有 28 层,从 0.5 公里开始,以 0.5 公里的间隔增加到 10 公里,然后以 1 公里的间隔增加到 18 公里。
所有 32 位变量都具有单位属性,使其符合 COARDS 规定。
# 分辨率
# 时间分辨率
时间分辨率在 16 圈/天(90 分钟)、3 小时和每月之间变化。3 小时数据存在于 UTC 时间 00、03、06、09、12、15、18 和 21 的天气和中间天气时间。逐日数据代表在该时刻进行的观察,而月度数据代表月平均值。
# 空间分辨率
轨道数据产品(1XXX 和 2XXX)具有包含在 HDF 文件中的纬度和经度变量,以允许正确的条带映射。 网格文件 (3XXX) 没有明确的纬度和经度信息。 相反,网格文件包含 LatitudeResolution、LongitudeResolution、NorthBoundingCoordinate、SouthBoundingCoordinate、EastBoundingCoordinate、WestBoundingCoordinate 元数据,通常跨越 50°S 到 50°N 和 180°W 到 180°E。 一些产品仅跨越 38°S 到 38°N。
网格 TRMM 产品使用网格框的中心作为其纬度和经度坐标。 例如,跨越 50°S 到 50°N 和 180°W 到 180°E 的 TRMM 3B42 数据集具有从 49.875°S 到 49.875°N 和 179.875°W 到 179.875°E 的网格。
# 全局属性
除了包含变量和维度比例的 SDS 数组外,全局元数据也存储在文件中。 一些元数据是标准约定所必需的,一些是为了满足数据来源要求而存在的,还有一些是为了方便 TRMM 产品的用户。 下表显示了所有文件中存在的全局属性摘要
全局属性 | 描述 |
---|---|
AlgorithmID | The algorithm that generated the product. |
AlgorithmVersion | The version of the algorithm specified as the AlgorithmID. |
FileName | The file name. |
GenerationDateTime | The date and time the granule was generated. |
StartGranuleDateTime | The start time of the data in the granule. |
StopGranuleDateTime | The stop time of the data in the granule. |
GranuleNumber | The granule number. |
NumberOfSwaths | The number of swaths in the granule. |
NumberOfGrids | The number of grid structures in the granule. |
GranuleStart | The granule's orbit starting place. |
TimeInterval | The time interval covered by the granule. |
Possible values are: ORBIT, HALFORBIT, HOUR, 3_HOUR, DAY, MONTH, and CONTACT. | |
ProcessingSystem | The name of the processing system. |
ProductVersion | The data version assigned by ProcessingSystem. |
MissingData | The number of missing scans. |
Name Type | Description |
---|---|
FillValue | float32 Floating-point value used to identify missing data. |
Will normally be set to 1e15. Not included in every TRMM file. | |
Units | string The units of the variable. |
Must be a string that can be recognized by UNIDATA's Udunits package. | |
Scale_factor | float32 If variable is packed as 16-bit integers, |
this is the scale_factor for expanding to floating-point. |
# 具体产品和变量
可前往 TRMM 卫星数据格式说明文件下载网址 (opens new window) 下载具体说明文件