`write_yaml` does not serialise completely
tilmantroester opened this issue · comments
write_yaml
currently ignores the baryonic_effects
and mg_parametrization
arguments to Cosmology
, since it only uses what's in self._params_init_kwargs
and self._config_init_kwargs
. It also loses the information on transfer_function
and matter_power_spectrum
if they are emulators. That is, a roundtrip of write_yaml
and read_yaml
doesn't recover the same Cosmology
object.
@tilmantroester , should this have been solved by #1160 ?
Not exactly. Trying to use write_yaml
with complex types for Cosmology
arguments now raises an error instead of silently ignoring these arguments. But you still can't round-trip using read_yaml
and write_yaml
if an argument to Cosmology
isn't something like a float
or str
.
OK, I see. So I guess we'd want some kind of _repr_
for the relevant CCL classes that contains enough information to recreate them from scratch.