@@ -348,6 +348,12 @@ def _legacy_file_info(self, name: str) -> tuple[str, list[str]]:
348348 return filestem , list_fvar
349349 raise error .UnknownFieldVarError (name )
350350
351+ def _h5_file_info (self , name : str ) -> tuple [str , list [str ]]:
352+ for stem , fvars in self .filesh5 .items ():
353+ if name in fvars :
354+ return stem , fvars
355+ raise error .UnknownFieldVarError (name )
356+
351357 def _get_raw_data (
352358 self , name : str
353359 ) -> tuple [list [str ], tuple [dict [str , Any ], NDArray [np .float64 ]] | None ]:
@@ -361,28 +367,24 @@ def _get_raw_data(
361367 if fieldfile .is_file ():
362368 parsed_data = parsers .bin .field .field (fieldfile )
363369 return list_fvar , parsed_data
370+
364371 if not self .filesh5 :
365372 return list_fvar , parsed_data
366- # files in which the requested data can be found
367- files = [(stem , fvars ) for stem , fvars in self .filesh5 .items () if name in fvars ]
368373 sdat = self .step .sdat
369374 if filestem in phyvars .SFIELD_FILES_H5 :
370375 xmff = sdat ._botxmf if name .endswith ("bot" ) else sdat ._topxmf
371376 else :
372377 xmff = sdat ._dataxmf
373378 if xmff is None :
374379 return list_fvar , parsed_data
375- for filestem , list_fvar in files :
376- if filestem in phyvars .SFIELD_FILES_H5 :
377- header = self .step .geom ._maybe_header
378- assert header is not None
379- else :
380- header = None
381- parsed_data = parsers .h5 .field .field (
382- xmff , filestem , self .step .isnap , header
383- )
384- if parsed_data is not None :
385- break
380+
381+ filestem , list_fvar = self ._h5_file_info (name )
382+ if filestem in phyvars .SFIELD_FILES_H5 :
383+ header = self .step .geom ._maybe_header
384+ assert header is not None
385+ else :
386+ header = None
387+ parsed_data = parsers .h5 .field .field (xmff , filestem , self .step .isnap , header )
386388 return list_fvar , parsed_data
387389
388390
0 commit comments