FESOM / pyfesom2

FESOM2 tools https://pyfesom2.readthedocs.io
MIT License
17 stars 10 forks source link

Better XArray Compliance #170

Open pgierz opened 2 years ago

pgierz commented 2 years ago

Hello all,

One point that should be discussed is the mixup of xarray and numpy. For likely historical reasons, many of the diagnostics offered in pyfesom evolved from numpy (xarray only sort of recently stabilized)

For instance, we have a few places where we access row 1 of an array (as a silly example). What is row 1 to the untrained user? Depth? Nodes? Time? Who knows. One good benefit would be to allow labelling of the dimensions.

That also opens the door to including a whole bunch of tools build (in)directly on top of xarray. Dask, HoloViews come to mind immediately.

So, as a point for consideration and discussion.

@koldunovn @suvarchal @JanStreffing @dsidoren

koldunovn commented 2 years ago

We rely on labeling of dimensions in some parts of pyfesom2 (that allowed me to relatively painlessly switch to new FESOM2 refactoring output ). I would keep possibility to work on pure numpy arrays, as xarray can be really slower for some tasks, but maybe ask user to provide dimensions in this case (with sane defaults).