ERA5提供的下载代码

#!/usr/bin/env python

import cdsapi

c = cdsapi.Client()

c.retrieve(

'reanalysis-era5-land',

{

'format': 'netcdf',

'variable': [

'2m_temperature', 'leaf_area_index_high_vegetation', 'leaf_area_index_low_vegetation',

'snow_cover', 'soil_temperature_level_1', 'surface_pressure',

'total_precipitation', 'volumetric_soil_water_layer_1',

],

'year': [

'2015',

],

'month': [

'01',

],

'day': [

'01',

],

'time': [

'06:00',

],

},

'20150101.nc')

在ERA5提供的下载代码上做了些改动,可以实现逐小时下载。为了加速下载,还使用简单的多线程(根据电脑性能确定线程数目根据电脑性能确定线程数目)。Overview - CDO - Project Management Service在ERA5提供的下载代码上做了些改动,可以实现逐小时下载。为了加速下载,还使用简单的多线程(根据电脑性能确定线程数目根据电脑性能确定线程数目)。https://code.mpimet.mpg.de/projects/cdo​code.mpimet.mpg.de

#!/usr/bin/env python3

import time

import multiprocessing

from multiprocessing import Pool

import cdsapi

def job1(z):

"""

:param z:

:return:

"""

return f(z[0], z[1])

def f(start,end):

c = cdsapi.Client()

ff=open('inputpar.filelist','r')

filelist=ff.read()

lines=filelist.split('\n')

# print(len(lines)-1)

for i in range(start,end,1):

fields = lines[i].split('-') #split data

year = fields[0]

month = fields[1]

day = fields[2]

print('Download %s-%s-%s data'% (year,month,day))

c.retrieve(

'reanalysis-era5-land',

{

'format': 'netcdf',

'variable': [

'2m_temperature',

],

'year': year,

'month': month,

'day': day,

'time': [

'12:00',

],

'format': 'netcdf'

},

'CDS%s%s%s'% (year,month,day)+'.nc')

print('Datafile CDS%s%s%s'% (year,month,day)+'.nc download successful')

# return start,end

if __name__ == '__main__':

time1=time.time()

pool = multiprocessing.Pool(16)##根据电脑性能确定线程数目:https://blog.csdn.net/weixin_45775343/article/details/102694881

data_list=[]

for i in range(10,70,10):

a,b=i-10,i

data_list.append((a,b))

print(data_list)

res = pool.map(job1, data_list)

time2=time.time()

print(res)

pool.close()

pool.join()

print('总共耗时:' + str(time2 - time1) + 's')

利用cdo选择和裁剪区域。Climate Data Operators (CDO)处理NC文件比较快捷,具体操作见官方说明文档Overview - CDO - Project Management ServiceOverview - CDO - Project Management Service​code.mpimet.mpg.de

script_abs=$(readlink -f "$0")

script_dir=$(dirname $script_abs)

mkdir cutted

dir=./CDS

for file in $dir/*

do

new_file=${file##*/}

cdo selvar,t2m -sellonlatbox,0,360,-90,90 $file $script_dir/cutted/$new_file

done

为了加速数据处理,shell脚本可采用并行操作

bash data_selected1.sh &

bash data_selected2.sh &

wait

echo "Finish"

python处理era5_python环境下实现ERA5逐小时数据的自动下载和简单处理相关推荐

  1. Python TimedRotatingFileHandler 多进程环境下的问题和解决方法

    Python TimedRotatingFileHandler 多进程环境下的问题和解决方法 原文:https://my.oschina.net/lionets/blog/796438 Python ...

  2. Windows+Python 3.6环境下安装PyQt4

    Windows+Python 3.6环境下PyQt4安装不上 文章目录: 一.PyQt4安装不上 二.正确安装PyQt4库包 最近在写的程序需要用到UI界面显示,然后又闻PyQt4可以干这个事,然后走 ...

  3. python3.8与pyinstaller_pyinstaller 3.5 在python 3.8 环境下出现不兼容的问题

    在python 3.8环境下使用pyinstaller 3.5版本打包制作*.exe文件总是如下报错, # pyinstaller -F abc.py ... 21100 INFO: checking ...

  4. Python在指定环境下安装第三方库的报错解决办法

    Python在指定环境下安装第三方库的报错解决办法 在python安装第三方库时,如果直接打开cmd命令提示符,并输入下列安装命令,则会默认安装在base环境下 但base环境下的包新建的虚拟环境是无 ...

  5. 在windows环境下ftp服务器的文件上传和下载

    在windows环境下ftp服务器的文件上传和下载 mo 一.上传本地文件 第一步:登录FTP服务器.在开始菜单中输入cmd,回车进入.输入ftp进入服务器,输入命令格式:open FTP服务器地址 ...

  6. ERA5-Land 逐小时数据_累积值(如辐射数据)处理的注意事项

    目录 1.累积变量定义 2.累计值转换为瞬时值 2.1计算1小时内的平均瞬时辐射 2.2计算1天内的平均瞬时辐射 3.提取全天累积量的技巧 1.累积变量定义 ERA5数据文档中对"累积变量& ...

  7. linux安装python虚拟环境_linux环境下安装python虚拟环境及注意事项

    创建python虚拟环境virtualenv.virtualenvwrapper 1,为什么需要搭建虚拟环境 由于当机器上两个项目依赖于相同包的不同版本时,会导致项目运行失败,此时可以安装虚拟环境 . ...

  8. linux中python安装_linux环境下的python安装过程图解(含setuptools)

    这里我不想采用诸如ubuntu下的apt-get install方式进行python的安装,而是在linux下采用源码包的方式进行python的安装. 一.下载python源码包 打开ubuntu下的 ...

  9. python安装环境配置linux_[Python学习] Linux环境下的Python配置,必备库的安装配置...

    1.默认Python安装情况 一般情况,Linux会预装Python的,版本较低,比如Ubuntu15的系统一般预装的是Python2.7.10. 使用命令:which python可以查看当前的py ...

最新文章

  1. hbase原理与实践_HBase 性能调优第一弹:内存篇
  2. python循环输入若干成绩_完美解决在oj中Python的循环输入问题
  3. mysql对数据库的操作_MySQL数据库对数据库的操作
  4. php常用功能代码,10段PHP常用功能代码(1)_PHP教程
  5. 浅入浅出 Android 安全 翻译完成!
  6. 请插入多卷集的最后一张磁盘_聊一聊插入排序和选择排序
  7. 自定义简单控件之标题控件
  8. Java直接遍历并读取zip压缩文件的内容以及错误处理
  9. 史上最简明八皇后问题分析与套路总结
  10. 手机的小窗口怎么弄_vivo怎么弄小窗口 vivo怎样弄小窗口
  11. tp6 阿里云短信接口 php
  12. 一份优秀的前端开发工程师简历是怎样的?
  13. Speedpdf——无需下载软件,就可以免费轻松搞定CAJ转word
  14. 导出 MySQL 数据库表结构设计文档
  15. 交叉编译arm版linaro-1.13.1-4.7-2013.03
  16. [Java并发-14] Future: 优雅的使用多线程
  17. http协议之response响应详解
  18. python web开发--web前端开发介绍
  19. 免抠图PNG素材网站
  20. 【LIDC-IDRI】 CT 肺结节 XML 标记特征良恶性标签PKL转储(一)

热门文章

  1. EasyAR-Web手把手基于官方demo的实现
  2. 软件加密系统Themida应用程序保护指南(四):虚拟机的选择
  3. 海鸥算法的改进及其在工程设计优化问题中的应用
  4. Yoga14s 2021锐龙集显版蓝牙失效问题的解决方法
  5. 网易邮箱大师 代收/发 Gmail 邮件教程
  6. 数据可视化之数据可视化展示平台
  7. 在linux用utorrent下载文件,教你在 Ubuntu 安装 uTorrent
  8. 进入Sic-Hub的办法
  9. JAVA调用mq时做心跳检测,[翻译]RabbitMQ 心跳
  10. debian、ubuntu:使用apt包管理器可能存在的问题! 让新手望而却步!