.pvd reload only modified files

I am currently using a .pvd file to group a large number of 2D .vti data sets. (This is not really important, but the y-axis in each is time, and the individual files are offset such that when loaded together, we get time history of some 1D data.) My code basically outputs a new .vti file every so many time steps, and updates the .pvd to include this additional data set. I use the “Reload Files” option on the .pvd file to monitor my simulation. The problem is that this reload takes forever. Is there some way to make a .pvd data set act like Linux Makefile, so that only modified files get reloaded?

My .pvd file looks like this:
<?xml version="1.0"?>
<VTKFile type="Collection" version="0.1">
<Collection>
<DataSet timestep="1" group="" part="0" file="time_000000.vti" />
<DataSet timestep="1" group="" part="1" file="time_012500.vti" />
...
<DataSet timestep="1" group="" part="55" file="time_686150.vti" />
</Collection>
</VTKFile>

Thanks!

There must be a filter that needs all timesteps to be able to compute in your pipeline.

Can you share your pipeline ?

I literally just visualize the pvd directly as a surface (it’s a collection of 2D vtis). All files are listed as the same timestep, however, since I am effectively trying to build a larger dataset from pieces. Perhaps a different file format is more suitable but the documentation I could find is quite sparse.

Ok, I’m afraid reload does not do what you want and load everything again. It has no way to determine that a specific .vti has not changed.

In you case you should read the .vti file directly by creating a new reader each time and group them together.

How do you suggest to do this? There are around 100 files at the end, but the number varies as the simulation runs. But anyway, that’s why I mentioned the Makefile example. You could just check the file timestamp and ignore if the same as currently loaded.

Sadly , reload file doesn’t do that.

You should write a pvpython script to do this task.

Ok, thank you for getting back to me. Anyway, this may be a useful feature to add in the future in general - there shouldn’t be any need to reload files if time stamps are the same as in memory (not dirty).

I agree that it would be nice to have this as an options. Could you open an issue on our gitlab :
https://gitlab.kitware.com/paraview/paraview/-/issues