Refactor of `plates` module:
- This module now exposes a useful public API
- `detect_plates` and `detect_plates_vzcheck` are merged in one routine
`detect_plates`
- New command line arguments `--vzratio`, `+-distribution` and
`+-nbplates` allow the user to switch on the use of `vzabs` when
detecting plate limits, plotting of plate size distribution, and
plotting of number of plates as a function of time
- The new `+-continents` argument switches the detection of continents
and the related decorations on plots
- `-o/--plot` now works in a similar way to eponym options of `field`,
`rprof`, and `time` subcommands. The `plates` subcommand plots the
requested surface diagnostics. The later can be surface fields,
fields, or `"dv2"` (which is `d(vphi)/dphi`)
- Most features are usable in cartesian geometry
New features:
- Fields (such as `snaps[n].fields['T']`) are now namedtuples with
two items: `values` and `metadata`, akin to `rprofs` and `tseries`
objects
- `plot.isolines` option allows setting the values at which isolines
are plotted when doing a field plot
Improvements:
- `h5py`-raised `OSErrors` don't always have information about the
faulty file, this is patched by appending its path in some contexts
- `_Fields.__contains__` fails on unknown field names instead of returning
`False`
Documentation:
- Addition of the `plates` module API
- Example of accessing and plotting tracers data
- Several small fixes
Internals:
- Update sphinx configuration
- Pin documentation dependencies
- Update readthedocs configuration
- Github actions replace travis