Skip to content

Commit c117ee5

Browse files
committed
Allow a field to be found in different h5 files
This is done to search for the dynamic pressure in Pressure instead of Dynamic_Pressure if required.
1 parent fc5a052 commit c117ee5

File tree

2 files changed

+19
-11
lines changed

2 files changed

+19
-11
lines changed

stagpy/_step.py

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -267,18 +267,22 @@ def _get_raw_data(self, name):
267267
if fieldfile.is_file():
268268
parsed_data = stagyyparsers.fields(fieldfile)
269269
elif self.step.sdat.hdf5 and self._filesh5:
270-
for filestem, list_fvar in self._filesh5.items():
271-
if name in list_fvar:
270+
# files in which the requested data can be found
271+
files = [(stem, fvars) for stem, fvars in self._filesh5.items()
272+
if name in fvars]
273+
for filestem, list_fvar in files:
274+
if filestem in phyvars.SFIELD_FILES_H5:
275+
xmff = 'Data{}.xmf'.format(
276+
'Bottom' if name.endswith('bot') else 'Surface')
277+
header = self._header
278+
else:
279+
xmff = 'Data.xmf'
280+
header = None
281+
parsed_data = stagyyparsers.read_field_h5(
282+
self.step.sdat.hdf5 / xmff, filestem,
283+
self.step.isnap, header)
284+
if parsed_data is not None:
272285
break
273-
if filestem in phyvars.SFIELD_FILES_H5:
274-
xmff = 'Data{}.xmf'.format(
275-
'Bottom' if name.endswith('bot') else 'Surface')
276-
header = self._header
277-
else:
278-
xmff = 'Data.xmf'
279-
header = None
280-
parsed_data = stagyyparsers.read_field_h5(
281-
self.step.sdat.hdf5 / xmff, filestem, self.step.isnap, header)
282286
return list_fvar, parsed_data
283287

284288
def _set(self, name, fld):

stagpy/phyvars.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@
6969
('Temperature', ['T']),
7070
('Velocity', ['v1', 'v2', 'v3']),
7171
('Dynamic_Pressure', ['p']),
72+
# Depending on the version of StagYY and whether total pressure is used,
73+
# the dynamic pressure might be written in this file instead. It will be
74+
# used as fallback by _step._Fields._get_raw_data.
75+
('Pressure', ['p']),
7276
('Composition', ['c']),
7377
('IronContent', ['cFe']),
7478
('HPE', ['hpe']),

0 commit comments

Comments
 (0)