NetCDF 结合不同日期的时间变量单位

NetCDF combining time variable units for different days

我目前正在处理 20 年飞行的气溶胶数据。我希望能够定义一段时间来显示数据。但是,所有数据的单位都是从一天开始的秒数。这可以在这里看到:

 <class 'netCDF4._netCDF4.Variable'>
float64 UTC_time(UTC_time)
    standard_name: time
    long_name: UTC time
    units: seconds since 1996-07-30 00:00:00
    calendar: standard
unlimited dimensions:
current shape = (1006,)
filling off

<class 'netCDF4._netCDF4.Variable'>
float64 UTC_time(UTC_time)
    standard_name: time
    long_name: UTC time
    units: seconds since 1996-07-30 00:00:00
    calendar: standard
unlimited dimensions:
current shape = (9864,)
filling off

是否可以为所有这些数据设置一个开始时间,以便我可以参考整个数据集,例如只获取 2015 年 7 月的所有数据。

非常感谢您的帮助。

您可以使用 netCDF num2date 将时间单位从 1996-07-30 00:00:00 以来的秒数转换为日历日期。

import netCDF4

ncfile = netCDF4.Dataset('file.nc', 'r')
time = ncfile.variables['time'] #don't cast to numpy array yet
time_convert = netCDF4.num2date(time[:], time.units, time.calendar)