@@ -248,9 +248,13 @@ def from_netCDF(cls,
248
248
249
249
if time is None :
250
250
timevarname = Time .locate_time_var_from_var (data )
251
- if timevarname is not None :
252
- timevarname = ds [timevarname ]
253
- time = Time (data = timevarname ,
251
+ if timevarname is None :
252
+ tdata = None
253
+ else :
254
+ timevar = ds [timevarname ]
255
+ tdata = nc4 .num2date (timevar [:], units = timevar .units , only_use_cftime_datetimes = False , only_use_python_datetimes = True )
256
+ # why isn't this using Time.from_netcdf? (currently doesn't support origin and displacement)
257
+ time = Time (data = tdata ,
254
258
filename = data_file ,
255
259
varname = timevarname ,
256
260
origin = time_origin ,
@@ -812,6 +816,7 @@ def _gen_varname(cls,
812
816
813
817
814
818
class VectorVariable (object ):
819
+ # Fixme: a lot of code duplication in here
815
820
816
821
# Keys are component names ('u', 'v', etc) and values are the netCDF4 names.
817
822
# eg {'u': ['u', 'U', 'eastward_sea_water_velocity']}
@@ -976,11 +981,16 @@ def from_netCDF(cls,
976
981
name = cls .__name__ + '_' + str (cls ._instance_count )
977
982
cls ._instance_count += 1
978
983
data = ds [varnames [0 ]]
984
+
979
985
if time is None :
980
986
timevarname = Time .locate_time_var_from_var (data )
981
- if timevarname is not None :
982
- timevarname = ds [timevarname ]
983
- time = Time (data = timevarname ,
987
+ if timevarname is None :
988
+ tdata = None
989
+ else :
990
+ timevar = ds [timevarname ]
991
+ tdata = nc4 .num2date (timevar [:], units = timevar .units , only_use_cftime_datetimes = False , only_use_python_datetimes = True )
992
+ # why isn't this using Time.from_netcdf? (currently doesn't support origin and displacement)
993
+ time = Time (data = tdata ,
984
994
filename = data_file ,
985
995
varname = timevarname ,
986
996
origin = time_origin ,
0 commit comments