Recent Releases of Oceananigans.jl
Oceananigans.jl - πΊ Oceananigans v0.9.5
v0.9.5 (2019-08-28)
Main feature:
- Horizontal average diagnostic and we kind of decided on what diagnostics should look like.
Closed issues:
- Fast vertical profile diagnostic (#186)
- Allow forcing to be an array. (#110)
- Use @propagate_inbounds (#58)
Merged pull requests:
- Fast on-the-fly vertical profiles (#352) (ali-ramadhan)
Hydrosphere - Ocean Models
- Julia
Published by julia-tagbot[bot] over 5 years ago

Oceananigans.jl - π Oceananigans v0.9.4
v0.9.4 (2019-08-28)
Main features:
- Model checkpointing via the
Checkpointer
output writer. - Verbose and maximum filesize options for the JLD2 output writer.
- Much cleanup.
Closed issues:
- Upgrade TimeStepWizard to support model spinup? (#356)
- Register Oceananigans v0.9.3 (#345)
- Split JLD2 output files by size (#344)
- Possibly incorrect halo region filling and missing boundary condition (#328)
- Barebones checkpointing (#324)
- Halo regions filling functions are not general (#307)
- What is the purpose of the 'dim' property of RegularCartesianGrid? (#287)
- HDF5 and plotting utilities are heavy dependencies (#284)
- More tuples! (#262)
- Constant Smagorinsky halo size (#260)
- Types of kernel arguments do not seem to be inferred (#251)
- Eliminate dichotomy between GPU and CPU tests (#242)
- Deep convection example and golden master test should switch to BCs. (#220)
- Dynamically install packages like Plots.jl and ArgParse.jl for examples. (#195)
- Better user API for interacting with fields (#174)
- isbits Fields and FieldSets (#163)
- Change AB-2 parameter to 0.5 + Ο to offer first order forward time stepping (#160)
- Elegant unpacking (#155)
- set!(u::Field{G}, f::Function) should use xC, yC, zC (or xF, yF, zF) depending on Field. (#23)
- Using Reqiures.jl for optional GPU usage (#14)
Merged pull requests:
- Benchmarking forcing functions (#370) (ali-ramadhan)
- Nuke broken tests (#368) (ali-ramadhan)
- Nuke sandbox (#367) (ali-ramadhan)
- Cleanup README and Documentation building (#359) (ali-ramadhan)
- Dirchlet and Neumann aliases for Value and Gradient boundary conditions (#355) (ali-ramadhan)
- Verbose and maximum filesize options for JLD2 output writer (#350) (ali-ramadhan)
- Clean trailing whitespace and convert tabs to spaces. (#349) (ali-ramadhan)
- Checkpointer revival (#326) (ali-ramadhan)
Hydrosphere - Ocean Models
- Julia
Published by julia-tagbot[bot] over 5 years ago

Oceananigans.jl - π Oceananigans v0.9.3
v0.9.3 (2019-08-09)
Main feature:
- A sophisticated and efficient
set!
function for setting field to specific values calculated from a function or taken from an array. Especially useful for elegantly setting initial conditions.
Closed issues:
- Register Oceananigans v0.9.2 (#339)
Merged pull requests:
- Robust setting of fields (#343) (ali-ramadhan)
- Revert "Kernel for setting initial conditions so set_ic! runs fast on GPUs" (#342) (ali-ramadhan)
- Remove JLD and HDF5 dependency (#340) (ali-ramadhan)
Hydrosphere - Ocean Models
- Julia
Published by julia-tagbot[bot] over 5 years ago

Oceananigans.jl - π« Oceananigans v0.9.2
v0.9.2 (2019-08-07)
Closed issues:
- Register Oceananigans v0.9.1 (#331)
Merged pull requests:
- Kernel for setting initial conditions so set_ic! runs fast on GPUs (#337) (ali-ramadhan)
- Pearson vortex test (#336) (ali-ramadhan)
- Halo regions + boundary conditions overhaul and bug fixes (#329) (glwagner)
Hydrosphere - Ocean Models
- Julia
Published by julia-tagbot[bot] over 5 years ago

Oceananigans.jl - π Oceananigans v0.9.1
v0.9.1 (2019-08-05)
Main bug fix:
- Value/Dirchlet boundary conditions are properly imposed.
Closed issues:
- Register Oceananigans v0.9.0 (#318)
- Docker file for easy installation and CI testing (#151)
- Implementing closures for large eddy simulation (#120)
Merged pull requests:
- Pearson vortex test (#336) (ali-ramadhan)
- Minor code simplifications (#325) (glwagner)
- Nuke stale CPU/GPU environments (#323) (ali-ramadhan)
- Fix calculation of Value boundary conditions (#322) (ali-ramadhan)
- Use COPY in Dockerfile to always build current branch (#321) (ali-ramadhan)
- Switch GPUifyLoops back to regular package (#320) (ali-ramadhan)
- Add Docker badge (#319) (ali-ramadhan)
- Fix calculation of Value boundary conditions (#317) (ali-ramadhan)
- Dockerfile for Oceananigans (#316) (ali-ramadhan)
Hydrosphere - Ocean Models
- Julia
Published by julia-tagbot[bot] over 5 years ago

Oceananigans.jl - β‘ Oceananigans v0.9.0
v0.9.0 (2019-07-31)
Main feature:
- Turbulence closures for large-eddy simulation (constant Smagorinsky and anisotropic minimum dissipation) by @glwagner.
Closed issues:
- Register Oceananigans v0.8.0 (#305)
- Linear equation of state should be upgraded to account for salinity and pressure. (#20)
Merged pull requests:
- Sandbox scripts for Large eddy simulation (#315) (glwagner)
- Pre-computed turbulent diffusivities (#312) (glwagner)
- [WIP] Integrate LES functionality (#309) (glwagner)
- Be more concrete (#282) (ali-ramadhan)
Hydrosphere - Ocean Models
- Julia
Published by julia-tagbot[bot] almost 6 years ago

Oceananigans.jl - πΊ Oceananigans v0.8.0
v0.8.0 (2019-06-30)
Main features:
- Dynamic launch configuration for GPU kernels (by @maleadt at GPU hackathon). This speeds up the model by ~25%.
- Revised simulation scripts.
Closed issues:
- Register Oceananigans v0.7.0 (#299)
- Portable random number generator for testing. (#176)
Merged pull requests:
- Hydrothermal plumes simulation v2 (#304) (ali-ramadhan)
- Idealized seasonal cycle simulation v2 (#303) (ali-ramadhan)
- Faster model with dynamic launch configuration by @maleadt (#302) (ali-ramadhan)
- Eddying channel script (#301) (ali-ramadhan)
- More benchmarks (#300) (ali-ramadhan)
- Link to Simon Danisch's notebook for plotting GPU output with Makie (#296) (ali-ramadhan)
Hydrosphere - Ocean Models
- Julia
Published by julia-tagbot[bot] almost 6 years ago

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)
Hydrosphere - Ocean Models
- Julia
Published by julia-tagbot[bot] almost 6 years ago

Oceananigans.jl - π¬ 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)
Hydrosphere - Ocean Models
- Julia
Published by julia-tagbot[bot] almost 6 years ago

Oceananigans.jl - π Oceananigans v0.6.1
v0.6.1 (2019-06-04)
Closed issues:
- CPU example in README.md fails (#267)
- Register Oceananigans v0.6.0 (#265)
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)
Hydrosphere - Ocean Models
- Julia
Published by julia-tagbot[bot] almost 6 years ago

Oceananigans.jl - πΌπ½ 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)
Hydrosphere - Ocean Models
- Julia
Published by julia-tagbot[bot] almost 6 years ago

Oceananigans.jl - β½ 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.
Hydrosphere - Ocean Models
- Julia
Published by ali-ramadhan almost 6 years ago

Oceananigans.jl - π§ 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.
Hydrosphere - Ocean Models
- Julia
Published by ali-ramadhan about 6 years ago

Oceananigans.jl - π¦ Oceananigans v0.5.2
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
Hydrosphere - Ocean Models
- Julia
Published by ali-ramadhan about 6 years ago

Oceananigans.jl - πͺ Oceananigans v0.5.1
Updating packages for CI and updating package version/UUID for attobot.
Hydrosphere - Ocean Models
- Julia
Published by ali-ramadhan about 6 years ago

Oceananigans.jl - π« 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!
Hydrosphere - Ocean Models
- Julia
Published by ali-ramadhan about 6 years ago

Oceananigans.jl - ποΈ Oceananigans v0.4.0: Fast CPU and GPU support with shared kernels using GPUifyLoops.jl
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!
Hydrosphere - Ocean Models
- Julia
Published by ali-ramadhan about 6 years ago

Oceananigans.jl - π₯§ Oceananigans v0.3: More model features and super hacky GPU support.
Features
- Main struct is now the
Model
instead of theProblem
. It should be neater too. - Support for no-slip boundary conditions at the top and bottom.
- Boundary condition information stored in a
BoundaryConditions
struct. - Abstract output writer (checkpoints and writing fields to disk) and diagnostics framework.
ModelMetadata
struct to store architecture (e.g.:cpu
or:gpu
) and floating point number precision.ModelConfiguration
struct to store physical parameters such as viscosity and diffusivity.Clock
struct keeps track of time, time step number, and Ξt.- Refactored Ξ΄! and avg! operators to use
@views @.
so they work on CPUs and GPUs. - GPU-compatible DFT! and IDFT! operators based on FFT! and IFFT! operations.
- Super hacky and very slow GPU support (but it works out of the box!). This will be overhauled ASAP.
- Support for 1D vertical models.
- More examples: stratified deep convection, RayleighβBΓ©nard convection, 1D vertical.
Main bug fixes
- Added in Coriolis term for u and v-momentum equations (important for 3D simulations). https://github.com/ali-ramadhan/Oceananigans.jl/commit/1b07df1964a53661298ad721aef3896d60a0277d
- Fixed typo in uβw! operator causing blowup in some 2D simulations (Ay and Az were mixed up). https://github.com/ali-ramadhan/Oceananigans.jl/commit/d7326c8cc75e058d5e3fbc672c0b303d0cd0ee35
Hydrosphere - Ocean Models
- Julia
Published by ali-ramadhan about 6 years ago

Oceananigans.jl - π Oceananigans v0.2: Abstractions and much faster time stepping
- High-level abstractions for the grid, fields, field sets, constant collections, equation of state, and spectral solver parameters.
- Model code has been refactored so that all operators now modify the fields in place and no memory allocation occurs during time stepping.
- FFTs and DCTs are planned at the start so the quasi-spectral solver can do its work faster.
- Code works in 2D (vertical slices with Nx=1 or Ny=1, and horizontal slices with Nz=1).
- Many more unit tests.
- Examples: isotropic diffusion, horizontal advection, deep convection and Rayleigh-Taylor instability.
Hydrosphere - Ocean Models
- Julia
Published by ali-ramadhan over 6 years ago

Oceananigans.jl - π Oceananigans v0.1: Working model
- Ocean model works!
- Nonhydrostatic algorithm including quasi-spectral solver work and do not blow the model up!
- Numerous examples run as expected in 2D and 3D.
- More tests need to be run, and the code needs to be cleaned up.
Hydrosphere - Ocean Models
- Julia
Published by ali-ramadhan over 6 years ago
