I have been trying to create a workflow around netcdf-formatted dump files in LAMMPS, as this supports attaching thermo output, and offers a big reading performance improvement compared to other formats. Unfortunately it seems that the thermo output with “write_dump netcdf/mpiio thermo … modify thermo yes” is written as float32, which is too inaccurate in my case, where for example, the total potential energy of a large system is ~10^6 eV, giving a precision of 0.125 eV with float32. Is there a way to write the thermo output as float64 to a netcdf dump? If not, can someone point to another suitable dump format?
The NetCDF dump output follows the Amber trajectory file conventions. Sure you could write your own dump style.
Dump style yaml also allows to bundle thermo output with the dump. The output is text format, though, but if your performance bottleneck is I/O speed, then you can use on-the-fly compression. If your bottleneck is the text parsing then you have to either forego the bundling of thermo and dump information and output custom style binary dump files (and log the thermo output separately, which can also be done in YAML format for easier parsing), or implement a modified NetCDF dump style.