IOSS reader fails reading global data for non standard file range
IOSS reader is failing to read global data for non standard file ranges. Here is how to replicate.
- Copy can.exo into a workstace directory, such as "sandbox".
- In your sandbox,
- cp can.exo can.e.4.0, cp can.exo can.e.4.1, cp can.exo can.e.4.2, cp can.exo can.e.4.3
- We now have a working 4 file Exodus dataset. Headers, and global data are the same between all files.
The IOSS reader uses a performance trick reading header and global data. The headers and globals between all files must be the same, or technically the dataset is bad. In practice, sometimes a dataset will have a correct header in the 0th file, and the others will be empty. No matter, the global data must be the same. The trick is that we no longer read every file, finding global data for every file, but rather read the 0th file only and use the 0th file's header and global data for all files. Works well, and gave us a huge performance boost.
- Open can.e.4. Apply.
- Notice there are 44 timesteps.
- On the Properties tab, change File Range to be 1 to 3. We should now be using file 1 for header and global data. Apply.
All global data has gone away, including all timesteps other than time step zero. It should have been read from file 1, the first file in the series we are using. This is a bug.
@cory.quammen Showstopper for the 5.12 release. Must not slip. Not required for 5.11.0 release, as users can always use the Legacy Exodus Reader.