ERA5数据 google云存储下载方法大全

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • ERA5数据下载
    • nc数据下载方法
      • 1.在网页上逐个下载
      • 2.使用gsutil下载
    • zarr数据下载方法


前言

目前,数据驱动的天气预报需要大量的ERA5数据,通常情况下,ERA5数据都可以从ERA5官网下载:
ERA5官网
然而,目前ERA5服务器连接过于繁忙,并且国内连接速度相当有限,因此从ERA5官网下载这些数据会非常慢。
幸运的是,谷歌在研发graphcast的过程中,下载了1940-2022年的ERA5数据,并且存储在了cloud storage中。同时,weatherbench2也提供了很多数据,但是是以zarr的方式存储。
本文将详细阐述如何下载并使用这些数据,包括气候态、气象变量等数据。


ERA5数据下载

使用谷歌云存储下载,首先需要一个谷歌账号,注册谷歌账号教程在这
登陆谷歌账号后,进入云存储网站
在这里可以看到如图所示的内容:
谷歌存储左边第二栏是可以下载的数据
这里有两种数据可选,一直种是可在线调用的zarr格式数据,另一种是ERA5原格式文件nc格式数据。

nc数据下载方法

鉴于广大网友可能更多是做气象的,我们先讲nc数据
假设我们需要下载1996年1月6日全天的geopotential的全37层(从1000hpa到1hpa)的nc数据,其谷歌云存储地址为:
gcp-public-data-arco-era5/raw/date-variable-pressure_level/1996/01/06/geopotential
具体解析为“谷歌云数据地址/原始数据/逐pressure_level数据/1996年/1月/6日/位势变量”,进入该目录后可以看到这样的列表:
数据列表
接下来有两种下载方式,

1.在网页上逐个下载

这个方式比较慢而且麻烦,但是不需要安装额外的扩展包(如gsutil),点选需要下载的大气层数据前面的小框,在点选“下载”即可
下载页面
这种可以直接下载

2.使用gsutil下载

这里以linux系统为例,首先需要安装gsutil,点击这里进入说明,当然这个页面不容易进去,所以我们讲解安装方法:
gstuil简介
确认您拥有受支持的 Python 版本。Google Cloud CLI 需要 Python 3.8 到 3.12。请注意,x86_64 Linux 软件包中包含默认首选的捆绑式 Python 解释器。
下载linux安装包 https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-477.0.0-linux-x86_64.tar.gz?hl=zh-cn
请运行以下命令:

tar -xf google-cloud-cli-477.0.0-linux-x86_64.tar.gz

将 gcloud CLI 添加到路径中。使用以下命令从解压缩到的文件夹的根目录运行安装脚本:

./google-cloud-sdk/install.sh

打开新终端,以使更改生效。之后便可以使用gsutil指令下载谷歌云存储的文件了。
回到刚才的下载页面,假设想要下载1996年1月6日所有变量的所有pressure_level的nc文件,只需在对应的变量位置框选:

页面
接着就会弹出提示
下载1

gsutil -m cp -r \
  "gs://gcp-public-data-arco-era5/raw/date-variable-pressure_level/1996/01/06/geopotential" \

这样就可以批量下载nc数据了。
注意这样下载的nc文件每个都是包含一天24小时的数据

zarr数据下载方法

zarr是一种分布式存储格式,可以直接通过python的xarray包在线读取并调用
首先确保已经安装了numpy,xarray,以及zarr

pip install numpy
pip install xarray
pip install zarr

接着编写python脚本
这里以下载weatherbench2的climatology为例
进入网站 https://console.cloud.google.com/storage/browser/weatherbench2;tab=objects?prefix=&forceOnObjectsSortingFiltering=false

import xarray as xr
import numpy as np
climatology = xr.open_zarr('gs://weatherbench2/datasets/era5-hourly-climatology/1990-2019_6h_1440x721.zarr')

假设我们还是下载geopotential的气候态

geopotential=climatology.geopotential
for idx in range(geopotential.shape[1]):
    temp=geopotential[:,idx]
    file_name = '想放置的文件目录/geopotential'+'_'+str(idx)+'.npy'
    np.save(file_name,temp)

一般来讲该数据的维度为366x[4,721,1440]
.
每日气候态只有0,6,12,18四个时间点。
这样可以保存逐日的气候态文件
其他zarr文件下载方式同理

  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值