CMORPH降水数据下载
IDM+Python批量下载CMORPH数据
·
Python+IDM批量下载CMORPH数据
CMORPH(Climate Prediction Center MORPHing technique)是由美国国家海洋和大气管理局(NOAA)的气候预测中心开发的一种降水估算技术。它基于卫星资料,通过将不同卫星上的降水估算数据进行整合和插值,生成高分辨率的全球降水估算数据集。
下载地址
数据主要有几下几个分辨率:
- 30min:8km
- daily:0.25deg
- 1hourly:0.25deg
使用IDM托管下载
批量下载借助IDM更方便管理,下载也更高效。(自行下载安装IDM)
代码模块
import os
import calendar
import requests
from bs4 import BeautifulSoup
import concurrent.futures
import urllib3
import numpy as np
from subprocess import call
## 以下内容为添加本机代理
os.environ["HTTP_PROXY"] = "http://127.0.0.1:7897"
os.environ["HTTPS_PROXY"] = "http://127.0.0.1:7897"
## 对应自己需要下载的时间尺度,进行修改
url = 'https://www.ncei.noaa.gov/data/cmorph-high-resolution-global-precipitation-estimates/access/30min/8km/'
## 数据保存路径
path = 'F:/cmorph/'
## 下载的数据的起始、截止年份
start_year = 1999
end_year = 1999
def idmDownloader(task_url, folder_path, file_name):
"""
IDM下载器
:param task_url: 下载任务地址
:param folder_path: 存放文件夹
:param file_name: 文件名
:return:
"""
# IDM安装目录
# idm_engine = "C:\\Program Files (x86)\\Internet Download Manager\\IDMan.exe"
idm_engine = R"C:\Program Files (x86)\Internet Download Manager\IDMan.exe"
# 将任务添加至队列
call([idm_engine, '/d', task_url, '/p', folder_path, '/f', file_name, '/a'])
# 开始任务队列
call([idm_engine, '/s'])
urllib3.disable_warnings()
for year in range(start_year,end_year+1):
for month in range(1,13):
for day in range(1, calendar.monthrange(year, month)[1]+1):
## 数据存储路径
savePath = path + str(year) +'/' + f"{month:02d}/" +f"{day:02d}/"
if not os.path.exists(savePath):
os.makedirs(savePath)
download_url = url + str(year) +'/' + f"{month:02d}/" +f"{day:02d}/"
print(download_url)
response = requests.get(download_url)
soup = BeautifulSoup(response.text, 'html.parser')
for link in soup.select('a[href$=".nc"]'):
name = link['href']
url_i = download_url+name
idmDownloader(url_i, savePath, name) # 添加进IDM中下载
print('data of {} is OK!'.format(name))
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)