From c4ba72623cfd9ed15f89216befbcb13271b681fb Mon Sep 17 00:00:00 2001 From: Thibaut Lunet <thibaut.lunet@tuhh.de> Date: Sat, 17 May 2025 10:22:28 +0200 Subject: [PATCH] TL: mini fix for edge cases (#551) * TL: mini fix for edge cases * TL: better implementation * TL: forgot that --- pySDC/helpers/fieldsIO.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pySDC/helpers/fieldsIO.py b/pySDC/helpers/fieldsIO.py index 58e00d3c..43e4fdb5 100644 --- a/pySDC/helpers/fieldsIO.py +++ b/pySDC/helpers/fieldsIO.py @@ -417,8 +417,6 @@ class Rectilinear(Scalar): coords = self.setupCoords(*coords) self.header = {"nVar": int(nVar), "coords": coords} self.nItems = nVar * self.nDoF - if self.MPI_ON: - self.MPI_SETUP() @property def hInfos(self): @@ -440,8 +438,6 @@ class Rectilinear(Scalar): gridSizes = np.fromfile(f, dtype=np.int32, count=dim) coords = [np.fromfile(f, dtype=np.float64, count=n) for n in gridSizes] self.setHeader(nVar, coords) - if self.MPI_ON: - self.MPI_SETUP() def reshape(self, fields: np.ndarray): """Reshape the fields to a N-d array (inplace operation)""" @@ -539,7 +535,7 @@ class Rectilinear(Scalar): return True return self.comm.Get_rank() == 0 - def MPI_SETUP(self): + def MPI_SETUP_FILETYPE(self): """Setup subarray masks for each processes""" self.mpiType = MPI_DTYPE(self.dtype) self.mpiFileType = self.mpiType.Create_subarray( @@ -556,6 +552,8 @@ class Rectilinear(Scalar): "a": MPI.MODE_WRONLY | MPI.MODE_APPEND, }[mode] self.mpiFile = MPI.File.Open(self.comm, self.fileName, amode) + if self.mpiType is None: + self.MPI_SETUP_FILETYPE() def MPI_WRITE(self, data): """Write data (np.ndarray) in the binary file in MPI mode, at the current file cursor position.""" -- GitLab