@@ -541,9 +541,12 @@ def load_netcdf(afilepath, uri=None):
541
541
hasattr (fhandle , 'bald__isPrefixedBy' ) else {})
542
542
prefixes = {}
543
543
544
+ skipped_variables = []
544
545
if prefix_group != {}:
545
546
prefixes = (dict ([(prefix , getattr (prefix_group , prefix )) for
546
547
prefix in prefix_group .ncattrs ()]))
548
+ if isinstance (prefix_group , netCDF4 ._netCDF4 .Variable ):
549
+ skipped_variables .append (prefix_group .name )
547
550
else :
548
551
for k in fhandle .ncattrs ():
549
552
if k .endswith ('__' ):
@@ -554,6 +557,8 @@ def load_netcdf(afilepath, uri=None):
554
557
if alias_group != {}:
555
558
aliases = (dict ([(alias , getattr (alias_group , alias ))
556
559
for alias in alias_group .ncattrs ()]))
560
+ if isinstance (alias_group , netCDF4 ._netCDF4 .Variable ):
561
+ skipped_variables .append (alias_group .name )
557
562
558
563
attrs = {}
559
564
for k in fhandle .ncattrs ():
@@ -578,13 +583,16 @@ def load_netcdf(afilepath, uri=None):
578
583
fhandle .variables [name ].dimensions [0 ] == name ):
579
584
sattrs ['bald__array' ] = name
580
585
sattrs ['rdf__type' ] = 'bald__Reference'
581
-
582
586
if fhandle .variables [name ].shape :
583
587
sattrs ['bald__shape' ] = fhandle .variables [name ].shape
584
588
var = Array (identity , sattrs , prefixes = prefixes , aliases = aliases )
585
589
else :
586
590
var = Subject (identity , sattrs , prefixes = prefixes , aliases = aliases )
587
- root_container .attrs ['bald__contains' ].append (var )
591
+ if name not in skipped_variables :
592
+ # Don't include skipped variables, such as prefix or alias
593
+ # variables, within the containment relation.
594
+ root_container .attrs ['bald__contains' ].append (var )
595
+
588
596
file_variables [name ] = var
589
597
590
598
0 commit comments