When a record is written to disk, it may not be at its final size. For example, if hourly real-time data is stored in HEC-DSS, then at the start of the month (for an hourly block length), only one or a few, values will be written. The next value (or set of values) written will double the disk space needed for that record. HEC-DSS marks that space as "unused" and writes the expanded record at the end of the file. If this continued, the record would grow incrementally, requiring more disk space fore each write.
DSS detects when a record expands and automatically allocates additional disk space in case the dataset continues to expand. The amount of additional space allocated is determined by the number of times the record has expanded before and the record size. If DSS knows the final maximum size (such as with regular-interval time series data), it will allocate that much space on the third expansion. If it does not know the maximum size, then it makes an estimate determined by the number of expansions. (An irregular-interval equalivent of hourly data would only have four expansons at its maximum size.)