Recent Releases of Oceananigans.jl
Oceananigans.jl - v0.97.8
Oceananigans v0.97.8
Merged pull requests: - RK3 CATKE Implementation (#4705) (@simone-silvestri) - Informative error when using LagrangianParticles on Distributed archs (#4709) (@navidcy) - Correct the implicit Split-RK3 diffusion implementation (#4710) (@simone-silvestri) - Update Atkinson et al. 2025 (#4716) (@erin-atkinson) - Add Shikanian and Parfenyev (2025) (#4717) (@navidcy) - Bump patch release (#4718) (@navidcy)
Closed issues: - Error: running Lagrangian Particles in Distributed(CPU()) mode (#4697)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 6 months ago
Oceananigans.jl - v0.97.7
Oceananigans v0.97.7
Merged pull requests:
- Move storage space to from MutableVerticalDiscretization to ZStarCoordinate (#4686) (@simone-silvestri)
- Fix some inference problems in the launch! function (#4699) (@simone-silvestri)
- Create methods for equality of ImmersedBoundaryGrids (#4700) (@tomchor)
- Regularize field boundary conditions with a location rather than a name (#4704) (@simone-silvestri)
- Just updating this branch with recent changes to main. (#4707) (@jlk9)
Closed issues: - Unable to use continuous function with ValueBoundaryCondition (#4702)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 6 months ago
Oceananigans.jl - v0.97.6
Oceananigans v0.97.6
Merged pull requests:
- NonhydrostaticModel on a LatitudeLongitudeGrid (#4654) (@simone-silvestri)
- Fix distributed HydrostaticFreeSurfaceModel test that seem to break with memory error (#4666) (@navidcy)
- Filter warnings from doctest output (#4673) (@navidcy)
- Only enforce open boundary mass conservation for open boundaries (#4674) (@navidcy)
- CompatHelper: bump compat for Reactant in [weakdeps] to 0.2, (keep existing compat) (#4675) (@github-actions[bot])
- CompatHelper: bump compat for AMDGPU in [weakdeps] to 2, (keep existing compat) (#4676) (@github-actions[bot])
- [Reactant] Add recursive specialization for BinaryOperation (#4680) (@wsmoses)
- Make nested functions in conditional differences immersed metric-aware (#4685) (@xkykai)
- Allow users to reuse a predefined schedule in many output writers (#4690) (@navidcy)
- Update spacings calls to enable array operations. (#4691) (@jlk9)
- (0.97.6) Move the computation of flux BC before the time-stepping (#4696) (@simone-silvestri)
Closed issues:
- Add CATKE to documentation (#2330)
- PerturbationAdvectionOpenBoundaryCondition leads to nonzero mass fluxes into the domain (#4596)
- Can't open a grid on GPU (#4679)
- Open boundary conditions on a Bounded topology is a misnomer (#4681)
- Conditional difference operator like δxᶜᶜᶜ with nested function operations does not see immersed metrics in inner function evaluation (#4684)
- OutputWriters don't actuate if a pre-defined schedule that was already used in a different OutputWriter is provided (#4689)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 7 months ago
Oceananigans.jl - v0.97.5
Oceananigans v0.97.5
Merged pull requests: - (0.97.5) Enforce mass-conservation inside domains with Radiation OpenBoundaryConditions (#4627) (@tomchor)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 7 months ago
Oceananigans.jl - v0.97.4
Oceananigans v0.97.4
Merged pull requests:
- Fix a couple of typos in grids.md (#4667) (@tomchor)
- (0.97.4) Speed up reductions and remove inference problems in Field constructor (#4668) (@simone-silvestri)
- Correct regularization for ImmersedBoundaryCondition (#4670) (@simone-silvestri)
Closed issues:
- set! not setting values on the edges (#4664)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 7 months ago
Oceananigans.jl - v0.97.3
Oceananigans v0.97.3
Merged pull requests: - Fix boundary conditions with general vertical coordinate (#4651) (@simone-silvestri) - CompatHelper: bump compat for AMDGPU in [weakdeps] to 2, (keep existing compat) (#4656) (@github-actions[bot]) - Bump patch release (#4665) (@navidcy)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 7 months ago
Oceananigans.jl - v0.97.2
Oceananigans v0.97.2
Merged pull requests: - Docs for Generalized vertical coordinate (+ discrete implementation) + ZStar vertical coordinate for HydrostaticFreeSurfaceModel (#4588) (@simone-silvestri) - (0.97.2) Adds few utilities for stretched coordinates + Docs/Grids section on how to use these utils (#4623) (@navidcy) - Generalize Docs/Simulation tips section for any GPU architectures (#4650) (@navidcy) - Fix for distributed unit tests (#4662) (@simone-silvestri)
Closed issues: - Docs/Simulation tips section needs minor update after moving CUDA to an extension (#4647)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 7 months ago
Oceananigans.jl - v0.97.1
Oceananigans v0.97.1
Merged pull requests:
- @allowscalar when indexing FieldTimeSeries times on the GPU (#4652) (@simone-silvestri)
- add mailmap (#4657) (@vchuravy)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 7 months ago
Oceananigans.jl - v0.97.0
Oceananigans v0.97.0
Breaking changes
- CUDA-related functionality moved into an extension. Using CUDA-enabled GPU now requires loading CUDA.jl package, e.g.,
```Julia using Oceananigans using CUDA
grid = RectilinearGrid(GPU(), size=(10, 10, 10), extent=(1, 1, 1)) ```
Merged pull requests:
- (0.97.0) Move CUDA stuff to an extension (#4499) (@michel2323)
- Remove default particles from checkpointing; also only add time stepper if needed (#4598) (@simone-silvestri)
- Pin Makie @ v0.23 (#4635) (@navidcy)
- Clock enhancements (#4637) (@navidcy)
- Small improvement in Average constructor (#4638) (@tomchor)
- Minor enhancement to show(io, ::OutputWriters) (#4640) (@navidcy)
- Add NetCDFWriter docstring in Docs/Appendix/Library (#4642) (@navidcy)
- Remove redundant clock.last_Δt = Δt step in SplitExplicitRK3 timestepper (#4643) (@navidcy)
- Add SplitExplicitFreeSurface checkpointer tests (#4644) (@navidcy)
- Add using CUDA in benchmark tests + remove extra CUDA-specific methods from tests (#4646) (@simone-silvestri)
- CompatHelper: add new compat entry for GPUArraysCore at version 0.2, (keep existing compat) (#4648) (@github-actions[bot])
- Bump the compat entry for AMDGPU.jl (#4649) (@amontoison)
Closed issues:
- HydrostaticFreeSurfaceModel dynamics tests on ConformalCubedSphereGrid with fully explicit treatment of the free surface (#3265)
- Move CUDA into an extension (#3481)
- NetCDFWriter docstring missing from Docs/Appendix/Library (#4641)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 7 months ago
Oceananigans.jl - v0.96.35
Oceananigans v0.96.35
Merged pull requests:
- Don't initialize callback every timestep (#4212) (@glwagner)
- Fix saveproperty! for a ConstantField (#4393) (@simone-silvestri)
- Add output functionality for conformal cubed sphere fields (#4599) (@siddharthabishnu)
- Add checkpointing support for conformal cubed sphere fields (#4602) (@siddharthabishnu)
- CompatHelper: bump compat for Reactant in [weakdeps] to 0.2, (keep existing compat) (#4625) (@github-actions[bot])
- Change `closureconstant()toclosure_coefficient()` (#4631) (@tomchor)
- Bump to 0.96.35 (#4632) (@glwagner)
Closed issues:
- How to save properties of ImmersedBoundaryGrid with NetCDFOutputWriter? (#3536)
- Return view of Array/CuArray for *nodes rather than view(OffsetArray()) (#4620)
- Should we change closure_constant() to closure_coefficient()? (#4630)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 8 months ago
Oceananigans.jl - v0.96.34
Oceananigans v0.96.34
Merged pull requests:
- Fix the problem that particles may be out of bounds when velocity is too large (#3349) (@Yixiao-Zhang)
- Introduce closure_constant interface for AMD and SmagorinskyLilly (#3370) (@glwagner)
- Use triads (Griffies et al 1998) to compute the skew flux (#3901) (@glwagner)
- Fix GPU indexing flat fields (#4090) (@simone-silvestri)
- Add time to Field generated from FieldTimeSeries (#4141) (@glwagner)
- Add tests for ConjugateGradientPoissonSolver with PerturbationAdvectionOpenBoundaryConditions in ImmersedBoundaryGrids (#4539) (@tomchor)
- Small code refactorings in Utils (#4587) (@thimotedupuch)
- CompatHelper: bump compat for MakieCore in [weakdeps] to 0.10, (keep existing compat) (#4601) (@github-actions[bot])
- Updating barotropic gyre validation script to run with current package interface (#4608) (@matt-graham)
- CompatHelper: bump compat for Makie in [weakdeps] to 0.24, (keep existing compat) (#4611) (@github-actions[bot])
- Adds DroguedDynamics for lagrangian particles (#4612) (@jagoosw)
- Example with TEOS10EquationOfState + "single wrapped" *nodes (#4615) (@glwagner)
- Remove grid arg/kwarg from Centered and Upwind constructors (#4616) (@glwagner)
- Replaces duplicate κᶜᶜᶜ with κᶠᶠᶠ (#4617) (@navidcy)
- Update papers list (#4619) (@navidcy)
- Drop TimesDates from direct dependency (#4622) (@navidcy)
Closed issues:
- Docstrings for modules (#728)
- Validation tests for immersed boundary implementations (#775)
- Example using nonlinear equation of state (#802)
- Find a way to build Literate.jl examples in isolation before makedocs (#1053)
- Documenting advection schemes (#1318)
- Abstraction for vector fields (#1585)
- Fix warning message for halo size (#1666)
- Re-implementing the HydrostaticFreeSurfaceModel with Generalized Vertical Coordinates (GVC) (#1679)
- Oceananigans.BuoyancyModels module should include functionality to compute isopycnal slopes (#2014)
- Need new name for the category BuoyancyTracer, SeawaterBuoyancy (#2022)
- CFL diagnostic is not very useful, and we don't need to depend on Tullio (#2037)
- Floating point / type restrictions in sparse matrix solver utils (#2125)
- Test needed for ConsecutiveIterations schedule (#2154)
- Would we need a wall-time regression test? (#2176)
- Throw helpful error if times[n] cannot be located when constructing FieldTimeSeries (#2234)
- Serialize boundary condition arrays as Array rather than CuArray? (#2240)
- Distinguish between "masking" and "enforcing impenetrability" in immersed boundary routines (#2249)
- trying to mask with a new immersed boundary method PartialCellBottom (#2251)
- Throw helpful message for common NamedTuple typo? (#2269)
- Implementing k-epsilon (#2278)
- Adding a "Why Julia?" and Mission/Goals section on the Documentation (#2308)
- Can't use kwarg velocities with HydrostaticFreeSurfaceModel for pre-allocated fields (#2341)
- set! with functions does not work with MultiArch (#2350)
- Improving HeptadiagonalIterativeSolver and MatrixImplicitSolver (#2418)
- Should we explain fill_halo_regions!() in the docs? (#2442)
- Proposed enhancements/changes in Docs (#2448)
- Instability of IsopycnalSkewSymmetricDiffusivity at high resolution (#2453)
- Cannot create output writer when output contains a sliced Field (#2497)
- Multi-layer shallow water model (#2507)
- Interface for allocating the prognostic fields and diagnostic fields at the same time (#2509)
- User-facing on_grid utility (#2534)
- Docstrings for getdevice and switch_device! (#2622)
- Do we need a custom Reference? (#2623)
- ConstantCartesianCoriolis test dominates GPU testing wall time (#2647)
- Performance of Preconditioned Conjugate Gradient solver (#2728)
- General matrix constructor for Multigrid solver on GPU uses scalar operations (#2737)
- set! between FieldTimeSeries and Field (#2783)
- Is the velocity field for NonhydrostaticModel divergence free when using ImmersedBoundaryGrid? (#2891)
- MultiRegion not working on multiple GPUs (#2930)
- Docs for Biogeochemistry module (#2974)
- Repository size (#3031)
- Functions and types defined at top level indicate code disorganization (#3048)
- ImmersedBoundaries module should be defined before Advection and TurbulenceClosures (#3062)
- Proposal for sustainable validation scripts (#3076)
- User interface for outputting boundary conditions (#3082)
- Refactor Simulations + simulations infrastructure to be loaded first (#3088)
- Utility for transforming Models with new auxiliary fields (#3099)
- Establishing a standard style for structs (#3136)
- Don't hardcode coordinate and metric halo fillings for the ConformalCubedSphereGrid (#3199)
- Some things in DistributedComputations look like they belong in Models (#3281)
- Encourage, document, test using Field for boundary conditions rather than Array (#3298)
- Use English names instead of mathematical symbols in the user API? (#3301)
- buoyancy.model -> buoyancy.formulation? (#3317)
- Global reductions for Distributed Fields (#3337)
- Can we calculate a Field at every N grid points? (#3460)
- Kernel size calculation for sliced field halo filling seems to be wrong (#3473)
- Performance testing (#3492)
- ImmersedPoissonSolver is slow (#3552)
- Vector rotation for grids where the "intrinsic" and "extrinsic" coordinate system are different (#3625)
- Egregious errors in NonhydrostaticModel simulations on ImmersedBoundaryGrid when nonhydrostatic pressure is not separated (#3677)
- Reducing parameter space usage by LatitudeLongitudeGrid (#3693)
- Docstring for WENOVectorInvariant is too terse and does not have examples (#3703)
- Convert code blocks documenting ImmersedBoundaryCondition to doctests (#3705)
- Do intrinsic_vector and extrinsic_vector belong in Operators? (#3718)
- Is HydrostaticFreeSurfaceModel supposed to support a rigid lid? (#3735)
- Update Buildkite version on Tartarus and Sverdrup (#3751)
- Implement KrylovPoissonSolver (#3803)
- Advection schemes should depend on the grid for spacings and float type inference (#3857)
- Improve active cells map kernels (#3918)
- GPU issue indexing flat fields (#4044)
- Installation issue for Oceananigans@v0.95.9 (#4091)
- Comparing small values using ≈ for FieldTimeSeries (#4100)
- Issue with TimeStepWizard on GPU() (#4105)
- MultipleForcing{4} takes forever to compile (#4128)
- More noise in vorticity (#4131)
- Default Poincare coefficient for AMD is inappropriately small (#4367)
- Scalar indexing for λnodes and φnodes with TripolarGrid (#4541)
- No tests for ConjugateGradientSolver in a triply-bounded ImmersedBoundaryGrid with a flux boundary condition (#4603)
- Simulation time series key "t" missing after second restart from pickup file (#4626)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 8 months ago
Oceananigans.jl - v0.96.33
Oceananigans v0.96.33
Merged pull requests:
- Integrate cubed sphere functionality with halo filling and core infrastructure updates (#4538) (@siddharthabishnu)
- fix mean pressure in FFT preconditioner for ConjugateGradientPoissonSolver for immersed boundaries (#4554) (@xkykai)
- Remove the use of indices for storage in PerturbationAdvection (#4578) (@tomchor)
- Remove shift in FFTBasedPoissonSolver and multiply by negative one in preconditioning for Conjugate GradientPoissonSolver (#4582) (@xkykai)
- Fix transform planning for uniform grids used by FourierTridiagonalPoissonSolver (#4583) (@glwagner)
- (0.96.33) Correct diffusion with a non-linear free surface (#4589) (@simone-silvestri)
- Add both float types to AMDGPU test suite (#4592) (@navidcy)
- Add PiecewiseLinearMask (#4607) (@tomchor)
Closed issues:
- ConjugateGradientPoissonSolver with FFT-based preconditioner does not maintain zero mean pressure (#4553)
- FourierTridiagonalPoissonSolver doesn't work with regular grids (#4580)
- ConjugateGradientPoissonSolver's FFTBasedPoissonSolver doesn't need to flip sign since it's already semi-positive definite (#4581)
- Issue with Internal Tide Test Case – Velocity Field Returns NaN (internal_tide.jl) (#4595)
- Unable to Replicate MITGCM Simulation (#4604)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 8 months ago
Oceananigans.jl - v0.96.32
Oceananigans v0.96.32
Merged pull requests:
- (0.96.32) Fix zspacing() for PartialCellBottom immersed boundaries and add tests for ImmersedGrids (#4572) (@tomchor)
- Fix a couple of bugs for immersed cubed sphere (#4574) (@simone-silvestri)
Closed issues:
- zspacing does not adjust for PartialCellBottom (#4435)
- Error in the @show method of an immersed ConformalCubedSphereGrid (#4573)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 9 months ago
Oceananigans.jl - v0.96.31
Oceananigans v0.96.31
Merged pull requests:
- Call compute! in constructor for ComputedField (#4531) (@glwagner)
- Generalize assumedfieldlocation, plus allow FourierTridiagonalPoissonSolver on regular grid (#4535) (@glwagner)
- Fix small typo in conjugate_gradient_poisson_solver.jl (#4552) (@tomchor)
- Support assignment a = b in @apply_regionally (#4566) (@simone-silvestri)
- Constructor for 1-dimensional KernelParameters (#4568) (@simone-silvestri)
- Use Makie extension in Kelvin-Helmholtz example (#4569) (@navidcy)
- Export SplitRungeKutta3TimeStepper a few docstring fixes (typos and rendering) (#4571) (@navidcy)
- Delete /paper directory (#4575) (@tomchor)
- Add adapt_structure for ForcingKernelFunction (#4579) (@glwagner)
Closed issues: - Confusion about calculation of pressure source term (#4544) - Spurious Buoyancy Plume from Immersed Boundary with FFT Pressure Solver (#4564) - oneAPI extension tests hanging (#4570)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 9 months ago
Oceananigans.jl - v0.96.30
Oceananigans v0.96.30
Merged pull requests:
- Fix Biharmonic Viscosity on Cubed-Sphere Grid (#3850) (@siddharthabishnu)
- Creates bottommost_active_node function (#4507) (@tomchor)
- Shuffle import order to clarify dependencies (#4530) (@glwagner)
- Implement ForcingOperation plus improvements to show (#4534) (@glwagner)
- Uncomment test block in test_dynamics.jl (#4542) (@glwagner)
- Don't search for missing bcs (#4545) (@navidcy)
- Ensure constancy preservation with nonlinear free surface (#4546) (@simone-silvestri)
- Correct diffusive dissipation for tuple of closures (#4548) (@simone-silvestri)
- Fix indexing issues for FieldTimeSeries (#4550) (@simone-silvestri)
- Add constructor for missing FieldBoundaryConditions (#4557) (@glwagner)
- (0.96.30) Fix vector rotation operation (#4560) (@simone-silvestri)
Closed issues: - Biharmonic viscosity on Cubed-Sphere grid (#3849) - Problems with new output readers (#4549)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 9 months ago
Oceananigans.jl - v0.96.29
Oceananigans v0.96.29
Merged pull requests: - (0.96.29) Add adapt structure for BuoyancyForce (#4543) (@glwagner)
Closed issues: - Docs aren't being created for all registered versions (#4413)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 9 months ago
Oceananigans.jl - v0.96.28
Oceananigans v0.96.28
Merged pull requests:
- Solving Poisson equation for p * dt instead of p (#4276) (@xkykai)
- Changes default AMD poincare coefficient (#4494) (@jagoosw)
- Add distributed reductions (#4497) (@navidcy)
- Clean up update_boundary_conditions! (#4503) (@glwagner)
- Fix some FieldTimeSeries indexing bugs (#4505) (@loisbaker)
- Use default prettyurls=true in docs build (#4520) (@navidcy)
- Fix a bug in the handshake macro (#4521) (@simone-silvestri)
- Improve variance dissipation computation (#4522) (@simone-silvestri)
- RK3 variance dissipation support (#4523) (@simone-silvestri)
- Re-zero immersed fields after creating plotting data (#4524) (@glwagner)
- FirstTimeStep: don't call updatestate twice in a row (#4525) (@wsmoses)
- Don't time-step TKE unless warranted (add clock to CATKE and TKEDissipation) (#4526) (@glwagner)
- Fix warning message for set timestepper (#4528) (@simone-silvestri)
- Revert "Don't time-step TKE unless warranted (add clock to CATKE and … (#4533) (@wsmoses)
- Splitting `substepturbulentkineticenergy!into two kernels (#4536) (@jlk9)
- FixVarianceDissipation` docstring links (#4537) (@navidcy)
- Fix indentation in docs/make.jl (#4540) (@tomchor)
Closed issues:
- ConjugateGradientPoissonSolver fails to converge/is numerically unstable for extremely small timesteps (#4067)
- Simulation with ImmersedBoundary blows up on the first step, but only when when plotting a field first (#4519)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 9 months ago
Oceananigans.jl - v0.96.27
Oceananigans v0.96.27
Merged pull requests:
- Variance dissipation computation (#3877) (@simone-silvestri)
- Small improvements to PerturbationAdvectionOpenBoundaryCondition interface (#4394) (@tomchor)
- Fix incorrect type parameter count in ConformalCubedSpherePanel and ConformalCubedSpherePanelGrid definitions (#4500) (@siddharthabishnu)
- Fix out-of-bounds access in vorticity computation at halo boundaries on conformal cubed sphere panels (#4501) (@siddharthabishnu)
- Fill halo regions before interpolating rotated velocities (#4508) (@glwagner)
- Try to update_state during initalization for ReactantModel (#4509) (@glwagner)
- Add Bisits et al. 2025 (#4511) (@navidcy)
- Try running Langmuir turbulence example on GPU with higher resolution (#4512) (@glwagner)
- Add a warning if trying to launch a kernel with workspec () instead of throwing an error (#4514) (@simone-silvestri)
- Warn if using a Distributed architecture using a single rank (#4515) (@simone-silvestri)
- Update Project.toml (#4518) (@navidcy)
Closed issues: - Error running a distributed nonhydrostatic model on CPU (#4483)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 9 months ago
Oceananigans.jl - v0.96.26
Oceananigans v0.96.26
Merged pull requests:
- Include background tracer and velocities in closure tendency terms (#3646) (@glwagner)
- Resolve ambiguity when setting MultiRegionField with a number (#4489) (@siddharthabishnu)
- Refactor getbc interface (#4491) (@glwagner)
- Fix dot implementation (#4493) (@simone-silvestri)
- [docs] Use non-deprecated syntax for MPI.mpiexec (#4496) (@giordano)
- Add BoundaryConditionOperation (#4506) (@glwagner)
- Update Project.toml (#4510) (@glwagner)
Closed issues:
- Oceananigans on AMD GPUs (#1546)
- Having a domain that's periodic in the "gravity" direction doesn't work for gravity_unit_vector = NegativeZDirection() (#3290)
- Update syntax of MPI.mpiexec in docs (#4495)
- Refactor JRA55 to use the DataWrangling Metadata, Bounding_Box, etc functionality (#4498)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 9 months ago
Oceananigans.jl - v0.96.25
Oceananigans v0.96.25
Merged pull requests:
- Store computational coordinates in OrthogonalSphericalShellGrid for non-uniform conformal mappings (#4295) (@siddharthabishnu)
- ReactantExt: Fix conditional operator ordering (#4472) (@wsmoses)
- Interpret u, v within set! on OrthogonalSphericalShellGrid as an extrinsic vector by default (#4479) (@glwagner)
- Clean up LatitudeLongitudeGrid from rectilinear grid (#4480) (@tomchor)
- Update Fields.jl (#4481) (@glwagner)
- Reactant: fix catke type conversions (#4482) (@wsmoses)
- Add extrema(c::AbstractField) (#4484) (@Sbozzolo)
- Bump to 0.96.25 (#4486) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 10 months ago
Oceananigans.jl - v0.96.24
Oceananigans v0.96.24
Merged pull requests: - Some more fixing for polar BC (#4463) (@simone-silvestri) - Add a constructor for LatitudeLongitudeGrid from RectilinearGrid (#4465) (@glwagner) - Better arg name: size -> side (#4469) (@navidcy) - Add Atkinson et al 2024 in papers list (#4471) (@navidcy) - implement default vertical coordinate (#4474) (@glwagner) - Fix show for MutableVerticalDiscretization (#4476) (@glwagner) - Fix default auxiliary bc for y-Flat lat-lon grids (#4477) (@glwagner) - Bump to 0.96.24 (#4478) (@glwagner)
Closed issues:
- BoundsError using WENO and stretched grids (#2717)
- Can't @show a grid with MutableVerticalDiscretization and vector interfaces on GPU (#4475)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 10 months ago
Oceananigans.jl - v0.96.23
Oceananigans v0.96.23
Merged pull requests:
- Add Distributed grids section in Grids tutorial (#3698) (@navidcy)
- support for activecellsmap in kernels (#3920) (@simone-silvestri)
- Fix Zstar-RK3 (#4362) (@simone-silvestri)
- Remove assumption about X/YFaceField on TripolarGrid by generalizing default_auxiliary_boundary_condition (#4368) (@glwagner)
- Export CATKE and k-ε (#4449) (@navidcy)
- Bugfix in RK3 previous fields (#4456) (@simone-silvestri)
- Bugfix BC default (#4457) (@simone-silvestri)
- Improve and test error handling for vertical level specification in grid construction (#4461) (@NoraLoose)
- Make NetCDFWriter work with PartialCellBottom grids (#4462) (@tomchor)
Closed issues:
- Renaming NetCDFOutputWriter to NetCDFWriter (#3936)
- Ax, Ay and Az are negative in a Tripolar grid (#4318)
- NetCDFWriter doesn't work for PartialCellBottom grids (#4416)
- Reading .jld2 with FieldTimeSeries() errors under new Oceananigans version (#4454)
- Scalar indexing when outputting a slice with NetCDFWriter and GPUs (#4464)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 10 months ago
Oceananigans.jl - v0.96.22
Oceananigans v0.96.22
Merged pull requests:
- Add a performance benchmark pipeline (#4375) (@simone-silvestri)
- Improve z-star tracer conservation tests (#4403) (@NoraLoose)
- Fused multiply add (fma) in stencil operations (#4407) (@simone-silvestri)
- Remove stretched advection (#4411) (@simone-silvestri)
- Don't invoke comm buffers on non-distributed grids and move to DistributedComputations (#4414) (@glwagner)
- Fix summary for PartialCellBottom (#4425) (@tomchor)
- Add CATKE and GPU dycore paper references (#4426) (@navidcy)
- Update CATKE docstring (#4427) (@navidcy)
- Remove trailing spaces part 2 (#4429) (@navidcy)
- Remove trailing white spaces part 3 (#4430) (@tomchor)
- Add operators functions for reciprocals of metrics (#4431) (@simone-silvestri)
- Add newtondiv utility for fast (but approximate) mixed-precision computation of divisions (#4432) (@glwagner)
- Ensure user diffusivity NamedTuple have correct ordering (#4437) (@glwagner)
- Use tuple instead of vector in `tiltedbottomboundarylayer.jl` (#4439) (@simone-silvestri)
- Compute the difference between the latest main and the PR (#4440) (@simone-silvestri)
- (0.96.22) Make NetCDFWriter work with GPU grids with stretched dimensions (#4441) (@tomchor)
- Improve benchmarks yml (#4442) (@simone-silvestri)
- Making condition size mismatch error a bit more helpful (#4443) (@taimoorsohail)
- Add Souza et al. 2025 + reorder refs chronologically (#4444) (@navidcy)
- CompatHelper: add new compat entry for MuladdMacro at version 0.2, (keep existing compat) (#4445) (@github-actions[bot])
- Use vertical spacing reciprocal in implicit solver (#4447) (@simone-silvestri)
- Adding the possibility of having dynamical particles (#4448) (@simone-silvestri)
Closed issues:
- Tracer conservation is broken in ZStar with Julia 1.11.4 (#4340)
- Improve and Verify Z-Star Tracer Conservation Tests (#4395)
- NetCDFWriter scalar indexing error on GPU (#4397)
- Tilted BBL example not working on GPU (#4438)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 10 months ago
Oceananigans.jl - v0.96.21
Oceananigans v0.96.21
Merged pull requests:
- Implement an interface for writing output with Simulation (#4271) (@glwagner)
- Remove trailing white spaces in code (#4304) (@tomchor)
- Reduce turbulence closure tests cost (#4380) (@simone-silvestri)
- Minor cosmetic improvements to internal tide example (#4400) (@glwagner)
- Intersect indices in outputconstruction (#4401) (@glwagner)
- Clean up buildkite pipeline slightly (#4404) (@glwagner)
- Mask implicit linear coefficient if inside an immersed boundary (#4405) (@simone-silvestri)
- Further clean up the buildkite yml (#4408) (@glwagner)
- Fix rendering + reference `defaultcheckpointedpropertiesinCheckpointerdocstring (#4410) (@jbisits)
- Clean up extra code intestturbulence_closures.jl` (#4415) (@tomchor)
- Add link to docstring of ConditionalOperations in the docs for various reductions (#4418) (@navidcy)
- Support Krylov.jl v0.10 (#4419) (@amontoison)
- Fix adapt for TKEDissipationDiffusivityFields (#4421) (@wsmoses)
- Bump to 0.96.21 (#4424) (@glwagner)
Closed issues: - Turbulence closure tests taking a very long time (#4379) - AMDGPU CI (#4398) - Simulation callback: Error encountered when updating u_s with time (#4422)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 10 months ago
Oceananigans.jl - v0.96.20
Oceananigans v0.96.20
Merged pull requests:
- Replace IncompleteLU.jl by KrylovPreconditioners.jl (#3789) (@amontoison)
- Interface to Krylov.jl solvers (#4041) (@amontoison)
- Test zstar on a tripolar grid (#4360) (@simone-silvestri)
- Fix summary() for ConjugateGradientPoissonSolver (#4373) (@tomchor)
- Refactor implicit vertical diffusion solver to avoid passing diffusivity functions to kernel (#4377) (@glwagner)
- Clean up notation in computew kernel (#4378) (@glwagner)
- Add extensions for AMDGPU.jl and oneAPI.jl (#4381) (@amontoison)
- add bulidkite pipeline-juliagpu for AMD and oneAPI testing (#4389) (@glwagner)
- fix: better sharding constructs (#4390) (@avik-pal)
- Add topology-aware and conditional ops for AbstractArray (#4391) (@glwagner)
- Change isopycnalskewsymmetricdiffusivity.jl to use DiffusiveFormulation (#4392) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 10 months ago
Oceananigans.jl - v0.96.19
Oceananigans v0.96.19
Merged pull requests:
- Correctly account for field names in ContinuousBoundaryFunctions (#4008) (@simone-silvestri)
- Zstar test that actually test conservation (#4342) (@simone-silvestri)
- Add validation for condition kwarg in ConditionalOperation for immersed boundary grids (#4353) (@navidcy)
- Respect user condition for ConditionalOperation of reduced fields (#4357) (@glwagner)
- Add special function-set for sharding (#4363) (@glwagner)
- Refactor hydrostatic free surface names (#4366) (@glwagner)
- Require interval::Int in IterationInterval? (#4370) (@glwagner)
- Remove the performance hit from using KernelOffsets (#4372) (@simone-silvestri)
- Bump to 0.96.19 (#4374) (@glwagner)
Closed issues:
- The NotImmersedColumn misses extra user-defined condition (#4352)
- Performance regression issues (#4365)
- Using 1days should throw an error in IterationInterval in OutputWriters (#4369)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.18
Oceananigans v0.96.18
Merged pull requests: - Correcting split explicit barotropic velocities (#4355) (@simone-silvestri) - (0.96.18) Update Project.toml (#4356) (@simone-silvestri)
Closed issues:
- CumulativeIntegral throws error when integrated over a reduced Field (#4078)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.17
Oceananigans v0.96.17
Merged pull requests: - Massive clean up for conditional operations (#3794) (@glwagner) - Use polar criteria to build PolarBoundaryCondition (#4350) (@glwagner) - Bump to 0.96.17 (#4351) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.16
Oceananigans v0.96.16
Merged pull requests: - Build sharded coordinates on the CPU (#4343) (@simone-silvestri) - fix: sharding dropped on LatLon Grid (#4344) (@avik-pal) - Fix allocation of diffusion solver scratch field (#4345) (@glwagner) - Bump to 0.96.16 (#4346) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.15
Oceananigans v0.96.15
Merged pull requests: - More fixes for z sharding on vertically Flat grids (#4338) (@glwagner) - Throw an error when the partitioning seems wrong (#4339) (@glwagner) - Bump to 0.96.15 (#4341) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.14
Oceananigans v0.96.14
Merged pull requests:
- Fix a memory allocation issues (#4336) (@simone-silvestri)
- (0.96.14) Support Flat vertical dir: sharded_z for z::Nothing (#4337) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.13
Oceananigans v0.96.13
Merged pull requests: - fix: create the grid directly on device (#4334) (@avik-pal) - Bump 0.96.13 (#4335) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.12
Oceananigans v0.96.12
Merged pull requests:
- Pad Center fields on BoundedTopology so that all Fields have identical horizontal size (#4144) (@glwagner)
- Increment runwalltime during time_step! again (#4327) (@glwagner)
- Pad for all Reactant models not just sharded ones (#4329) (@glwagner)
- Bump to 0.96.12 (#4331) (@glwagner)
Closed issues: - Wall time callback (#4326)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.11
Oceananigans v0.96.11
Merged pull requests: - Fix broken doctests (#4315) (@glwagner) - Removes warning from implicit-explicit RK3 (#4317) (@jagoosw) - Sharding on a rectilinear grid (#4323) (@simone-silvestri)
Closed issues:
- Problems installing Oceananigans on a new server (#4176)
- BoundsError accessing JRA55_field_time_series (#4321)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.10
Oceananigans v0.96.10
Merged pull requests: - (0.96.10) Fix bug when masking CATKE during time-stepping (#4314) (@glwagner)
Closed issues: - EKE is zero with [some] CATKE configs (#4307)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.9
Oceananigans v0.96.9
Merged pull requests: - Use default FloatType to build Reactant clock (#4308) (@glwagner) - Bump to 0.96.9 (#4311) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.8
Oceananigans v0.96.8
Merged pull requests: - Rm hardcoded Float32 in VerticalScalarDiffusivity (#4309) (@glwagner) - Bump to 0.96.8 (#4310) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.7
Oceananigans v0.96.7
Merged pull requests:
- Replaces greek capital N with latin N in variable names... (#4297) (@navidcy)
- Fix some broken tests (#4299) (@simone-silvestri)
- Swap around latitude longitude metrics (#4300) (@simone-silvestri)
- Undo pipelining for a ShardedDistributed architecture (#4301) (@simone-silvestri)
- Switch default behavior of Distributed architecture (#4302) (@simone-silvestri)
- Bump to 0.96.7 (#4303) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.6
Oceananigans v0.96.6
Merged pull requests: - Export spacings operators near where they are defined (#4280) (@glwagner) - Reinstate sharding tests (#4281) (@simone-silvestri) - Fixes for running on TPUs... (#4289) (@glwagner) - Convert EOS and fix tests (#4290) (@simone-silvestri) - Fix bug in z-sharding for latitude-longitude grid (#4294) (@simone-silvestri) - Bump to 0.96.6 (#4296) (@glwagner)
Closed issues: - Reduction of Reduction (#4279) - How can I use Field as input in UniformStokesDrift? (#4291)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.5
Oceananigans v0.96.5
Merged pull requests:
- Add validation for condition kwarg in ConditionalOperation (#4266) (@navidcy)
- Reactant in weak deps (#4283) (@simone-silvestri)
- Reactant: enforce tick_time to be in place (#4284) (@wsmoses)
- Update Project.toml (#4286) (@simone-silvestri)
Closed issues:
- Conditional operations with condition=cond::Array should warn if cond does not match the size of the field (#4265)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.4
Oceananigans v0.96.4
Merged pull requests:
- [Reactant] Materialize traced array (#4270) (@wsmoses)
- Sharding for LatitudeLongitudeGrid and extend Distributed methods for Distributed{<:ReactantState} (#4272) (@simone-silvestri)
- adding a missing on_architecture(::Distributed, ::OrthogonalSphericalShellGrids) (#4274) (@simone-silvestri)
- Bump to 0.96.4 (#4282) (@glwagner)
Closed issues:
- main seems broken after #4270? (#4278)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.3
Oceananigans v0.96.3
Merged pull requests:
- Implement Distributed{<:ReactantState} (#4200) (@glwagner)
- Support BoussinesqEquationOfState in NetCDFWriter (#4252) (@jbisits)
- Generalize Simulation struct (#4261) (@glwagner)
- Fix array indexing (#4264) (@wsmoses)
- Bump to 0.96.3 (#4273) (@glwagner)
Closed issues:
- Missing method for default_tracer_attributes in NetCDFWriter when using a BoussinesqEquationOfState from SeawaterPolynomails.jl (#4251)
- Blowup when trying to reproduce MITgcm Barotropic Ocean Gyre (#4267)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.2
Oceananigans v0.96.2
Merged pull requests: - feat: Distributed Reactant (#4246) (@avik-pal) - Try to make LatitudeLongitudeGrid traceable (#4259) (@glwagner) - Bump to 0.96.2 (#4263) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.1
Oceananigans v0.96.1
Merged pull requests: - Add section in the docs for reduced operations (#4235) (@navidcy) - Reactant: add maketracer for grid (#4242) (@wsmoses) - findtimeindex for TracedStepRangeLen (#4249) (@jumerckx) - Use VectorInvariant instead of WENOVectorInvariant in testreactant for lat-lon (#4256) (@glwagner) - Bump to 0.96.1 (#4257) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.0
Oceananigans v0.96.0
Breaking changes
This breaking release overhauls NetCDFOutputWriter (which is now called NetCDFWriter) and moves it to an extension. From now on scripts that use NetCDFWriter must explicitly import NCDatasets. JLD2OutputWriter also got renamed to JLD2Writer.
Relevant PRs are https://github.com/CliMA/Oceananigans.jl/pull/4046, https://github.com/CliMA/Oceananigans.jl/pull/4210 and https://github.com/CliMA/Oceananigans.jl/pull/4239.
Merged pull requests:
- (0.96.0) Improve the NetCDFOutputWriter experience (#4046) (@ali-ramadhan)
- (0.96.0) Rename output writers to JLD2Writer and NetCDFWriter (#4210) (@tomchor)
- Add a second Reactant test group (#4231) (@glwagner)
- Test setting ReactantState Field to array (#4236) (@glwagner)
- Add a copyto for Field with Array (#4238) (@glwagner)
- (0.96.0) Move NetCDFWriter to an extension (#4239) (@tomchor)
- Add Johnston et al. 2025 (#4240) (@navidcy)
- Reactant: fix inner traced type of different grids (#4241) (@wsmoses)
- Better name than RankConnectivity (#4244) (@glwagner)
- Export operators for surface / horizontally-reduced derivatives (#4248) (@glwagner)
Closed issues:
- Integrating Oceananigans with Python-xgcm (#1334)
- Support curvilinear grids with NetCDFOutputWriter? (#2248)
- Output constructor does not work with sliced fields (#2770)
- Helper for outputting a NetCDF "grid file" (#3997)
- Trouble Installing Oceananigans (#4133)
- Should we compile with -O0 for the docs build? (#4229)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.95.29
Oceananigans v0.95.29
Merged pull requests:
- Capture Clock.stage with a type parameter (#4226) (@jumerckx)
- Add adapt for TimeInterpolator (#4227) (@wsmoses)
- Convert TimeInterpolator indices to Int (#4230) (@glwagner)
- Bump to 0.95.29 (#4232) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.95.28
Oceananigans v0.95.28
Merged pull requests: - CompatHelper: add new compat entry for ConstructionBase in [weakdeps] at version 1, (keep existing compat) (#4184) (@github-actions[bot]) - initialize! for ReactantSimulation plus better findtimeindex (#4215) (@glwagner)
Closed issues:
- GPU compiler error in tendency computation using DiscreteForcing with GPU + Float32 + immersed RectilinearGrid (#4192)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.95.27
Oceananigans v0.95.27
Merged pull requests: - Refactor vertical vorticity to return operation rather than Field (#3340) (@glwagner) - [Reactant] feat: support new Reactant runtime IFRT (#4214) (@avik-pal) - Mask CATKE's TKE (#4218) (@glwagner) - Modify CATKE to work with Reactant when using fixed time step size (#4220) (@glwagner) - Define parent type correctly? (#4221) (@glwagner) - Use correct eltype on abstractarray override (#4222) (@wsmoses) - Introduce concept of initialization update state (#4223) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.95.26
Oceananigans v0.95.26
Merged pull requests:
- Tests on tartarus (#4139) (@simone-silvestri)
- Adding a distributed tripolar grid (#4204) (@simone-silvestri)
- Add a gpu test for the tripolar grid (#4205) (@simone-silvestri)
- Missing a method for cpu_interpolating_time_indices (#4208) (@simone-silvestri)
- Move distributed macros to Oceananigans (#4209) (@simone-silvestri)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 12 months ago
Oceananigans.jl - v0.95.25
Oceananigans v0.95.25
Merged pull requests: - Tripolar grid in Oceananigans (only serial) (#3913) (@simone-silvestri) - (0.95.25) bump minor version (#4203) (@simone-silvestri)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 12 months ago
Oceananigans.jl - v0.95.24
Oceananigans v0.95.24
Merged pull requests: - Use default FloatType in Centered advection (#4193) (@glwagner) - Fix bug in active-weighted interpolation (#4195) (@glwagner) - Change DiffusivityFields to builddiffusivityfields and add clock arg (#4196) (@glwagner) - [CI] Some improvements to GitHub Actions setup (#4198) (@giordano) - Add on_architecture for some ConcretePRJTArray (#4201) (@glwagner) - Bump to 0.95.24 (#4202) (@glwagner)
Closed issues:
- GPU compiler error in tendency computation using DiscreteForcing with GPU + Float32 + immersed RectilinearGrid (#4192)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 12 months ago
Oceananigans.jl - v0.95.23
Oceananigans v0.95.23
Merged pull requests:
- Fill halos after the update step (#4186) (@simone-silvestri)
- Fix the euler keyword in time_step!(sim::ReactantSimulation) (#4191) (@simone-silvestri)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 12 months ago
Oceananigans.jl - v0.95.22
Oceananigans v0.95.22
Merged pull requests:
- Bugfix in distributed fill halos (#3714) (@simone-silvestri)
- Fix the docstring for ImmersedBoundaryGrid (#4174) (@glwagner)
- Add non-trivial default boundary conditions for FieldTimeSeries (#4185) (@glwagner)
- (0.95.22) bump minor version (#4188) (@simone-silvestri)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 12 months ago
Oceananigans.jl - v0.95.21
Oceananigans v0.95.21
Merged pull requests:
- Lagrangian Smagorinsky for 2D flows (#4009) (@simone-silvestri)
- Set a default Clock depending on the grid (#4096) (@glwagner)
- Expose tridiagonal_direction as kwarg for FourierTridiagonalPoissonSolver (#4169) (@glwagner)
- Improve definition of @apply_regionally (#4178) (@giordano)
- Add "rank0", "rank1" etc to output prefix on distributed architectures (#4179) (@glwagner)
- Adds viscosity(model) method and similarly for diffusivity (#4180) (@tomchor)
Closed issues:
- DynamicSmagorinsky is very slow using default arguments and sometimes produces NaNs (#4069)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 12 months ago
Oceananigans.jl - v0.95.20
Oceananigans v0.95.20
Merged pull requests:
- Add support for ZStar in RK3 (#4156) (@simone-silvestri)
- Formatting of the store_*! functions (#4164) (@simone-silvestri)
- Maybe fixes a bug for interpolating FieldTimeSeries (#4168) (@glwagner)
- Remove if-statement from tridiagonal solver sweep (#4170) (@glwagner)
- Bump to 0.95.20 (#4171) (@glwagner)
- Clean up diffusivity fields for CATKE and TKEDissipation (#4173) (@glwagner)
- Add explicit constructors for the timesteppers (#4175) (@simone-silvestri)
- Fix wrong default in ReactantExt for ImmersedBoundaryGrid (#4177) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 12 months ago
Oceananigans.jl - v0.95.18
Oceananigans v0.95.18
Merged pull requests: - Clean up immersed boundary interface (#4140) (@simone-silvestri) - Update spatial_operators.md (#4153) (@briochemc) - Clean up of active map utils (#4160) (@glwagner) - Bump to 0.95.18 (#4163) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 12 months ago
Oceananigans.jl - v0.95.17
Oceananigans v0.95.17
Merged pull requests:
- Add method to maximum_numeric_diffusivity for DiscreteDiffusionFunction (#4101) (@jbisits)
- Add more UnaryOperations with @unary (#4142) (@glwagner)
- Really try to make sure that Metal is being used in testmetal.jl (#4152) (@glwagner)
- Fix reconstructglobal_grid (#4157) (@glwagner)
- Bump to 0.95.17 (#4159) (@glwagner)
Closed issues:
- maximum_numeric_diffusivity not defined for DiscreteDiffusionFunction (#4094)
- Extend list of unary operators? (#4130)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 12 months ago
Oceananigans.jl - v0.95.16
Oceananigans v0.95.16
Merged pull requests: - (0.95.15) Fix bugs in ReactantExt for OrthogonalSphericalShellGrid (#4151) (@glwagner) - Bump to 0.95.16 (#4155) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 12 months ago
Oceananigans.jl - v0.95.15
Oceananigans v0.95.15
Merged pull requests:
- Expanded interpolation utilities (#4146) (@glwagner)
- Implement time_step!(sim::Simulation, Δt) (#4148) (@glwagner)
- New reactant feature: sharding + avoid direct usage of RArray (#4150) (@avik-pal)
- Bump to 0.95.15 (#4154) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 12 months ago
Oceananigans.jl - v0.95.14
Oceananigans v0.95.14
Merged pull requests: - Adds a pertubation advection open boundary matching scheme (#3977) (@jagoosw) - More README info about citing and model development papers (#4125) (@glwagner) - Remove wrong statements from README about parallelization (#4147) (@glwagner) - Bump to 0.95.14 (#4149) (@glwagner)
Closed issues:
- Add support for MtlArrays? (#2618)
- Performance benchmarks section of the README wrongly says we don't support Distributed (#3758)
- Is it important that we skip the first time-step? (#4002)
- Bugs when indexing a partly in memory FieldTimeSeries (#4077)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 12 months ago
Oceananigans.jl - v0.95.13
Oceananigans v0.95.13
Merged pull requests:
- Fix some FieldTimeSeries bugs (#4086) (@simone-silvestri)
- Implement RotatedLatitudeLongitudeGrid (#4108) (@glwagner)
- Add warning for Julia version >= v1.11 (#4109) (@navidcy)
- (0.95.13) Use active-weighted rather than naive reconstruction for f- and beta-plane Coriolis terms (#4112) (@glwagner)
- Add finalize! for callbacks (#4116) (@glwagner)
- CompatHelper: add new compat entry for StaticArrays at version 1, (keep existing compat) (#4122) (@github-actions[bot])
- Add option to turn off time-step alignment (#4123) (@glwagner)
- Generalize GPU backend and add Metal extension (#4124) (@glwagner)
- Avoid concretizing grid data when it does not need to be traced (#4135) (@glwagner)
- Implement InterpolationIndices for time-interpolating FieldTimeSeries (#4136) (@glwagner)
- Bump to 0.95.14 (#4138) (@glwagner)
- Bump down to 0.95.13 (#4145) (@glwagner)
Closed issues: - Issue with Noise In Vorticity on Cartesian Grid with Immersed Bottom Boundary (#4111) - "KernelAbstractions" not found error and extensions possibly not working (#4120) - Velocity Divergence Issues with Anisotropic Grid in Immersed Boundary Implementation (#4129) - Buildkite logs are no longer visible to people outside of the buildkite organisation (#4132)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] 12 months ago
Oceananigans.jl - v0.95.12
Oceananigans v0.95.12
Merged pull requests:
- Make the OceananigansReactantExt depend explicitly on KA (#4093) (@glwagner)
- Allow schedules to use different float types (#4097) (@glwagner)
- Fix the title of the internal tide example (#4103) (@glwagner)
- Remove warning for ImmersedBoundaryCondition (#4106) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.95.11
Oceananigans v0.95.11
Merged pull requests: - Fix default Clock.time to Float64 (#4089) (@glwagner) - Add Fan et al. (2024) and Bhadouriya et al. (2025) in papers list + brings back Download badges (#4092) (@navidcy) - Precision error when converting to 0 - 360 (#4098) (@simone-silvestri)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.95.10
Oceananigans v0.95.10
Merged pull requests: - Add a few more Reactant unit tests + test Reactant extension via github actions (#4082) (@glwagner) - Drop the downloads stats badges (#4088) (@navidcy)
Closed issues:
- Does SplitRungeKutta3 support checkpointing? (#4004)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.95.9
Oceananigans v0.95.9
Merged pull requests:
- Field Stokes shear and tendency with UniformStokesDrift (#2320) (@glwagner)
- add a unit test for background flux divergence and clean up unrelated commits (#4028) (@liuchihl)
- Correct indentation in two test files (#4066) (@tomchor)
- Fix Corsican bug in validation test (#4070) (@glwagner)
- (0.95.9) Implement a new ReactantState architecture (#4071) (@wsmoses)
- Change default output type to Float32 (#4072) (@glwagner)
- Implement a default float type (#4073) (@glwagner)
- Correct interpolation on longitude lines (#4074) (@simone-silvestri)
- Improves DynamicCoefficient docstring with discussion about schedule (#4075) (@tomchor)
- Fix small typo (#4076) (@tomchor)
- Fix Prandtl definition (#4079) (@navidcy)
- Bump the compat on GPUArrays to 11.2.2 (#4081) (@glwagner)
- Make checkpointing work when prefix contains non-ascii characters (#4083) (@tomchor)
- CompatHelper: add new compat entry for TimesDates at version 0.3, (keep existing compat) (#4084) (@github-actions[bot])
- Reactant: try to fix extension loading (#4085) (@wsmoses)
Closed issues:
- How can we help users change number type more easily? (#3800)
- Scalar indexing with CUDA 5.6.0 (#4036)
- Can't pick up simulation with Checkpointer's prefix is a non-ascii character (#4080)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.95.8
Oceananigans v0.95.8
Merged pull requests:
- More generalization of tuples (#4049) (@wsmoses)
- Fix bug in validation of MutableVerticalDiscretization() (#4050) (@tomchor)
- Disambiguate interpolation of ::Number on grids with Flat dimensions (#4051) (@simone-silvestri)
- Remove all hardcoded Float64 from the Advection module (#4053) (@simone-silvestri)
- Some changes to supported_float_types (#4056) (@simone-silvestri)
- Bugfix for advection on distributed topologies (#4058) (@simone-silvestri)
- Add a fallback set_timestepper! (#4059) (@simone-silvestri)
- (0.95.8) Bump to 0.95.8 (#4060) (@glwagner)
- Use 1.10.8 in tests (#4062) (@glwagner)
Closed issues: - Unable to pickup from checkpoint when using SplitRungeKutta3Timestepper (#4057)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.95.7
Oceananigans v0.95.7
Merged pull requests:
- (0.95.7) Yet another ZStar implementation (#3956) (@simone-silvestri)
- Allows properties of StaticVerticalCoordinate to have different types (#4029) (@wsmoses)
- Generalize ntuple type constraints to be tuple{vararg} (#4035) (@wsmoses)
- Optimize masking xy planes (#4040) (@simone-silvestri)
- Add compat entries for Makie 0.22 and MakieCore 0.9 (#4045) (@navidcy)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.95.6
Oceananigans v0.95.6
Merged pull requests:
- Correct tupled_halo_filling for distributed fields (#4017) (@simone-silvestri)
- Support interpolating onto Windowed fields (#4021) (@simone-silvestri)
- Add info for Julia version used for testing (#4022) (@navidcy)
- Minor enhancement in OceananigansMakieExt (#4023) (@navidcy)
- Makie extension: tweaks the xticks for domains that wraps around the globe (#4025) (@navidcy)
- Enzyme: mark prettytime as non-differentiable (#4026) (@wsmoses)
- Add default Cb for CATKE (#4031) (@glwagner)
- Inference problem on the CPU (#4032) (@simone-silvestri)
- (0.95.6) Pin GPUArrays version + fix GPU testing pipeline (#4037) (@simone-silvestri)
Closed issues: - Default CATKE configuration (#4015) - Use xticks to multiples of 60 or 30 for a domain that wraps around the globe in Makie extension (#4024) - "Free surface" is mentioned in the vertical coordinate summary (#4030)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.95.5
Oceananigans v0.95.5
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.95.4
Oceananigans v0.95.4
Merged pull requests:
- Allow FieldTimeSeries to load data split across multiple files (#3976) (@glwagner)
- Avoid flux computations when not needed in the IsopycnalSkewSymmetricDiffusivity (#3992) (@simone-silvestri)
- Dont import Grids.coordinates (#4000) (@glwagner)
- Try to add plot labels automagically within Makie extension (#4001) (@glwagner)
- Generalized Checkpointing plus interface for set!(::Simulation, pickup) (#4003) (@glwagner)
- Add masking methods for ConstantFields (#4006) (@simone-silvestri)
Closed issues: - Mid-Level Enzyme + Oceananigans Integration Test (#3346) - Automatically adding labels to Makie's plots in Oceananigans (#3998) - WARNING: could not import Grids.coordinates into ImmersedBoundaries (#3999)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.95.3
Oceananigans v0.95.3
Merged pull requests:
- (0.95.3) Reset model clock and skip time_step!ing if next actuation time is tiny (#3606) (@tomchor)
- Add parameter to epsilon equation so buoyancy flux term may always be positive (#3886) (@glwagner)
- (0.95.3) Restores open boundary condition functionality (#3937) (@jagoosw)
- Actually test instantiation on GPU and also skip LagrangianAveragedDynamicSmagorinsky test (#3989) (@glwagner)
- Add support for loading data generated prior to 0.95.0 with FieldTimeSeries (#3990) (@glwagner)
- Update the docstring for HydrostaticFreeSurfaceModel (#3991) (@simone-silvestri)
- Remove grid requirements from a Model in a Simulation (#3993) (@simone-silvestri)
Closed issues:
- Pressure has extremely high gradients in random chunks of simulation using NonhydrostaticModel with ImmersedBoundaryGrid and BuoyancyTracer (#3593)
- Unexpected FlatExtrapolationBoundaryCondition behaviour in validation script cylinder.jl (#3975)
- Testing the instantiation of LagrangianAveragedDynamicSmagorinsky on GPU takes 1 hour (#3988)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.95.2
Oceananigans v0.95.2
Merged pull requests: - (0.95.2) Bugfix in the Polar BC (#3985) (@simone-silvestri)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.95.1
Oceananigans v0.95.1
Merged pull requests:
- Fix horizontally Flat WENO advection (#3979) (@simone-silvestri)
- Fix exported names from BuoyancyFormulations module (#3984) (@glwagner)
- Bump to 0.95.1 (#3987) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.95.0
Oceananigans v0.95.0
Merged pull requests:
- Correct AveragedTimeInterval to use actuations (#3721) (@liuchihl)
- Adds momentum equation test for Enzyme extension (#3822) (@jlk9)
- Add test for autodifferentiating hydrostatic turbulence simulation (#3867) (@glwagner)
- Fix bug in advect_particle (#3923) (@simone-silvestri)
- Reinstate DynamicSmagorinsky tests (#3926) (@glwagner)
- RK3 for the HydrostaticFreeSurfaceModel version 2 (#3930) (@simone-silvestri)
- Fix Integral reductions on immersed grids (#3949) (@ali-ramadhan)
- Fix positivity preserving WENO (#3952) (@simone-silvestri)
- Refactor of spacings and correction of spacings-connected bugs (#3955) (@simone-silvestri)
- Allow Tuple of closures with CATKE (#3960) (@simone-silvestri)
- Polar boundary conditions (#3965) (@simone-silvestri)
- Some corrections in the timestepper constructors (#3969) (@simone-silvestri)
- advective form of the GM skew diffusivity (#3971) (@simone-silvestri)
- (0.95.0) Buoyancy -> BuoyancyForce and BuoyancyModels -> BuoyancyFormulations (#3973) (@glwagner)
- (0.95.0) Refactor grids to allow generalized vertical coordinate (#3974) (@simone-silvestri)
Closed issues:
- Add Multi GPU testing (#2526)
- Should we make Conjugate Gradient + FFTBased-preconditioner the default for HydrostaticFreeSurfaceModel? (#2635)
- Is Architectures.next_stream() redundant? (#2748)
- Problem using immersed boundary with PartialCellBottom and Flat horizontal dimensions (#2798)
- with_halo is broken for ImmersedBoundaryGrid (#2988)
- Boundary condition ordering (#3342)
- xspacings is broken for ImmersedBoundaryGrid (#3701)
- Implementing AB2 for variable time-step size (#3738)
- SplitExplicitFreeSurface code improvements (#3873)
- Why do we only build distributed test_architectures if MPI.Initialized? (#3879)
- Some Lagrangian particles like to travel Southwest on an immersed lat-lon grid + hydrostatic model (#3917)
- Error when constructing Integral of a field on an immersed rectilinear grid: Azᶜᶜᵃ not defined (#3948)
- minimum_xspacing does not account for the immersed boundary (#3954)
- Duplicate ψspacing and Δψ (#3957)
- Why are the prognostic fields deep-copied in the constructor for HydrostaticFreeSurfaceModel? (#3967)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.94.3
Oceananigans v0.94.3
Merged pull requests:
- Reduce parameter space for velocity tendency kernels (#3924) (@simone-silvestri)
- Leftover from split explicit refactor (#3931) (@simone-silvestri)
- CompatHelper: bump compat for StructArrays to 0.7, (keep existing compat) (#3934) (@github-actions[bot])
- (0.94.3) Vector rotation for immersed boundary grids (#3939) (@simone-silvestri)
- Bugfix in compute bottom height (#3940) (@simone-silvestri)
- Better message for regularize_immersed_boundary_condition (#3942) (@navidcy)
- Fix a typo in show(io, Simulation) (#3944) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.94.2
Oceananigans v0.94.2
Merged pull requests: - (0.94.2) Support interpolation from triple-Flat grids (#3928) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.94.1
Oceananigans v0.94.1
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.94.0
Oceananigans v0.94.0
Merged pull requests:
- Implement scale-invariant dynamic Smagorinsky (#3642) (@tomchor)
- Open halo filling on Windowed fields (#3834) (@simone-silvestri)
- static_column_depth interface and numerical bottom height in AbstractGridFittedBottom (#3841) (@simone-silvestri)
- (0.94.0) Refactor exported names (#3872) (@glwagner)
- Bugfix in distributed GPU tests and Distributed set! (#3880) (@simone-silvestri)
- Correct error message in validate_lat_lon_grid_args (#3887) (@simone-silvestri)
- Fix fftpoissonsolver constructor (#3890) (@glwagner)
- Use launch! for particle advection (#3891) (@glwagner)
- Mask ReducedFields accounting the immersed column (#3900) (@simone-silvestri)
- For output readers, make reader_kw default to an empty NamedTuple (#3902) (@ali-ramadhan)
- Fix equation rendering in boundary_conditions.md (#3906) (@jbisits)
- Dont adapt Flat direction advection scheme plus better summary for FluxFormAdvection (#3908) (@glwagner)
- Remove redundant advection aliases (#3912) (@simone-silvestri)
- Remove fill_halo_regions! specific kwargs from launch! (#3922) (@simone-silvestri)
Closed issues:
- More / more flexible Smagorinsky models (#3637)
- Open boundary conditions do not work for windowed fields (#3833)
- Error in ConjugateGradientPoissonSolver for nonuniform grids (#3889)
- The MPI we use in the distributed tests is not CUDA-aware (#3897)
- Use default reader_kw=nothing to make FieldTimeSeries concretely typed (#3898)
- Plotting a reduced field on an ImmersedBoundaryGrid fills in NaNs incorrectly (#3899)
- LaTeX not rendering in boundary_conditions.md (#3905)
- MakieExt having trouble with sliced fields? (#3921)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.93.3
Oceananigans v0.93.3
Merged pull requests:
- Add test of enzyme flux bc (#3643) (@jlk9)
- Fix docs for VectorInvariant and WENOVectorInvariant (#3866) (@navidcy)
- Use on_architecture more liberally with boundary conditions (#3893) (@glwagner)
- Update examples to use new fluxes notation (#3907) (@glwagner)
Closed issues: - "GPU enzyme tests are on the CPU (#3909)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - 🐧 v0.93.2
Oceananigans v0.93.2
Merged pull requests:
- Topology-aware operators (#3268) (@simone-silvestri)
- Allow FieldTimeSeries to pass keyword arguments to jldopen (#3739) (@ali-ramadhan)
- (0.93.2) Update Adapt.jl compat and fix Float32 CATKE on GPU (#3876) (@ali-ramadhan)
- Include vector rotation in other test (#3881) (@simone-silvestri)
Closed issues:
- Support passing keyword arguments to jldopen when using FieldTimeSeries (#3680)
- CUDA illegal memory access when constructing a Float32 HydrostaticFreeSurfaceModel + CATKEVerticalDiffusivity on the GPU (#3870)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.93.1
Oceananigans v0.93.1
Merged pull requests: - Fix bug calling domain for LatitudeLongitudeGrid (#3871) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.93.0
Oceananigans v0.93.0
Merged pull requests:
- Correct vorticity computation at the corners of cubed sphere panels (#3325) (@siddharthabishnu)
- Fixes bug in FlatExtrapolation matching scheme (#3854) (@tomchor)
- (0.93.0) Use with_halos=true default for JLD2OutputWriter (#3860) (@glwagner)
- More specific ConformalCubedSpherePanel type (#3868) (@navidcy)
- Clean up redundant errors in FieldTimeSeries (#3869) (@glwagner)
Closed issues: - Circulation and vorticity operators need to be updated at the cubed sphere corners (#1584)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.92.2
Oceananigans v0.92.2
Merged pull requests: - Temporary support for OrthogonalSphericalShellGrid for MakieExt (#3824) (@glwagner) - Add papers using Oceananigans (#3861) (@navidcy) - Correct accessing velocities from the background field (#3862) (@liuchihl) - (0.92.2) Add more advection scheme tests; fix order adapting with tracer-specific schemes; fix WENOVectorInvariant (#3864) (@glwagner)
Closed issues:
- Cannot build HydrostaticFreeSurfaceModel with different advection schemes for different tracers (#3863)
- Bug in WENOVectorInvariant constructor (#3865)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - 🦛 v0.92.1
Oceananigans v0.92.1
Merged pull requests:
- Bug in NetCDF output for curvilinear immersed grids (#3666) (@simone-silvestri)
- Different advection schemes in different directions (#3732) (@simone-silvestri)
- CompatHelper: bump compat for JLD2 to 0.5, (keep existing compat) (#3769) (@github-actions[bot])
- Enzyme (performance) mark some functions as non-differentiable (#3799) (@wsmoses)
- New Base.axes for AbstractField (#3801) (@glwagner)
- Enforce gauge condition in preconditioners for ConjugateGradientPoissonSolver (#3802) (@glwagner)
- Bring back support for closure tuples with CATKE (#3805) (@glwagner)
- Implement with_number_type utility for grids plus clean up (#3809) (@glwagner)
- Fix formatting and adds back interior velocity in tilted bottom boundary layer example (#3813) (@tomchor)
- Simplify kernel launching and add exclude_periphery option (#3814) (@glwagner)
- Add method to permit creating BackgroundFields out of Numbers directly (#3815) (@tomchor)
- Implement interface for set! and use it to set! distributed fields better (#3817) (@glwagner)
- Support AbstractOperations with MakieExtension (#3823) (@glwagner)
- Don't return special length for PartlyInMemory time series (#3825) (@glwagner)
- Add ConformalMapping Type to OrthogonalSphericalShellGrid for Specialized Dispatch (#3832) (@siddharthabishnu)
- Default momentum advection for the HydrostaticFreeSurfaceModel (#3842) (@simone-silvestri)
- Solves bug when calling ConjugateGradientPoissonSolver without specifying preconditioner (#3846) (@tomchor)
- Refactoring for ImmersedBoundaries to take precedence over Solvers (#3847) (@simone-silvestri)
- Resolve precompilation of _advective_fluxes (#3853) (@simone-silvestri)
- Use generalized coordinate nodes instead of xyz nodes for Lagrangian particle advection (#3855) (@ali-ramadhan)
- (0.92.1) Tag v0.92.1 (#3858) (@ali-ramadhan)
Closed issues:
- Error when using ImmersedBoundaryGrid with HydrostaticModel and drag boundary condition (#2711)
- Halo inflation + restriction on halo size makes it impossible to run some problems (#3622)
- Error when using OpenBoundaryCondition with HydrostaticFreeSurfaceModel (#3628)
- Why do we need 4 halo points in the vertical for VectorInvariant(vertical_scheme=Centered())? (#3699)
- Reductions with FieldTimeSeries on an ImmersedBoundaryGrid are very slow (#3750)
- Automatically retry jobs on Buildkite (#3773)
- Error using closure tuples with CATKEVerticalDiffusivity (#3804)
- Error with default HydrostaticFreeSurfaceModel on TripolarGrid (#3806)
- set! cannot distribute global arrays (#3816)
- Cannot construct a ConjugateGradientPoissonSolver with a default preconditioner (#3829)
- Immediate NaNs running a non-hydrostatic model with an immersed boundary and open boundary conditions and immersed pressure solver (#3831)
- Cannot precompile Oceananigans due to method overwriting (#3851)
- Illegal memory access on CPU and GPU with LagrangianParticles + HydrostaticFreeSurfaceModel + LatitudeLongitudeGrid (#3852)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - 🦨 v0.92.0
Oceananigans v0.92.0
Merged pull requests:
- (0.92.0) Make RungeKutta3 the default time-stepper for NonhydrostaticModel (#3580) (@glwagner)
- Change default hydrostatic_pressure_anomaly to CenterField(grid) in NonhydrostaticModel (#3796) (@xkykai)
Closed issues: - Spurious large-scale flow develops in a supposed quiescent flow when using a buoyancy model (#3795)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.91.15
Oceananigans v0.91.15
Merged pull requests:
- Add ImmersedPressureSolver with FFTBasedPoissonSolver as preconditioner for complex domains (#3188) (@xkykai)
- Fix a bug in the adapt of PartialCellBottom (#3682) (@simone-silvestri)
- Enable direct FieldTimeSeries forcing (#3760) (@simone-silvestri)
- CompatHelper: bump compat for Enzyme in [weakdeps] to 0.13, (keep existing compat) (#3782) (@github-actions[bot])
- (0.91.15) Make GPUAdaptedFieldTimeSeries an AbstractField with Nothing grid (#3790) (@glwagner)
- Remove vestigial immersed_boundary from NonhydrostaticModel (#3797) (@glwagner)
- Make vertical line plots in y and z (#3798) (@glwagner)
Closed issues:
- PartialCellBottom needs to be adapted correctly for the GPU when using a HydrostaticFreeSurfaceModel (#3681)
- CUDA illegal memory access during HydrostaticFreeSurfaceModel construction with Float32 and CATKE (#3785)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.91.14
Oceananigans v0.91.14
Merged pull requests:
- Remove Immersed map from Adapting the ImmersedBoundaryGrid (#3690) (@simone-silvestri)
- Supporting indexing a FieldDataset with a Symbol (#3754) (@ali-ramadhan)
- (0.91.14) Extend Lagrangian advection to immersed grids and add tests (#3765) (@tomchor)
- Add 3-location *nodes functions for ImmersedBoundaryGrid (#3776) (@ali-ramadhan)
- Remove Manifest.toml (#3783) (@glwagner)
Closed issues:
- LagrangianParticles not working with ImmersedGrids (#3761)
- λnodes and φnodes not defined for immersed lat-lon grids (#3771)
- Error when constructing a NetCDFOutputWriter with an immersed lat-lon grid (#3775)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.91.13
Oceananigans v0.91.13
Merged pull requests: - Fix typo in the README (#3757) (@glwagner) - Bump compat entry for CubedSphere (#3763) (@navidcy) - Fix FieldTimeSeries interpolation for single column grids with x, y locations (#3766) (@glwagner) - (0.91.13) Use SeawaterPolynomials 0.3.5 (#3767) (@navidcy)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - 🟥 v0.91.12
Oceananigans v0.91.12
Merged pull requests:
- Remove space from doi url (#3734) (@navidcy)
- Fix CFL calculation on flat grids (#3737) (@ali-ramadhan)
- Remove tendency computation at model construction (#3741) (@simone-silvestri)
- Test N-tuple MultipleForcings and make them work on the GPU (#3743) (@ali-ramadhan)
- Bug in the vector rotation operator (#3744) (@simone-silvestri)
- Add nodenames and others to ImmersedBoundaryGrid (#3746) (@glwagner)
- Fix `autoextension` for short filenames (#3749) (@ali-ramadhan)
- (0.91.12) Fix non-optimal CATKE parameters (#3759) (@glwagner)
Closed issues:
- cell_advection_timescale (and CFL) does not account for Flat topologies (#3679)
- Error when trying to use MultipleForcings (#3736)
- Some problems with ImmersedBoundaryGrids (#3742)
- Should tests be run with julia --check-bounds=yes? (#3747)
- Out of bounds error in auto_extension if output writer filename is 4 characters or shorter (#3748)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.91.11
Oceananigans v0.91.11
Merged pull requests: - Nullify preferred axis for field arg (#3730) (@glwagner) - Bugfix for #3731 (#3733) (@simone-silvestri)
Closed issues:
- Bug with Makie extension (#3727)
- Bug in interpolate!(target_fts::FieldTimeSeries, source_fts::FieldTimeSeries)? (#3731)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.91.10
Oceananigans v0.91.10
Merged pull requests:
- Make it easier to build simple HydrostaticFreeSurfaceModels (#3620) (@glwagner)
- Bugfix in interpolate! for FieldTimeSeries (#3723) (@simone-silvestri)
- Make the quickstart a bit more fun (#3724) (@glwagner)
- Invoke mask_immersed_field! when converting args for Makie (#3725) (@glwagner)
- Bump patch release (#3729) (@navidcy)
Closed issues: - Cleanup Doc Previews (#3726)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.91.9
Oceananigans v0.91.9
Merged pull requests:
- Adds methods to mask_immersed_field! for BinaryOperations (#3683) (@jagoosw)
- Fixs fallback for AbstractContinuousFormBiogeochemistry (#3685) (@jagoosw)
- Restrict LatitudeLongitueGrid topologies (#3694) (@glwagner)
- Use the word "grid" in the grid tutorial (#3713) (@glwagner)
- Add extension feature for plotting fields when nodes are provided (#3715) (@glwagner)
- (0.91.9) Bumps patch number (#3722) (@jagoosw)
Closed issues:
- minimum_zspacing isn't working on the GPU (#3040)
- maximum(abs, v) doesn't work on GPU in Julia 1.10.0 with grid size larger than (10, 10, 10) (#3427)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.91.8
Oceananigans v0.91.8
Merged pull requests:
- Add new constructor for KernelParameters (#3645) (@glwagner)
- The start of documentation 2.0 (#3673) (@glwagner)
- Add constructor for windowing nothing boundary conditions (#3688) (@glwagner)
- Distributed tridiagonal Fourier solver (#3689) (@simone-silvestri)
- Create a warning for using the NonhydrostaticModel on ImmersedBoundaryGrid and change the default treatment of hydrostatic pressure anomaly (#3692) (@glwagner)
- Go back to support BoundaryCondition(Classification, args...) (#3695) (@simone-silvestri)
- Disambiguate tracer fluxes on an immersed boundary (#3696) (@simone-silvestri)
- Make shading better in baroclinic_adjustment.jl (#3697) (@asinghvi17)
- Leverage Makie extension in quick start (#3700) (@glwagner)
- Add Chor & Wenegrat (2024) in papers using package list (#3706) (@navidcy)
- (0.91.8) bug fix release (#3709) (@simone-silvestri)
Closed issues:
- Outdated docs on background diffusivity/viscosity (#3649)
- view fails on a Field indexed from FieldTimeSeries (#3687)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.91.7
Oceananigans v0.91.7
This PR implements the infrastructure for open boundaries in NonhydrostaticModels by differentiating the filling of halos for BoundaryCondition{Open} boundaries so they are not refilled after the pressure correction step, as this would result in the interior field becoming divergent. This means that if the boundary value is not known a priori (e.g. it depends on the interior values), then the condition will not be enforced exactly. However, since open boundary conditions are already unphysical, it was decided that this was the preferable non-physicality.
To allow more sophisticated boundary conditions this PR adds a matching_scheme property to the Open boundary classification, and as an example, a matching scheme named FlatExtrapolation is implemented.
Finally, it introduces update_boundary_condition!(boundary_condition, field, model) which can be dispatched on boundary_condition to allow more complex boundary conditions to be implemented (e.g. to compute the mean outflow at the boundary and store it in the condition).
Merged pull requests:
- (0.91.7) Open boundary conditions for NonhydrostaticModel (#3482) (@jagoosw)
- Implement Makie extension (#3686) (@glwagner)
Closed issues: - Adding Makie extension (#3178)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.91.6
Oceananigans v0.91.6
Merged pull requests: - (0.91.6) Distributed FFTs using Oceananigans' inhouse DiscreteTransforms (#3279) (@simone-silvestri) - Add Downloads badges on README.md (#3652) (@navidcy) - Update numbertype.md (#3671) (@simone-silvestri) - Update `timestep!` docstring for AB2 (#3674) (@simone-silvestri) - Eliminate extra docstrings for FunctionField (#3678) (@glwagner)
Closed issues: - What's the point of neglecting the computation of tendencies when taking a time-step? (#3565)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.91.5
Oceananigans v0.91.5
Merged pull requests:
- Fix index calculation for Lagrangian particles in periodic directions (#3416) (@xkykai)
- Support non-trivial horizontal coordinates for single column grids (#3627) (@glwagner)
- Conversion between "Intrinsic" and "Extrinsic" reference frame (#3631) (@simone-silvestri)
- CuArray times for Cyclical field time series (#3639) (@simone-silvestri)
- Add inlines for general interpolation (#3653) (@simone-silvestri)
- One-sided upwind reconstruction (#3658) (@simone-silvestri)
- Removing some advection schemes (#3659) (@simone-silvestri)
- (0.91.5) Tweak initialization procedure so that callback schedules work with checkpointed simulations (#3660) (@glwagner)
- Update unified memory array (#3665) (@simone-silvestri)
- Improvements for TracerAdvection's API (#3668) (@simone-silvestri)
Closed issues:
- Problem when starting from a checkpoint with AveragedTimeInteval (#2226)
- Do we need to refer to MITgcm manual for horizontal vs vertical diffusivity implementation? (#2282)
- LagrangianParticles get moved at the right of Periodic topology when it shouldn't be (#3415)
- Allow single column grids with a specific location (#3626)
- Segmentation Fault when trying to run a script (#3655)
- Post-Checkpoint Output Saving Interval Issue (#3657)
- Mem.free is deprecated (#3664)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.91.4
Oceananigans v0.91.4
Merged pull requests:
- Remove performance-/precompilation-time harmful @eval (#3556) (@simone-silvestri)
- Enzyme: try bump without tuple changes (#3618) (@wsmoses)
- Make Base.axes(f::Field) type-inferable for windowed fields (#3624) (@glwagner)
- fill_halo_regions! for velocities in implicit free surface correctly (#3629) (@glwagner)
- Fix a bug for SpecifiedTimes time-step alignment (#3634) (@glwagner)
- Remove vestigial code (#3636) (@glwagner)
- Update list of papers using Oceananigans (#3641) (@navidcy)
- (0.91.4) Fix interpolations in off-diagonal components of strain-rate tensor (#3648) (@tomchor)
Closed issues:
- @eval considered harmful (#3555)
- Huge memory use of Average associated with compilation (#3621)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.91.3
Oceananigans v0.91.3
Merged pull requests:
- TKEDissipationVerticalDiffusivity (aka k-epsilon) turbulence closure (take 2) (#3605) (@glwagner)
- Adapting all fields of the OrthogonalSphericalShellGrid (#3619) (@simone-silvestri)
- Fixes small typo in docs (#3623) (@tomchor)
- (0.91.3) Bump (#3633) (@glwagner)
Closed issues:
- Using LagrangianParticles with Flat topology hits wrong function dispatch when computing fractional indices (#3632)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.91.2
Oceananigans v0.91.2
Merged pull requests:
- Speedup constructing a ConformalCubedSphereGrid on GPU (#3579) (@navidcy)
- (0.91.2) Remove instances of previous_Δt and fix a bug setting last_Δt in RK3 (#3595) (@glwagner)
- Change TimeInterval to avoid roundoff error issue plus some cleanup (#3616) (@glwagner)
- Compute third stage time-step for RK3 in a way that reduces the accumulation of error (#3617) (@glwagner)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago
Oceananigans.jl - v0.91.1
Oceananigans v0.91.1
Merged pull requests:
- Bugfix for parent_index_range (#3573) (@siddharthabishnu)
- Passes grid argument to NetCDFOutputWriter (#3576) (@tomchor)
- Enforce total buoyancy flux BC in tilted geometry example (#3581) (@hdrake)
- (0.91.1) CATKE numerics: discretely correct shear production, split-explicit TKE substepping (#3585) (@glwagner)
- Add PartialCellBottom to the export list on ImmersedBoundaries (#3589) (@iuryt)
- Implement Scan, generalizing Reduction to accumulating scans like cumsum! (#3590) (@glwagner)
- Fix typo in callbacks example (#3591) (@navidcy)
- Add four more parameters for shear turbulence in unstable stratification (#3600) (@glwagner)
- Jlk9/enzyme constructor any test (#3603) (@jlk9)
- Remove GKSwstype: "100" from buildkite environment variables (#3604) (@glwagner)
- Update climacommon to 20240527 (#3608) (@Sbozzolo)
- Update deps (#3610) (@navidcy)
Closed issues:
- Bug in determination of indices of parent array by parent_index_range (#3572)
- Forcing functions that depend on internal model fields besides velocities and tracers (#3582)
- Typo in docs on callbacks (#3583)
- boundary condition and output questions (#3612)
- Potential 'output_writers' saving bug? (#3614)
Scientific Software - Peer-reviewed
- Julia
Published by github-actions[bot] over 1 year ago