全球气象数据下载总结-CRU数据,ERA数据&NCEP-2数据

一、CRU数据下载

CRU数据官网 官网链接
CRU数据下载链接
我下载的是CRU TS v.4.03的数据,该数据覆盖全球陆地范围,各参数每月得一个平均值。 点击Local Copy进入数据下载界面。如果没有接触过CRU TS v.4.03数据的小伙伴可以先阅读下说明文档,之后点击红框中的链接进行感兴趣参数的下载。
在这里插入图片描述各参数的详细说明和单位如下图所示:
在这里插入图片描述

二、ERA-Interim数据下载

1. ERA-Interim数据逐月下载

ERA-Interim数据逐月下载
点击链接进入后界面如下,可根据需求选择要下载的年份、月份和相关变量。
在这里插入图片描述在这里插入图片描述如选择下载2019年8月的地表温度,每天选择4个时刻,step=0。选择完成后点击“Retrieve NetCDF”可查看所选参数的详细信息。
在这里插入图片描述同时可在Area中更改要下载数据的覆盖区域,默认是全球;在Grid中可选择数据下载的格网大小,默认是0.75*0.75。
点击“Retrieve Now”可进入下一步
在这里插入图片描述点击“Download”,至此,逐月下载ERA-Interim数据完成。

2. 利用python代码下载ERA-Interim数据

有的时候逐月下载数据可能不能满足大家的需求,可考虑通过python代码来实现。官网提供的python下载教程
需要安装ecmwfapi第三方包下载链接
如下是Python 下载ERA-Interim数据的样例,只需要简单更改参数就可以使用。

from ecmwfapi import ECMWFDataServer

server = ECMWFDataServer()
server.retrieve({
    'stream'    : "oper",
    'levtype'   : "sfc",
    # 参数选择:降水228
    'param'     : "228.128",
    'dataset'   : "interim",
    'step'      : "3/6/9/12",
    'grid'      : "0.75/0.75",
    'time'      : "00/12",
    'date'      : "20190101/to/20190831",
    'type'      : "fc",
    'class'     : "ei",
    'format'    : "netcdf",
    'target'    : "D:\\DATA\\interim_20190101to20190831_pre.nc"
 })

通常这样操作之后就可以完成ERA-Interim数据的批量下载,但我下载的时候总会报这个错误;error contacting the webapi, retrying in 60 seconds
查了很久发现是因为缺少一个SSL证书,证书下载链接及添加流程如下图。
在这里插入图片描述

3. ERA-Interim中相关变量的解释

1.对于time和step的解释
官网解释
相关参考
在这里插入图片描述在这里插入图片描述在这里插入图片描述2.ERA-Interim中相关参数的说明
ERA-Interim 中keywords说明
在这里插入图片描述在这里插入图片描述同样,从手动下载逐月参数的数据描述这里,也可以看参数的相关取值。
在这里插入图片描述
需要注意的一点是,如果分析中既用到降水数据,也用到气温数据,class最好选择“fc”,这样两个数据是由一套算法计算得到。

4. 利用python代码批量下载ERA-Interim数据

如果直接用代码连续下载很多年的数据并保存在一个NC文件中,很可能由于网速不稳定等原因造成数据下载不完整,所以我通常是逐年下载并保存成一个NC文件,代码如下:

import datetime
import os

#下载ERA数据
def downECMWFdata(outpath):
    from ecmwfapi import ECMWFDataServer
    server = ECMWFDataServer()
    startdate = datetime.datetime.today()  # 用于生成一个datetime.datetime类型的数据,下同
    enddate = datetime.datetime.today()
    startdate = startdate.replace(year=2000, month=1, day=1, hour=0, minute=0, second=0, microsecond=0)
    enddate = enddate.replace(year=2012, month=12, day=31, hour=0, minute=0, second=0, microsecond=0)
    savepath = outpath + os.sep + "interim_%s_tmp.nc"
    tmpdate = startdate  # 将日期变为当月的第一天
    while tmpdate <= enddate:
        print(tmpdate)
        deltadays = GetDayNum(tmpdate.year) - 1
        #datetme.delta() 用来计算第二个对象(tmpenddate)和第一个对象(tmpdate)之间的插值
        tmpenddate = tmpdate + datetime.timedelta(days=deltadays)  # 根据天数算出年末时间
        datestring = tmpdate.strftime("%Y%m%d") + '/to/' + tmpenddate.strftime("%Y%m%d")
        print (datestring)  
        # 输出效果:D:\data\interim_20191001to20191006_tmp.nc
        tmpsavepath = savepath % (datestring.replace('/to/', 'to'))
        if os.path.exists(tmpsavepath):  # 如果系统中有这个文件夹说明已经下载了,继续直到没有
            tmpdate = tmpenddate + datetime.timedelta(days=1) 
            continue
        server.retrieve({
            "class"  : "ei",
            "dataset": "interim",
            "date"   : datestring,
            "expver" : "1",
            "grid"   : "0.75/0.75",
            "levtype": "sfc",
            # 参数选择:气温167
            "param"  : "167.128/201.128/202.128",
            "step"   : "3/6/9/12",
            "stream" : "oper",
            "time"   : "00:00:00/12:00:00",
            "type"   : "fc",
            "format" : "netcdf",
            "target" : tmpsavepath,
        })
        tmpdate = tmpenddate + datetime.timedelta(days=1)


def GetDayNum(year):
    # 判断是否为闰年
    if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):
        return 366
    else:
        return 365
        
if __name__ == '__main__':
    path = r'D:\DATA'
    downECMWFdata(path)

三、NCEP-2数据下载

NCEP-2数据下载官网
同样下载的是逐日的地表气温和降水数据。两种方式查找所需的数据。

  1. 第一种方式如下图:
    首先选择高斯网格数据
    在这里插入图片描述点击进入后可查看该数据的时间尺度、空间覆盖范围以及更新频率等参数。
    在这里插入图片描述之后选择感兴趣的数据点击“see list”进行逐年数据的下载即可,如对于每日的地表温度数据(说明:NCEP-2中每日数据包含4个时刻,从0时开始,每6小时一个)。另外,对于感兴趣的数据可先通过列表右侧的Create plot,先进行绘图,查看是否是需要的数据。
    在这里插入图片描述2.第二种方式:
    通过图片红框的链接,可直接查找感兴趣的参数,以每日地表温度为例,流程如下:
    在这里插入图片描述在这里插入图片描述在这里插入图片描述综上,就是三种全球尺度常用气象数据的下载流程。分享给大家,希望对大家有帮助,有不足或不正确的地方也欢迎大家补充指正。
对于arcgis批量处理气象数据,你可以按照以下步骤进行操作: 1. 首先,你需要准备好用于处理的气象数据。这些数据可以来自于CRU发布的全球0.5°气候数据集或者WorldClim发布的高分辨率气候数据集。你可以通过访问它们的网站获取需要的数据。 2. 然后,你需要将这些数据下载到本地计算机上。你可以从相应的网站上找到下载链接,将数据下载到指定的文件夹中。 3. 接下来,你需要启动ArcGIS软件,并打开ArcMap。在ArcMap界面中,点击"File"菜单,选择"Add Data",然后导入你下载好的气象数据。 4. 在导入数据后,你可以使用ArcGIS中的工具和功能对气象数据进行批量处理。比如,你可以使用"Extract by Mask"工具根据特定的范围提取数据,或者使用"Raster Calculator"工具进行栅格数据的计算和处理。 5. 此外,你还可以使用ArcGIS中的"ModelBuilder"工具创建模型来批量处理气象数据。模型可以帮助你自动化处理过程,节省时间和精力。 总结起来,对于arcgis批量处理气象数据,你需要准备好气象数据,导入到ArcGIS中,然后使用工具和功能对数据进行处理。你还可以使用模型来自动化处理过程。希望这些方法能够帮助到你[2]。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [ArcGIS Pro处理气温nc文件(降水同理)批量导出各月栅格文件](https://blog.csdn.net/Sugarlolly/article/details/126022169)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值