-
Notifications
You must be signed in to change notification settings - Fork 211
Description
We currently store the full FoTs in every volume data observation. Since they grow in size as the simulation progresses and are currently never truncated (except in worldtube simulations, where they are updated so often that they have to be truncated), the size of FoT data in the volume file grows quadratically with time. @nikwit measured this to be tens of MB around 800M of a BBH, which is not too bad at this point but will be a lot of data for long simulations.
One option to resolve this is to store only the FoT evaluated at the observation time in the volume observation. FoTs already support this (see FunctionOfTime::create_at_time), so this could be done quite easily. It does, however, break time interpolation (e.g. the SpacetimeInterpolator class) because we can no longer evaluate the FoT between spatial slices. For this we could store the most recent full FoT once in the volume data subfile (not in each observation).
In addition, we could store the domain (static block maps) just once in the volume data subfile, as it never changes throughout a simulation (at least while we don't do regridding). I haven't checked if the domain is large enough in size to make this relevant.