Skip to content

Releases: CliMA/Oceananigans.jl

v0.103.1

27 Dec 20:04
986acc0

Choose a tag to compare

Oceananigans v0.103.1

Diff since v0.103.0

Merged pull requests:

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 closure to models (#1879)
  • Should we use Base.TwicePrecision to align_time_step? (#2321)
  • Support Nz = 1 with DistributedFFTPoissonSolver (#2533)
  • Highlighting important breaking changes in releases (#3147)
  • Doing better than overwriting_existing=true with 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

24 Dec 23:01
b0bc65c

Choose a tag to compare

Oceananigans v0.103.0

Diff since v0.102.5

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:

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)
  • Clock and QuasiAdamsBashforth2 both 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 OrthogonalSphericalShellGrid make sense? (#3808)
  • Segmentation fault filling halo regions with Partition(y=2) (#3878)
  • Support for using set! on FieldTimeSeries with 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.jl example with Julia v1.11 (#4613)
  • Internal wave example blowing up with Julia v1.11 (#4618)
  • no method matching default_prognostic_bc error when building FieldBoundaryConditions (#4759)
  • compute_numerical_bottom_height is incorrect for PartialCellBottom (#5061)

v0.102.5

17 Dec 16:30
0580fa8

Choose a tag to compare

Oceananigans v0.102.5

Diff since v0.102.4

Merged pull requests:

  • Extending DistributedField and DistributedFFTBasedPoissonSolver functionality to allow for distributed FFT preconditioner for ConjugateGradientPoissonSolver (#4555) (@xkykai)
  • Change default minimum buffer upwind order to 3 (#5009) (@glwagner)
  • Resolve warnings when importing symbols already usinged (#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 = nothing for vertically periodic topologies (#5052) (@xkykai)
  • Correct field constructor to work with OffsetArrays (#5053) (@simone-silvestri)

Closed issues:

  • Laplacian on ImmersedBoundaryGrid is incorrect if using ∂x, ∂y, and ∂z composition (#2915)
  • Differences of reduced fields seem to not be defined? (#5040)
  • Missing znodes docstrings + broken links in docs (#5042)
  • DistributedFFTBasedPoissonSolver on reduced precision grid doesn't work as preconditioner for ConjugateGradientPoissonSolver in distributed settings (#5044)

v0.102.4

11 Dec 00:54
d6978bb

Choose a tag to compare

Oceananigans v0.102.4

Diff since v0.102.3

Merged pull requests:

Closed issues:

  • Flaky test: test_chunked_abstraction in test_output_readers.jl (#5037)

v0.102.3

10 Dec 22:02
b153542

Choose a tag to compare

Oceananigans v0.102.3

Diff since v0.102.2

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 NetCDFWriter on a vertically stretched lat-lon grid (#5029)
  • Cannot time step a NonhydrostaticModel with an ImplicitFreeSurface on a CUDA GPU (#5032)

v0.102.2

09 Dec 17:04
6a539d9

Choose a tag to compare

Oceananigans v0.102.2

Diff since v0.102.1

Merged pull requests:

  • SphericalCoriolis which supports nonhydrostatic and hydrostatic formulations (#4695) (@francispoulin)
  • Fix clock argument in TriadIsopycnalSkewSymmetricDiffusivity's explicit_R₃₃_∂z_c function (#4780) (@xkykai)
  • Support ImmersedBoundaryGrid reconstruction 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 prettysummary to Utils (#5006) (@giordano)
  • Fix location was not passed in configure_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)
  • clock argument missing in TriadIsopycnalSkewSymmetricDiffusivity's explicit_R₃₃_∂z_c function (#4779)
  • Different behavior of AdvectiveForcing when tracers encounter a domain boundary and an immersed boundary (#4812)
  • Calling nodes on integral of field on LatitudeLongitudeGrid raises error (#5014)
  • NaNs in the halo regions when running a hydrostatic model with land (#5024)

v0.102.1

01 Dec 05:57
dbc13ce

Choose a tag to compare

Oceananigans v0.102.1

Diff since v0.102.0

Merged pull requests:

v0.102.0

26 Nov 23:59
13edbd8

Choose a tag to compare

Oceananigans v0.102.0

Diff since v0.101.3

Breaking changes

  • This release fixes the non-standard style of BuoyancyField, which is renamed to buoyancy_field
  • It also adds ExplicitImports to testing which will affect in which modules certain names are available.

Other changes

  • Finally, it implements a buoyancy_force and buoyancy_tracers interface for TurbulenceClosures. This is not a breaking change.

Merged pull requests:

v0.101.3

19 Nov 00:42
69d5c99

Choose a tag to compare

Oceananigans v0.101.3

Diff since v0.101.2

Merged pull requests:

Closed issues:

  • nodes() returns the full grid when given a smaller view of a Field (#4729)
  • compute!(field, time) doesn't update status of field (#4944)
  • [doc] Add README-zh-CN.md (#4948)

v0.101.2

14 Nov 00:38
54ba8f2

Choose a tag to compare

Oceananigans v0.101.2

Diff since v0.101.1

Merged pull requests: