Enable an I/O (FieldSet) caching
Locally as well as on cluster, user may have - next to the original storage location of the fieldset files - another storage location for cached, high-speed file access (e.g. a solid-state drive). The idea, logically, would be to automatically use this high-speed storage location as cache to pre-buffer fieldset data and thus increase performance.
The initial motivation came from the OceanParcels internal, brand-new LORENZ cluster, which has high-speed I/O facilities for this purpuse. That said, the caching class is ideally made so that people can setup this caching mode also for their cluster, or even for a local laptop with multiple SSD's.
@erikvansebille Summary of the PR:
Purpose: buffer (or: cache) Field files on e.g. SSD's locally and on clusters -> use the SSD's on LORENZ nodes Parent branch: master (3.x and onwards) -> needs to merge in changes of zarr if need be Status: merge-ready from momentary master head and can be merged to master -> changes are rather minor; tests available; tutorial notebook available; most business is going on in filecache.py Documentation status: test is available; tutorial notebook is available; discussed the process and algorithm with @lvankampenhout in detail in June/July
advice: please merge into master after tests finish
Closing this PR for now, as will not integrate into master anytime soon