首页 > 其他分享 >ERA5 Land中‘expver’变量的处理方法

ERA5 Land中‘expver’变量的处理方法

时间:2023-10-19 17:33:47浏览次数:40  
标签:Land 变量 expver ERA5 ERA5T combine 数据

近日在搞数据的时候发现ERA5 Land新更新的数据中有一个‘expver’的变量,导致数据并不连续。官方解释如下:

 

ERA5 每小时和每月数据延迟 3 个月提供。这意味着一个月后,另一个月的 ERA5 数据将写入数据集。

ERA5T(近实时)初步数据用于填补ERA5数据结束与当前日期前5天之间的空白。当新的 ERA5 数据可用时,其中最早的月份每月都会被覆盖。

例如,假设我们的当前日期为 2020 年 2 月 15 日:

  • ERA5 数据目前为 1/1/1979 - 30/11/2019(瞬时变量)和 1/1/1979 - 1/12/2019(00-06 UTC,累积变量)
  • ERA5T 数据(延迟 5 天)为 2019 年 1 月 12 日至 2020 年 10 月 2 日(瞬时变量)和 2019 年 1 月 12 日(07-23 UTC,累积变量)- 2020 年 10 月 2 日

对于返回 ERA5 和 ERA5T 混合数据的请求(例如当月 1 日的数据),瞬时变量(例如温度)来自 ERA5T(其“实验版本”为 5),而累积变量(通量、降水)来自具有以下结构的两个数据集:

  • 00-06 UTC 从 ERA5 开始的每月 1 天(expver 1)
  • 07-23 UTC 每月 1 天(以及从现在起最多 5 天的以下日期)来自 ERA5T(expver 5)

当这些数据转换为 netCDF 时,将创建一个称为 expver 的新维度,其中包含 1 和 5此外,使用覆盖整个请求期间的单个时间坐标。

from ERA5 CDS requests which return a mixture of ERA5 and ERA5T data - Copernicus User Support Forum - ECMWF Confluence Wiki

评论区Jian Tang提供了一个解决思路:

import xarray as xr

ERA5 = xr.open_mfdataset('era5.tp.20200801.nc',combine='by_coords')
ERA5_combine =ERA5.sel(expver=1).combine_first(ERA5.sel(expver=5))
ERA5_combine.load()
ERA5_combine.to_netcdf("era5.tp.20200801.copy.nc")

from https://unseen-open.readthedocs.io/_/downloads/en/latest/pdf/

 

需要用到dask包,解决方法:

运行

pip install tornado==4.5.1 distributed==1.21 dask-ml[complete]

from 无法为Dask安装tlz模块Python - 问答 - Python中文网 (cnpython.com)

 

关于使用yaml包时报错 TypeError: load() missing 1 required positional argument: ‘Loader‘:

安装指定版本的yaml包

pip install pyyaml==5.1

from TypeError: load() missing 1 required positional argument: ‘Loader‘?_pan_mlpan的博客-CSDN博客

 

标签:Land,变量,expver,ERA5,ERA5T,combine,数据
From: https://www.cnblogs.com/lawfbcn/p/17775188.html

相关文章

  • [ARC072E] Alice in linear land 题解
    [ARC072E]Aliceinlinearland首先,一个trivial的想法是记\(f_i\)表示第\(i\)步前离终点的距离,于是\(f_i=\min\Big(f_{j-1},|f_{j-1}-d_i|\Big)\)。然后,我们设\(f_i'\)表示在修改第\(i\)步后,此时离终点的距离。明显,\(f_i'\)可以为任意不大于\(f_i\)的值,因为此时......
  • Landsat 8 Collection 2 Tier 1 calibrated top-of-atmosphere (TOA) reflectance
    Landsat8Collection2Tier1calibratedtop-of-atmosphere(TOA)reflectance.Calibrationcoefficientsareextractedfromtheimagemetadata.See Chanderetal.(2009) fordetailsontheTOAcomputation.Landsatsceneswiththehighestavailabledataqual......
  • [QOJ4815] Flower's Land
    简要题意:给出一个\(n\)个点的树,对某个点\(i\)求包含某一个点的大小为\(k\)的权值最大的连通块,一个连通块的权值是其所有点的权值之和。\(n\le40000,k\le\min(3000,n)\)这个树上背包很难直接解决,考虑一种变体的树形背包:点分治。点分治后,设分治中心为\(rt\),那么如果要选......
  • 线段裁剪:Cohen-Sutherland算法
    目录裁剪算法Cohen-Sutherland线段裁剪算法基本思想具体步骤计算分析程序代码裁剪算法计算机内部存储的图形数据量通常较大,而屏幕只显示其中一部分,因此需要确定哪些部分在显示区域内,哪些在显示区域外。这个过程称为裁剪(clipping)。裁剪是二维观察(三维观察)的重要部分,参见计算机图......
  • GO基础环境搭建GoLand
    一、GO官方资料官网:https://golang.org/gosdk下载:https://golang.google.cn/dl/golang中文社区:https://studygolang.com/dl中文社区文档https://studygolang.com/pkgdoc二、开发环境配置1、GOSDK下载后,自行安装go语言开发需要使用gosdk,下载链接https://go.dev/dl/下载......
  • goland编辑器编译的时候报错package xxx is not in GOROOT的原因排查
    先介绍下,我的目录部署情况1、GOROOT=C:\ProgramFiles\Go(我的golang环境装在c盘的)2、GOPATH=E:\Go(项目目录我放在E盘的)3、GO111MODULE=auto(默认值,没有改过)4、GOVERSION=go1.20.6(我的golang版本)5、项目结构,遵循官方推荐的方式E:\Go——bin——pkg——src 6、本次需要......
  • 「解题报告」The 1st Universal Cup. Stage 3: Poland
    大概按难度排序。签到题没写。QOJM.MinorEvil有\(n\)个球与\(k\)个操作,初始所有球都是白色的。第\(i\)个操作为如果\(a_i\)是白色的,那么就将\(b_i\)染成黑色,否则什么都不做。你可以选择每个操作执行或不执行,但是不能改变操作之间的相对顺序。现在你有一个球的集合......
  • 使用 goland 的模板提高编码效率
    整体步骤来自chatgpt概述我觉得编译器有几个很提效的工具:快捷键、代码补全和代码模板。前两个没啥可说的,今天想分享的是代码模板。在Goland里被称之为LiveTemplates。在代码里输入forr,随后会出现如下的可选项,选中按下回车后,会自动生活一个forrange的遍历模板,通过ta......
  • CF671D Roads in Yusland
    1D8ya。设\(f_{u,i}\)表示覆盖了\(u\)子树并且向上覆盖到了深度为\(i\)的最小代价。考虑合并儿子\(v\):\[f'_{u,i}\gets\min\left(f_{u,i}+\min\limits_{j=1}^nf_{v,j},f_{v,i}+\min\limits_{j=1}^nf_{u,j}\right)\]相当于区间加,单点取\(\min\),区间求最小值。直接......
  • Landmine
    Description给定\(n\)个点的树,带边权。每个点有一个半径,从该点能走一步到达半径以内的其他点。对于每个点,询问至少走几步能到达一号点。Solution树上邻域问题,考虑建出点分树,维护新的父子关系。对每个点,不断跳父亲,然后查看哪些点能到达,建出反向边,BFS。容易发现能到达的点的距......