aboutsummaryrefslogtreecommitdiff
path: root/src/DumpVar.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/DumpVar.c')
-rw-r--r--src/DumpVar.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/DumpVar.c b/src/DumpVar.c
index 934ef10..18de0ca 100644
--- a/src/DumpVar.c
+++ b/src/DumpVar.c
@@ -523,6 +523,7 @@ static int WriteGA (const cGH *GH, const ioRequest *request, const char *name,
static void WriteData (const cGH *GH, const ioRequest *request,const char *name,
const void *data, int proc, hid_t file)
{
+ DECLARE_CCTK_PARAMETERS
int i, myproc;
ioGH *ioUtilGH;
ioHDF5UtilGH *myGH;
@@ -536,7 +537,8 @@ static void WriteData (const cGH *GH, const ioRequest *request,const char *name,
#endif
hsize_t *chunk_dims, *file_dims;
hsize_t buffersize;
- DECLARE_CCTK_PARAMETERS
+ const int compression_lvl = request->compression_level >= 0 ?
+ request->compression_level : compression_level;
/* immediately return if file handle is invalid */
@@ -581,12 +583,12 @@ static void WriteData (const cGH *GH, const ioRequest *request,const char *name,
when writing its own data, otherwise the dataset is reopened */
if (proc == myproc)
{
- HDF5_ERROR (plist = H5Pcreate (H5P_DATASET_CREATE));
/* enable compression for chunked dataset if compression was requested */
- if (compression_level)
+ HDF5_ERROR (plist = H5Pcreate (H5P_DATASET_CREATE));
+ if (compression_lvl)
{
HDF5_ERROR (H5Pset_chunk (plist, request->hdim, chunk_dims));
- HDF5_ERROR (H5Pset_deflate (plist, compression_level));
+ HDF5_ERROR (H5Pset_deflate (plist, compression_lvl));
}
HDF5_ERROR (dataset = H5Dcreate (file, name, hdf5type, filespace, plist));
HDF5_ERROR (H5Pclose (plist));
@@ -722,6 +724,8 @@ static void WriteDataCollective (const cGH *GH, const ioRequest *request,
hsize_t *chunk_dims, *file_dims;
hsize_t buffersize;
const ioHDF5UtilGH *myGH;
+ const int compression_lvl = request->compression_level >= 0 ?
+ request->compression_level : compression_level;
DECLARE_CCTK_PARAMETERS
@@ -758,10 +762,10 @@ static void WriteDataCollective (const cGH *GH, const ioRequest *request,
/* enable compression for chunked dataset if compression was requested */
HDF5_ERROR (plist = H5Pcreate (H5P_DATASET_CREATE));
- if (compression_level)
+ if (compression_lvl)
{
HDF5_ERROR (H5Pset_chunk (plist, request->hdim, chunk_dims));
- HDF5_ERROR (H5Pset_deflate (plist, compression_level));
+ HDF5_ERROR (H5Pset_deflate (plist, compression_lvl));
}
HDF5_ERROR (dataset = H5Dcreate (file, name, hdf5type, filespace, plist));
HDF5_ERROR (H5Pclose (plist));