Releases: CliMA/Oceananigans.jl
Releases · CliMA/Oceananigans.jl
📺 Oceananigans v0.7.0
v0.7.0 (2019-06-28)
Main features:
- Support for channel geometries.
- Wizard utility for adaptive time stepping.
Closed issues:
- What is the purpose of the (#286)
- Register Oceananigans v0.6.2 (#274)
- Development milestones and order? (#207)
- Adaptive time stepping (#189)
- Further system testing and checking for float precision issues. (#168)
- Codecov and Coveralls coverage statistics do not account for GPU tests. (#138)
- Channel (#100)
- Appveyor CI is SO slow. (#89)
- Possible to have CPU-specific Project/Manifest and a GPU-specific one? (#79)
- More general CUDA thread block layout. (#64)
- Refactor diagnostics framework? (#43)
Merged pull requests:
- Adaptive time stepping through wizardry (#297) (ali-ramadhan)
- Reentrant channel model, for real this time (+ lots of cleanup) (#290) (ali-ramadhan)
- Benchmarking turbulence closures (#289) (ali-ramadhan)
- Explicit default boundary conditions (#288) (ali-ramadhan)
- Delete model_configuration.jl (#281) (ali-ramadhan)
- Only run Appveyor builds on x64. (#279) (ali-ramadhan)
- Update GitLab CI to run GPU code coverage (#278) (ali-ramadhan)
- Add James and Tim to dev team (#277) (ali-ramadhan)
- Polishing docs (#256) (navidcy)
🎬 Oceananigans v0.6.2
v0.6.2 (2019-06-05)
Closed issues:
- Register Oceananigans v0.6.1 (#269)
Merged pull requests:
- No more scalar ops in NaN checker and NetCDF output writer (#273) (ali-ramadhan)
- Revert "Be more concrete" (#272) (ali-ramadhan)
- Be more concrete (#263) (glwagner)
🚏 Oceananigans v0.6.1
v0.6.1 (2019-06-04)
Closed issues:
Merged pull requests:
- Fill halo regions on CuArrays instead of OffsetArrays (#268) (ali-ramadhan)
- Update rising thermal bubble examples in README and docs (#266) (ali-ramadhan)
👼🏽 Oceananigans v0.6.0
v0.6.0 (2019-06-04)
Main features:
- Halo regions to enforce the doubly periodic boundary conditions.
- Flow is incompressible to machine precision at every time step.
- Introduction of turbulence closures by @glwagner but they still need to be integrated.
Closed issues:
- Can't run examples (#254)
- Unsupported dynamic function invocation (#248)
- Register Oceananigans v0.5.4 (#235)
- Choose 2-4 examples that are always updated and improved. (#221)
- Boundary condition names should be top and bottom for z (#213)
- GPU Poisson solver tests (#200)
- Running with Float32 is slower than Float64 on CPUs (#188)
- Checkpointer cannot restore when using fields with OffsetArrays. (#177)
- Dirchlet/Value boundary conditions at the top and bottom. (#166)
- Profiling Oceananigans (#162)
- Checkpointer cannot serialize functions to disk with JLD. (#141)
- We can reduce memory usage in the Poisson solver by a factor of 2. (#122)
- Implement halo regions. (#104)
- Expressing equations as the sum of a linear and a nonlinear operator. (#95)
- Ideas for abstractions. (#70)
- Includes at the module level cannot have circular dependencies. (#69)
- Use multiple dispatch to control Poisson solver (#45)
- Use correct data types in CPU/GPU shared kernels. (#34)
Merged pull requests:
- No more scalar operations on CuArrays. (#264) (ali-ramadhan)
- Fix examples to account for halos (#257) (ali-ramadhan)
- Move back example utils (#255) (ali-ramadhan)
- Halo regions v2: filling halos and faster operations (#253) (ali-ramadhan)
- Fix implicit type conversions in Adams-Bashforth update kernel (#252) (glwagner)
- Halo regions v2: switching to offset arrays (#250) (ali-ramadhan)
- Small cosmetic fixes. (#247) (ali-ramadhan)
- Test that the GPU Poisson solver solution is numerically divergence-free (#246) (ali-ramadhan)
- Use stress divergence and diffusive flux divergence from Turbulence Closures (#245) (glwagner)
- Update packages (#244) (ali-ramadhan)
- Properly calculate RHS for pressure equation on GPU. (#243) (ali-ramadhan)
- Bugfix in Model constructor (#241) (glwagner)
- Rayleigh-Benard regression test with forcing and passive tracer (#239) (glwagner)
- Adds Value Boundary Condition (BC), improves BC function signatures, GPU BC tests (#237) (glwagner)
- Turbulence closures --- wow! (#234) (glwagner)
⚽ Oceananigans v0.5.4
What's new
- Velocity field is now divergence-free to machine precision during time stepping. #161 #228 #229
- Fixed bug in how the Coriolis term was calculated. #215 @jm-c
- Internal wave test and example. #229 @glwagner
- Incompressibility test #226
- Analytic solution reconstruction test for Poisson solver. #227
- Adapted BoundaryConditions with AbstractArray to play nice with CUDA.
- Coriolis parameter can be set via latitude.
- Planetary constants for Europa and Enceladus.
🐧 Oceananigans v0.5.3
What's new
- Updated versions of CUDA dependencies.
- Free convection, wind stress, and mixed layer seasonal cycle examples.
- Added actual CPU and GPU examples to README and documentation.
- Updated 3D contourf plotting script to also plot vertical profile diagnostics.
- New wind stress and free convection with wind stress movies.
- Added performance benchmark plots in README.
- Added development team section to README.
🦅 Oceananigans v0.5.2
🐪 Oceananigans v0.5.1
Updating packages for CI and updating package version/UUID for attobot.
🐫 Oceananigans v0.5.0
Tons of improvements! We need more frequent releases.
What's new
- Parameterized abstractions that work on CPU and GPU architectures.
- Flashy boundary conditions API. @glwagner
- Fourth-order tracer advection scheme. @mukund-gupta
- Much faster GPU compile times thanks to fixes in CUDAnative.jl and GPUifyLoops.jl
- Arbitrary forcing functions.
- Diagnostics framework.
- Output writer framework: checkpointer, binary output, and NetCDF output.
- Model checkpointing with JLD.
- Asynchronous NetCDF output.
- Many new tests including new unit tests, new integration tests, and two golden master tests.
- Many tests now run on the CPU and GPU.
- Performance benchmarking with CPU/GPU and Float32/64 comparisons.
- Renamed "spectral solver" to "Poisson solver".
- Revised and updated examples.
- LOTS of cleanup and refactoring to make things look neater.
- Documentation that is automatically built and deployed!
🏍️ Oceananigans v0.4.0: Fast CPU and GPU support with shared kernels using GPUifyLoops.jl
🏍️ Oceananigans v0.4.0: Fast CPU and GPU support with shared kernels using GPUifyLoops.jl
Pre-release
Pre-release
Features
- Operators were rewritten to act on individual volume elements (i.e. element-wise) which allowed the time stepping loop to be rewritten to loop over all volume elements and generically run on CPU and GPU architectures using GPUifyLoops.jl.
Sad "features"
- Lots of other things happened as well but we need to write a lot more tests (especially for the GPU), update the documentation, clean up the code, nuke crusty old code, etc. but that's for v0.5!