py4dgeo
py4dgeo copied to clipboard
Apparent disk space error when writing long list of objects to SpatioTemporalAnalysis
I'm trying to extract 4D objects-by-change (4D-OBCs) from a large SpatiotemporalAnalysis (STA) object containing more than 500,000 potential seeds using an HPC. When writing the list of 4D-OBCs to the STA object in line 776 of segmentation.py:
analysis.objects = objects
I obtain this error:
OSError: [Errno 28] No space left on device
Which indicates lack of disk space. However, the disk I'm using is only 656 GiB full of the 5 TiB available. I also have 480 GB memory reserved, where my STA object is only a littel more than 170 GB in size (the size of the STA object containing 4D-OBCs written 50,000 seeds before this crash).
The 4D-OBCs list being written at this point contains ~6000 4D-OBCs. Could it be that this list is just too long to be written at once?
If this is the case maybe a workaround would be to extend the list of objects after every (few) 4D-OBC extraction(s). Although I'm not sure if the list doesn't have to be copied completely then either way.
My current solution is splitting the dataset into two subsets, to reduce the number of 4D-OBCs being written at once. This of course influences the outcome of the 4D-OBC algorithm.