-
Notifications
You must be signed in to change notification settings - Fork 8
Description
The Python wrapper currently enables getting and setting a few 3D variables in the Stateout container. Since these 3D variables come from the physics side of the model, they are oriented oppositely to the dynamical core 3D variables in the vertical (in the physics the lowest model level is at vertical index 0, while in the dynamical core the uppermost model level is at vertical index 0).
This difference can lead to bugs, especially when trying to update physics fields based on fields from the dynamical core (or vice versa). In principle it seems like it would be possible for the Python wrapper to handle this dimension flipping automatically (both in the getting and setting stages). I could imagine adding an optional flag to variables in the *properties.json files that would trigger this behavior (or perhaps automatically flipping any 3D variable in the physics_properties.json file).
The main argument against doing that I can imagine is that it would technically not be exactly true to the state of the fortran model. Another argument is that it would potentially be a breaking change to anyone who was using these variables before, but I'm not sure how many users there are, if any, outside of us.
cc: @oliverwm1 @mcgibbon