#1338: Rename Carpet output files -----------------------+---------------------------------------------------- Reporter: eschnett | Owner: eschnett Type: defect | Status: new Priority: major | Milestone: Component: Carpet | Version: Resolution: | Keywords: -----------------------+----------------------------------------------------
Comment (by hinder):
Remember also that for multipatch data, the map is specified with an additional "." separator. Whatever we decide, we must document it very clearly so that it is possible to modify analysis tools to do the right thing in every situation. At the moment, the double-colon works on the vast majority of systems that are in active use with Carpet data. I agree it is not ideal, and that it should be possible to access and analyse Carpet data on Windows and using Windows file sharing, but unless the change is done carefully, this is going to cause immediate breakage and pain to existing tools and users, for a benefit which is likely small. So, if someone still wants to propose that the filename scheme is changed, please come up with a concrete proposal which addresses:
1. ASCII 2. HDF5 3. Multipatch 4. All currently-valid Cactus group and variable names 5. One-file-per-group and one file per variable
I had a look in the CarpetIOHDF5 source code, and couldn't find the function that constructs the filename; is this done at a higher level in Cactus or Carpet and then passed in to OutputVarAs?
From looking at my simulations directory, it looks like the colon is only used when outputting one file per group, and in that case the double colon is used to separate an implementation name prefix from the group name. Is that correct?
Roland: I don't understand your "grid" example. When would filenames like this be generated? "grid" is the implementation, and the group is called "coordinates", so the current name would be "grid::coordinates.x.file_0.idx.h5", wouldn't it? Is there another filename scheme where the variable name is used with the implementation name?
Frank: Is it really true that you can have '-' or '.' in implementation and variable names? Don't variable names have to be valid C and Fortran identifiers? Maybe not implementation names. We need to be able to distinguish between <variable> and <implementation>::<group>. Since variables surely cannot have '-', it seems that <implementation>-<group> should be unambiguous.
This issue would be less important if Cactus had a mechanism for writing a metadata file describing what had been output. This could then be read by analysis tools, and they wouldn't have to guess from filenames. I will open a ticket for this (I thought there was one already, but I can't find it). This would not solve the problem completely, as any time the output is ambiguous, it would also be possible for there to be a collision between two different output filenames, but it would take the guesswork out of writing analysis tools.