fnl数据下载

关于wrf驱动数据fnl下载官网上给的下载代码直接输入文件名,如果下载很长时间的需要点击很多文件,而且代码很长,为此我在官网基础上更改了一下代码。

import requests 
from datetime import datetime, timedelta 
 
# 定义起始时间和结束时间 
start_date_str = "2010-10-07 06:00" 
end_date_str = "2011-08-02 00:00" 
 
# 将字符串转换为datetime对象 
start_date = datetime.strptime(start_date_str,  "%Y-%m-%d %H:%M") 
end_date = datetime.strptime(end_date_str,  "%Y-%m-%d %H:%M") 
 
# 生成文件列表 
files = [] 
current_date = start_date 
while current_date <= end_date: 
    year = current_date.year  
    month = current_date.month  
    day = current_date.day  
    hour = current_date.hour  
    file_path = f"grib2/{year}/{year}.{month:02d}/fnl_{year}{month:02d}{day:02d}_{hour:02d}_00.grib2"  
    files.append(file_path)  
    # 每次增加6小时 
    current_date += timedelta(hours=6) 
 
# 下载文件 
for file in files: 
    idx = file.rfind("/")  
    if idx > 0: 
        ofile = file[idx + 1:] 
    else: 
        ofile = file 
 
    try: 
        response = requests.get(f"https://data.rda.ucar.edu/d083002/{file}")  
        response.raise_for_status()   # 检查请求是否成功 
        with open(ofile, "wb") as f: 
            f.write(response.content)  
        print(f"成功下载文件: {ofile}") 
    except requests.exceptions.RequestException  as e: 
        print(f"下载文件 {ofile} 时出错: {e}") 

运行步骤,更改代码中自己的起始时间,在官网注册账号,将python脚本放到自己下载fnl数据的目录下,python3 脚本名 账号名 密码 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值