willirath / xorca

MIT License
17 stars 12 forks source link

Future direction of XORCA #21

Open willirath opened 5 years ago

willirath commented 5 years ago

There's a list of things I'd like to improve here:

Auto-detection of grids (https://github.com/willirath/xorca/milestone/1)

Currently, variable names are hard coded in large dicts. There are ways of overriding / adding variables but they are rather obscure and not very practical. I'd like to move towards automatic detection of grids. We usually have all information needed for this: From a reference tracer grid ((xc, yc) in xgcm's notion), we can derive the shifted grids and check if a given pair of (nav_lon, nav_lat) matches a shifted grid.

Generally straighten the internal logic (https://github.com/willirath/xorca/milestone/2)

Parts of this will be solved with auto-detection of grids, because a lot of what's currently in .lib is linked to setting the correct coordinates / names. But I'd really like to merge preprocess_orca and load_xorca_dataset.

Add example data

Currently, most tests use mock-ups of mesh files and no real example data. The main obstacle to using real data is size in combination with rate limits on Github (auto-testing with data from large repos will exhaust our free data volume very quickly).

There's a possible way out: Manage example data on Github, but build a docker image that has all the dependencies and the data. Then, Travis will pull from, e.g., dockerhub. We should also maintain really small example data. @swantjebastin did some work on this and I plan to include these as soon as possible.

willirath commented 5 years ago

There's a proof of concept with auto detection here: https://github.com/willirath/xorca_autodetect_pocs/blob/master/Autodetect_horizontal_grid.ipynb