Incomplete writing of very large DMN files with a binary data section (typically DTBA files)
open- Applies to
- LASAT up to 3.5.7
- Description
-
DMN files with a very large binary part (unpacked size greater than approximately 2.1 GB) may or will certainly (unpacked size greater than approximately 4.3 GB) be written out only incompletely, without an error message. This typically applies only to DTBA files (used to calculate percentiles and exceedance frequencies, e.g. dtba000.dmna) that were generated for many substances and many vertical layers (Nzd > 1 or not set in grid.def).
These files cannot be read by LASAT-JAVA routines (such as Lopxtr and IBJdis) and they give an according error message. LASAT-C routines (such as Lopqtl) read them only partially and an error message is not necessarily given.
The size of the binary file section is determined by the byte length of a data record and the ranges of the indices i, j, k, l (nx, ny, nz, number of substances nl). Example: For DTBA files and when using the option MAXIMA in param.def, the length of the data record is 224 bytes (2 times 28 floating-point numbers, each 4 bytes long; see the "size" entry in the file header). Therefore, nx*ny*nz*nl should be less than (2^31-1)/224 or approximately 9.5*10^6 to prevent an incomplete writing. For example, with 200 meshes each in the x and y directions and 20 materials, the number of output vertical intervals should be set to less than 12.
- Workaround
- If necessary, reduce the number of written vertical intervals (Nzd in grid.def; Nzd=1 is the default for files generated with AUSTAL and usually sufficient) or reduce the number of materials or meshes.