#1565: change default of IOUtil::out_save_parameters to true --------------------------+------------------------------------------------- Reporter: rhaas | Owner: Type: enhancement | Status: review Priority: optional | Milestone: Component: Cactus | Version: development version Resolution: | Keywords: --------------------------+-------------------------------------------------
Comment (by hinder):
One thing I have been considering recently is that we could set the parameter IO::parfile_write = "generate", which I believe causes the parameter file written into the simulation output directory to includes all current parameters and their values, not just those explicitly set by the user. This would allow SimulationTools to obtain the actual values of various parameters, without having to have knowledge of their defaults. This would be stop-gap measure until there is a proper metadata file written by Cactus. SimulationTools would still have to interpret the parameters, attempting to make sure that it has the same logic as Cactus, so a proper "low-level" metadata file generated by Cactus would still be superior.
SimulationTools works with entire simulations, so it doesn't look at the parameters stored in HDF5 files, as it looks instead at the parameter file. Probably most analysis tools deal with gridfunctions directly, without needing them to be associated with a simulation. In that case, some of the information which is currently only available in parameters might be useful. On the other hand, I think it only makes sense to store information in the HDF5 file which pertains to the variable being stored. Things like atmosphere settings are properties of the simulation, not the variable, so if you need to know about that, then you should accept that you should have been dealing with simulations, not just variables. Symmetry conditions apply directly to the variable, as they tell you how the full physical variable can be reconstructed from the data, so they should be included with the variable in the HDF5 file. However, I don't think that parameters are the best way to go about this. Instead, I would add additional metadata as attributes to the datasets, or in a separate dataset just for this information. Parameters are designed for the user to tell Cactus what to do, and there may be several different ways of specifying the same information (see, eg. CoordBase). You don't want to have to interpret those parameters; you want the symmetry thorns to tell you exactly what they have done.
As a stop-gap measure however, including all parameters in the HDF5 file would probably solve your immediate problem. I assume it would not make the HDF5 file too large, so I don't see any harm in changing the default. Changing the default for the parameter file written to the output directory would help SimulationTools, but would then mean that generated parameter files would be unrecognisable, so it's probably not a good idea to force that on everyone by changing the default. I will probably start using this in my own simulations though, as I use simfactory, and hence have the original parameter file available anyway.