These tables summarize the library's fill value writing behavior for various property list settings and compare serial I/O vs. parallel I/O.
Allocation time default settings are dependent on the dataset storage
method:
| Dataset Storage Method | |||
| Contiguous | Chunked | Compact | |
| Allocation Time | Early | Incremental | Late |
Fill Value default is "Library Default" (all zero bytes for datatype).
Fill Time default is "If Set".
| Serial I/O results | |||||
|---|---|---|---|---|---|
| Dataset Storage Method | |||||
| Fill Value | Fill Time | Allocation Time | Contiguous | Chunked | Compact |
| Library Default* | Never | Early | No Fill Value Written | No Fill Value Written | No Fill Value Written |
| Incremental | Same as Late | No Fill Value Written | Error | ||
| Late | No Fill Value Written | No Fill Value Written | Error | ||
| If Set* | Early | No Fill Value Written | No Fill Value Written | No Fill Value Written* | |
| Incremental | Same as Late | No Fill Value Written* | Error | ||
| Late | No Fill Value Written* | No Fill Value Written | Error | ||
| Allocation | Early | Library Fill Value Written During Creation | Library Fill Value Written To All Chunks During Create | Library Fill Value Written During Creation | |
| Incremental | Same as Late | Library Fill Value Set In Each Chunk Accessed During Write | Error | ||
| Late | Library Fill Value Written During Write | Library Fill Value Written To All Chunks During Write | Error | ||
| User-defined | Never | Early | No Fill Value Written | No Fill Value Written | No Fill Value Written |
| Incremental | Same as Late | No Fill Value Written | Error | ||
| Late | No Fill Value Written | No Fill Value Written | Error | ||
| If Set* | Early | User Fill Value Written During Creation | User Fill Value Written To All Chunks During Create | User Fill Value Written During Creation* | |
| Incremental | Same as Late | User Fill Value Set In Each Chunk Accessed During Write* | Error | ||
| Late | User Fill Value Written During Write* | User Fill Value Written To All Chunks During Write | Error | ||
| Allocation | Early | User Fill Value Written During Creation | User Fill Value Written To All Chunks During Create | User Fill Value Written During Creation | |
| Incremental | Same as Late | User Fill Value Set In Each Chunk Accessed During Write | Error | ||
| Late | User Fill Value Written During Write | User Fill Value Written To All Chunks During Write | Error | ||
| Undefined | Never | Early | No Fill Value Written | No Fill Value Written | No Fill Value Written |
| Incremental | Same as Late | No Fill Value Written | Error | ||
| Late | No Fill Value Written | No Fill Value Written | Error | ||
| If Set* | Early | No Fill Value Written | No Fill Value Written | No Fill Value Written* | |
| Incremental | Same as Late | No Fill Value Written* | Error | ||
| Late | No Fill Value Written* | No Fill Value Written | Error | ||
| Allocation | Early | Error | Error | Error | |
| Incremental | Same as Late | Error | Error | ||
| Late | Error | Error | Error | ||
* - Default setting.
For parallel I/O, the allocation time setting in the dataset creation property list is ignored and H5D_ALLOC_TIME_EARLY is used for all dataset creation calls. The fill value and fill time default settings are the same as for serial I/O.
| Parallel I/O results | ||||
|---|---|---|---|---|
| Dataset Storage Method | ||||
| Fill Value | Fill Time | Contiguous | Chunked | Compact |
| Library Default* | Never | No Fill Value Written | No Fill Value Written | No Fill Value Written |
| If Set* | No Fill Value Written | No Fill Value Written | No Fill Value Written | |
| Allocation | Library Fill Value Written During Creation | Library Fill Value Written To All Chunks During Create | Library Fill Value Written During Creation | |
| User-defined | Never | No Fill Value Written | No Fill Value Written | No Fill Value Written |
| If Set* | User Fill Value Written During Creation | User Fill Value Written To All Chunks During Create | User Fill Value Written During Creation | |
| Allocation | User Fill Value Written During Creation | User Fill Value Written To All Chunks During Create | User Fill Value Written During Creation | |
| Undefined | Never | No Fill Value Written | No Fill Value Written | No Fill Value Written |
| If Set* | No Fill Value Written | No Fill Value Written | No Fill Value Written | |
| Allocation | Error | Error | Error | |