From f8e6cd033a9769ca9961af208fd960c7340c9151 Mon Sep 17 00:00:00 2001 From: VinsonLeung Date: Mon, 20 Nov 2017 13:56:36 -0600 Subject: [PATCH] change MPI_BYTE to MPI_SIGNED_CHAR From Pnetcdf 1.7, the MPI datatype corresponding to NC_BYTE is change from MPI_BYTE to MPI_SIGNED_CHAR. If not change, running IOR with NCMPI will cause a fatal error as below: ERROR in aiori-NCMPI.c (line 287): cannot write to data set. ERROR: NetCDF: Not a valid data type or _FillValue type mismatch. --- src/aiori-NCMPI.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/aiori-NCMPI.c b/src/aiori-NCMPI.c index a24865a..b1f3fc2 100755 --- a/src/aiori-NCMPI.c +++ b/src/aiori-NCMPI.c @@ -278,24 +278,24 @@ static IOR_offset_t NCMPI_Xfer(int access, void *fd, IOR_size_t * buffer, if (param->collective) { NCMPI_CHECK(ncmpi_put_vara_all (*(int *)fd, var_id, offset, bufSize, - bufferPtr, length, MPI_BYTE), + bufferPtr, length, MPI_SIGNED_CHAR), "cannot write to data set"); } else { NCMPI_CHECK(ncmpi_put_vara (*(int *)fd, var_id, offset, bufSize, - bufferPtr, length, MPI_BYTE), + bufferPtr, length, MPI_SIGNED_CHAR), "cannot write to data set"); } } else { /* READ or CHECK */ if (param->collective == TRUE) { NCMPI_CHECK(ncmpi_get_vara_all (*(int *)fd, var_id, offset, bufSize, - bufferPtr, length, MPI_BYTE), + bufferPtr, length, MPI_SIGNED_CHAR), "cannot read from data set"); } else { NCMPI_CHECK(ncmpi_get_vara (*(int *)fd, var_id, offset, bufSize, - bufferPtr, length, MPI_BYTE), + bufferPtr, length, MPI_SIGNED_CHAR), "cannot read from data set"); } }