-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Using dataset.ems.time_coordinate on some datasets yields an unexpected time coordinate.
When multiple numpy.datetime64 that have units exist within the dataset variables, the logic for looking up time coordinates can pick the unexpected one.
For the below dataset, it will find the 'forecast_reference_time' as the time coordinate variable instead of 'time'.
Excerpt of the dataset.
int64 forecast_reference_time(time) ;
forecast_reference_time:units = "seconds since 2024-02-28 00:00:00" ;
forecast_reference_time:standard_name = "forecast_reference_time" ;
forecast_reference_time:calendar = "gregorian" ;
float sfc_temp(time, lat, lon) ;
sfc_temp:standard_name = "surface_temperature" ;
sfc_temp:long_name = "surface temperature" ;
sfc_temp:units = "degrees C" ;
sfc_temp:coordinates = "time, lat, lon" ;
double time(time) ;
time:axis = "T" ;
time:bounds = "time_bnds" ;
time:calendar = "gregorian" ;
time:long_name = "time" ;
time:standard_name = "time" ;
time:units = "days since 1970-01-01 00:00:00 00" ;
time:coordinate_type = "time" ;
Looking at the source code it appears to prioritise finding the first variable that is a numpy.datatime64 with units over things like the CF convention standard name.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels