GPM IMERG降水数据批量下载

imerg数据介绍

  • IMERG是专为全球降水计划GPM而生的最新一代多卫星融合反演降水数据,是GPM的3级产品。它充分利用GPM平台上所有的卫星传感器提供的数据(包括主被动微波传感器和各类红外数据传感器等等),也充分借鉴之前TRMM时代基本成熟的各类卫星降水反演算法进行有机融合。
  • IMERG目前提供三套类型的卫星降水数据,分别是Early,Late,Final三个版本。IMERG生成系统在实时阶段运行一次后得到Early产品,再运行一次后得到Late产品,在这过程中,最主要的不同在于Early中只采用了云移动矢量传播算法中的前向传播算法,而Late在此基础上还加用了后向传播算法。在滞时产品Final的处理中,在Late的基础上引进了更多的传感器数据源,包括引入了全球雨量站点进行校正。

imerg数据下载

之我踩过的无数坑。。。。所以记录一下

1、首先,你需要有一个earthdata的账号

网上注册搜步骤很详细,但是要注意注册的时候有一步需要科。学。上。网,之前就是这里踩坑,让我捶胸顿足,死活搞不定。。

2、下载GPM imerg数据集

打开earthdata,先登录账号,进入GES DISC

直接搜索imerg

 我们需要下载的是imerg final L3逐日数据集,点击

 这里是对数据集的介绍,点击右侧获取数据

 选择数据下载方法,第一个是下载全球的,此处选择第二、第三个都可以;

选择数据获取的时间以及区域,输入经纬度范围

选择变量:precipitationCal. 

下载的输出格式选择nc格式(ASCII格式也可以)

 再点击Get Data 得到下载链接,点击download links list,将下载到subset_GPM_3IMERGDF_06_20230511_070918_.txt。

 可以点进上述链接逐个下载,一期数据为10M左右。但一共2000多期数据,所以考虑批量下载。

从第三行起为数据下载链接,链接2天内有效。

先是考虑用python批量下载

参考GPM数据批量下载教程_gpm数据下载_沉研的博客-CSDN博客等人的方法,不论是nc文件授权还是浏览器授权,一直报错(pdf文件能下载下来但是nc文件下载不了),可能是nasa网站不稳定导致下载失败。所以寻找其他途径解决。

 利用浏览器插件DownThemAll

可以在谷歌、火狐、edge浏览器安装,能自动读取所有可下载的url。安装好后到到获取下载链接那一步,点击插件中的DownThemAll 

 会自动抓取下载链接表中的url,可以看到2000+个链接都已经添加进来了。因为只需要下载nc数据,所以快速筛选那里填上.nc4,就可以下载了。

按理说,接下来就没问题了,但是下载下来只有几十KB,我查了一下也不知道啥原因,过两天同样的方法又试了一下,奇迹般的发现它又可以了,这次下载的居然有10M左右,感天动地啊。。。

偶尔有下载失败的,右键恢复重试下可下载成功。

 

想想可能是网站不稳定的原因,所以下载下来只有几十k的筒子们,不要放弃,多试试或许就能成功。

### GPM 卫星三级降水数据处理方法与工具 #### 使用 Python 处理 GPM IMERG 三级产品 对于 GPM 的三级产品,特别是 IMERG 数据集,可以采用多种方式来获取、解析和处理这些数据。Python 是一种强大的编程语言,提供了丰富的库支持科学计算和数据分析。 为了高效地下载所需时间段内的全部或部分区域的 IMERG 文件,可借助 `requests` 库实现断点续传功能[^2]。这允许在网络不稳定的情况下继续未完成的任务而不必重新开始整个过程。具体来说: ```python import requests from pathlib import Path def download_file(url, local_filename): """Download file with resuming capability.""" headers = {'Range': f'bytes={Path(local_filename).stat().st_size}-'} if Path( local_filename).exists() else {} response = requests.get(url, stream=True, headers=headers) mode = 'ab' if Path(local_filename).exists() else 'wb' with open(local_filename, mode) as out_file: for chunk in response.iter_content(chunk_size=8192): if chunk: out_file.write(chunk) url_example = "https://example.com/path/to/your/file.nc" local_path = "./data/filename.nc" download_file(url_example, local_path) ``` 一旦获得了 HDF5 或 NetCDF 格式的原始数据文件之后,则可以通过专门设计用来操作此类二进制格式的软件包来进行进一步的操作。例如,使用 `h5py` 和 `netCDF4` 来加载并探索 DPR 数据结构中的变量[^3]。 ```python import h5py import netCDF4 as nc # For reading HDF5 files like those from the DPR instrument. with h5py.File('path_to_dpr_hdf5.h5', 'r') as hdf: list(hdf.keys()) # List all groups. # Or use netCDF4 to read NetCDF format data such as IMERG products. dataset = nc.Dataset('path_to_imerg_netcdf.nc') print(dataset.variables.keys()) ``` 当涉及到实际的数据预处理阶段时——比如筛选特定地理范围内的记录、转换单位或是执行质量控制措施等——Pandas 可能是最合适的选择之一。它不仅能够轻松导入上述两种类型的表格化资料,还具备灵活的时间序列管理能力以及高效的向量化运算特性。 最后,在完成了必要的清洗工作以后,Matplotlib 和 Seaborn 这样的绘图引擎可以帮助直观展示研究成果。下面是一个简单的例子展示了如何绘制总表面降水量随时间变化的趋势图表[^4]。 ```python import pandas as pd import matplotlib.pyplot as plt # Assuming you have a DataFrame df containing time series precipitation data. plt.figure(figsize=(10, 6)) plt.plot(df.index, df['SurfPrecipTotRate'], label='Total Surface Precipitation Rate') plt.xlabel('Time') plt.ylabel('Rainfall rate (mm/h)') plt.title('Temporal Variation of Rainfall Rates Over Selected Area') plt.legend() plt.show() ``` 通过以上介绍可以看出,针对 GPM 提供的不同级别降水测量成果,存在一系列成熟可靠的解决方案可供研究人员选用。无论是初步浏览还是深入挖掘其中蕴含的信息价值,Python 生态圈内都拥有足够的资源满足需求。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值