From d1c9872f87e0ce18563a472abfeb7f46885be451 Mon Sep 17 00:00:00 2001
From: Uwe Schulzweida <uwe.schulzweida@mpimet.mpg.de>
Date: Sat, 5 Nov 2022 14:24:54 +0100
Subject: [PATCH] cdfDefVar: compress data on GRID_GENERIC.

---
 src/cdf_write.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/cdf_write.c b/src/cdf_write.c
index b0e37a2a6..da8e0b662 100644
--- a/src/cdf_write.c
+++ b/src/cdf_write.c
@@ -862,9 +862,10 @@ cdfDefVar(stream_t *streamptr, int varID)
   const int zaxisindex = vlistZaxisIndex(vlistID, zaxisID);
   const int zid = streamptr->zaxisID[zaxisindex];
 
-  int dimorder[3];  // ZYX and ZXY
+  int dimorder[3];  // ZYX/321 and ZXY/312
   vlistInqVarDimorder(vlistID, varID, &dimorder);
-  const bool useChunks = (dimorder[0] == 3) ? (gridsize >= 32) : false;
+  const bool useGridsize = (dimorder[0] == 3) || (dimorder[1] == 3 && dimorder[2] == 1 && gridsize == gridInqXsize(gridID));
+  const bool useChunks = useGridsize ? (gridsize >= 32) : false;
 
   if (((dimorder[0] > 0) + (dimorder[1] > 0) + (dimorder[2] > 0))
       < ((xid != CDI_UNDEFID) + (yid != CDI_UNDEFID) + (zid != CDI_UNDEFID)))
-- 
GitLab