the following attributes are only required to enable planets-related methods and should all be optional. I want to give a shot at getting rid of a many of them as possible for nonos 0.20.0, which is supposed to introduce Field as the long term replacement for GasField
snapshot_uid
This is necessarily meaningful: a field could exist outside of a snapshot.
It might be easier to defer to a (possibly missing) snapshot parent
loader
only parts of a Loader are really ever used:
- loader.parameter_file (this should really just be metadata)
- loader.read_planet_data (a
PlanetDataReader would suffice)
operation
this represents, however poorly, a history of various transformations
that were applied to the original field to obtain this one.
This cannot possibly represent every possible transformation, like
addition (in which there is more than one 'parent' field)
rotate_by
this is another attempt to preserve transformation history, though this one
only represents a (possibly approximate, and inacurrate in sign) shift applied in
along an azimuthal axis.
Linked PRs
the following attributes are only required to enable planets-related methods and should all be optional. I want to give a shot at getting rid of a many of them as possible for nonos 0.20.0, which is supposed to introduce
Fieldas the long term replacement forGasFieldsnapshot_uidThis is necessarily meaningful: a field could exist outside of a snapshot.
It might be easier to defer to a (possibly missing) snapshot parent
loaderonly parts of a Loader are really ever used:
PlanetDataReaderwould suffice)operationthis represents, however poorly, a history of various transformations
that were applied to the original field to obtain this one.
This cannot possibly represent every possible transformation, like
addition (in which there is more than one 'parent' field)
rotate_bythis is another attempt to preserve transformation history, though this one
only represents a (possibly approximate, and inacurrate in sign) shift applied in
along an azimuthal axis.
Linked PRs
Field.rotateasField.azimuthal_rotation, dropField.rotate_byas an instance attribute #662