Renaming dimensions once again....
See original GitHub issue@aaronspring, it seems like the dimension names expected for climpred
are getting confusing once again. To align all products (control, initialized ensemble, observations, references), we have to rename our time dimension to initialization
. This clearly doesn’t make sense since the LENS for instance is defined by not being initialized. Further, not every single time step of that dimension is necessarily an initialization point.
Also, our perfect_model
vs. reference_ensemble
setup has begun to diverge with this. Currently, the perfect_model
notebook expects a ‘time’ dimension for the control run for things like DPP and compute_skill. The reference_ensemble
expects ‘initialization’ dimension and this has been incorporated into the relative entropy function for a LENS-like setup.
I suggest the following (hopefully final) changes for more clarity for us and future users:
- Go back to using
time
as the main dimension for any of these simulations. This makes sense, since it’s the default dimension name that comes out of most simulations. This doesn’t imply that every time step is an initialization and doesn’t force us to renametime
toinitialization
for a control run or uninitialized ensemble, which makes no sense. - Remove
initialization
entirely. This is a long word and doesn’t make sense for many cases. - Use
lead
as the new dimension that is returned from many of our functions. Althoughlead time
makes more sense, this requires annoying dictionary indexing to deal with since there is a space in it.lead
is a unique dimension that shouldn’t exist in any simulations and would only come out of our functions. It also makes more sense thantime
which we are currently using for lead time, which conflicts with the standard CF conventions for simulations.
This I think would help us avoid all confusion in the future. I am happy to do all the renaming and then we stick to this language for the object-oriented implementation.
Issue Analytics
- State:
- Created 5 years ago
- Comments:9
Top GitHub Comments
I will create a PR for bootstrapping before. Should be done by tonight. Then you can do the dimensionality naming afterwards.
Yeah, it will help with confusion since we renamed the conventional ‘time’ to ‘initialization’ every time. And then output a ‘time’ dimension that != the normal ‘time’ dimension. It’s a pain, but I’ll change all of this over in the next couple days and then I hope we don’t have any reason to change it again…