气象海洋数据下载——ERA5再分析——CDS-python
1、 欧洲中期天气预报中新ERA5再分析数据简介
下载网址
ERA5是一种综合性的再分析数据,ECMWF的Integrated Forecast System (IFS)的4D-Var data assimilation 和 CY41R2 模型预报产生的。ERA5数据集包含一个高分辨率(hourly,31km,0.2815degrees,“HRES”)和一个分辨率降低的十个集合(hourly,63km,0.5625degrees,“EDA”)。ERA5大气模型与陆面模型和波浪模型耦合,支持1979-至今的实时数据。
ERA5ERA5提供大量大气、陆地和海洋气候变量的每小时估计。这些数据以30公里的网格覆盖地球,并利用从地表到80公里高度的137层来解析大气。ERA5包含所有变量在降低的空间和时间分辨率下的不确定性信息。
数据产品类型:
Analyses:再分析数据、Ensemble members:、Ensemble mean:总平均值
2、 数据集
1、Popular
10m u-component of wind:10米U行风量
10m v-component of wind:10米v行风量
2m dewpoint temperature:2米露点温度
2m temperature:2米温度
Mean sea level pressure:平均海平面气压
Mean wave direction:平均波方向
Mean wave period:平均波周期
Sea surface temperature:海洋表面温度
Significant height of combined wind waves and swelll:综合风浪和风浪的显著高度
Surface pressure:表面压力
Total precipitation:总降水量
2、Popular
Ice temperature layer 1:冰层温度
Maximum 2m temperature since previous post-processing:自上次后处理以来最高2m的温度
Skin temperature:表层温度
3、Wind
10m u-component of neutral wind:10m u中风
4、Mean rates
4、Radiation and heat(辐射和热)
5、Clouds(云)
6、Lakes(湖)
7、蒸发和径流
8、降水和雨
9、雪
9、
10、垂直积分
11、植被
12、海浪
14、其他
3、CDS API数据下载
参考博客
Key获取
再分析单个文件下载:
import cdsapi
c = cdsapi.Client()
c.retrieve("reanalysis-era5-pressure-levels",
{"variable": "temperature",
"pressure_level": "1000",
"product_type": "reanalysis",
"year": "2008",
"month": "01",
"day": "01",
"time": "12:00",
"format": "grib"
}, "download.grib")
冰川单个文件下载:
import cdsapi
c = cdsapi.Client()
c.retrieve("insitu-glaciers-elevation-mass",
{"variable": "all",
"product_type": "elevation_change",
"file_version": "20170405",
"format": "tgz"
},
"download.tar.gz")
cds 多进行批量下载
'''
Author: your name
Date: 2021-07-22 08:42:25
LastEditTime: 2021-07-23 15:18:56
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \Test\Python-book-BK\Python-book-BK\code\chap4\chap4_batch_download_cds_nc_files.py
'''
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
@毕凯,北京市人工影响天气办公室
@ email: bikai_picard@vip.sina.com
"""
import os
os.chdir(r"D:\Python base\Test\BIKAI_books")
os.getcwd()
import cdsapi
import datetime as dt
from queue import Queue
from threading import Thread #导入多线性编程最核心的模块,进行并发下载,每个Threading代表一个线程
import time
start =time.clock()class DownloadCDS(Thread): def __init__(self, queue): Thread.__init__(self)self.queue = queue def run(self):while True:#从队列中获取任务并扩展date_file_name = self.queue.get() #获取任务,并使用get从另一端删除。download_single_cds_file(date_file_name)self.queue.task_done() #告知队列该任务已完成def download_single_cds_file(date_file_name):filename=date_file_name+'.nc' if(os.path.isfile(filename)): print("当前数据文件已经存在: ",filename) else:print("当前正在下载:",filename)c = cdsapi.Client() c.retrieve('reanalysis-era5-pressure-levels', {'product_type' : 'reanalysis','format' : 'netcdf', #数据格式,可以是grib'variable': ['geopotential', 'relative_humidity','temperature','u_component_of_wind', 'v_component_of_wind', 'vertical_velocity'],'pressure_level': ['100','150','200','250', '300', '350','400', '450', '500','550', '600', '650','700', '750', '775','800', '825', '850','875', '900', '925','950', '975', '1000'], #输入压力高度 'year' : date_file_name[0:4], 'month': date_file_name[-4:-2], 'day' : date_file_name[-2:], 'time':['00:00','08:00','14:00','20:00'], #时刻'area': [70, 90, 30, 130], 'grid': [0.5, 0.5], }, filename) #filename,数据存储的文件# #冰川数据下载# c.retrieve("insitu-glaciers-elevation-mass",# {# "variable": "all",# "product_type": "elevation_change",# "file_version": "20170405",# "format": "tgz"# },# "download.tar.gz")if __name__ == '__main__': file_numbers_at_same_time=4 start_date ='2019-01-01' #开始时间end_date ='2019-01-05' #结束时间start_date_result=dt.datetime.strptime(start_date,'%Y-%m-%d')end_date_result=dt.datetime.strptime(end_date,'%Y-%m-%d')print("start_date_result",start_date_result)file_gap_time = dt.timedelta(days=1) #下载日期间隔,以天为单位print('下载文件开始日期 : '+ start_date)date_list_download=[] #需要下载数据得时间列表while start_date_result <= end_date_result: date_file_name=start_date_result.strftime("%Y%m%d") #调整日期得显示格式date_list_download.append(str(date_file_name))start_date_result =start_date_result +file_gap_time#创建一个主进程和工作线程,初始化进程对象,容量不设上限single_queue = Queue() #FOFO队列,其添加得第一个任务是检索得任务for i in range(file_numbers_at_same_time): single_task = DownloadCDS(single_queue)single_task.daemon = Truesingle_task.start() for ii in date_list_download:single_queue.put((ii)) #使用put将元素添加到序列的一个“末端”single_queue.join() #处理完了所有线程end = time.clock()
print('>>> Total running time: %s Seconds'%(end-start))
气象海洋数据下载——ERA5再分析——CDS-python相关推荐
- WRF中使用ERA5再分析数据
本人在做一些实例时,需要用到最新的ERA5再分析数据集.我下载的是ERA5 hourly data on pressure levels form 1979 to present和ERA5 ho ...
- 全球气象数据下载-ERA5数据
ERA5数据下载 ERA5数据是在ERA-Interim数据之后的新数据库,时间跨度1981年-至今,分辨率0.1°.数据库包含月均数据和日尺度数据. ERA5数据链接 文章目录 ERA5数据下载 一 ...
- ICESat-2数据下载及处理分析随笔
ICESat-2数据下载及处理分析随笔 ICESat-2全称是Ice,Cloud and land Elevation Satellite -2.看名字我们能知道它的任务是测ice,cloud和lan ...
- 【案例教程】Python气象海洋数据可视化到常见数据分析方法(折线图、柱状图、errorbar图、流场矢量、散点图、风玫瑰图、流场矢量、填色及等值线+地图)
[查看原文]Python在气象与海洋中的实践技术应用 Python是功能强大.免费.开源,实现面向对象的编程语言,能够在不同操作系统和平台使用,简洁的语法和解释性语言使其成为理想的脚本语言.除了标准库 ...
- 使用python对电力故障录波数据进行滤波再分析
电力系统在发生故障时,往往伴随着高频分量的产生,分析高频分量,在电力系统故障分析中起着重要的作用.在小电流接地系统发生故障时,高频分量可用于故障选线.在输电系统中(大电流接地系统),高频行波信号的分析 ...
- ERA5再分析数据根区土壤水分下载
最近在下载ERA5的根区土壤水分数据,ERA5有两种数据一个是ERA5(1979至今,)和ERA5-LAND(1981至今),该数据根区层分为了四层(0~7cm,7~28,28~100和100~289 ...
- ERA5再分析数据(一)
ERA5 数据集介绍 ERA5数据集大家庭 ERA5 ERA5.1 ERA5-Land ERA5数据集大家庭 ERA5 ERA5是一种综合性的再分析数据,ECMWF的Integrated Foreca ...
- ERA5再分析数据(二)
如何下载ERA5数据集 本文介绍了用户如何通过气候数据存储(CDS)基础结构访问ERA5数据集. ERA5数据可以通过CDS 网站界面或使用CDS API服务以编程方式下载. 1.通过CDS 网站界面 ...
- 从EarthData网站上下载MERRA2再分析数据
这里写目录标题 一.注册登陆([https://urs.earthdata.nasa.gov/home](https://urs.earthdata.nasa.gov/home)) 二.给GES DI ...
最新文章
- 作业盒子完成1.5亿美元D轮融资,用AI普及教育资源
- js实现当前导航菜单高亮显示
- CDH 5 Maven Repository
- Python之流程控制
- 使用PaddleFluid和TensorFlow训练RNN语言模型
- Django(part43)--分页
- 基于SpringBoot+Vue开发的前后端分离博客项目-Java后端接口开发
- Ubuntu系统截图
- 网络营销渠道有什么特点?
- problem.conf配置内容
- Risk Management and Financial Institution Chapter 9 —— Interest Rate Risk
- 自娱自乐的FreeRTOS——config.h配置文件详解
- 图书管理系统mysql课程设计C_数据库课程设计 图书管理系统 附源代码.doc
- 最好的开源网络入侵检测工具(网址及版本已验证并更新)
- 回归中的相关度和R平方值 学习笔记
- React--》UI组件库ant-design的介绍与使用
- IDEA如何自动/手动导入包
- H+ Se7en WebUI
- describe是sql的关键字
- R语言和医学统计学(9):多重检验
热门文章
- thinkphp5.1+layui图片上传(前端部分.第二种)
- 情人节,超赞程序员这样表达自己的爱意~
- 使用花生壳搭建微信公众号开发(测试)统一环境。
- 《计算机科学与工程导论:基于IoT和机器人的可视化编程实践方法第2版》一2.3.3 使用或并和If活动创建条件循环...
- 内网连接外网会怎么样
- 23届银行春招:国有五大行考试内容及重点
- 计算机用户来源分析,中国PC用户购买渠道调查报告前期准备用户篇
- ISIS-路由器邻接关系建立
- oracle cdr是什么,CorelDRAW2017新增哪些功能?
- svg 实现地震波效果