This is a huge release with many exciting changes!
**This release is not backwards-compatible**. Setups created with v0.1.x will have to be rewritten to work with this version.
Changes
- Veros now fully supports distributed architectures through MPI, for both NumPy and Bohrium backends. If you have MPI installed, just run something like
bash
$ mpirun -n 4 python mysetup.py -n 2 2
to get started.
- A new realistic flexible resolution setup (`global_flexible`) that automatically adapts to the chosen resolution. Just choose a resolution and time step and that's it! Also comes with automatic removal of marginal seas.
- Better output and logging capabilities: terminal colors, a progress bar and throughput indicator, more verbosity options.
- A re-implementation of the island routines, which are now faster and more stable.
- A fully distributed Poisson solver via PETSc that is over 10x faster than PyOM's solver.
- netCDF output via HDF5, so libnetcdf is not a dependency anymore.
- The old `Veros` base class is now separated into `VerosSetup` (containing all setup-specific logic) and `VerosState` (holding the model settings and variables).
- Global runtime settings:
python
from veros import runtime_settings as rs
rs.backend = 'bohrium'
- Polished documentation.
- Various code quality improvements and polish.
Removed features
- Dropped Python 2 support.
- Removed Eady setup.
- Removed `logfile` argument.