This is the first set of lossy compression filters. They are activated by using the output options and instead of setting "on" or "off", the user sets the name of the filter they want. No check is done to verify that the filter makes sense. (See http://swift.dur.ac.uk/docs/ParameterFiles/output_selection.html#output-selection)
Implements #679 (closed).
The filters currently available are:
- "DScale6" --> Scale the values by 10^6 and round to integer (perfect for positions in simulations with Mpc units).
- "DScale3" --> Scale the values by 10^3 and round to integer (perfect for positions in simulations with kpc units).
- "DScale1" --> Scale the values by 10^1 and round to integer (perfect for velocities in simulations with km/s units).
- "FMantissa9" --> Writes a float by rounding to 3 decimal digits (perfect for rho, T, P, u, Z,...).
- "FMantissa13" --> Writes a float by rounding to 4 decimal digits (more precise for rho, T, P, u, Z,...).
- "HalfFloat" --> Writes as half-float (3.3 decimal digits, reduced range)
- "BFloat16" --> Writes as BFloat16 (2.4 decimal digits, same range as float)