CCL icon indicating copy to clipboard operation
CCL copied to clipboard

`write_yaml` does not serialise completely

Open tilmantroester opened this issue 1 year ago • 3 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 avatar Feb 20 '24 11:02 tilmantroester

@tilmantroester , should this have been solved by #1160 ?

damonge avatar Mar 19 '24 12:03 damonge

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.

tilmantroester avatar Mar 19 '24 12:03 tilmantroester

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.

damonge avatar Mar 19 '24 12:03 damonge