- 积分
- 63464
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-7-23
- 最后登录
- 1970-1-1
|
发表于 2021-7-28 19:38:51
|
显示全部楼层
本帖最后由 edwardli 于 2021-7-28 22:05 编辑
卫星观测到的是辐射能。
卫星文件里存储的是一个“索引”(可以这么理解,因为反照率是0-100,占6位,亮温是300左右,需要占11位,两相结合),需要根据这个“索引”去HDF、AWX前部的“定标表”查找到底对应哪个具体的值(反照率92%,TBB 270K……之流)。这个过程叫“定标”calibration
还有个问题是“定位”,尤其是HDF多数都是圆盘图DISK,即使是REGC中国区域,也有两个角扫描的是太空。而且本质上数据是按照行列存储的,比如4km分辨率的全圆盘,就是2748行*2748列。所以需要把这个数学的矩阵/数组,下标对应到地理上(经纬度),才能画出一张合格的卫星云图,进一步与其他气象数据叠加显示分析。
话不多说,代码来了。
Main.py
- from fy4a import AGRI_L1
- file_path = 'data/Satellite/FY4A-_AGRI--_N_DISK_1047E_L1-_FDI-_MULT_NOM_20210720080000_20210720081459_4000M_V0001.HDF'
- sat = AGRI_L1(file_path)
- C012 = sat.extract('Channel12',calibration='brightness_temperature') #1-6通道可见光的cali为'reflectance'
- geo_desc = [20, 60, 100, 140, 0.01] # 顺序为南、北、西、东、分辨率,即 lat_s, lat_n, lon_w, lon_e, resolution单位°
- C012 = sat.extract('Channel12',calibration='brightness_temperature',geo_desc = geo_desc)
- # C012
- # C012.shape
- import matplotlib.pyplot as plt
- fig = plt.figure(figsize=(16,9),dpi=200)
- plt.imshow(C012,cmap='gray_r') #imshow是我喜欢的“概览”方法,改成其他绘图区ax的方法比如pcolormesh……即可,当然推荐cartopy声明带投影的ax。这,不是本回帖之重点。
复制代码
以下需要的类,不是我写的,by [Modabao](https://github.com/Mo-Dabao/BiteFengyun) 华风集团数据技术开发中心
fy4a.py
(4.64 KB, 下载次数: 126)
|
-
-
|