取决于查询区域大小的值的细微差异

问题描述

我注意到,根据使用 CDS API(更具体地说是 cdsapi Python 库)的查询区域的大小,对于相同的坐标,我收到的降水值略有不同。

举个例子:我想在当地时间坐标(9.75 lat,122.75 lon)获得“2009-11-30”的每日降水量(这让我查询 29.11 - 30.11 并进行 8 小时轮班以防有人想要重现它)

在 bBox = [12.50,118.00,7.75,125.50] 中(9.75 lat,122.75 lon)的值为 0.000308474

在 bBox = [10.50,122.50,9.50,125.00] 值(9.75 lat,122.75 lon)是 0.000308558

两个请求都被捕捉到 0.25 网格,所以我希望它们之间没有区别。当然,我们在这里谈论的是 1/1000 毫米,但这与我的数据一致性测试相混淆。

你知道这是什么原因吗?是否只是由于浮点数不准确的常见问题引起的?

解决方法

来自提供商的回答:“来自 CDS 的 netCDF 文件中的数据值使用比例因子和偏移量‘打包’(有一些精度损失)。这些打包值将根据实际数据值的范围而变化。 2 个不同的选定区域很可能具有不同的最小值/最大值,因此比例因子和偏移值不同,我怀疑这些会导致您在解压缩数据以获取数据值时看到的数值差异。