Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Splitting ColocatedData with the goal of accounting for vertical profiles #727

Closed
wants to merge 2 commits into from

Conversation

lewisblake
Copy link
Member

This is a (mostly failed) attempt at splitting up ColocatedData for the eventual inclusion of 3D spatial fields and 4D spatio-temporal fields. Hence this is not a real draft PR, but mostly keeping this here for posterity until we decide how to proceed.

The goal was to make ColocatedData a parent class and then create derived classes ColocatedData2D and ColocatedData3D. Trying to put everything agnostic to the number of spatial dimensions into the parent class ColocatedData left very little in ColcatedData2D (about 350 lines of code).

Daniel and I realized that this is not a trivial task, and discussed what we would want out of "an ideal colocated data class". We for the time being agreed that it would be ideal to only have colocation done on the tuple (lon, lat, alt, time), instead "dimensions" such as the station name. This is geared towards accounting for the vertical profile data and is basically the point-cloud idea Jan has brought up before. We want to discuss this in our next meeting, because creating and entirely new colocated data class is a huge overhaul.

@lewisblake
Copy link
Member Author

lewisblake commented Sep 8, 2022

Note to self: PointCloudData class

Natural question: Why doesn't UngriddedData work for this case? A: Fundamentally UngriddedData returns instances of StationData to be in a useable format, so that the colocation can work with just the station name. When dealing with e.g., satellite data, the notion of a StationData no longer makes sense. Instead we are going to have orbit files, which either need to be pre-processed into a single file every 24 hours or have the class be able to build the iris cube on the fly from individual orbit files.

Fundamental object either iris.cube.Cube or possibly xarray.Dataset, more likely the former.

@lewisblake lewisblake closed this Sep 12, 2022
@lewisblake lewisblake deleted the vertical-profiles branch September 15, 2022 11:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant