Skip to content

Releases: CliMA/Oceananigans.jl

📺 Oceananigans v0.7.0

30 Jun 01:45
Compare
Choose a tag to compare

v0.7.0 (2019-06-28)

Diff since v0.6.2

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:

🎬 Oceananigans v0.6.2

05 Jun 20:13
Compare
Choose a tag to compare

v0.6.2 (2019-06-05)

Diff since v0.6.1

Closed issues:

  • Register Oceananigans v0.6.1 (#269)

Merged pull requests:

🚏 Oceananigans v0.6.1

04 Jun 20:05
Compare
Choose a tag to compare

v0.6.1 (2019-06-04)

Diff since v0.6.0

Closed issues:

  • CPU example in README.md fails (#267)
  • Register Oceananigans v0.6.0 (#265)

Merged pull requests:

👼🏽 Oceananigans v0.6.0

04 Jun 14:51
Compare
Choose a tag to compare

v0.6.0 (2019-06-04)

Diff since v0.5.4

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:

⚽ Oceananigans v0.5.4

24 May 11:32
Compare
Choose a tag to compare

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

23 Apr 00:54
Compare
Choose a tag to compare

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

09 Apr 22:17
Compare
Choose a tag to compare

What's new

  • Model is ~5x faster! Buoyancy update kernel was taking quadratic time when it should have been linear. #169 #172
  • NaN checker diagnostic. #38 #170
  • Oceananigans.jl is a real package now! #142

🐪 Oceananigans v0.5.1

03 Apr 14:55
Compare
Choose a tag to compare

Updating packages for CI and updating package version/UUID for attobot.

🐫 Oceananigans v0.5.0

03 Apr 14:17
Compare
Choose a tag to compare

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

27 Feb 23:29
Compare
Choose a tag to compare

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!