Recent Releases of Oceananigans.jl
Oceananigans.jl - v0.108.0
Oceananigans v0.108.0
Breaking changes
- When picking up a simulation from a checkpoint instead of using the Δt that was saved in the checkpoint, the simulation will use the Δt that was constructed with.
Merged pull requests:
- Share open-boundary transport machinery across models (#5569) (@tomchor)
- (v0.108.0) Always use user-defined
∆tonpickup(#5588) (@taimoorsohail) - Recursively test for type piracy with Aqua (#5602) (@giordano)
- Update number of ambiguities in tests (#5603) (@giordano)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 23 days ago
Oceananigans.jl - v0.107.7
Oceananigans v0.107.7
Merged pull requests:
- Change behavior for halo metrics for a
TripolarGrid+ bugfix atj == 1(#5565) (@simone-silvestri) - Bugfix
actuationsforTimeInterval(#5572) (@simone-silvestri) - Add
CosineRampMaskforcing mask (#5574) (@ewquon) - Set
JULIA_CUDA_USE_COMPAT=falsein tests (#5577) (@simone-silvestri) - Correct erroneous WENO docstring (#5580) (@simone-silvestri)
- Disambiguate
FractionalIndices(#5585) (@simone-silvestri) - Remove xesmf extension (#5590) (@simone-silvestri)
- Size BatchedTridiagonalSolver scratch by worksize, fixing OOB on RightFaceFolded tripolar grids (#5594) (@briochemc)
- Avoid deprecation warning about
CUFFTinCUDAextension (#5597) (@giordano)
Closed issues:
- Out-of-bounds write in
BatchedTridiagonalSolveronRightFaceFoldedtripolar grids (#5593)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 26 days ago
Oceananigans.jl - v0.107.6
Oceananigans v0.107.6
What's Changed
- Allow
AveragedTimeIntervalwith aDatesclock by @simone-silvestri in https://github.com/CliMA/Oceananigans.jl/pull/5562 - Update Chor et. al (2026) in published papers by @tomchor in https://github.com/CliMA/Oceananigans.jl/pull/5563
- Fix typos in boundary_condition.jl documentation by @navidcy in https://github.com/CliMA/Oceananigans.jl/pull/5553
- Append distributed rank suffix to checkpointer filenames by @taimoorsohail in https://github.com/CliMA/Oceananigans.jl/pull/5561
- Fix show(field) + zipper BC validation for (distributed) tripolar grids by @briochemc in https://github.com/CliMA/Oceananigans.jl/pull/5489
- Temporarily use older versions of Reactant and GPUCompiler by @giordano in https://github.com/CliMA/Oceananigans.jl/pull/5566
- Reinstate enum bias (#5318) with sharding tests enabled by @glwagner in https://github.com/CliMA/Oceananigans.jl/pull/5450
Full Changelog: https://github.com/CliMA/Oceananigans.jl/compare/v0.107.5...v0.107.6
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 month ago
Oceananigans.jl - v0.107.5
Oceananigans v0.107.5
Closed issues:
- Bug: Adapt.adapt_structure swaps north/south in CommunicationBuffers (#5422)
interpolate!fails silently onFlattopologies with explicitly specified coordinate inFlatdirections (#5511)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 month ago
Oceananigans.jl - v0.107.4
Oceananigans v0.107.4
Merged pull requests:
- Bump actions/upload-artifact from 7.0.0 to 7.0.1 (#5507) (@dependabot[bot])
- Only allow CUDA.jl v5 in benchmarking environment (#5531) (@giordano)
- Make benchmarks compatible with both CUDA.jl v5 and v6 (#5532) (@giordano)
- Bump julia-actions/setup-julia from 2 to 3 (#5535) (@dependabot[bot])
- Register atan, atand, mod as binary operations on Fields (#5538) (@giordano)
- Fix formatting in run_benchmarks.jl (#5540) (@glwagner)
- (0.107.4) unify Simulation interface in ReactantExt (#5541) (@juliasloan25)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 2 months ago
Oceananigans.jl - v0.107.3
Oceananigans v0.107.3
Merged pull requests:
- Append colon to
JULIA_DEPOT_PATH(#5525) (@giordano) - Avoid use of at-doc macro inside structs (#5527) (@giordano)
- Simplify definition of at-binary not to require loads of imports (#5528) (@giordano)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 2 months ago
Oceananigans.jl - v0.107.2
Oceananigans v0.107.2
Merged pull requests:
- Adapt to CUDA.jl v6 (#5458) (@giordano)
- Explicit imports in
Advection(#5523) (@giordano) - Resolve some ambiguities (#5524) (@giordano)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 2 months ago
Oceananigans.jl - v0.107.1
Oceananigans v0.107.1
This release has been identified as a backport.
Automated changelogs for backports tend to be wildly incorrect.
Therefore, the list of issues and pull requests is hidden.
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 2 months ago
Oceananigans.jl - v0.107.0
Oceananigans v0.107.0
Breaking changes
- https://github.com/CliMA/Oceananigans.jl/pull/5486 changed the structure of JLD2 and NetCDF output files, to allow for multiple grids, see https://github.com/CliMA/Oceananigans.jl/pull/5486#issue-4237226068 for more details.
This release has been identified as a backport.
Automated changelogs for backports tend to be wildly incorrect.
Therefore, the list of issues and pull requests is hidden.
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 2 months ago
Oceananigans.jl - v0.106.6
Oceananigans v0.106.6
This release has been identified as a backport.
Automated changelogs for backports tend to be wildly incorrect.
Therefore, the list of issues and pull requests is hidden.
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 2 months ago
Oceananigans.jl - v0.106.5
Oceananigans v0.106.5
This release has been identified as a backport.
Automated changelogs for backports tend to be wildly incorrect.
Therefore, the list of issues and pull requests is hidden.
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 2 months ago
Oceananigans.jl - v0.106.4
Oceananigans v0.106.4
Merged pull requests:
- Switch biases to be enums rather than distinct types. (#5318) (@jackdfranklin)
- Add a hydrostatic barotropic soliton case validation for hydrostatic open boundaries (#5387) (@tomchor)
- Reorganize Reactant test groups and add CI coverage (#5423) (@glwagner)
- Streamline benchmarking pipeline (#5429) (@simone-silvestri)
- Automated dependency checking (#5432) (@jackdfranklin)
- Distributed should account for z-only fields (#5434) (@dkytezab)
- Skip fill_corners! when no corner neighbors exist (#5435) (@glwagner)
- Fix NSYS kernel charts and add kernel comparison to summary (#5440) (@simone-silvestri)
- Fix publish-benchmarks pipeline token permissions (#5448) (@simone-silvestri)
- Revert "Switch biases to be enums rather than distinct types. (#5318)" (#5449) (@wsmoses)
- [CI] Run sharding tests under earlyoom (#5453) (@giordano)
- Bump codecov/codecov-action from 5 to 6 (#5455) (@dependabot[bot])
- Clear ambiguities in
conditional_length(#5456) (@simone-silvestri) - Replace PR benchmark polling with Buildkite dispatch (#5457) (@simone-silvestri)
- Remove duplicate turbulence closure test from GitHub Actions (#5460) (@tomchor)
- Update number of ambiguities (#5462) (@giordano)
- Fill small documentation gaps (Units, SphericalCoriolis, background_closure_fluxes, PiecewiseLinearMask) (#5463) (@tomchor)
- Add BulkDrag boundary conditions documentation (#5464) (@tomchor)
- Remove dependency on
CUDA_Runtime_jllintest/environment (#5466) (@giordano) - Add "performance dashboard" to README (#5467) (@simone-silvestri)
- (0.106.4) Move NetCDF output attribute methods from extension to Models module (#5469) (@simone-silvestri)
Closed issues:
- Collect benchmark results and host them on a website (#4851)
- Benchmarking script depends on downstream packages (#5418)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 2 months ago
Oceananigans.jl - v0.106.3
Oceananigans v0.106.3
Merged pull requests:
- Partial cell conservation (#5356) (@simone-silvestri)
- Add flow over hill validation using open boundaries and a hydrostatic model with implicit surface (#5359) (@tomchor)
- Remove initialization_update_state! and clean up initialization (#5420) (@glwagner)
- Fix typo in Simulation tips docs (#5425) (@glwagner)
- Relieve memory in unit tests (#5428) (@simone-silvestri)
- Fix formatting and citation errors in index.md (#5430) (@navidcy)
- Bump minor version from 0.106.2 to 0.106.3 (#5431) (@simone-silvestri)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 3 months ago
Oceananigans.jl - v0.106.2
Oceananigans v0.106.2
Merged pull requests:
- (0.106.2) Refactor coriolis and add Triad scheme (#5383) (@simone-silvestri)
- Shift the
RightFaceFoldedfold upwards by one row (#5408) (@simone-silvestri) - Extend TabulatedFunction to support 4D and 5D interpolation (#5417) (@glwagner)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 3 months ago
Oceananigans.jl - v0.106.1
Oceananigans v0.106.1
Merged pull requests:
- Add restart verification script (#5379) (@ewquon)
- Reinvoke sharding tests and refactor Clock constructor for sharded grids (#5389) (@glwagner)
- Improve serial tripolar grid fold tests (#5405) (@briochemc)
- Temporarily drop Benchmark section from Docs + delete
legacy_benchmarks(#5412) (@briochemc) - Fix issue downstream in Reactant on 1.12 (#5415) (@dkytezab)
- Reinstate Docs/Benchmarks (#5419) (@navidcy)
- Small improvements to the benchmarking pipeline (#5421) (@giordano)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 3 months ago
Oceananigans.jl - v0.105.5
Oceananigans v0.105.5
This release has been identified as a backport.
Automated changelogs for backports tend to be wildly incorrect.
Therefore, the list of issues and pull requests is hidden.
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 3 months ago
Oceananigans.jl - v0.106.0
Oceananigans v0.106.0
Breaking changes
- https://github.com/CliMA/Oceananigans.jl/pull/5355 changed the default file when restoring from a checkpointer.
Merged pull requests:
- Add benchmarking package with earth_ocean case (#5317) (@glwagner)
- Rework support for reduction operations on Metal GPU to avoid materialization of the interior (#5329) (@alesok)
- (0.106) Log checkpoint file and mtime when restoring simulations (#5355) (@taimoorsohail)
- (0.105.5) Fix
initialize_closure_fields!()use withDynamicSmagorinsky(#5366) (@tomchor) - Fix section rendering that includes greek LaTeX characters in the documentation (#5380) (@navidcy)
- Bump julia-actions/cache from 2 to 3 (#5382) (@dependabot[bot])
- Propose fix some typos (#5385) (@jeis4wpi)
- Reduce number of ambiguities (#5390) (@giordano)
- Explicit imports in Grids (#5391) (@giordano)
- Load XESFM after Oceananigans (#5393) (@giordano)
- Add new paper reference to Oceananigans documentation (#5395) (@navidcy)
- Fix formatting of reference list in index.md (#5397) (@navidcy)
- Fix typo with density perturbation in docs (#5398) (@navidcy)
- Fix the reference list in the Langmuir example (#5400) (@navidcy)
- (0.105.5) Add unit test for zero momentum flux at immersed peripheral nodes (#5402) (@tomchor)
- Implement ReactantCore.materialize_traced_array for Field (#5409) (@Pangoraw)
- Revise citation for De Abreu and Timmermans (#5411) (@navidcy)
- Remove Oceananigans compact from Project.toml in
benchmarks(#5414) (@simone-silvestri)
Closed issues:
- Lagrangian-averaged
DynamicSmagorinskyproducing zero values for eddy viscosity (again) (#5365) - Some incorrect formatting in the docs (#5377)
- Langmuir example includes all reference list from the Docs (#5399)
- T_forcing and S_forcing do not receive the expected values (#5407)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 3 months ago
Oceananigans.jl - v0.105.4
Oceananigans v0.105.4
Merged pull requests:
- (0.105.4) Add basic tests for Reactant-Oceananigans correctness (#5093) (@glwagner)
- Rename
JULIA_DEPOT_PATHto the.juliafor buildkite (#5368) (@tomchor) - Use view instead of indexing in cpu_face_constructor_r (#5376) (@glwagner)
- Fix
HydroStaticFreeSurfaceModelinit for open boundary conditions withSplitExplicitFreeSurface(#5378) (@rafmudaf)
Closed issues:
- Bug with Reactant + Periodic BCs + ParallelTestRunner (#5208)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 3 months ago
Oceananigans.jl - v0.105.3
Oceananigans v0.105.3
Merged pull requests:
- (0.105.3) Fix interpolation of terms in chain horizontal derivatives for MutableVerticalDiscretization (#5339) (@glwagner)
- Restructure AGENTS.md into multi-file agent configuration (#5350) (@glwagner)
- (0.105.2) Fix
with_halofor aTripolarGrid(#5353) (@simone-silvestri) - Fix typo SKR3 -> SRK3 (#5360) (@briochemc)
- Update papers section in index.md (#5362) (@navidcy)
- Add 9 missing papers to the reference list (#5363) (@glwagner)
- Add new reference to Zheng et al. (2025) in index (#5364) (@navidcy)
- Fix ContinuousForcing field index mismatch in HydrostaticFreeSurfaceModel (#5370) (@glwagner)
- Add dependency guardrail to Common Pitfalls (#5371) (@glwagner)
Closed issues:
- Reformulating continuous forcing in discrete form giving unexpected results (#5369)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 3 months ago
Oceananigans.jl - v0.105.2
Oceananigans v0.105.2
Merged pull requests:
- Add random seeds to examples for reproducible results (#5312) (@tomchor)
- (0.105.2) Fix and test checkpointing with open-domain simulations with a radiation
OpenBoundaryCondition(#5347) (@tomchor)
Closed issues:
- Tilted boundary layer example failing on docs (#5299)
- Refactor timestepping to better integrate paranoid update (#5300)
- delete symlinks and trigger again docs CI build on that commit (tagbot) (#5320)
- Stable docs page 404s (#5338)
- Picking up a simulation fails when the model has
OpenBoundaryConditions with a non-trivialscheme(#5346)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 3 months ago
Oceananigans.jl - v0.105.1
Oceananigans v0.105.1
Merged pull requests:
- Enable
AveragedSpecifiedTimesto be used in output writers (#4876) (@xkykai) - Fix lock-exchange example (#5248) (@simone-silvestri)
- Reduce method ambiguities by disambiguating ConstantField binary ops (#5313) (@glwagner)
- (0.105.1) Add density and gravity_wave_speed to PerturbationAdvection (#5314) (@glwagner)
- Add maybe_initialize_state! and simplify Reactant time stepper overrides (#5315) (@glwagner)
- Fix inability to raise
Boundedtopology with Reactant (#5322) (@dkytezab) - Add citation for Gupta et al. on upper-ocean energetics (#5325) (@navidcy)
- Fix undefined variable
free_surfaceinside error message (#5328) (@giordano) --check-bounds=autofor Reactant tests (#5331) (@dkytezab)- Avoid topology-aware operators when filling halos in the SplitExplicitFreeSurface (#5332) (@simone-silvestri)
- Fix broken hard-coded URLs with @ref (#5335) (@briochemc)
- Enhance
run!docstring (#5336) (@navidcy) - Add bibtex entry for Wagner et al. 2021 (#5337) (@navidcy)
Closed issues:
AverageSpecifiedTimescannot be used (#4875)- JLD2Writer does not create per-rank files when filename contains .jld2 extension (#5263)
- How does checkpointing happen after wall-time limit is reached? (#5291)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 3 months ago
Oceananigans.jl - v0.105.0
Oceananigans v0.105.0
Breaking Changes
There are 12 commits on main since v0.104.5. Of these, 3 contain breaking changes:
- compute_diffusivities! → compute_closure_fields! (PR #5274)
The function compute_diffusivities! has been renamed to compute_closure_fields! across the entire codebase. This is an exported symbol from TurbulenceClosures. Anyone who:
- Imports or calls compute_diffusivities! directly
- Extends compute_diffusivities! for a custom closure
will need to update to compute_closure_fields!.
- New step_closure_prognostics! interface (PR #5274)
A new exported function step_closure_prognostics! is now called by every time stepper (AB2, RK3, SplitRK) between tick! and update_state!. Previously, prognostic closure
stepping (e.g., TKE equation) was entangled inside compute_diffusivities!. Now it's a separate call. This is breaking for:
- Custom closures with prognostic variables that previously stepped them inside compute_diffusivities! — they must now implement step_closure_prognostics! instead.
- Custom time steppers that don't call step_closure_prognostics!(model, Δt) after tick!.
- New initialize_closure_fields! interface (PR #5274)
A new exported function initialize_closure_fields! is called during initialize! to set up closure fields when a simulation starts. Custom closures that previously did
initialization inside compute_diffusivities! need to move that logic here.
- Struct renames (PR #5274)
-
CATKEDiffusivityFields -> CATKEClosureFields
-
TKEDissipationDiffusivityFields -> TKEDissipationClosureFields
These are internal types but may be referenced by users doing checkpointing, custom closures, or diagnostics. Additionally, two fields were removed from both structs:
- previous_compute_time — no longer needed
- _skip_next_compute — no longer needed
- Removed update_previous_compute_time! (PR #5274)
The internal function update_previous_compute_time! was deleted entirely (from CATKE). Code that called it will break.
- Kernel function argument rename: diffusivities → closure_fields (PR #5274)
Throughout the internal kernel functions (tendency kernels in hydrostatic, nonhydrostatic, and shallow water models), the argument name diffusivities has been renamed to
closure_fields. This is breaking for anyone who dispatches on or extends these internal kernel functions using keyword arguments or positional argument names.- cell_diffusion_timescale signature change (PR #5274)
The second argument in Diagnostics.cell_diffusion_timescale(closure, diffusivities, grid, clock, fields) was renamed from diffusivities to closure_fields. This affects
anyone extending this diagnostic for custom closures.
Non-breaking changes (bug fixes, features, docs)
- PR #5298: VarianceDissipationComputations now uses transport_velocities for HydrostaticFreeSurfaceModel (bug fix)
- PR #5297: xnodes/ynodes/znodes on windowed Fields now correctly return windowed nodes; mask_immersed_field! respects windowed indices (bug fix)
- PR #5237: SplitRungeKutta3 added to Reactant extension (new feature, non-breaking)
- PR #5295: Internal variable rename θ_radians → θ (cosmetic, non-breaking)
- PR #5282: Docstring added to MutableVerticalDiscretization (docs only)
- PR #5234: Distributed grids docs fixes (docs only)
- PR #5302–#5306: Documentation/reference updates
Merged pull requests:
- Implement horizontal derivatives at constant z for
MutableVerticalDiscretization(#5101) (@glwagner) - Setup vitepress for the docs (#5159) (@lazarusA)
- Distributed grids docs small fixes (#5234) (@romanlee)
- Add split runge kutta to reactant extension (#5237) (@jlk9)
- Extend TabulatedFunction to support 2D and 3D interpolation. (#5240) (@glwagner)
- Allow FieldTimeSeries to be read from NetCDF without reading the original architecture (#5271) (@tomchor)
- (0.105.0) Implement interface for stepping closure prognostic variables (#5274) (@glwagner)
- Add docstring to MutableVerticalDiscretization (#5282) (@briochemc)
- Drop a leftover
_radians(#5295) (@navidcy) - Fix nodes and immersed masking for windowed fields (#5297) (@briochemc)
- Use the correct velocities in
VarianceDissipationComputations(#5298) (@simone-silvestri) - Update references in index.md (#5302) (@navidcy)
- [docs] Fix URL of paper (#5304) (@giordano)
- Add new paper reference to Oceananigans documentation (#5305) (@navidcy)
- Revise citation for Johnston et al. in references (#5306) (@navidcy)
- Add fields with non-default indices to Field tutorial (#5308) (@glwagner)
- Support boolean comparison operations on fields (#5309) (@glwagner)
Closed issues:
- Use Vitepress for documentation (#4891)
- Add fields with non-default
indicesto Field tutorial (#5206) - Support boolean comparison operations on fields (>, <, >=, <=, ==) (#5307)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 4 months ago
Oceananigans.jl - v0.104.5
Oceananigans v0.104.5
Merged pull requests:
- Bugfix in CATKE with RK3 v2 (#5269) (@simone-silvestri)
- Use FieldTimeSeries in tilted BBL example (with NetCDF output) (#5273) (@tomchor)
- Add test for PrescribedFreeSurface with PrescribedVelocityFields and ZStar (#5278) (@Copilot)
- Update NumericalEarth Slack link in README (#5279) (@glwagner)
- Changing rotation_angle to output in radians instead of degrees (#5280) (@jlk9)
- Validate indices for field time series (#5281) (@briochemc)
- Add new paper citation to Oceananigans section (#5284) (@navidcy)
- Fix equations rendering in split_explicit_timesteppers.jl (#5285) (@navidcy)
- (0.104.5) Use the default
FloatTypeinTripolarGrid(#5288) (@simone-silvestri) - Add new paper citation to Oceananigans documentation (#5293) (@navidcy)
- Add reference to Zhang et al. (2025) on Enceladus (#5294) (@navidcy)
Closed issues:
- OceananigansDocumentation repo is quite large due to SVGs (#5027)
- don't delete previews too fast (#5243)
- Absolute or relative imports? (#5290)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 4 months ago
Oceananigans.jl - v0.104.4
Oceananigans v0.104.4
Merged pull requests:
- Add the possibility for using
fill_halo_regions!instead of extended halos forSplitExplicitFreeSurface(#4750) (@simone-silvestri) - Do not explicitly step
model.velocitiesfor pressure_correction models (#5178) (@simone-silvestri) - Support FFT planning for
ConcreteRArray(#5246) (@dkytezab) - (0.104.4) Guarantee conservation with an
ImplicitFreeSurface(#5247) (@simone-silvestri) - unpin reactant (#5253) (@wsmoses)
- Use WENO in the ocean mixing example (#5254) (@tomchor)
- Add pre-commit hook and explain how to use it (#5256) (@giordano)
- Always run
Base.julia_cmd()in distributed tests (#5258) (@giordano) - Create test-specific project (#5259) (@giordano)
- (0.104.4) Bugfix for DynamicSmagorinsky (improve check for restoration) (#5260) (@glwagner)
- Add support for RK3 in Reactant extension (#5261) (@dkytezab)
- Explicit imports in MultiRegion, and remove all
imports in that module (#5262) (@giordano)
Closed issues:
- Problem with wind mixing and convection example (#5231)
- Support FFT tracing for ConcreteRArray (#5244)
- Reactant failing on buildkite (#5249)
- Dynamic Smagorinsky always produces zero values for eddy viscosity (#5257)
- Enter the Product Title Here (#5265)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 4 months ago
Oceananigans.jl - v0.104.3
Oceananigans v0.104.3
Merged pull requests:
- Extend FFTBasedPoissonSolver to work on AMDGPU (#4593) (@navidcy)
- Do not pass
CommunicationBuffersasclockto BC (#5063) (@Mikolaj-A-Kowalski) - F-point pivot fold zipper boundary for tripolar grids (#5094) (@briochemc)
- Fix Clock constructor preventing Nonhydrostatic model to run on MetalGPU (#5187) (@alesok)
- Support combining distributed output for
FieldTimeSerieswith Reduced directions (#5188) (@simone-silvestri) - Fix typos in generalized vertical coordinates documentation (#5190) (@navidcy)
- Move benchmarks from GPU 1 to GPU 0 (#5193) (@simone-silvestri)
- Add docstrings back to NetCDFWriter (#5194) (@tomchor)
- Rearrange example scripts in make.jl (#5196) (@navidcy)
- Convert examples in docstrings to doctests (#5197) (@navidcy)
- Fix typo (#5198) (@navidcy)
- Fix formatting of urls in the docs (#5199) (@navidcy)
- Refine schedules documentation for clarity and consistency (#5201) (@navidcy)
- Fix callback in example within Docs/Checkpoint (#5202) (@navidcy)
apply_regionally!on multi-region kernels (#5203) (@simone-silvestri)- Fix
test_complex_boundary_conditionson distributed CI (#5205) (@navidcy) - Enhance checkpointing tests with closure::Tuple (#5209) (@navidcy)
- Zenodo: Add citation metadata for Oceananigans.jl (#5215) (@milankl)
- Add more docstrings for
FieldTimeSeries(#5217) (@briochemc) - Add support for
OffsetArrayinrestore_prognostic_state!+ minor variable name changes (#5218) (@taimoorsohail) - Added support for combining FTS using multiple ranks where filename is an absolute path (#5221) (@taimoorsohail)
- Fix formatting of titles in oceananigans.bib (#5222) (@navidcy)
- Add friendlier error for wrong timestepper in model constructors (#5224) (@briochemc)
- Introduce distributed conservation tests and fix some bugs (#5225) (@simone-silvestri)
- Fix Distributed GPU unit tests (#5226) (@navidcy)
- Simplify distributed test pipeline (#5228) (@simone-silvestri)
- Implement TimeSeriesInterpolatedField and support FieldTimeSeries in PrescribedVelocityFields (#5233) (@glwagner)
- Use
stage=1inClockconstructor for ReactantGrid (#5236) (@jlk9) - Jlk9/reactant clock stage 1 (#5241) (@jlk9)
- (0.104.3) Make
FieldTimeSeriesrespectarchitecturewhen reading from NetCDF files (#5242) (@tomchor) - Update Julia version requirement to 1.10 (#5245) (@briochemc)
- Pin reactant (#5250) (@simone-silvestri)
- [WIP] Update FieldTimeSeries NetCDF architecture handling (#5251) (@Copilot)
Closed issues:
- AMDGPU with NonhydrostaticModel? (#4591)
- Conservation with
Distributedarchitecture andZStarCoordinatenot ensured (#5161) - Nonhydrostatic model fails on MetalGPU due to Clock(::AbstractGrid) constructor (#5186)
- Calling
HydrostaticFreeSurfaceModelwith invalidtimestepper = :RungeKutta3throws unfriendly error. (#5192) restore_prognostic_state!not supported forOffsetArrays(#5212)BoundaryConditionOperationnot compiling on GPU. (#5214)- Unusual density fluctuations have been observed in submarine acoustic simulation. (#5219)
- Feature request: Prescribed velocity field time series (#5227)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 4 months ago
Oceananigans.jl - v0.104.2
Oceananigans v0.104.2
Merged pull requests:
- Problems with TimeStepWizard and ImmersedBoundaryGrid on MetalGPU (#4990) (@alesok)
- Fix halo-edge interpolation and column depth for extended conformal cubed sphere grids (#5060) (@siddharthabishnu)
- Simplify and test FTS boundary conditions (#5171) (@simone-silvestri)
- Delete unused
maybe_enable_peer_access!function (#5173) (@giordano) - Remove
RungeKuttaSchemealias (#5174) (@giordano) - Add new paper references to Docs (#5175) (@navidcy)
- (0.104.2) Add convenience method for 1D interpolation (#5182) (@glwagner)
- Update including parameter to use default properties (#5184) (@navidcy)
Closed issues:
- Run HydrostaticFreeSurfaceModel with ImmersedBoundaryGrid on MetalGPU (#4969)
- rename
mastertomainin OceananigansDocumentation repo (#5160) - Undefined references to
switch_device!andsync_all_devices!inmaybe_enable_peer_access!(#5170)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 5 months ago
Oceananigans.jl - v0.104.1
Oceananigans v0.104.1
Merged pull requests:
- Test that certain modules have exactly 0 ambiguities (#5115) (@giordano)
- Update Julia compat from version from 1.9 to 1.10 (#5163) (@navidcy)
- Fix
ConditionalOperationmethod (#5165) (@simone-silvestri) - Resolve many more issues identified by JETLS (#5166) (@giordano)
- Add a checkpointing method for constant fields (#5168) (@simone-silvestri)
- Resolve bug in
binary_operation(#5169) (@simone-silvestri)
Closed issues:
- Bogus
Oceananigans.AbstractOperations.ConditionalOperationmethod (#5154) - Bogus methods in
binary_operations.jl(#5167)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 5 months ago
Oceananigans.jl - v0.104.0
Oceananigans v0.104.0
Breaking changes
-
The
gridis not an argument in model constructors instead of keyword argument (https://github.com/CliMA/Oceananigans.jl/pull/5087).For example, new syntax requires:
julia> model = HydrostaticFreeSurfaceModel(grid; kw...)instead of
julia> model = HydrostaticFreeSurfaceModel(; grid, kw...) -
The free surface displacement in the
HydrostaticFreeSurfaceModelis now calleddisplacement(#5082)For example, new syntax requires:
julia> η = model.free_surface.displacementinstead of
julia> η = model.free_surface.η -
Checkpointing has changed significantly; look at https://github.com/CliMA/Oceananigans.jl/pull/4892. Also note, that simulations checkpointed with up to v0.103 will not be able to be picked up by v0.104+.
Merged pull requests:
- Creation of
FieldTimeSeriesfromBinaryOperationof other FTS + some FTS bug fixes (#3644) (@jagoosw) - Flip location along accumulating dimension for
Accumulatingscans (#4358) (@glwagner) - Allow reductions with dims kwarg work for
FieldTimeSeries(#4385) (@navidcy) - (0.104.0) Reformulate hydrostatic model timestepping (#4811) (@simone-silvestri)
- Enhance simulation docstring time step argument options + add
prettytime(::AbstractTime)methods (#4887) (@navidcy) - (v0.104.0) Checkpointing simulations (#4892) (@ali-ramadhan)
- "For developers" section in the documentation + document AbstractModel interface (#4971) (@glwagner)
- Make
FieldTimeSerieswork with NetCDF output (#5017) (@tomchor) - Adds docs for perturbation advection (#5026) (@jagoosw)
- Add a spherical baroclinic instability example (#5072) (@glwagner)
- Refactor BoundaryAdjacentMean to AverageBoundaryFlux (#5073) (@glwagner)
- Combine distributed data automagically in FieldTimeSeries (#5079) (@glwagner)
- Move initialization of JLD2Writer to run! (#5080) (@glwagner)
- Refactor getindex for FunctionField to convert to eltype(grid) (#5081) (@glwagner)
- (0.104.0) Change notation to free_surface.displacement (#5082) (@glwagner)
- Fix distributed validation scripts (#5083) (@glwagner)
- Implement BulkDrag for linear and quadratic drag boundary conditions (#5084) (@glwagner)
- Add info about minimum TKE to CATKE docs (#5086) (@glwagner)
- (0.104.0) Grid as positional argument in models (#5087) (@simone-silvestri)
- Update citation format in comments (#5088) (@navidcy)
- fix error in docs for target function signature (#5089) (@xkykai)
- Update the docs to show we can do 3D stokes drift (#5090) (@glwagner)
- Update author details for JOSS paper citation (#5092) (@navidcy)
- Fix subscript LaTeX rendering in docstrings (#5095) (@navidcy)
- Use Julia v1.12.3 for CI (#5096) (@navidcy)
- Fix typos in boundary conditions documentation (#5098) (@xkykai)
- Implement Adapt for BoundaryConditionKernelFunction (#5100) (@glwagner)
- Explicit imports in more modules (#5102) (@giordano)
- [tests] Cap total number of ambiguities (#5105) (@giordano)
- Remove dependency on
Random(#5106) (@giordano) - Explicit imports in even more modules (#5107) (@giordano)
- Revive codecov (#5108) (@navidcy)
- Implement developer docs for TurbulenceClosures (#5110) (@glwagner)
- [AGENTS.md] Add instructions about MCPRepl and port some advice from Breeze (#5111) (@glwagner)
- Ensure complete halo filling and organize halo-fill tests (#5113) (@siddharthabishnu)
- Export BoundaryConditionOperation (#5116) (@glwagner)
- (v0.104.0) Remove support for pushing output writers and diagnostics into ordered dicts without a key (#5117) (@ali-ramadhan)
- Remove unused
import Basestatements (#5118) (@navidcy) - Refactor default arguments in distributed architecture docstring (#5119) (@navidcy)
- Fix line-break typo in citation for Brenner et al. 2025 (#5120) (@briochemc)
- Typo in Clock constructor (#5123) (@alesok)
- Switch the ocean mixing and convection example to use Dynamic Smagorinsky (#5124) (@tomchor)
- Update paper citations in index.md (#5125) (@navidcy)
- Enhance GPU usage instructions in README (#5126) (@navidcy)
- Add
Oceananigansto thedocsenvironment with[sources]section (#5129) (@giordano) - Reduce CFL in ocean mixing and convection example (#5130) (@glwagner)
- Add process coverage and Codecov actions to CI (#5132) (@navidcy)
- Remove all
Core.Boxes (#5133) (@giordano) - Update CI configurations for MakieExt and ConservativeRegridding to use Julia 1.12 (#5134) (@navidcy)
- Remove some stale imports (#5135) (@giordano)
- [CI] Correctly fail failing tests by fixing interpolation of variable (#5136) (@giordano)
- Revise divergence equation in vertical coordinates (#5142) (@rafferrari)
- Drop conservative regridding extension (#5143) (@asinghvi17)
- Add Chor et al. (2025) paper (#5144) (@navidcy)
- Add GitHub action to clear whitespace (#5145) (@navidcy)
- (0.104.0) Remove support for AB3 barotropic substepping (#5147) (@simone-silvestri)
- Remove ConservativeRegridding from Project (#5148) (@simone-silvestri)
- Add new papers to the Oceananigans section (#5149) (@navidcy)
- Code cleanup (#5153) (@navidcy)
- Close advection scheme errors + tests (#5158) (@simone-silvestri)
Closed issues:
- Initialize output before running a simulation, rather than on construction? (#1163)
- Convenience function:
checkpoint(simulation)(#1249) - Feature: MPI-aware output writing and
FieldTimeSeries(#2351) - Add example in docs on the sphere (#2584)
- Checkpointer does not work for ShallowWaterModel (#2866)
NetCDFOutputWritersometimes outputs twice at approximately the same time step (#3056)- Should we change
Lx, Ly->Lλ, Lφfor latitude-longitude grids? (#3134) - Estimate total output size when initializing output writers and throw a warning? (#3312)
- Ensure
simulation.Δtis the same across MPI ranks (#3336) - Stokes Drift Docs/Physics page does not include 3D Stokes implementation (#3432)
- Boundary conditions and diffusion with background fields (#3568)
- Simulation tips may be a little misleading (#3594)
- Error in AveragedTimeInterval Output (#3670)
- Change free surface displacement name from
ηtodisplacementforHydrostaticFreeSurfaceModel(#3702) - Bottom drag on immersed boundaries may differ if implemented with
ForcingvsImmersedBoundaryCondition(#3704) - A couple of issues with reductions over
FieldTimeSeries(#3752) - Interface to build and output boundary conditions (#3774)
- Implementing drag boundary conditions based on similarity theory (#3807)
- Why is
conformal_mappingthe last property ofOrthogonalSphericalShellGrid? (#3826) - Restarting from a checkpoint should restore the time step? (#3845)
FieldTimeSeriessupport forNetCDF(#3935)- Non-hydrostatic curvilinear shell? (#3943)
- Incorrect style in
HydrostaticFreeSurfaceModelconstructor (#3966) - Wouldn't make sense for the
*spacingsto beGridMetricOperations? (#3970) distributed_hydrostatic_turbulence.jlyieldsNaNs (#4068)- New documented example w immersed boundary, latlon grid, and immersed boundary bottom drag (#4102)
CumulativeIntegrals of Center fields are defined on Centers as opposed to Faces (#4354)- Warning message regarding free surface when using checkpoint is not consistent (#4516)
- Trying to run a regional simulation with river inflow (#4703)
- Conflict between immersed bottom and sponge relaxation (#4721)
- Reductions on
FieldTimeSeriesnot working (#4813) - Checkpointing that works (#4857)
- Lock-Exchange Implementation (#4898)
- Do we need docs for
OpenBoundaryConditionwith thePerturbationAdvectionscheme? (#4916) - Convert FunctionField output to
eltype(grid)(#5048) - Make output writers work for models that do not have grids (#5085)
- "Running your first model" section of the README also needs
using CUDA(#5109) - Output boundary conditions? (#5112)
- Noise in vertical velocity when using AMD closure (#5114)
- Mistyping(?) in clock.jl (#5121)
- Bogus
Oceananigans.Fields.validate_shifted_indexmethod (#5151) - Bogus
Oceananigans.Grids.default_horizontal_extentmethod (#5152) - Bogus
Oceananigans.Advection.centered_reconstruction_weightsmethod (#5155) - Bogus methods
Oceananigans.Advection._multi_dimensional_reconstruction_x/Oceananigans.Advection._multi_dimensional_reconstruction_y(#5156) - Bogus methods
Oceananigans.Advection.upwinded_divergence_flux_Uᶠᶜᶜ/Oceananigans.Advection.upwinded_divergence_flux_Vᶜᶠᶜ(#5157)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 5 months ago
Oceananigans.jl - v0.103.1
Oceananigans v0.103.1
Merged pull requests:
- Lock Exchange Example (#4968) (@surbhidhiman)
- Update docs for turbulence closures (#5069) (@glwagner)
- Update references in index.md (#5070) (@navidcy)
- Update coordinate system information in physics documentation (#5071) (@glwagner)
- Adds
linkcheck=trueinmakedocs+ fixes a bunch of broken urls (#5074) (@navidcy) - Implement TabulatedFunction (#5077) (@glwagner)
Closed issues:
- Make use of
CUDA.versioninfo()(#874) - Update Coord system and Notation page in docs (#1779)
- Document the fact that you can pass a Tuple as
closureto models (#1879) - Should we use
Base.TwicePrecisiontoalign_time_step? (#2321) - Support
Nz = 1withDistributedFFTPoissonSolver(#2533) - Highlighting important breaking changes in releases (#3147)
- Doing better than
overwriting_existing=truewith output? (#3543) - Oddly-written halo filling code for the cubed sphere (#4855)
- Possible error in computing Cs² of dynamic Smagorinsky-Lilly model (#4880)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 6 months ago
Oceananigans.jl - v0.103.0
Oceananigans v0.103.0
Breaking changes
- This PR changes the interface for using turbulence closures that have prognostic tracers. Instead of adding these tracers manually, the tracers are added implicitly. As a result, any attempt to manually add closure tracers will result in an error.
- For example:
Before this PR
closure = CATKEVerticalDiffusivity()
tracers = (:T, :S, :e)
model = HydrostaticFreeSurfaceModel(; grid, closure, tracers)
After this PR
it should now be built with
closure = CATKEVerticalDiffusivity()
tracers = (:T, :S)
model = HydrostaticFreeSurfaceModel(; grid, closure, tracers)
Merged pull requests:
- Fix cubed sphere corner vorticity (restore 4/3 scaling) (#4741) (@siddharthabishnu)
- Change the user interface so that closure tracers are automatically added (#4788) (@glwagner)
- Fill vertical halos for conformal cubed sphere fields (#5018) (@siddharthabishnu)
- Add conservative regridding extension (#5028) (@glwagner)
- update spot_tracer_diffusion (#5046) (@briochemc)
- Show bounds in WENO summary plus validation (#5054) (@glwagner)
- Fix formatting in ConjugateGradientSolver function (#5055) (@glwagner)
- Fix boundary gradient operators on extended conformal cubed sphere grids (#5056) (@siddharthabishnu)
- Update formatting for forcings summary output (#5057) (@glwagner)
- Add info to docs about using the TEST_GROUP env variable (#5058) (@glwagner)
- Fix immersed cell when bottom = top z (#5062) (@briochemc)
- Validate location input in FieldBoundaryConditions constructor (#5065) (@glwagner)
- Tweak show and summary for Distributed grids and LatitudeLongitudeGrid (#5066) (@glwagner)
- Fix distributed CI (#5067) (@navidcy)
- Bump version from 0.102.5 to 0.103.0 (#5068) (@glwagner)
Closed issues:
- More robust method for specifying fluxes across boundaries (#1400)
- Should grids and clocks have units? (#1462)
- Bug for distributed output when
with_halos=false(but only for some fields) (#2352) - Emit a summary of model data in
set!(model, ...)? (#2462) - Longitude values are not correctly defined on every panel of the conformal cubed sphere (#3217)
- Face-Face-Any metrics and horizontal coordinates are not filled in the halo regions for
ConformalCubedSphereGrid(#3246) ClockandQuasiAdamsBashforth2both have a property representing the previous time-step (#3564)- Call it "Simulation setup" in the docs, not "Model setup" (#3584)
- Documentation 2.0 (#3672)
- Re-licensing Oceananigans under Apache 2.0 (#3708)
- Out of memory error with Docs tests (#3779)
- Does the show method for
OrthogonalSphericalShellGridmake sense? (#3808) - Segmentation fault filling halo regions with
Partition(y=2)(#3878) - Support for using
set!onFieldTimeSerieswith functions of time (#3929) - Free surface for non-hydrostatic model? (#3946)
- Throwing a nice error if CUDA-aware MPI is not configured (#3983)
- Unexpected collapse of stratification in
convecting_plankton.jlexample with Julia v1.11 (#4613) - Internal wave example blowing up with Julia v1.11 (#4618)
no method matching default_prognostic_bcerror when buildingFieldBoundaryConditions(#4759)compute_numerical_bottom_heightis incorrect forPartialCellBottom(#5061)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 6 months ago
Oceananigans.jl - v0.102.5
Oceananigans v0.102.5
Merged pull requests:
- Extending
DistributedFieldandDistributedFFTBasedPoissonSolverfunctionality to allow for distributed FFT preconditioner forConjugateGradientPoissonSolver(#4555) (@xkykai) - Change default minimum buffer upwind order to 3 (#5009) (@glwagner)
- Resolve warnings when
importing symbols alreadyusinged (#5041) (@giordano) - [docs] Include info about computing environment in Literate examples (#5043) (@giordano)
- Add znodes docstring (copied back from v0.94.3) (#5045) (@briochemc)
- Add with_number_type function for distributed grids for correct reconstruction (#5050) (@xkykai)
- Change default to
hydrostatic_pressure_anomaly = nothingfor vertically periodic topologies (#5052) (@xkykai) - Correct field constructor to work with OffsetArrays (#5053) (@simone-silvestri)
Closed issues:
- Laplacian on
ImmersedBoundaryGridis incorrect if using∂x,∂y, and∂zcomposition (#2915) - Differences of reduced fields seem to not be defined? (#5040)
- Missing
znodesdocstrings + broken links in docs (#5042) DistributedFFTBasedPoissonSolveron reduced precision grid doesn't work as preconditioner forConjugateGradientPoissonSolverin distributed settings (#5044)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 6 months ago
Oceananigans.jl - v0.102.4
Oceananigans v0.102.4
Merged pull requests:
- Generalize bounded WENO advection (#5002) (@glwagner)
- Fix flaky test:
test_chunked_abstraction(#5038) (@ali-ramadhan) - Support vertical plots with custom coordinates (#5039) (@glwagner)
Closed issues:
- Flaky test:
test_chunked_abstractionintest_output_readers.jl(#5037)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 6 months ago
Oceananigans.jl - v0.102.3
Oceananigans v0.102.3
Merged pull requests:
- Explicit imports in more modules (#5015) (@giordano)
- (v0.102.3) Fix NetCDF outputs on vertically stretched lat-lon grids, test non-hydrostatic η output, and fix non-hydrostatic free surface time stepping (#5030) (@ali-ramadhan)
- [docs] Use PNG format for CairoMakie images (#5031) (@giordano)
- Update horizontal_convection.jl (#5034) (@navidcy)
- [docs] Use PNG figures in more places (#5036) (@giordano)
Closed issues:
- Implicit free surface implementation in
NonhydrostaticModel(#4715) - Cannot output η via a
NetCDFWriteron a vertically stretched lat-lon grid (#5029) - Cannot time step a
NonhydrostaticModelwith anImplicitFreeSurfaceon a CUDA GPU (#5032)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 6 months ago
Oceananigans.jl - v0.102.2
Oceananigans v0.102.2
Merged pull requests:
- SphericalCoriolis which supports nonhydrostatic and hydrostatic formulations (#4695) (@francispoulin)
- Fix
clockargument inTriadIsopycnalSkewSymmetricDiffusivity'sexplicit_R₃₃_∂z_cfunction (#4780) (@xkykai) - Support
ImmersedBoundaryGridreconstruction using NetCDF (#4848) (@tomchor) - Allow arbitrary fluxes across immersed boundaries and test this with
AdvectiveForcing(#4987) (@tomchor) - Check undefined exports with Aqua (#4992) (@giordano)
- Implement minimum_buffer_upwind_order for WENO and UpwindBiased (#5003) (@glwagner)
- Move
prettysummaryto Utils (#5006) (@giordano) - Fix
locationwas not passed inconfigure_kernel(#5007) (@simone-silvestri) - Disambiguate binary operations on Numbers (#5010) (@glwagner)
- Link prominently to jobs working on or with Oceananigans (#5011) (@glwagner)
- Fix small typo in validation script (#5012) (@tomchor)
- Reorganize
test_output_readers.jl(#5016) (@tomchor) - Add NORi paper (#5020) (@navidcy)
- Update community resource links in README (#5022) (@glwagner)
- (0.102.2) Fix NaNs in halo regions due to division by zero in split-explicit free surface (#5025) (@ali-ramadhan)
Closed issues:
- CUDA/KA circular dependancy (#3964)
clockargument missing inTriadIsopycnalSkewSymmetricDiffusivity'sexplicit_R₃₃_∂z_cfunction (#4779)- Different behavior of
AdvectiveForcingwhen tracers encounter a domain boundary and an immersed boundary (#4812) - Calling
nodeson integral of field onLatitudeLongitudeGridraises error (#5014) - NaNs in the halo regions when running a hydrostatic model with land (#5024)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 6 months ago
Oceananigans.jl - v0.102.1
Oceananigans v0.102.1
Merged pull requests:
- Add a test for CATKE with DateTime clock and fix (#4885) (@glwagner)
- Oceananigans-local FFTW num threads setting (#4958) (@milankl)
- Use julia v1.12 for CI (#4961) (@navidcy)
- Bump actions/checkout from 5 to 6 (#4973) (@dependabot[bot])
- Fix typo in internal_wave.jl comment (#4983) (@navidcy)
- Remove all remaining unused imports (#4993) (@giordano)
- Remove all self-qualified accesses (#4994) (@giordano)
- Remove duplicate
hack_cosd/hack_sinddefinitions (#4995) (@giordano) - Do not import
Base.sum!fromStatistics(#4996) (@giordano) - Use explicit imports in more modules (#4997) (@giordano)
- Bump version from 0.102.0 to 0.102.1 (#5005) (@navidcy)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 6 months ago
Oceananigans.jl - v0.102.0
Oceananigans v0.102.0
Breaking changes
- This release fixes the non-standard style of
BuoyancyField, which is renamed tobuoyancy_field - It also adds ExplicitImports to testing which will affect in which modules certain names are available.
Other changes
- Finally, it implements a
buoyancy_forceandbuoyancy_tracersinterface for TurbulenceClosures. This is not a breaking change.
Merged pull requests:
- Improvements and fixes to
NetCDFWriter(#4890) (@tomchor) - fix tapering function in diffusive GM (#4909) (@xkykai)
- Update CPU architecture reference in OutputReaders.jl (#4963) (@simone-silvestri)
- Fix typo in models_overview.md (#4964) (@awiteck)
- Update warning message format in split_hydrostatic_runge_kutta_3.jl (#4965) (@navidcy)
- Add set! for FieldTimeSeries that can take in functions of time (#4966) (@glwagner)
- Clean up; implement
buoyancy_forceinterface for TurbulenceClosures (#4967) (@glwagner) - Use Julia v1.12.2 for CI (#4970) (@navidcy)
- Fix typos in internal wave comments (#4974) (@navidcy)
- Add adapt method for AMD plus closure coeff for functions (#4976) (@glwagner)
- Run Aqua tests (#4979) (@giordano)
- Improve testing coverage for
AdvectiveForcing(and other forcings too) (#4980) (@tomchor) - Start running ExplicitImports checks (#4985) (@giordano)
- Bump to 0.102.1 (#4986) (@glwagner)
- Add Brenner et al. (2025) paper to documentation (#4988) (@navidcy)
- Downgrade version from 0.102.1 to 0.102.0 (#4991) (@glwagner)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 7 months ago
Oceananigans.jl - v0.101.3
Oceananigans v0.101.3
Merged pull requests:
- Make
nodes()return the correct indices when passed aviewof aField(#4814) (@tomchor) - Refactor the buffer system and add methods for
synchronize_communication!(#4939) (@simone-silvestri) - Three dimensional
column_depthmethods (#4940) (@simone-silvestri) - Refactor
SplitExplicitFreeSurfaceto compute transport barotropic velocities (#4941) (@simone-silvestri) - Remove redundant
FTdefinition in fields tests (#4942) (@giordano) - Remove integrated areas in
ImplicitFreeSurfaceand refactor solver (#4943) (@simone-silvestri) - Properly set status for computed fields (#4945) (@erin-atkinson)
- Add AGENTS.md for agent-assisted coding (#4946) (@glwagner)
- Fix bug in multi-region
SplitExplicitFreeSurface(#4947) (@simone-silvestri) - Add DJ4Earth paper (#4950) (@navidcy)
- Run benchmarks on julia 1.12 (#4951) (@simone-silvestri)
- Remove unused cubed spheres module (#4953) (@simone-silvestri)
- Fix formatting and punctuation in references (#4955) (@navidcy)
- Fix typo in grids doc (#4956) (@awiteck)
- Add "it" to operations doc for clarity (#4957) (@awiteck)
- Remove duplicate citation for DJ4Earth paper (#4959) (@navidcy)
- Update MakieExt for Makie v0.24 + add tests (#4960) (@navidcy)
Closed issues:
nodes()returns the full grid when given a smaller view of aField(#4729)compute!(field, time)doesn't update status offield(#4944)- [doc] Add README-zh-CN.md (#4948)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 7 months ago
Oceananigans.jl - v0.101.2
Oceananigans v0.101.2
Merged pull requests:
- Try reusing the julia path for distributed tests (#4783) (@simone-silvestri)
- Change regularize_forcing to materialize_forcing, plus refine model_forcing interface (#4930) (@glwagner)
- import OutputReaders in Reactant extension (#4935) (@simone-silvestri)
- Introduce Abstract formulation types for FourierTridiagonalPoissonSolver (#4936) (@glwagner)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 7 months ago
Oceananigans.jl - v0.101.1
Oceananigans v0.101.1
Merged pull requests:
- Add missing method for
ReactantStatearchitecture (#4931) (@simone-silvestri) - Don't materialize gradients by default (#4933) (@glwagner)
- Bump version from 0.101.0 to 0.101.1 (#4934) (@giordano)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 7 months ago
Oceananigans.jl - v0.101.0
Oceananigans v0.101.0
Breaking changes
- Breaking changes in exported Smagorinsky utilities. Previously we exported the "Coefficient" objects, but the public interface is supposed to be
SmagorinskyLillyandDynamicSmagorinsky; see https://github.com/CliMA/Oceananigans.jl/pull/4910
Merged pull requests:
- Implicit free surface formulation for NonhydrostaticModel (#4740) (@glwagner)
- Create a Simulation tutorial + few fixes for DateTime clocks (#4834) (@glwagner)
- Update CI to Julia version to 1.12.0 (#4836) (@navidcy)
- Materialize buoyancy gradients for use in parameterizations (#4837) (@simone-silvestri)
- Allow initialization of empty
FieldDatasets similar to methods forFieldTimeSeriesand defineset!behaviour forFieldDataset(#4866) (@erin-atkinson) - Fix type inference failure in
AbstractOperations(#4870) (@simone-silvestri) - Clean up minor irregularities in tilted_bottom_boundary_layer (#4878) (@glwagner)
- Fix RotatedLatitudeLongitudeGrid and add more tests (#4879) (@glwagner)
- Move
float_or_date_timein NCDatasetsExt (#4884) (@navidcy) - Update blurb about Oceananigans contributors in README and docs (#4886) (@ali-ramadhan)
- Fix and improve show methods for
CATKEEquationandCATKEMixingLength(#4895) (@ali-ramadhan) - CATKE: Clamp TKE diffusivity (#4897) (@ali-ramadhan)
- Add new paper citation to Oceananigans section (#4899) (@navidcy)
- [docs] Use
@examplefor distributed grid examples (#4900) (@giordano) - Typo in
BuoyancyFormulations(#4901) (@simone-silvestri) - Add paper in list (#4903) (@navidcy)
- Simplify and add tests for
prettysummary(::Function)(#4905) (@giordano) - (0.101.0) Export public Smagorinsky constructors (#4910) (@glwagner)
- Add new reference for Juliana Tool evaluation (#4913) (@navidcy)
- Extend API to allow passing a buffer scheme to advection schemes (#4914) (@simone-silvestri)
- Don't use Float64 in boundary conditions docs, its bad practice (#4915) (@glwagner)
- Fix typo:
DescreasingOrderAdvectionScheme-> DecreasingOrderAdvectionScheme` (#4917) (@simone-silvestri) - import
BuoyancyForceinMultiRegion(#4918) (@simone-silvestri) - fill halo regions of
OnDiskfield time series when loading (#4919) (@simone-silvestri) - Correctly load
_part*.jld2files inFieldTimeSeries(#4921) (@simone-silvestri) - Add Peng et al. 2025 (#4922) (@navidcy)
- Use default fallback for
isapproxonFields(#4924) (@giordano) - Change diffusivity_fields to closure_fields (#4925) (@glwagner)
- import
xesmf_coordinatesfrom XESMF.jl (#4926) (@simone-silvestri) - Update docs to explain that tested Julia version is 1.12 (#4928) (@navidcy)
Closed issues:
- Type instability in reduction operators (#4869)
CubedSpheredoes not exportSphericalGeometry(#4881)- Persistent warning about
IntervalArithmeticwhen building the docs (#4883) - CATKE
showmethods missing some parameters (#4893) CᵘⁿDinCATKEEquationis described incorrectly (#4894)- CATKE TKE diffusivity not being clamped (#4896)
- CUDA-versions-related error on Nvidia V100 (#4907)
- Fix scalar operations in
isapproxbetweenField(#4920)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 7 months ago
Oceananigans.jl - v0.100.7
Oceananigans v0.100.7
Merged pull requests:
- (0.100.7) Update Oceananigans to use non-uniform conformal cubed sphere grid from CubedSphere.jl (#4724) (@siddharthabishnu)
- Add new papers to Oceananigans references (#4867) (@navidcy)
- Add on_architecture method for XESMF.Regridder (#4871) (@xkykai)
- Add some missing Oxford commas (#4874) (@navidcy)
Closed issues:
- Multi-GPU performance/benchmarks (#4872)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 8 months ago
Oceananigans.jl - v0.100.6
Oceananigans v0.100.6
Merged pull requests:
- Docs, Examples, and Validation for the XESMF extension (#4823) (@navidcy)
- Add missing import when extending
FieldBoundaryConditionsinMultiRegion(#4860) (@navidcy) - Rename 'bcs' to 'boundary_conditions' in
on_architecturefor FieldTimeSeries (#4863) (@xkykai) - Pass correct
kwargs...in distributed tripolarfill_halo_event!(#4865) (@simone-silvestri)
Closed issues:
- Further work on OceananigansXESMF extension (#4818)
on_architecture(fts::FieldTimeSeries)fails becauseftshas no fieldbcs(#4862)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 8 months ago
Oceananigans.jl - v0.100.5
Oceananigans v0.100.5
Merged pull requests:
- (0.100.5) Fix outputting index-reduced fields like the free surface height (#4567) (@ali-ramadhan)
- Add fields to
implicit_step!intke_timestep!(#4859) (@simone-silvestri)
Closed issues:
- Unable to output η using NetCDFWriter (#4384)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 8 months ago
Oceananigans.jl - v0.100.4
Oceananigans v0.100.4
Merged pull requests:
- Clean up unnecessary splatting and allow
fieldsto be passed in the implicit solver (#4383) (@simone-silvestri) - Implement MixedBoundaryCondition (aka RobinBoundaryCondition) (#4723) (@glwagner)
- Define
keysforFieldDataset(#4735) (@erin-atkinson) - Some quality of life changes to distributed functions (#4838) (@simone-silvestri)
- Improve benchmark tests (#4842) (@simone-silvestri)
- Improve the overview of the Models docs tutorial (#4843) (@glwagner)
- Update CubedSphere version range in Project.toml (#4846) (@navidcy)
- Clean up
VarianceDissipation(#4850) (@simone-silvestri) - Reorder Buildkite test group execution order to speed up test builds (#4854) (@ali-ramadhan)
- Accomodate
CUDA@5.8.5in Project.toml temporarily (#4856) (@xkykai) - Bump version from 0.100.3 to 0.100.4 (#4858) (@navidcy)
Closed issues:
CombinationBoundaryConditionto complementGradientandValueboundary conditions (#4490)- Speed up test builds by just reordering the test groups (#4853)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 8 months ago
Oceananigans.jl - v0.100.3
Oceananigans v0.100.3
Merged pull requests:
- Move defaults to central location for gravitational acceleration, rotation rate, and planet radius (#4833) (@glwagner)
- Fix
mtproblem with julia 1.12 (#4840) (@simone-silvestri) - Bump patch release 0.100.3 (#4841) (@navidcy)
Closed issues:
- mediterranean_simulation_with_ecco_restoring.jl example (#4835)
- Julia 1.12.0: ERROR: LoadError: FieldError: type Core.TypeName has no field
mt(#4839)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 8 months ago
Oceananigans.jl - v0.100.2
Oceananigans v0.100.2
Merged pull requests:
- (0.100.2) Refactor checkpointing restoring + set particles from checkpointing only if they exist (#4749) (@simone-silvestri)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 8 months ago
Oceananigans.jl - v0.100.1
Oceananigans v0.100.1
Merged pull requests:
- Eliminate GridMetricOperation and create node metrics (#4805) (@glwagner)
- (0.100.1) Set CUDA.jl compatibility to v5.9+ (#4824) (@ali-ramadhan)
- Include
AbstractOperationsin distributed reductions (#4829) (@simone-silvestri) - Minor change in regridder interface (#4830) (@simone-silvestri)
- Support time stepping with DateTime clock (#4831) (@glwagner)
- Simplify README header (#4832) (@glwagner)
Closed issues:
- "Number of threads per block exceeds kernel limit" when computing a reduction on a
KernelFunctionOperationon some GPUs (#4047) - Calculating cell time scale in triply bounded
ImmersedBoundaryGriderrors on GPU (#4663) ERROR: Number of threads per block exceeds kernel limit (640 > 512).for small immersed-boundary problems withTimeStepWizardandPartialCellBottom(#4694)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 8 months ago
Oceananigans.jl - v0.100.0
Oceananigans v0.100.0
Breaking changes
- https://github.com/CliMA/Oceananigans.jl/pull/4672 renamed:
ExponentialCoordinatetoExponentialDiscretizationConstantToStretchedCoordinatetoReferenceToStretchedDiscretization
Merged pull requests:
- Symmetrizing Laplacian in order to use conjugate gradient in nonuniform grids (#4563) (@xkykai)
- (0.100.0) NamedCoordinate -> NamedDiscretization (#4672) (@navidcy)
- Add methods to write a field directly to NetCDF (#4730) (@tomchor)
- Add a new tutorial for Models (#4790) (@glwagner)
- Further enhancements of the XESMF extension (#4819) (@navidcy)
- Fix ranks not seeing the correct device (#4827) (@simone-silvestri)
Closed issues:
ConjugateGradientPoissonSolverblows up withPartialCellBottom(#4634)FourierTridiagonalPoissonSolver'smultiply_by_spacing!doesn't use immersed boundary-aware spacing operators (#4692)- Laplacian operator for
ConjugateGradientPoissonSolveris nonsymmetric for nonuniform grids (#4693) - Lowering Enzyme testing time (#4776)
- DOCUMENTER_KEY missing from Nautilus; Docs/Doc Previews aren't being deployed (#4801)
- XESMF doesn't work on GPU (#4821)
- GPU memory not distributed correctly over multiple devices (#4826)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 8 months ago
Oceananigans.jl - v0.99.2
Oceananigans v0.99.2
Add new extension for XESMF.jl that allows conservative regridding for CenterFields.
Merged pull requests:
- (0.99.2) Add XESMF.jl extension to use xESMF to compute tracer regridding weights (#4782) (@taimoorsohail)
- Collection of optimizations for
mean!and_mean(#4792) (@glwagner) - Compute Average in two steps rather than one (#4795) (@glwagner)
- Clarify few things in tripolar grid docstring (#4802) (@navidcy)
- Some code clean-up (#4806) (@tomchor)
- Bump Enzyme compat (#4807) (@wsmoses)
- Remove reactant from distributed tests (#4808) (@simone-silvestri)
- Fix bug in computing slopes in the corner (#4810) (@simone-silvestri)
- Add back sparse matrix utils (#4815) (@simone-silvestri)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 9 months ago
Oceananigans.jl - v0.99.1
Oceananigans v0.99.1
Merged pull requests:
- Remove misleading benchmark scripts (#4787) (@glwagner)
- Removing Reactant extension method for materialize_immersed_boundary (#4789) (@jlk9)
- Fix
TracedStepRangeLenreference for latest Reactant (#4793) (@glwagner)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 9 months ago
Oceananigans.jl - v0.99.0
Oceananigans v0.99.0
Breaking changes
HeptadiagonalSolverno longer supported
Merged pull requests:
- Remove the
HeptadiagonalSolver(#4386) (@simone-silvestri) - Sets last_Δt, last_stage_Δt for Reactant grids equal to regular grids (#4784) (@jlk9)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 9 months ago
Oceananigans.jl - v0.98.1
Oceananigans v0.98.1
Merged pull requests:
- Regularize auxiliary boundary conditions (#4722) (@glwagner)
- Remove support for MultiRegionObject split on different devices (#4738) (@simone-silvestri)
- Move Buildkite CI to Nautilus (#4755) (@glwagner)
- Permit Missing bcs on Face Fields (#4756) (@glwagner)
- Add function for resetting the model clock (#4757) (@glwagner)
- Add a test for SRK3 checkpointer (#4763) (@simone-silvestri)
- Do not specify
JULIA_NUM_THREADSorJULIA_NUM_PRECOMPILE_TASKSfor Buildkite CI (#4765) (@ali-ramadhan) - Once again, fix warning message formatting in SplitRungeKutta3TimeStepper (#4766) (@navidcy)
- Change closure_turbulent_velocity to closure_auxiliary_velocity (#4767) (@glwagner)
- Enforce (temporarily) CUDA.jl < v5.8.3 for Buildkite CI docs (#4769) (@ali-ramadhan)
- Update docs/Project.toml CUDA compat entry (#4770) (@navidcy)
- (0.98.1) Make
convert_for_netcdf()accesible to users (#4772) (@tomchor) - Eliminate Reactant set_to_field (#4773) (@jlk9)
- Add
compute_flux_bc_tendencies!to Reactant extension of time_step (#4775) (@jlk9)
Closed issues:
- Function
closure_turbulent_velocityhas a confusing name (#4745) - Can't reconstruct
FieldTimeSeriesofFacefield withOpenBoundaryCondition(#4754)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 9 months ago
Oceananigans.jl - v0.98.0
Oceananigans v0.98.0
Breaking changes
- new interface for
OpenBoundaryConditions where a new kwargschemespecified asOpenBoundaryCondition(scheme = ...)specifies the numerical treatment of the boundary (seePerturbationAdvection).
Merged pull requests:
- Add grid reconstruction utilities to reconstruct Grids from NetCDF outputs (#4660) (@tomchor)
- (0.98.0) Modify interface for
OpenBoundaryConditions withschemesand use Tuples inboundary_mass_fluxes(#4687) (@tomchor) - Refactor
fill_halo_regions!: Reduce boundary conditions slowdown (#4706) (@simone-silvestri) - Bump actions/checkout from 4 to 5 (#4712) (@dependabot[bot])
- Use CG as fallback solver for all cases (#4720) (@glwagner)
- CompatHelper: bump compat for JLD2 to 0.6, (keep existing compat) (#4726) (@github-actions[bot])
- Indexing for a
CallableCoordinate(#4727) (@simone-silvestri) - Fix warning message formatting in SplitRungeKutta3TimeStepper (#4728) (@navidcy)
- A new formulation for the split RK3 timestepper (#4737) (@simone-silvestri)
- Extend the interior function to MultiRegionFields (#4743) (@siddharthabishnu)
- Extend minimum spacing functions without location arguments to MultiRegionGrids (#4744) (@siddharthabishnu)
- Add a docstring for RotatedLatitudeLongitudeGrid (#4746) (@glwagner)
- Add Wang et al. 2025 (#4752) (@navidcy)
- Support equality between GPU fields and CPU fields (#4753) (@glwagner)
Closed issues:
- Equality operation does not work between fields on different architectures (#4751)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 9 months ago
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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 10 months ago
Oceananigans.jl - v0.97.7
Oceananigans v0.97.7
Merged pull requests:
- Move storage space to from
MutableVerticalDiscretizationtoZStarCoordinate(#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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 10 months ago
Oceananigans.jl - v0.97.6
Oceananigans v0.97.6
Merged pull requests:
NonhydrostaticModelon aLatitudeLongitudeGrid(#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
schedulein 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)
PerturbationAdvectionOpenBoundaryConditionleads to nonzero mass fluxes into the domain (#4596)- Can't open a grid on
GPU(#4679) Openboundary conditions on aBoundedtopology 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
schedulethat was already used in a different OutputWriter is provided (#4689)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 10 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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 11 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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 11 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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 11 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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.97.1
Oceananigans v0.97.1
Merged pull requests:
- @allowscalar when indexing
FieldTimeSeriestimes on the GPU (#4652) (@simone-silvestri) - add mailmap (#4657) (@vchuravy)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 11 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.,
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
Averageconstructor (#4638) (@tomchor) - Minor enhancement to show(io, ::OutputWriters) (#4640) (@navidcy)
- Add NetCDFWriter docstring in Docs/Appendix/Library (#4642) (@navidcy)
- Remove redundant
clock.last_Δt = Δtstep in SplitExplicitRK3 timestepper (#4643) (@navidcy) - Add SplitExplicitFreeSurface checkpointer tests (#4644) (@navidcy)
- Add
using CUDAin 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:
HydrostaticFreeSurfaceModeldynamics tests onConformalCubedSphereGridwith fully explicit treatment of the free surface (#3265)- Move CUDA into an extension (#3481)
NetCDFWriterdocstring missing from Docs/Appendix/Library (#4641)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 11 months ago
Oceananigans.jl - v0.96.35
Oceananigans v0.96.35
Merged pull requests:
- Don't initialize callback every time_step (#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
closure_constant()toclosure_coefficient()(#4631) (@tomchor) - Bump to 0.96.35 (#4632) (@glwagner)
Closed issues:
- How to save properties of ImmersedBoundaryGrid with NetCDFOutputWriter? (#3536)
- Return
viewof Array/CuArray for *nodes rather thanview(OffsetArray())(#4620) - Should we change
closure_constant()toclosure_coefficient()? (#4630)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 11 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
Fieldgenerated fromFieldTimeSeries(#4141) (@glwagner) - Add tests for
ConjugateGradientPoissonSolverwithPerturbationAdvectionOpenBoundaryConditionsinImmersedBoundaryGrids (#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
DroguedDynamicsfor lagrangian particles (#4612) (@jagoosw) - Example with
TEOS10EquationOfState+ "single wrapped"*nodes(#4615) (@glwagner) - Remove
gridarg/kwarg fromCenteredandUpwindconstructors (#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.BuoyancyModelsmodule should include functionality to compute isopycnal slopes (#2014)- Need new name for the category
BuoyancyTracer,SeawaterBuoyancy(#2022) CFLdiagnostic 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
ConsecutiveIterationsschedule (#2154) - Would we need a
wall-timeregression test? (#2176) - Throw helpful error if
times[n]cannot be located when constructingFieldTimeSeries(#2234) - Serialize boundary condition arrays as
Arrayrather thanCuArray? (#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
NamedTupletypo? (#2269) - Implementing k-epsilon (#2278)
- Adding a "Why Julia?" and Mission/Goals section on the Documentation (#2308)
- Can't use kwarg
velocitieswithHydrostaticFreeSurfaceModelfor pre-allocated fields (#2341) set!with functions does not work withMultiArch(#2350)- Improving
HeptadiagonalIterativeSolverandMatrixImplicitSolver(#2418) - Should we explain
fill_halo_regions!()in the docs? (#2442) - Proposed enhancements/changes in Docs (#2448)
- Instability of
IsopycnalSkewSymmetricDiffusivityat 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_gridutility (#2534) - Docstrings for
getdeviceandswitch_device!(#2622) - Do we need a custom
Reference? (#2623) ConstantCartesianCoriolistest 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!betweenFieldTimeSeriesandField(#2783)- Is the velocity field for
NonhydrostaticModeldivergence free when usingImmersedBoundaryGrid? (#2891) - MultiRegion not working on multiple GPUs (#2930)
- Docs for
Biogeochemistrymodule (#2974) - Repository size (#3031)
- Functions and types defined at top level indicate code disorganization (#3048)
ImmersedBoundariesmodule should be defined beforeAdvectionandTurbulenceClosures(#3062)- Proposal for sustainable
validationscripts (#3076) - User interface for outputting boundary conditions (#3082)
- Refactor
Simulations+ simulations infrastructure to be loaded first (#3088) - Utility for transforming
Modelswith 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
DistributedComputationslook like they belong inModels(#3281) - Encourage, document, test using
Fieldfor boundary conditions rather thanArray(#3298) - Use English names instead of mathematical symbols in the user API? (#3301)
buoyancy.model->buoyancy.formulation? (#3317)- Global reductions for
DistributedFields (#3337) - Can we calculate a
Fieldat everyNgrid points? (#3460) - Kernel size calculation for sliced field halo filling seems to be wrong (#3473)
- Performance testing (#3492)
ImmersedPoissonSolveris slow (#3552)- Vector rotation for grids where the "intrinsic" and "extrinsic" coordinate system are different (#3625)
- Egregious errors in
NonhydrostaticModelsimulations onImmersedBoundaryGridwhen nonhydrostatic pressure is not separated (#3677) - Reducing parameter space usage by
LatitudeLongitudeGrid(#3693) - Docstring for
WENOVectorInvariantis too terse and does not have examples (#3703) - Convert code blocks documenting
ImmersedBoundaryConditionto doctests (#3705) - Do
intrinsic_vectorandextrinsic_vectorbelong inOperators? (#3718) - Is
HydrostaticFreeSurfaceModelsupposed to support a rigid lid? (#3735) - Update Buildkite version on Tartarus and Sverdrup (#3751)
- Implement KrylovPoissonSolver (#3803)
- Advection schemes should depend on the
gridfor 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
≈forFieldTimeSeries(#4100) - Issue with
TimeStepWizardonGPU()(#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
λnodesandφnodeswithTripolarGrid(#4541) - No tests for
ConjugateGradientSolverin a triply-boundedImmersedBoundaryGridwith a flux boundary condition (#4603) - Simulation time series key "t" missing after second restart from pickup file (#4626)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 12 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
ConjugateGradientPoissonSolverfor immersed boundaries (#4554) (@xkykai) - Remove the use of indices for storage in
PerturbationAdvection(#4578) (@tomchor) - Remove shift in
FFTBasedPoissonSolverand multiply by negative one in preconditioning forConjugate 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:
ConjugateGradientPoissonSolverwith FFT-based preconditioner does not maintain zero mean pressure (#4553)FourierTridiagonalPoissonSolverdoesn't work with regular grids (#4580)ConjugateGradientPoissonSolver'sFFTBasedPoissonSolverdoesn'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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 12 months ago
Oceananigans.jl - v0.96.32
Oceananigans v0.96.32
Merged pull requests:
- (0.96.32) Fix
zspacing()forPartialCellBottomimmersed boundaries and add tests forImmersedGrids (#4572) (@tomchor) - Fix a couple of bugs for immersed cubed sphere (#4574) (@simone-silvestri)
Closed issues:
zspacingdoes not adjust forPartialCellBottom(#4435)- Error in the
@showmethod of an immersedConformalCubedSphereGrid(#4573)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.96.31
Oceananigans v0.96.31
Merged pull requests:
- Call
compute!in constructor forComputedField(#4531) (@glwagner) - Generalize assumed_field_location, plus allow FourierTridiagonalPoissonSolver on regular grid (#4535) (@glwagner)
- Fix small typo in
conjugate_gradient_poisson_solver.jl(#4552) (@tomchor) - Support assignment
a = bin@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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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_nodefunction (#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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.96.28
Oceananigans v0.96.28
Merged pull requests:
- Solving Poisson equation for
p * dtinstead ofp(#4276) (@xkykai) - Changes default AMD poincare coefficient (#4494) (@jagoosw)
- Add distributed reductions (#4497) (@navidcy)
- Clean up
update_boundary_conditions!(#4503) (@glwagner) - Fix some
FieldTimeSeriesindexing bugs (#4505) (@loisbaker) - Use default
prettyurls=truein 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 update_state 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
substep_turbulent_kinetic_energy!into two kernels (#4536) (@jlk9) - Fix
VarianceDissipationdocstring links (#4537) (@navidcy) - Fix indentation in docs/make.jl (#4540) (@tomchor)
Closed issues:
ConjugateGradientPoissonSolverfails to converge/is numerically unstable for extremely small timesteps (#4067)- Simulation with
ImmersedBoundaryblows up on the first step, but only when when plotting a field first (#4519)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.96.27
Oceananigans v0.96.27
Merged pull requests:
- Variance dissipation computation (#3877) (@simone-silvestri)
- Small improvements to
PerturbationAdvectionOpenBoundaryConditioninterface (#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
Distributedarchitecture using a single rank (#4515) (@simone-silvestri) - Update Project.toml (#4518) (@navidcy)
Closed issues:
- Error running a distributed nonhydrostatic model on CPU (#4483)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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
getbcinterface (#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.mpiexecin docs (#4495) - Refactor JRA55 to use the DataWrangling Metadata, Bounding_Box, etc functionality (#4498)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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, vwithinset!on OrthogonalSphericalShellGrid as an extrinsic vector by default (#4479) (@glwagner) - Clean up
LatitudeLongitudeGridfrom 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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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:
BoundsErrorusing WENO and stretched grids (#2717)- Can't
@showa grid withMutableVerticalDiscretizationand vector interfaces on GPU (#4475)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.96.23
Oceananigans v0.96.23
Merged pull requests:
- Add Distributed grids section in Grids tutorial (#3698) (@navidcy)
- support for active_cells_map 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
NetCDFWriterwork withPartialCellBottomgrids (#4462) (@tomchor)
Closed issues:
- Renaming
NetCDFOutputWritertoNetCDFWriter(#3936) - Ax, Ay and Az are negative in a Tripolar grid (#4318)
NetCDFWriterdoesn't work forPartialCellBottomgrids (#4416)- Reading
.jld2withFieldTimeSeries()errors under new Oceananigans version (#4454) - Scalar indexing when outputting a slice with
NetCDFWriterand GPUs (#4464)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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 newton_div 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
tilted_bottom_boundary_layer.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
ZStarwith 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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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 output_construction (#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
default_checkpointed_propertiesinCheckpointerdocstring (#4410) (@jbisits) - Clean up extra code in
test_turbulence_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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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()forConjugateGradientPoissonSolver(#4373) (@tomchor) - Refactor implicit vertical diffusion solver to avoid passing diffusivity functions to kernel (#4377) (@glwagner)
- Clean up notation in compute_w 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 isopycnal_skew_symmetric_diffusivity.jl to use DiffusiveFormulation (#4392) (@glwagner)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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
conditionkwarg inConditionalOperationfor immersed boundary grids (#4353) (@navidcy) - Respect user condition for
ConditionalOperationof reduced fields (#4357) (@glwagner) - Add special function-set for sharding (#4363) (@glwagner)
- Refactor hydrostatic free surface names (#4366) (@glwagner)
- Require
interval::Intin IterationInterval? (#4370) (@glwagner) - Remove the performance hit from using
KernelOffsets(#4372) (@simone-silvestri) - Bump to 0.96.19 (#4374) (@glwagner)
Closed issues:
- The
NotImmersedColumnmisses extra user-definedcondition(#4352) - Performance regression issues (#4365)
- Using
1daysshould throw an error inIterationIntervalinOutputWriters(#4369)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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:
CumulativeIntegralthrows error when integrated over a reducedField(#4078)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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_zfor z::Nothing (#4337) (@glwagner)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.96.12
Oceananigans v0.96.12
Merged pull requests:
- Pad Center fields on BoundedTopology so that all
Fieldshave identical horizontal size (#4144) (@glwagner) - Increment run_wall_time 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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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
ShardedDistributedarchitecture (#4301) (@simone-silvestri) - Switch default behavior of
Distributedarchitecture (#4302) (@simone-silvestri) - Bump to 0.96.7 (#4303) (@glwagner)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.96.5
Oceananigans v0.96.5
Merged pull requests:
- Add validation for
conditionkwarg inConditionalOperation(#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::Arrayshould warn ifconddoes not match the size of the field (#4265)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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:
mainseems broken after #4270? (#4278)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.96.3
Oceananigans v0.96.3
Merged pull requests:
- Implement Distributed{<:ReactantState} (#4200) (@glwagner)
- Support
BoussinesqEquationOfStateinNetCDFWriter(#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_attributesinNetCDFWriterwhen using aBoussinesqEquationOfStatefrom SeawaterPolynomails.jl (#4251) - Blowup when trying to reproduce MITgcm Barotropic Ocean Gyre (#4267)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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 make_tracer for grid (#4242) (@wsmoses)
- find_time_index for TracedStepRangeLen (#4249) (@jumerckx)
- Use VectorInvariant instead of WENOVectorInvariant in test_reactant for lat-lon (#4256) (@glwagner)
- Bump to 0.96.1 (#4257) (@glwagner)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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
NetCDFOutputWriterexperience (#4046) (@ali-ramadhan) - (0.96.0) Rename output writers to
JLD2WriterandNetCDFWriter(#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
NetCDFWriterto 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
-O0for the docs build? (#4229)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year ago
Oceananigans.jl - v0.95.29
Oceananigans v0.95.29
Merged pull requests:
- Capture
Clock.stagewith 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)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year 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 find_time_index (#4215) (@glwagner)
Closed issues:
- GPU compiler error in tendency computation using
DiscreteForcingwith GPU +Float32+ immersedRectilinearGrid(#4192)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 year ago