Skip to content

Releases: CliMA/Oceananigans.jl

🦠 Oceananigans v0.27.2

14 Apr 16:01
a3504a1
Compare
Choose a tag to compare

Oceananigans v0.27.2

Diff since v0.27.1

  • Fixes a bug with the zeros function so we can compute HorizontalAverages on the GPU.

Closed issues:

  • Bug in zeros function (#719)
  • progress(simulation) is not always called during run! (#723)
  • Major performance regression (#726)

Merged pull requests:

  • Test for second-order convergence of pressure solver (#704) (@glwagner)
  • Update CUDA packages (#713) (@ali-ramadhan)
  • CompatHelper: bump compat for "CUDAnative" to "3.0" (#717) (@github-actions[bot])
  • CompatHelper: bump compat for "CuArrays" to "2.0" (#718) (@github-actions[bot])
  • Make generic zeros function work on GPU (#720) (@glwagner)
  • Bump to 0.27.2 (#730) (@glwagner)

🦗 Oceananigans v0.27.1

18 Mar 16:01
319cd72
Compare
Choose a tag to compare

Oceananigans v0.27.1

Diff since v0.27.0

Merged pull requests:

📯 Oceananigans v0.27.0

16 Mar 21:01
8e3c275
Compare
Choose a tag to compare

Oceananigans v0.27.0

Diff since v0.26.0

Breaking changes:

  • in FieldBoundaryConditions(grid, location), the argument location is now be a 3-tuple of uninstantiated types, eg: (Face, Cell, Cell) for a field at the location of the u-velocity field. Previously, location was a 3-tuple of instantiated types.

Release notes:

  • has_velocities was fixed so that show works for models with no tracers
  • BoundaryFunction can now have parameters: use BoundaryFunction(func, parameters) if func(ξ, ζ, t, parameters) takes a final argument parameters. (parameters=nothing by default.)
  • four new wrapper functions were defined for specifying 'simple' boundary condition functions:
    1. TracerBoundaryCondition
    2. UVelocityBoundaryCondition
    3. VVelocityBoundaryCondition
    4. WVelocityBoundaryCondition
  • All four functions take three (optionally four) arguments: (bctype, boundary, func, [parameters=nothing]), where bctype is Value, Gradient, or Flux and boundary is :x, :y, or :z. If parameters=nothing, func(ξ, ζ, t) is a function of the on-boundary coordinates (ξ, ζ) and time t. If parameters is set, it is passed to func(ξ, ζ, t, parameters).

Closed issues:

  • API divergence for abstract operations versus boundary conditions (#659)
  • "show" method throws an error for models with no tracers (#700)

Merged pull requests:

✒️ Oceananigans v0.26.0

15 Mar 14:01
229b35d
Compare
Choose a tag to compare

Oceananigans v0.26.0

Diff since v0.25.2

Some breaking changes:

  • Function signatures for boundary condition functions and forcing functions have been simplified.
  • The model.parameters field has been nuked in favor of more local "parameters" functionality. ParameterizedForcing and ParameterizedBoundaryCondition convenience types and functions have been added

The new forcing function signature is

F(i, j, k, grid, clock, state)

while the new boundary condition function signature is

bc(i, j, grid, clock, state)

where i, j are indices along the boundary.

state is a NamedTuple with fields velocities, tracers, and diffusivities, each corresponding to an OffsetArray that references the data associated with each field.

Closed issues:

  • Stabilizing forcing function arguments and boundary condition function arguments (#682)

Merged pull requests:

  • CompatHelper: bump compat for "CUDAdrv" to "6.0" (#688) (@github-actions[bot])
  • CompatHelper: bump compat for "CUDAapi" to "4.0" (#689) (@github-actions[bot])
  • Fix typo in application of y value BCs (#690) (@ali-ramadhan)
  • Fix cell_diffusion_timescale with zero tracers (#691) (@ali-ramadhan)
  • Simpler boundary condition functions and forcing functions (#697) (@glwagner)

🦮 Oceananigans v0.25.2

07 Mar 01:01
26c9f0b
Compare
Choose a tag to compare

Oceananigans v0.25.2

Diff since v0.25.1

Closed issues:

  • Abstraction for "equation" for performance, code clarity, memory footprint reduction, and powerful user interface (#259)

Merged pull requests:

🛠️ Oceananigans v0.25.1

06 Mar 14:01
a624737
Compare
Choose a tag to compare

Oceananigans v0.25.1

Diff since v0.25.0

Closed issues:

  • Pretty printing for model structs. (#26)
  • Grid should encode whether positive means east, north, etc. (#50)
  • Iterate over a node list instead of using nested loops. (#61)
  • Standard field names for NetCDF output. (#91)
  • How to deal with cell-centered and face-centered fields in NetCDF output? (#92)
  • Faster and more flexible NetCDF IO. (#145)
  • Safely using @inbounds (#164)
  • Casting CuArrays to Arrays for many operations. (#171)
  • Staging branch (#206)
  • PoissonBCs for pressure solver are redundant (#311)
  • Model verification experiments (#346)
  • Boundary condition API kernels should use dynamic launch configuration (#363)
  • Minor performance regression (more memory allocations) (#397)
  • time_step! function for adaptive time stepping (#431)
  • Add finalizer for NetCDFOutputWriter so we don't have to manually close files (#568)
  • CPU performance regression: tons of allocations (#675)
  • Bounded not defined (#679)
  • ERROR: LoadError: UndefVarError: SolutionBoundaryConditions not defined (#686)

Merged pull requests:

🔮 Oceananigans v0.25.0

05 Mar 15:01
74cfb85
Compare
Choose a tag to compare

Oceananigans v0.25.0

Diff since v0.24.2

Closed issues:

  • Integrate opening and closing of Netcdf outputwriters in simulation loop (#650)
  • Netcdf output writer does not respect the clobber keyword (#651)
  • Bug in fill_north_halo (#668)
  • Bug (?) in loop_xz macro (#669)

Merged pull requests:

🕰️ Oceananigans v0.24.2

03 Mar 00:01
d5baa8f
Compare
Choose a tag to compare

Oceananigans v0.24.2

Diff since v0.24.1

Closed issues:

  • Model constructor is slightly mangled (#647)
  • Method redefinition warnings (#655)
  • Register Oceananigans v0.24.1 (#657)
  • Unexpected Simulation checkpointing frequency behavior (#661)

Merged pull requests:

🧶 Oceananigans v0.24.1

28 Feb 21:01
042f8cf
Compare
Choose a tag to compare

Oceananigans v0.24.1

Diff since v0.24.0

Closed issues:

  • Register Oceananigans v0.24.0 (#646)
  • Getting timestep from simulation class is cumbersome (#648)
  • Method redefinition warnings (#655)

Merged pull requests:

🗿 Oceananigans v0.24.0

26 Feb 04:01
2ae1cbb
Compare
Choose a tag to compare

Oceananigans v0.24.0

Diff since v0.23.0

Closed issues:

  • Storing boundary conditions inside fields (#606)
  • Register Oceananigans v0.23.0 (#638)

Merged pull requests: