From dfea54d3cb14877e18c540112a47b7d98a2961f0 Mon Sep 17 00:00:00 2001 From: Jean-Matthieu Etancelin <jean-matthieu.etancelin@univ-pau.fr> Date: Tue, 17 Sep 2024 15:28:52 +0200 Subject: [PATCH] fix varnames in H5Writer --- hysop/operator/hdf_io.py | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/hysop/operator/hdf_io.py b/hysop/operator/hdf_io.py index 2b34a45cd..eeb22e5d4 100644 --- a/hysop/operator/hdf_io.py +++ b/hysop/operator/hdf_io.py @@ -283,28 +283,22 @@ class HDF_IO(HostOperatorBase, metaclass=ABCMeta): self.refmesh = refmesh name_prefix, name_postfix = self.name_prefix, self.name_postfix - if self.var_names is None: - var_names = {} - # Get field names and initialize dataset dict. - for df in self.discrete_fields: - for d in range(df.nb_components): - if df.nb_components == 1: - name = name_prefix + df.name + name_postfix - else: - name = name_prefix + df.name + f"_{d}" + name_postfix - self.dataset[name] = df.data[d] - var_names[df.field] = name - self.var_names = var_names - else: - for var in self.var_names: - # Discrete field associated to var - var_d = var.discretize(topo) - for d in range(var_d.nb_components): - name = name_prefix + self.var_names[var] - name += "_" + DirectionLabels[d] + name_postfix - self.dataset[name] = var_d.data[d] - - for f, name in self.var_names.items(): + fields_names = {} + # Get field names and initialize dataset dict. + for df in self.discrete_fields: + df_name = df.name + if df.continuous_fields()[0] in self.var_names.keys(): + df_name = self.var_names[df.continuous_fields()[0]] + for d in range(df.nb_components): + if df.nb_components == 1: + name = name_prefix + df_name + name_postfix + else: + name = name_prefix + df_name + f"_{d}" + name_postfix + self.dataset[name] = df.data[d] + fields_names[df.field] = name + self.fields_names = fields_names + + for f, name in self.fields_names.items(): assert f in self._local_compute_slices assert f in self._global_compute_slices self._local_compute_slices[name] = self._local_compute_slices[f] -- GitLab