Thanks for looking into it!
> So it stops AFTER writing 2.8 GB of the output file?
Yes, that's correct.
> How big is a completed file with 9 input runs?
With 9 runs, it is 899607339 bytes.
> Then multiply by 29/9 to estimate the size of the desired file?
That gives 2898734759 bytes.
> The result has been computed in memory, and the problem is converting it to the .niml.dset format and writing that to the output.
>
> One possibility is that the output function is keeping track of bytes output into a 32 bit integer. Your number of bytes exceeds 2^31, so the output function will return a negative value to the caller. That is the flag for error. That is, you are getting the correct output file, but getting an incorrect error message.
I think this explanation is correct. With my dataset, the boundary between being approximately within or outside of a 32 bit integer byte count is when there are 21 and 22 runs. That coincides with when I don't and do receive the error message (i.e., no error message with 21 runs, error message with 22 runs).
> I can change this bookkeeping, but have to look the code over to see if there are other obvious places where something like this could happen. I'll post back here when a new version with this fix is available -- later this week.
Great, thank you!