如何从 ERA5 每小时 netCDF 数据计算日平均值?

2023-12-01

嗨亲爱的大家,

我为重复这个问题表示歉意。我已从 Copernicus 网络平台下载并合并了 ERA5 每小时露点温度数据 (d2m_wb.nc)。现在,我想根据每小时 d2m_wb.nc 数据计算每日平均值。时间戳为 00、01、02...23。 ECMWF 提供了计算每日总降水量的示例(https://confluence.ecmwf.int/display/CKB/ERA5%3A+How+to+calculate+daily+total+降水量)。据说要涵盖 2017 年 1 月 1 日的总降水量,我们需要两天的数据。 (a) 2017 年 1 月 1 日时间 = 01 - 23 将为您提供涵盖 2017 年 1 月 1 日 00 - 23 UTC 的总降水量数据 (b) 2017 年 1 月 2 日时间 = 00 将为您提供涵盖 2017 年 1 月 1 日 23 - 24 UTC 的总降水量数据

这意味着我需要改变-1hour用于说明步骤 (b) 的时间戳。因此,我使用气候数据运营商 (CDO) 来完成此操作。

cdo daymean -shifttime,-1hour in.nc out.nc

并得到以下结果。

cdo sinfo d2m_wb.nc
   File format : NetCDF2
    -1 : Institut Source   T Steptype Levels Num    Points Num Dtype : Parameter ID
     1 : unknown  unknown  v instant       1   1       475   1  F64  : -1
   Grid coordinates :
     1 : lonlat                   : points=475 (19x25)
                              lon : 85.5 to 90 by 0.25 degrees_east
                              lat : 21.5 to 27.5 by 0.25 degrees_north
   Vertical coordinates :
     1 : surface                  : levels=1
   Time coordinate :  25904 steps
     RefTime =  1900-01-01 00:00:00  Units = hours  Calendar = gregorian  Bounds = true
  YYYY-MM-DD hh:mm:ss  YYYY-MM-DD hh:mm:ss  YYYY-MM-DD hh:mm:ss  YYYY-MM-DD hh:mm:ss
  1949-12-31 23:00:00  1950-01-01 11:00:00  1950-01-02 11:00:00  1950-01-03 11:00:00
  1950-01-04 11:00:00  1950-01-05 11:00:00  1950-01-06 11:00:00  1950-01-07 11:00:00
  1950-01-08 11:00:00  1950-01-09 11:00:00  1950-01-10 11:00:00  1950-01-11 11:00:00
  1950-01-12 11:00:00  1950-01-13 11:00:00  1950-01-14 11:00:00  1950-01-15 11:00:00
  1950-01-16 11:00:00  1950-01-17 11:00:00  1950-01-18 11:00:00  1950-01-19 11:00:00
  1950-01-20 11:00:00  1950-01-21 11:00:00  1950-01-22 11:00:00  1950-01-23 11:00:00
  1950-01-24 11:00:00  1950-01-25 11:00:00  1950-01-26 11:00:00  1950-01-27 11:00:00
  1950-01-28 11:00:00  1950-01-29 11:00:00  1950-01-30 11:00:00  1950-01-31 11:00:00
  1950-02-01 11:00:00  1950-02-02 11:00:00  1950-02-03 11:00:00  1950-02-04 11:00:00
  1950-02-05 11:00:00  1950-02-06 11:00:00  1950-02-07 11:00:00  1950-02-08 11:00:00
  1950-02-09 11:00:00  1950-02-10 11:00:00  1950-02-11 11:00:00  1950-02-12 11:00:00
  1950-02-13 11:00:00  1950-02-14 11:00:00  1950-02-15 11:00:00  1950-02-16 11:00:00
  1950-02-17 11:00:00  1950-02-18 11:00:00  1950-02-19 11:00:00  1950-02-20 11:00:00
  1950-02-21 11:00:00  1950-02-22 11:00:00  1950-02-23 11:00:00  1950-02-24 11:00:00
  1950-02-25 11:00:00  1950-02-26 11:00:00  1950-02-27 11:00:00  1950-02-28 11:00:00
   ................................................................................
   ................................................................................
   ................................................................................
   .................
  2020-10-03 11:00:00  2020-10-04 11:00:00  2020-10-05 11:00:00  2020-10-06 11:00:00
  2020-10-07 11:00:00  2020-10-08 11:00:00  2020-10-09 11:00:00  2020-10-10 11:00:00
  2020-10-11 11:00:00  2020-10-12 11:00:00  2020-10-13 11:00:00  2020-10-14 11:00:00
  2020-10-15 11:00:00  2020-10-16 11:00:00  2020-10-17 11:00:00  2020-10-18 11:00:00
  2020-10-19 11:00:00  2020-10-20 11:00:00  2020-10-21 11:00:00  2020-10-22 11:00:00
  2020-10-23 11:00:00  2020-10-24 11:00:00  2020-10-25 11:00:00  2020-10-26 11:00:00
  2020-10-27 11:00:00  2020-10-28 11:00:00  2020-10-29 11:00:00  2020-10-30 11:00:00
  2020-10-31 11:00:00  2020-11-01 11:00:00  2020-11-02 11:00:00  2020-11-03 11:00:00
  2020-11-04 11:00:00  2020-11-05 11:00:00  2020-11-06 11:00:00  2020-11-07 11:00:00
  2020-11-08 11:00:00  2020-11-09 11:00:00  2020-11-10 11:00:00  2020-11-11 11:00:00
  2020-11-12 11:00:00  2020-11-13 11:00:00  2020-11-14 11:00:00  2020-11-15 11:00:00
  2020-11-16 11:00:00  2020-11-17 11:00:00  2020-11-18 11:00:00  2020-11-19 11:00:00
  2020-11-20 11:00:00  2020-11-21 11:00:00  2020-11-22 11:00:00  2020-11-23 11:00:00
  2020-11-24 11:00:00  2020-11-25 11:00:00  2020-11-26 11:00:00  2020-11-27 11:00:00
  2020-11-28 11:00:00  2020-11-29 11:00:00  2020-11-30 11:00:00  2020-12-31 23:00:00
cdo    sinfo: Processed 1 variable over 25904 timesteps [6.03s 37MB

在本例中,时间步长显示 11:00:00(从 1950-01-01 开始)。我猜应该是 12:00:00。我在这里做错了什么?有什么建议将不胜感激吗?谢谢。


此输出看起来正确。 CDO 必须决定平均时使用哪个时间步长。在本例中,它采用每天的中点,即 11:00。

您会注意到第一天的时间是 23:00,因为只有一个时间。

但是,尚不清楚为什么要将时间向后拨一小时。您的代码实际上并未计算每日平均值。相反,它是一天最后 23 小时和第二天第一个小时的平均值。只需将您的 CDO 调用更改为以下内容,一切都应该没问题:

cdo daymean in.nc out.nc
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 ERA5 每小时 netCDF 数据计算日平均值? 的相关文章

  • 管理 Tweepy API 搜索

    如果这是对之前在其他地方回答过的问题的粗略重复 请原谅我 但我不知道如何使用 tweepy API 搜索功能 是否有任何有关如何使用搜索推文的文档api search 功能 有什么方法可以控制返回的推文数量 结果类型等功能 由于某种原因 结
  • 使用 Pillow 和 Numpy 进行图像推导

    I have two images and 我想导出一个只有红色 Hello 的图像 例如 所以我正在运行一个简单的推导python脚本 from PIL import Image import numpy as np root root
  • 顶级棉花糖模式验证

    From 棉花糖 validation http marshmallow readthedocs org en latest quickstart html validation 我知道我可以在架构中的特定字段上注册验证器 如果验证器失败
  • 是否可以在 Sphinx 中隐藏 Python 函数参数?

    假设我有以下函数 该函数记录在Numpydoc 风格 https github com numpy numpy blob master doc HOWTO DOCUMENT rst txt 并且文档是自动生成的Sphinx http sph
  • 查找 python 数据框中每行的最高值

    我想找到每行中的最高值并返回 python 中该值的列标题 例如 我想找到每行的前两个 df A B C D 5 9 8 2 4 1 2 3 我希望我的输出看起来像这样 df B C A D 您可以使用字典理解来生成largest n数据帧
  • Python pandas:删除字符串中分隔符之后的所有内容

    我有数据框 其中包含例如 vendor a ProductA vendor b ProductA vendor a Productb 我需要删除所有内容 包括 两个 以便我最终得到 vendor a vendor b vendor a 我尝
  • Highcharts 奇怪的分组行为

    我正在使用延迟加载 http www highcharts com stock demo lazy loading加载 OHLC 数据的方法 在服务器端 我使用 Python MySQL 并有 4 个包含 OHLC 数据的表 时间间隔为 5
  • 使用Python进行图像识别[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个想法 就是我想识别图像中的字母 可能是 bmp或 jpg 例如 这是一个包含字母 S 的 bmp 图像 我想做的是使用Pyth
  • 使用 OpenCV 进行相机校准 - 如何调整棋盘方块大小?

    我正在使用 OpenCV Python 示例开发相机校准程序 来自 OpenCV 教程 http opencv python tutroals readthedocs io en latest py tutorials py calib3d
  • 比较两个文本文件并计算差异

    我一直在尝试在Python中比较两个文本文件 本质上我想打开它们并一次比较一个字符 如果字符不同 则向计数器添加1 然后显示该值 这是我到目前为止所拥有的 usr bin env python diff 0 import random im
  • Python代码执行时自动打开浏览器

    我正在 Python Flask 中实现 GUI Flask 的设计方式是 必须 手动 打开本地主机以及端口号 有没有一种方法可以使其自动化 以便在运行代码时自动打开浏览器 本地主机 我尝试使用 webbrowser 包 但它在会话终止后打
  • Bottle 是否可以处理没有并发的请求?

    起初 我认为 Bottle 会并发处理请求 所以我编写了如下测试代码 import json from bottle import Bottle run request response get post import time app B
  • 如何将字符串方法应用于数据帧的多列

    我有一个包含多个字符串列的数据框 我想使用对数据帧的多列上的系列有效的字符串方法 我希望这样的事情 df pd DataFrame A 123f 456f B 789f 901f df Out 15 A B 0 123f 789f 1 45
  • Learning_rate 不是合法参数

    我正在尝试通过实现 GridSearchCV 来测试我的模型 但我似乎无法在 GridSearch 中添加学习率和动量作为参数 每当我尝试通过添加这些代码来执行代码时 我都会收到错误 这是我创建的模型 def define model op
  • 如何让 Python 找到 ffprobe?

    I have ffmpeg and ffprobe安装在我的 mac macOS Sierra 上 并且我已将它们的路径添加到 PATH 中 我可以从终端运行它们 我正在尝试使用ffprobe使用以下代码获取视频文件的宽度和高度 impor
  • 单击 selenium 中的链接时循环遍历表格的行(python)

    示例页面源代码如下所示 div class div1 table class foot market tbody td class today name td tbody tbody td class today name td tbody
  • 在Python中将罗马数字转换为整数

    根据 user2486 所说 这是我当前的代码 def romanMap map M 1000 CM 900 D 500 CD 400 C 100 XC 90 L 50 XL 40 X 10 IX 9 V 5 V 4 I 1 return
  • 用户的完整 UNIX 用户名

    想知道您是否知道是否有一种巧妙的方法可以从 shell 获取完整的用户名 示例 如果我的 UNIX 用户名是 froyo 那么我想获取我的全名 在本例中 如系统中注册的那样 froyo Abhishek Pratap Finger 命令可以
  • Django 迁移错误 'TypeError: 序列项 1: 需要一个类似字节的对象,在 mysql-connector-pythoncursor_cent.py 文件上找到 str'

    我正在 Django 项目中使用 mysql connector 来处理 mysql 请求 问题是我正在使用 django admin startproject project 设置一个简单的项目 当我尝试进行简单的管理 py 迁移时 这是
  • 使用 Python 进行 Google 搜索网页抓取 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 最近为了工作中的一些项目 学习了很多python 目前我需要使用谷歌搜索结果进行一些网络抓取 我发现几

随机推荐

  • 子边距为父边距添加边距

    如果我有以下代码怎么办 HTML section class home section section class main h1 Hello h1 section CSS代码 html body height 100 width 100
  • Freemarker/Velocity - 日期操作

    我对这两个模板引擎有一个相当简单的问题 我正在尝试确定一个未来 过去的日期 从现在开始的固定时间 例如18个月前 或者明天 我知道可以使用velocity freemarker模板中的java日期对象来做到这一点 类似于 date add
  • 如何在 C# 中将 lambda 表达式作为参数传递

    我是使用 lambda 表达式的初学者 我有一个经销商名单 我必须为每个经销商计算等级 要求是将等级计算分成单独的方法 所以我正在编写以下两个方法 但是我无法将参数传递给CalculateGrade method public IEnume
  • 如何制作 Parse.Query.AND?

    我需要用 and 连接 Parse com 中的 2 个查询 我的代码是 var queryDeseo1 new Parse Query DeseosModel queryDeseo1 equalTo User Parse User cur
  • 使用“order”属性在同级之间定位弹性项目

    我有一个包含一到三个弹性项目的弹性盒 正确的布局应该是这样的 div div h2 h2 div div 在包含的弹性框中 我有代码可以完成这项工作 请参阅this 仅当布局顺序保持不变时 我的问题是 如何有办法确保 如果标记并不总是按该顺
  • 如何在RecyclerView和ViewPager上解决捕捉功能时获取即将选择的页面

    背景 ViewPager在执行一些滚动后捕捉到视图 因此可以RecyclerView 如果你使用这样的东西 LinearSnapHelper attachToRecyclerView recyclerView 或者通过使用库捕捉到某个边缘
  • 负载平衡、AJAX 和您

    如果您是 Asp Net MVC 环境中的异步 javascript 调用 并且必须使用循环方式的负载均衡器 您能找到回家的路吗 编辑 添加说明 使用内存中会话状态 我会使用粘性会话配置负载均衡器以避免此问题 通过粘性会话 您将在会话期间一
  • 首次加载时显示的 Azure AD B2C 自定义 UI 错误标签

    我有一个 Azure AD B2C 租户 我创建了一个 默认 SignUpAndSignInPolicy 并为登录页面 注册页面和重置密码页面添加了自定义 UI 模板 一切正常 除了在注册页面和重置密码页面上 表单输入字段在初始加载时始终标
  • 合并所有其他数组 php

    数组一 1 3 5 7数组二 2 4 6 8 我想要的数组是1 2 3 4 5 6 7 8 我只是用数字作为例子 如果只是数字 我可以合并和排序 但它们将是单词 所以也许像 数组一 bob a awesome 数组二 is really d
  • 从 .NET 连接到 LDAP 服务器

    我被推荐使用System DirectoryServices Protocols能够支持连接到 Active Directory 以外的 LDAP 服务器here 不幸的是 我无法正确搜索该目录 我希望能够获得用户的某个属性 例如mail
  • 如何以编程方式启用服务菜单,而无需用户注销,然后在键盘首选项中启用它?

    正如标题所言 请大家帮忙 您需要在每个服务的字典中包含 NSRequiredContext 键 文档没有提到这一点 但从 Mac OS X 10 6 开始是必需的 如您所见 如果您没有服务 默认情况下您的服务将被禁用 您还应该致电the N
  • 实体框架。需要帮助过滤结果

    需要在实体框架中选择数据 但需要对子孙进行过滤 我有4张桌子 Parent gt Child gt GrandChild gt GreatGrandChild我想返回所有的父母 但过滤掉孩子和曾孙 换句话说 例如 SELECT Parent
  • 如何专门化枚举和特定类型的模板函数?

    我目前有一个功能 template
  • 如何禁用元素上的所有样式?有什么属性可以一次性将元素的所有属性设置为无?

    我在我的页面中嵌入了 telerik 的 radEditor 它从母版页继承了 css 属性 就像 H2 是蓝色的 它有背景颜色 我应该在我的自定义 css 类 专门为 radEditor 制作的类 中输入什么 以便它覆盖所有母版页的 cs
  • 带有express.js的静态文件

    我想服务index html and media子目录作为静态文件 索引文件应同时提供于 index html and URLs I have web server use media express static dirname medi
  • WooCommerce 基于动态最低订单金额的费用

    我需要在购物车中设置最低订单费用 因此如果购物车中的产品总计不超过 10 英镑 则需要支付额外费用才能将价格提高到 10 英镑 这是我目前拥有的代码 该代码在购物车阶段运行良好 但是当您到达结帐时 定价部分由于某种原因不会停止加载 并且您无
  • utf8 表示为普通文本

    text xd0 xa2 xd0 xb0 xd0 xb9 xd0 xbd xd0 xb0 text iconv UTF 8 UTF 8 IGNORE text var dump text good text file get content
  • 为什么更新类属性不会更新该类的所有实例?

    假设我有以下课程 class A arr 如果我附加到arr举个例子A 所有实例A已更新 gt gt gt a1 a2 A A gt gt gt a1 arr append 0 gt gt gt a1 arr 0 gt gt gt a2 a
  • “e.target”调用了错误的目标?

    我正在开发的组件依赖于 img 里面的元素 span 元素 并且当 span 通过 JQuery 检测到 点击 事件 该跨度的 ID 应记录到控制台 但由于某种原因 img 的 ID 正在被记录 gt star span click e g
  • 如何从 ERA5 每小时 netCDF 数据计算日平均值?

    嗨亲爱的大家 我为重复这个问题表示歉意 我已从 Copernicus 网络平台下载并合并了 ERA5 每小时露点温度数据 d2m wb nc 现在 我想根据每小时 d2m wb nc 数据计算每日平均值 时间戳为 00 01 02 23 E