diff --git a/ChangeLog b/ChangeLog
index de8024bd8fd2015b3ca5e8e97d67fe6f745cd714..a4e64a7f209b054d537099b7ba53274742a30520 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,10 @@
 
 	* Version 2.5.1 released
 
+2025-01-29  Uwe Schulzweida
+
+	* Added CDI_KEY_CHUNKSIZE_DIMT
+
 2025-01-14  Uwe Schulzweida
 
 	* NetCDF: Fix error in scanning coordinates attribute
diff --git a/src/cdf_write.c b/src/cdf_write.c
index 709a6b07e8ed0e59dac22ff8ed1a073326369f31..9fc92f4a55539e416683ca1d663d8150b91a053e 100644
--- a/src/cdf_write.c
+++ b/src/cdf_write.c
@@ -764,10 +764,13 @@ cdfDefineDimsAndChunks(const stream_t *streamptr, int varID, int xid, int yid, i
   int timetype = vlistInqVarTimetype(vlistID, varID);
   if (vlistHasTime(vlistID) && timetype != TIME_CONSTANT)
     {
+      int chunkSize = 0;
+      cdiInqKeyInt(vlistID, CDI_GLOBAL, CDI_KEY_CHUNKSIZE_DIMT, &chunkSize);
+      printf("chunkSize %d\n", chunkSize);
       int tid = streamptr->basetime.ncdimid;
       if (tid == CDI_UNDEFID) Error("Internal problem, time undefined!");
       axis[iax++] = 'T';
-      chunks[ndims] = 1;
+      chunks[ndims] = (chunkSize > 0) ? chunkSize : 1;
       dims[ndims] = tid;
       ndims++;
     }
diff --git a/src/cdi.h b/src/cdi.h
index 3b9777d128bc75dd97f1c9c0c41030e6ab2b44d9..8f62f5859761afd1c7b53bf02f4951d45c19de08 100644
--- a/src/cdi.h
+++ b/src/cdi.h
@@ -846,6 +846,7 @@ SizeType gridInqYCvals(int gridID, char *ycvals[]);
 #define  CDI_KEY_NLEV                          964  // GRIB2 nlev
 #define  CDI_KEY_CHUNKTYPE                     965  // ChunkType: CDI_CHUNK_AUTO/CDI_CHUNK_GRID/CDI_CHUNK_LINES
 #define  CDI_KEY_CHUNKSIZE                     966  // ChunkSize
+#define  CDI_KEY_CHUNKSIZE_DIMT                967  // ChunkSize time dimension
 
 // Floating point keys
 #define  CDI_KEY_MISSVAL                       701  // Missing value