Hi @nperez
As the title implies, I'm not sure if it is a development or a bugfix. It is about issue #91 (closed) and #7 (closed). The problem was that we couldn't find a way to assign different selectors to each file when the indices are not identical. This sentence may sound familiar to you because multiStart() deals with a similar (but different) situation. multiStart() can deal with multiple datasets and NA insertion; the development here is for files in one dataset have different indices for certain dimensions. There is actually the third scenario that I recorded it in FAQ please check here.
The situation I talk about here is not common and so far I only know it may happen to the 'region' dimension (since 'time' always has the same time step in one dataset, right?) I thought that Start() assumed that all the files had identical coordinate variable indices if they're from the same dataset, so it used the first found file to transfer values to indices and use those indices to get the data from the following files. But actually, Start() can check each file and transfer values to indices one after another. The problem lied in the last step. When creating the work pieces, Start() used the first file selectors to represent all files, even it had already got the selectors for each file.
To be honest, I'm not sure if this development is comprehensive to all the scenarios even though all the unit tests pass. Besides, if you check the metadata, you'll find that the region metadata is wrong. I didn't fix it because I haven't found a suitable and safe way to modify the code (I only left a TODO note in the code.) But I still think it is a piece of good development of Start(), and we can merge it into master first then wait for more tests to discover the potential bugs.
Cheers,
An-Chi