Here's what I see as the remaining tasks to be done before releasing v5.0, with what order things need to be done in. ## Coordinates 1. Finish and merge 3D metrics (#2025) 2. Refactor coordinates (#2128) 3. Add real-space coordinate values to Hypnotoad and Zoidberg output (possibly already exists?) - Possibly combine Hypnotoad and Zoidberg? Less important for BOUT++ v5 4. Add Z guard cells and allow non-periodic Z (#1713 ) 4. Refactor boundary conditions (proof of concept in #1178) ## IO 1. Replace `DataFile` with `OptionsNetCDF` (#2209) 2. Replace `Mesh::get` and `GridDataSource` with `OptionsNetCDF` ## Other - Remove non-`PhysicsModel` API for `Solver` (#2285) - Merge all the upgrader python scripts into a single utility - Split `index_derivs.cxx` into multiple files to improve compilation time (and make it work on more compilers...) (#2292) - Consider upgrading to C++17? Less important - Start to use xBOUT in the library? Less important - FFT improvements? #2097 - CMake feature parity
Here's what I see as the remaining tasks to be done before releasing v5.0, with what order things need to be done in.
Coordinates
IO
DataFilewithOptionsNetCDF(Replace DataFile/Dataformat with OptionsNetCDF #2209)Mesh::getandGridDataSourcewithOptionsNetCDFOther
PhysicsModelAPI forSolver(Remove legacySolverAPI #2285)index_derivs.cxxinto multiple files to improve compilation time (and make it work on more compilers...) (Split index_derivs into two files #2292)