Releases: CliMA/Oceananigans.jl
Releases · CliMA/Oceananigans.jl
🦠 Oceananigans v0.27.2
Oceananigans v0.27.2
- Fixes a bug with the zeros function so we can compute
HorizontalAverage
s on the GPU.
Closed issues:
- Bug in zeros function (#719)
progress(simulation)
is not always called duringrun!
(#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
Oceananigans v0.27.1
Merged pull requests:
📯 Oceananigans v0.27.0
Oceananigans v0.27.0
Breaking changes:
- in
FieldBoundaryConditions(grid, location)
, the argumentlocation
is now be a 3-tuple of uninstantiated types, eg:(Face, Cell, Cell)
for a field at the location of theu
-velocity field. Previously,location
was a 3-tuple of instantiated types.
Release notes:
has_velocities
was fixed so thatshow
works for models with no tracersBoundaryFunction
can now have parameters: useBoundaryFunction(func, parameters)
iffunc(ξ, ζ, t, parameters)
takes a final argumentparameters
. (parameters=nothing
by default.)- four new wrapper functions were defined for specifying 'simple' boundary condition functions:
TracerBoundaryCondition
UVelocityBoundaryCondition
VVelocityBoundaryCondition
WVelocityBoundaryCondition
- All four functions take three (optionally four) arguments:
(bctype, boundary, func, [parameters=nothing])
, wherebctype
isValue
,Gradient
, orFlux
and boundary is:x
,:y
, or:z
. Ifparameters=nothing
,func(ξ, ζ, t)
is a function of the on-boundary coordinates(ξ, ζ)
and timet
. Ifparameters
is set, it is passed tofunc(ξ, ζ, 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
Oceananigans v0.26.0
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
andParameterizedBoundaryCondition
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
Oceananigans v0.25.2
Closed issues:
- Abstraction for "equation" for performance, code clarity, memory footprint reduction, and powerful user interface (#259)
Merged pull requests:
- Calculate tendencies on boundaries (#677) (@glwagner)
- Add CompatHelper as a GitHub action (#687) (@ali-ramadhan)
🛠️ Oceananigans v0.25.1
Oceananigans v0.25.1
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:
- Update examples and test them again (#671) (@ali-ramadhan)
- Reorganize boundary function functionality (#680) (@glwagner)
- Update README.md (#681) (@glwagner)
- Fix memory allocations on CPU (#685) (@ali-ramadhan)
🔮 Oceananigans v0.25.0
Oceananigans v0.25.0
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:
- Simulation handles closing of
NetCDFOutputWriter
(#652) (@suyashbire1) - Change default NetCDF temperature units: K to °C (#663) (@ali-ramadhan)
- Store tendencies correctly after time-step (#664) (@glwagner)
- Rewrite regression tests (#665) (@glwagner)
- Time step with predictor velocities (#666) (@glwagner)
- Correct no penetration bcs (#670) (@glwagner)
🕰️ Oceananigans v0.24.2
Oceananigans v0.24.2
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:
- Allow for
DateTime
clocks (#632) (@ali-ramadhan) - Fix method redefinition warnings (#656) (@ali-ramadhan)
- Model constructor cleanup (#662) (@glwagner)
🧶 Oceananigans v0.24.1
Oceananigans v0.24.1
Closed issues:
- Register Oceananigans v0.24.0 (#646)
- Getting timestep from simulation class is cumbersome (#648)
- Method redefinition warnings (#655)
Merged pull requests:
- New default size for FaceFields (#644) (@glwagner)
- Improves getting time step from Simulation type (#649) (@suyashbire1)
- Fix method redefinition warnings (#656) (@ali-ramadhan)
🗿 Oceananigans v0.24.0
Oceananigans v0.24.0
Closed issues:
Merged pull requests:
- Upgrade fields to store boundary conditions (#631) (@ali-ramadhan)
- Simulation parameters and prettier show methods (#639) (@ali-ramadhan)
- Upgrade NetCDF output writer to write arbitrary outputs for LESbrary use (#643) (@ali-ramadhan)
- New default size for FaceFields (#644) (@glwagner)