CCI-Tools / cate

ESA CCI Toolbox (Cate)
MIT License
51 stars 15 forks source link

Globe-visualization of Sea Ice ECV data #869

Open TomLav opened 4 years ago

TomLav commented 4 years ago

Expected behavior

Cate should be able to display Sea Ice ECV data in "globe view" as is done for the other ECV datasets (e.g. SST, OC, etc...)

Actual behavior

Cate does not display Sea Ice ECV data in "globe view". The "flat 2D" visualization is working for the sea-ice datasets, but the the "globe view".

For example the Sea Ice Concentration 25km data: https://catalogue.ceda.ac.uk/uuid/f17f146a31b14dfd960cde0874236ee5

It is quite probable that the issue comes from the specification of the geographic coordinates. The Sea Ice ECV products are distributed on polar grids (specifically on a polar equal area lambert projection). In the product files, latitude and longitude are stored as 2D arrays (with 1d dimensions/axis yc and xc). This is different from many other CCI ECV data (that use lat/lon grid mapping).

Note: an additional "feature" of the Sea Ice ECV datasets (a direct consequence of the use of polar grids) is that two product files are needed to cover the globe on a given day: a "Northern Hemisphere" and a "Southern Hemisphere" view. Full globe visualization should takes this in consideration.

forman commented 4 years ago

Using the 2D latitude and longitude we should be able to rectify the data on-the-fly so that we end up with data arrays in equirectangular projection that can be further transformed into RGB tiles for the globe. We might encounter a performance issue here caused by the spatial transformation.

TomLav commented 4 years ago

regarding the performance issue, and because the grid is fixed, one could imagine caching the transformation (but I do not know how Cate works under the hood).

Please let me know if/when we can try such a new feature from a branch (or we can help implement it).

forman commented 4 years ago

regarding the performance issue, and because the grid is fixed, one could imagine caching the transformation (but I do not know how Cate works under the hood).

In our case, the CPU work is done when computing the source pixel coordinates for a given target pixel. These coordinates can indeed be cached for fixed grids. As this will be a new feature anyway, we'll think of implementing it that way. Thanks for the hint!

Please let me know if/when we can try such a new feature from a branch (or we can help implement it).

Sure!