@@ -331,29 +331,6 @@ def _filter_by_standard_names(ds: Dataset, name: Union[str, List[str]]) -> List[
331
331
return varnames
332
332
333
333
334
- def _get_list_standard_names (obj : Dataset ) -> List [str ]:
335
- """
336
- Returns a sorted list of standard names in Dataset.
337
-
338
- Parameters
339
- ----------
340
-
341
- obj: DataArray, Dataset
342
- Xarray object to process
343
-
344
- Returns
345
- -------
346
- list of standard names in dataset
347
- """
348
- return sorted (
349
- [
350
- v .attrs ["standard_name" ]
351
- for k , v in obj .variables .items ()
352
- if "standard_name" in v .attrs
353
- ]
354
- )
355
-
356
-
357
334
def _guess_bounds_dim (da ):
358
335
"""
359
336
Guess bounds values given a 1D coordinate variable.
@@ -781,7 +758,7 @@ def describe(self):
781
758
if isinstance (self ._obj , DataArray ):
782
759
text += "\t unsupported\n "
783
760
else :
784
- stdnames = _get_list_standard_names ( self ._obj )
761
+ stdnames = self .get_standard_names ( )
785
762
text += "\t "
786
763
text += "\n " .join (
787
764
textwrap .wrap (f"{ stdnames !r} " , 70 , break_long_words = False )
@@ -813,10 +790,35 @@ def get_valid_keys(self) -> Set[str]:
813
790
if measures :
814
791
varnames .extend (measures )
815
792
816
- if not isinstance (self ._obj , DataArray ):
817
- varnames .extend (_get_list_standard_names (self ._obj ))
793
+ varnames .extend (self .get_standard_names ())
818
794
return set (varnames )
819
795
796
+ def get_standard_names (self ) -> List [str ]:
797
+ """
798
+ Returns a sorted list of standard names in Dataset.
799
+
800
+ Parameters
801
+ ----------
802
+
803
+ obj: DataArray, Dataset
804
+ Xarray object to process
805
+
806
+ Returns
807
+ -------
808
+ list of standard names in dataset
809
+ """
810
+ if isinstance (self ._obj , Dataset ):
811
+ variables = self ._obj .variables
812
+ elif isinstance (self ._obj , DataArray ):
813
+ variables = self ._obj .coords
814
+ return sorted (
815
+ [
816
+ v .attrs ["standard_name" ]
817
+ for k , v in variables .items ()
818
+ if "standard_name" in v .attrs
819
+ ]
820
+ )
821
+
820
822
def get_associated_variable_names (self , name : Hashable ) -> List [Hashable ]:
821
823
"""
822
824
Returns a list of variable names referred to in the following attributes
0 commit comments