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