我在通过 OPeNDAP 提供的文件中遇到了日期时间约定问题。尤其是这个问题来自 GrADS DODS 服务器 (GDS)。GDS 可以通过读取包含二进制文件细节的数据描述符(ascii 文件)来提供文件(GDS 不限于 netCDF 作为输入)。数据描述符文件定义开始时间和增量。不知何故,GDS 将其转换为“自 1-1-1 00:00:00 以来的天数”的约定 (?)。我发现了一个有趣的问题。
例如,http://apdrc.soest.hawaii.edu:80/dods/public_data/satellite_product/ASCAT/daily 提供的数据定义为从 2009 年 3 月 3 日开始。OPeNDAP 信息页面的时间如下:
时间:64 位实数数组 [时间 = 0..1141]
grads_dim: "t"
grads_mapping: "linear"
grads_size: "1142"
grads_min: "00z03mar2009"
grads_step: "1dy"
units: "days since 1-1-1 00:00:0.0"
long_name: "time"
minimum: "00z03mar2009"
maximum: "00z17apr2012"
resolution: 1.0
所以它正确地获得了第一次价值。我已经在几个客户端工具中对此进行了测试,包括 GrADS、Ferret、panoply 和 IDV;都正确地将第一个时间值识别为 2009 年 3 月 3 日。
问题来自“自 1-1-1 以来的天数”的 OPeNDAP 时间,该时间返回为 733470(在上述文件上尝试 ncdump)。据我所知,这实际上是 2009 年 3 月 5 日。这里的结果是 Matlab 和 EDC 等工具将初始日期定为 3 月 5 日。
我想知道是否有人可以对此有所了解?提前致谢,
吉姆