我开始一个天气项目,我使用ERA5小时数据集(ref: https://cds.climate.copernicus.eu/cdsapp#!/dataset/reanalysis-era5-single-levels?tab=form)。在python中使用这个数据集,我现在有一个如下所示的数据框架。如你所见,对于一个状态,考虑到纬度|经度和观测时间,我有n个观测值。所以,现在我想每天聚合这个数据集,考虑Admin2和Admin1,以获得Max Temp、Min Temp和Total precipitation。有没有正确的方法来做这个聚合,或者这是简单的最大/最小值从2米的温度和降水的总和?正如你所看到的,我的问题的内容,我不是一个气象学家。我只是想为世界上一些城市过去的历史天气数据建立一个可靠的数据库。
是的,每日最小值、最大值和降水量总量的计算方法很简单,就像你在问题中建议的那样。注意不要遗漏值,但这更像是计算平均值的问题。还要检查报告的降水值实际上是否为空值,它不太可能以如此小的单位测量
我不知道ERA5数据是否有一些奇怪的格式,因为我真的不熟悉直接处理这种数据。但重要的是要意识到,每小时的最高温度很少是每天的最高温度,分钟也是如此。奥兰多的数据今天:
今天的最大是87°F和最小63°F(从这里发现使用6小时最大\mins…这可能会有一些罕见的问题,当它们不在午夜时……车站报告或数据显示,从午夜到午夜,最长24小时…虽然只有当最大或最小值接近午夜时才会出现问题,这是罕见的,通常只在气团变化期间)
然而,最高小时是86°F,最低小时是65°F。这是一个相当典型的事情…它们只在极端温度恰好发生在接近一小时结束的时候匹配(在美国,值通常在一小时前7分钟左右,我相信国际标准略有不同)
所以我当然会质疑任何试图得出每日实际最大\最小值或使用这样的小时结果进行比较的工作,除非它证明ERA5做了一些独特的事情。很难想象它是有效的,因为你只有一个小时的价值。另一方面,降水测量是在一段时间内进行的,因此这些值应该是每小时的值,将它们相加应该给出当天的结果。
When it comes to temperature (assuming ERA5 isn't somehow strangely taking care of the discontinuity), you could try to apply some sort of rough multiplier to give a very crude better guess... but thinking you won't be able to get legitimate daily max\mins without looking for actual site data, which are for example available here for basic US historic or recent data searches, or at NCDC. Of course those are only going to work for places they have observation sites. But it doesn't seem that you can directly compare the ERA5 maxima results to actual station maxima easily.