那里的任何人都有足够的使用 NetCDF 和 HDF5 的经验来提供一些关于它们作为存储科学数据的方式的优点/缺点?
我使用过 HDF5 并且想通过 Java 读/写,但该接口本质上是 C 库的包装器,我发现这很令人困惑,所以 NetCDF 看起来很有趣,但我对此几乎一无所知。
编辑:我的应用程序“仅”用于数据记录,因此我得到一个具有自描述格式的文件。对我来说重要的功能是能够添加任意元数据,具有快速写入访问以附加到字节数组,并具有单写入器/多读取器并发(强烈推荐但不是必须的。NetCDF 文档说他们有 SWMR 但不要'不要说他们是否支持任何机制来确保两个作者不能同时打开同一个文件并导致灾难性的结果)。我喜欢 HDF5 的层次结构方面(特别是我喜欢有向无环图层次结构,比“常规”文件系统类层次结构更灵活),现在正在阅读 NetCDF 文档......如果它只允许每个数据集文件,那么它可能对我不起作用。:(
更新— 看起来NetCDF-Java从 netCDF-4 文件读取,但只从不支持分层组的 netCDF-3 文件写入。该死。
2009 年 7 月 14 日更新:我开始对 Java 中的 HDF5 感到非常不安。可用的库不是很好,它有一些与 Java 的抽象层(复合数据类型)有关的主要绊脚石。C 的一个很好的文件格式,但看起来我只是输了。>:(