From 4045d96b5840dc945ba684bb0dd52e0df5023c63 Mon Sep 17 00:00:00 2001
From: Uwe Schulzweida <uwe.schulzweida@mpimet.mpg.de>
Date: Thu, 20 Jun 2024 11:20:13 +0200
Subject: [PATCH] NetCDF4: switched off output chunk cache

---
 ChangeLog       |  6 +++++-
 src/cdf_write.c | 11 +++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 8cba36572..4e33abaa3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,9 +4,13 @@
         * using EXSE library version 2.0.0
 	* Version 2.4.2 released
 
+2024-06-20  Uwe Schulzweida
+
+	* NetCDF4: switched off output chunk cache
+
 2024-06-19  Uwe Schulzweida
 
-	* NetCDF4: improved calculation of chunk cache size
+	* NetCDF4: improved calculation of input chunk cache size
 
 2024-06-17  Uwe Schulzweida
 
diff --git a/src/cdf_write.c b/src/cdf_write.c
index 3d5044713..d03d6a939 100644
--- a/src/cdf_write.c
+++ b/src/cdf_write.c
@@ -940,6 +940,15 @@ cdfGenVarname(int fileID, char name[CDI_MAX_NAME], int pnum, int pcat, int *pdis
   *pdis = 255;
 }
 
+static void
+cdfDefVarChunkCache(int fileID, int ncvarID)
+{
+  size_t size = 0;
+  size_t nelems = 0;
+  float preemption = 0;
+  nc_set_var_chunk_cache(fileID, ncvarID, size, nelems, preemption);
+}
+
 int
 cdfDefVar(stream_t *streamptr, int varID)
 {
@@ -1019,6 +1028,8 @@ cdfDefVar(stream_t *streamptr, int varID)
   int ncvarID = -1;
   cdf_def_var(fileID, name, xtype, ndims, dims, &ncvarID);
 
+  cdfDefVarChunkCache(fileID, ncvarID);
+
 #ifdef HAVE_NETCDF4
 #ifdef NC_QUANTIZE_BITROUND
   if (xtype == NC_FLOAT || xtype == NC_DOUBLE)
-- 
GitLab