Recent Releases of Oceananigans.jl
Oceananigans.jl - v0.110.11
Oceananigans v0.110.11
Merged pull requests:
- (0.110.11) Restores
update_state!ordering for nonhydrostatic model (#5791) (@jagoosw)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 30 days ago
Oceananigans.jl - v0.110.10
Oceananigans v0.110.10
Merged pull requests:
- Bump CUDA in /test (#5696) (@dependabot[bot])
- Remove type-instability in
buffer_*_parameters(#5748) (@simone-silvestri) - Bugfix in left center-field boundary conditions with
PerturbationAdvection(#5767) (@tomchor) - Speed up multi_region cubed sphere and zstar tests (#5775) (@tomchor)
- (0.110.10) Fix substeps alignment in
SplitExplicitFreeSurface(#5788) (@simone-silvestri)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 month ago
Oceananigans.jl - v0.110.9
Oceananigans v0.110.9
Merged pull requests:
- Add distributed tests for ConjugateGradientPoissonSolver (#5757) (@xkykai)
- Reject FieldTimeSeries operands in AbstractOperations (#5760) (@xkykai)
- Fix distributed
mean: reduceconditional_lengthglobally (#5763) (@xkykai) - Fix NCCL send/recv for Bool fields (ImmersedBoundaryGrid mask) (#5765) (@aklocker42)
- Fix tilted bottom boundary layer example (#5766) (@tomchor)
- Add Lx, Ly, Lz to adapt calls in
Adapt.adapt_structure(::RectilinearGrid)(#5769) (@jlk9) - Add
set!(::FieldTimeSeries, ::Number)(#5773) (@xkykai) - Fix ZarrWriter test (#5776) (@tomchor)
- Misc fixes for better type-generic support (#5783) (@giordano)
- Bump version to 0.110.9 (#5787) (@xkykai)
Closed issues:
- Tilted bottom boundary layer tutorial blows up in newer versions (#5722)
- Binary operations between FieldTimeSeries silently drop the time dimension (#5758)
- Distributed
meanis incorrect: denominator not globally reduced (result is nranks× too large) (#5762)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 month ago
Oceananigans.jl - v0.110.8
Oceananigans v0.110.8
What's Changed
- Remove type instability in
flattened_unique_valuesby @simone-silvestri in https://github.com/CliMA/Oceananigans.jl/pull/5749 - Density-weighted (mass-flux) adaptive implicit vertical advection by @glwagner in https://github.com/CliMA/Oceananigans.jl/pull/5733
Full Changelog: https://github.com/CliMA/Oceananigans.jl/compare/v0.110.7...v0.110.8
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 month ago
Oceananigans.jl - v0.110.7
Oceananigans v0.110.7
Merged pull requests:
- Simplify Relaxation: drop ContinuousForcing dependency, add transform and Field targets (#5620) (@glwagner)
- Add
ColumnwiseTridiagonalPreconditionerfor the CG Poisson solver (#5650) (@xkykai)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 month ago
Oceananigans.jl - v0.110.6
Oceananigans v0.110.6
Closed issues:
- Test velocity exchanges across the tripolar seam more thoroughly (#4488)
- Add option for distributed computation to benchmark (#5579)
- Type-unstable
ifelseover tuples ininterpolating_time_indices(::Clamp, …)(mixedInt/Float64slot) (#5731)
What's Changed
- Bump actions/checkout from 6 to 7 by @dependabot[bot] in https://github.com/CliMA/Oceananigans.jl/pull/5720
- node returns the physical znode (not the reference rnode) on mutable vertical grids by @glwagner in https://github.com/CliMA/Oceananigans.jl/pull/5723
- Add interpolate(f, …): map source values through f before blending by @glwagner in https://github.com/CliMA/Oceananigans.jl/pull/5726
- Make Clock adapt recursive by @Pangoraw in https://github.com/CliMA/Oceananigans.jl/pull/5725
- Fix type instability in interpolating_time_indices(::Clamp, …) by @xkykai in https://github.com/CliMA/Oceananigans.jl/pull/5732
- Allow kernel functions with fewer indices for KernelFunctionOperation at reduced locations by @simone-silvestri in https://github.com/CliMA/Oceananigans.jl/pull/5659
- Bugfix type inference of
Clocktypes by @simone-silvestri in https://github.com/CliMA/Oceananigans.jl/pull/5738 - Immersed boundary as a plain
OffsetArrayby @simone-silvestri in https://github.com/CliMA/Oceananigans.jl/pull/5737 - Fast interpolate! from a LambertConformalConicGrid source by @glwagner in https://github.com/CliMA/Oceananigans.jl/pull/5727
- Add a memory allocation test by @simone-silvestri in https://github.com/CliMA/Oceananigans.jl/pull/5739
- Update papers using Oceananigans list and fix mismatched DOI links by @navidcy in https://github.com/CliMA/Oceananigans.jl/pull/5741
- Extend zstar to allow mass fluxes by @simone-silvestri in https://github.com/CliMA/Oceananigans.jl/pull/5592
- Remove looping over tuple of fields by @simone-silvestri in https://github.com/CliMA/Oceananigans.jl/pull/5743
- Update UpwindBiased function default type by @glwagner in https://github.com/CliMA/Oceananigans.jl/pull/5747
- Allow Flat-z (2D) TripolarGrid via z = nothing by @glwagner in https://github.com/CliMA/Oceananigans.jl/pull/5728
- Fix error reading FieldTimeSeries from NetCDF by @tomchor in https://github.com/CliMA/Oceananigans.jl/pull/5684
- Fix boxing of large
argsinputs by @simone-silvestri in https://github.com/CliMA/Oceananigans.jl/pull/5746 - Remove type instability from the
extract_field_time_seriesfunction by @simone-silvestri in https://github.com/CliMA/Oceananigans.jl/pull/5740 - Dk/add distributed benchmark by @vopikamm in https://github.com/CliMA/Oceananigans.jl/pull/5591
- Fix tripolar reductions by @simone-silvestri in https://github.com/CliMA/Oceananigans.jl/pull/5099
- Fix instabilities in the
launch!function by @simone-silvestri in https://github.com/CliMA/Oceananigans.jl/pull/5745
Full Changelog: https://github.com/CliMA/Oceananigans.jl/compare/v0.110.5...v0.110.6
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 1 month ago
Oceananigans.jl - v0.110.5
Oceananigans v0.110.5
Merged pull requests:
- Update on_architecture for MetalGPU to specifically target
StepRangeLen{FT, Float64, Float64}(#5375) (@glwagner) - Add BFloat16 as supported float type (#5476) (@Pangoraw)
- Bump codecov/codecov-action from 6 to 7 (#5674) (@dependabot[bot])
- Add tracer budget closure test (#5679) (@navidcy)
- Better show for
RotatedLatitudeLongitudeGridandLambertConformalConicGrid(#5709) (@navidcy) - [CI] Upload docs build directory as an artifact (#5710) (@giordano)
- Add Reactant
==for LatitudeLongitudeGrid (#5711) (@dkytezab) - Remove
converttype piracy from Reactant extension (#5713) (@giordano) - Bump project version from 0.110.4 to 0.110.5 (#5721) (@glwagner)
Closed issues:
- Custom
validate_gridfor Reactant + LatLon (#5668) - Treatment of bathymetry in ShallowWaterModels (#5712)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 2 months ago
Oceananigans.jl - v0.110.4
Oceananigans v0.110.4
Closed issues:
JLD2Writer(overwrite_existing=true)behaves like iteration-level overwrite, not file-level overwrite (#5643)- Accidental emoji rendering in docstrings (#5685)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 2 months ago
Oceananigans.jl - v0.110.3
Oceananigans v0.110.3
Closed issues:
JLD2Writer(overwrite_existing=true)behaves like iteration-level overwrite, not file-level overwrite (#5643)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 2 months ago
Oceananigans.jl - v0.110.2
Oceananigans v0.110.2
Closed issues:
cell_diffusion_timescalebreaks for CATKE (#5641)- TripolarGrid face-coordinate generation appears incomplete at the north seam, yielding NaNs in rotation_angle / intrinsic_vector (#5665)
What's Changed
- Add
inactive_nodestoNetCDFWriter'sgather_immersed_boundaryby @tomchor in https://github.com/CliMA/Oceananigans.jl/pull/5658 - Update
Diagnostics.cell_diffusion_timescalemethod for vertically-implicit treatment by @navidcy in https://github.com/CliMA/Oceananigans.jl/pull/5642 - Add
::Nothingmethods to avoid type piracy in other packages by @navidcy in https://github.com/CliMA/Oceananigans.jl/pull/5661 - Fix misleading docstring descriptions by @tomchor in https://github.com/CliMA/Oceananigans.jl/pull/5664
- Reset clock to stage 1 not 0 by @simone-silvestri in https://github.com/CliMA/Oceananigans.jl/pull/5672
- Use the correct function to compute the rotation angle by @simone-silvestri in https://github.com/CliMA/Oceananigans.jl/pull/5677
- define
*_domainmethods for an OSSG by @simone-silvestri in https://github.com/CliMA/Oceananigans.jl/pull/5673 - Fix inaccurate defaults/descriptions in user-facing docstrings by @tomchor in https://github.com/CliMA/Oceananigans.jl/pull/5662
- Fix wrong/stale signatures in developer-facing docstrings by @tomchor in https://github.com/CliMA/Oceananigans.jl/pull/5663
- Pin cuda 6.1 by @simone-silvestri in https://github.com/CliMA/Oceananigans.jl/pull/5681
- Update citation for Atkinson and Grisouard's paper. by @navidcy in https://github.com/CliMA/Oceananigans.jl/pull/5683
- Update Buildkite pipeline for the new JuliaGPU cluster by @maleadt in https://github.com/CliMA/Oceananigans.jl/pull/5678
- Use DocStringExtension's
TYPEDSIGNATURESfor default-free docstring signatures by @tomchor in https://github.com/CliMA/Oceananigans.jl/pull/5680 - (0.110.2) Fix reading reduced fields from NetCDF as FieldTimeSeries by @tomchor in https://github.com/CliMA/Oceananigans.jl/pull/5682
Full Changelog: https://github.com/CliMA/Oceananigans.jl/compare/v0.110.1...v0.110.2
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] about 2 months ago
Oceananigans.jl - v0.110.1
Oceananigans v0.110.1
Merged pull requests:
- Allow set! to copy between reduced and windowed single-layer fields (#5652) (@glwagner)
- Update Project.toml (#5653) (@glwagner)
Closed issues:
- Passive tracers are not conserved on tripolar grid (#4466)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 2 months ago
Oceananigans.jl - v0.110.0
Oceananigans v0.110.0
Breaking changes
Openboundary conditions were renamed toNormalFlow.Valuenow accepts ascheme(used to set up radiation boundary conditions for tracers). See https://github.com/CliMA/Oceananigans.jl/pull/5648 for details
Merged pull requests:
- Add target_transport to PerturbationAdvection for per-boundary transport control (#5479) (@tomchor)
- add zarr writer and chunk size as option to io benchmark (#5638) (@vopikamm)
- (0.110.0) Rename
Open→NormalFlowand add aschemetoValue(#5648) (@glwagner)
Closed issues:
- Add
schemeslot toValue(Value{MS}) and migratePerturbationAdvection's Center-field path (#5647)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 2 months ago
Oceananigans.jl - v0.109.2
Oceananigans v0.109.2
Merged pull requests:
- Limit pass through to target extension for auto_extension (#5644) (@rafmudaf)
- (0.109.2) Apply tracer open boundary conditions in
NonhydrostaticModel(#5646) (@tomchor)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 2 months ago
Oceananigans.jl - v0.109.1
Oceananigans v0.109.1
Merged pull requests:
- Support tracers in
PerturbationAdvectionopen boundary conditions (#5617) (@tomchor) - Regularize correctly
UandVbc for aTripolarGrid(#5633) (@simone-silvestri) - (0.109.1) Fix
_fractional_indicesambiguities and adaptlast_Δtandlast_stage_Δtto kernel time (#5634) (@dkytezab) - Update number of ambiguities (#5640) (@giordano)
Closed issues:
- add
zarrasoutput_formatwith a variable chunk size (#5637)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 3 months ago
Oceananigans.jl - v0.109.0
Oceananigans v0.109.0
Breaking changes
- the syntax of
time_discretizationwas changed
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 3 months ago
Oceananigans.jl - v0.108.2
Oceananigans v0.108.2
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 3 months ago
Oceananigans.jl - v0.108.1
Oceananigans v0.108.1
Closed issues:
- Implement a ZarrOutputWriter (#3821)
- Extend
NetCDFWriterto supportTripolarGridandMutableVerticalDiscretization(#4332) - Makie ext: support plotting FieldTimeSeries directly (#5599)
- Accept FieldTimeSeries directly in boundary conditions (always interpolate) (#5621)
- Bug in area operator
Azand potentially other operators... (#5623) - Support OrthogonalSphericalShellGrid in ZarrWriter (#5625)
Hydrosphere - Ocean Models
- Julia
Published by github-actions[bot] 3 months ago
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] 3 months 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] 3 months 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] 3 months 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] 3 months 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] 4 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] 4 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] 4 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] 4 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] 4 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] 4 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] 4 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] 4 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] 5 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] 5 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] 5 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] 5 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] 5 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] 5 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] 5 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] 5 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] 6 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] 6 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] 6 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] 6 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] 6 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] 7 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] 7 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] 7 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] 8 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] 8 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] 8 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] 8 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] 8 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] 8 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] 9 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] 9 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] 9 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] 9 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] 9 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] 9 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] 10 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] 10 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] 10 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] 10 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] 10 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] 10 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] 10 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] 11 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] 11 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] 11 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] 11 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] 11 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] 11 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] 12 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] about 1 year 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] about 1 year 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] about 1 year 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] about 1 year 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] about 1 year 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] about 1 year 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] about 1 year 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] about 1 year 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] about 1 year 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] about 1 year 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] about 1 year 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] over 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] over 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] over 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] over 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] over 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] over 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] over 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] over 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] over 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] over 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] over 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] over 1 year ago