@@ -502,8 +502,9 @@ def _subset(self, indexes):
502502
503503 def make_valid_datetime (self , dims_map , dtype = "datetime64[ns]" ):
504504 # TODO: make it more general
505+ # PW: TODO: make it more general - it could allow to use it when allow_holes=True
505506
506- for k in ["valid_datetime" , "valid_time" ]:
507+ for k in ["valid_time" , "time. valid_datetime" , "metadata. valid_time" , "metadata.valid_datetime " ]:
507508 if k in self .user_coords :
508509 import datetime
509510
@@ -512,10 +513,24 @@ def make_valid_datetime(self, dims_map, dtype="datetime64[ns]"):
512513 # in the tensor the dims.coords are GRIB keys
513514 # dims_map is a mapping from dim names to GRIB keys
514515 DIM_ROLES = {
515- "forecast_reference_time" : ("forecast_reference_time" , "base_datetime" ),
516- "step" : ("step_timedelta" , "step" , "ensStep" , "stepRange" ),
517- "date" : ("date" , "dataDate" ),
518- "time" : ("time" , "dataTime" ),
516+ "forecast_reference_time" : (
517+ "forecast_reference_time" ,
518+ "time.forecast_reference_time" ,
519+ "time.base_datetime" ,
520+ "metadata.base_datetime" ,
521+ "metadata.indexing_datetime" ,
522+ "metadata.indexing_time" ,
523+ ),
524+ "step" : (
525+ "step" ,
526+ "time.step" ,
527+ "metadata.step_timedelta" ,
528+ "metadata.step" ,
529+ "metadata.endStep" ,
530+ "metadata.stepRange" ,
531+ ),
532+ "date" : ("date" , "metadata.dataDate" ),
533+ "time" : ("time" , "metadata.dataTime" ),
519534 }
520535
521536 # map dim roles to keys available in the tensor
@@ -561,7 +576,7 @@ def make_valid_datetime(self, dims_map, dtype="datetime64[ns]"):
561576 }
562577
563578 vals = np .array (
564- [x for x in self .source .sel (** other_coords ).get ("valid_datetime" )],
579+ [x for x in self .source .sel (** other_coords ).get ("time. valid_datetime" )],
565580 dtype = dtype ,
566581 )
567582
@@ -573,7 +588,7 @@ def make_valid_datetime(self, dims_map, dtype="datetime64[ns]"):
573588 import numpy as np
574589
575590 vals = np .array (
576- [x for x in self .source .get ("valid_datetime" )],
591+ [x for x in self .source .get ("time. valid_datetime" )],
577592 dtype = dtype ,
578593 )
579594
0 commit comments