lincc-frameworks / tape

[Deprecated] Package for working with LSST time series data
https://tape.readthedocs.io
MIT License
12 stars 3 forks source link

Unexpected behavior when loading an wnsemble with sort and sorted flags #412

Open wilsonbb opened 5 months ago

wilsonbb commented 5 months ago

When loading an Ensemble, you can currently set whether the data is already sorted and whether to sort it via the respective sorted and sort boolean flags.

However currently loading an unsorted dataset with sort=False and sorted=True will produce an unsorted index.

Screenshot 2024-03-28 at 10 17 39 AM

Note however that though each individual partition is unsorted, the divisions are still set (all values within a partition are within a given range that doesn't overlap with other partitions). However we should still make sure the data is sorted or change the description of the flag.

When we load with sort=True and sorted=False, we do get a sorted index but now there are warnings that the divisions are not set.

Screenshot 2024-03-28 at 10 19 59 AM

@dougbrn noted that this seems related to dask-expr issue https://github.com/dask/dask-expr/issues/975 where we lose divisions with only one partition after a reset_index call. This is mildly annoying to fix since our npartitions parameter only triggers the repartition call after we have reset the index and thus already lost the divisions.