Releases: CliMA/Oceananigans.jl
Releases · CliMA/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)
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)
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)
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)
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:
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)
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)
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)
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:
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)