Date 使用Fortran从NetCDF文件读取日期
我必须使用Fortran进行一些计算,使用NetCDF文件中的数据。而且,根据用户的选择,我只需要从每年中选择一个或几个月 NetCDF文件中的日期有时编码为“XXXX-XX-XX后的月份”,有时编码为“XXXX-XX-XX后的天数”,有时编码为“XXXX-XX-XX后的小时数”,等等 此外,这些必须被解释为属于某种类型的日历,可以是公历、儒略历、前公历、360天等 经过多次搜索,我有一个解决这个问题的计划,但我想先问问专家 我的计划如下:Date 使用Fortran从NetCDF文件读取日期,date,datetime,calendar,fortran,netcdf,Date,Datetime,Calendar,Fortran,Netcdf,我必须使用Fortran进行一些计算,使用NetCDF文件中的数据。而且,根据用户的选择,我只需要从每年中选择一个或几个月 NetCDF文件中的日期有时编码为“XXXX-XX-XX后的月份”,有时编码为“XXXX-XX-XX后的天数”,有时编码为“XXXX-XX-XX后的小时数”,等等 此外,这些必须被解释为属于某种类型的日历,可以是公历、儒略历、前公历、360天等 经过多次搜索,我有一个解决这个问题的计划,但我想先问问专家 我的计划如下: 使用将NetCDF文件中包含的日期信息转换为儒略/公历
- 将UDUNITS的C代码绑定到Fortran
你同意吗?我想我已经找到了一个好的解决方案:由Max Plank Institute开发,并在GNU通用公共许可证版本2下发布 它定义了以下类型的日历:日历标准、日历序言、日历360天、日历365天和日历366天
这似乎是一段经过验证的代码,因为cdo使用它,cdo是一种广泛使用的管理netcdf文件的工具。您的链接已断开。如果你不想准确地处理1580年之前的日期,那你可以自己做。不,我不同意。真的,真正的问题是什么?你可以看看SO Fortran的一位专家所做的。他们似乎更新了udunits的版本。我已经更新了链接,所以它现在可以工作了。我觉得你建议的库是用来对时间和日期进行操作的,而不是将它们从一个日历转换到另一个日历。这是必需的,因为netcdf文件中的日期存储在许多不同的日历类型中。例如,您可能会遇到我在问题中列出的问题。如果您找到一个netcdf文件,该文件具有360天日历,日期定义为“自2000年12月29日起的天数”,则每个时间步都分配了一个整数。第一个可以是:0,1,2,3。。必须解释为2000-12-29,2000-12-30,2001-01-01,2001-01-02,…,但在公历中,它必须解释为2000-12-29,2000-12-30,2000-12-31,2001-01-01,…。问题是:如果我开发一个有用的库来管理基于这些库的netcdf文件,我在哪里可以把代码发布给那些觉得有用的人呢?哪里都有很多网站