版本发布 8
## Oceananigans v0.109.1 [Diff since v0.109.0](https://github.com/CliMA/Oceananigans.jl/compare/v0.109.0...v0.109.1) **Merged pull requests:** - Support tracers in `PerturbationAdvection` open boundary conditions (#5617) (@tomchor) - Regularize correctly `U` and `V` bc for a `TripolarGrid` (#5633) (@simone-silvestri) - (0.109.1) Fix `_fractional_indices` ambiguities and adapt `last_Δt` and `last_stage_Δt` to kernel time (#5634) (@dkytezab) - Update number of ambiguities (#5640) (@giordano) **Closed issues:** - add `zarr` as `output_format` with a variable chunk size (#5637)
## Oceananigans v0.107.4 [Diff since v0.107.3](https://github.com/CliMA/Oceananigans.jl/compare/v0.107.3...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)
## Oceananigans v0.107.2 [Diff since v0.107.1](https://github.com/CliMA/Oceananigans.jl/compare/v0.107.1...v0.107.2) **Merged pull requests:** - Adapt to CUDA.jl v6 (#5458) (@giordano) - Explicit imports in `Advection` (#5523) (@giordano) - Resolve some ambiguities (#5524) (@giordano)
## Oceananigans v0.107.1 [Diff since v0.107.0](https://github.com/CliMA/Oceananigans.jl/compare/v0.107.0...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. <!-- **Closed issues:** - Restore clock iteration conditional to Reactant extension timestepping (#5270) - High-order WENO crashes with Float32 (#5485) -->
## Oceananigans v0.104.3 [Diff since v0.104.2](https://github.com/CliMA/Oceananigans.jl/compare/v0.104.2...v0.104.3) **Merged pull requests:** - Extend FFTBasedPoissonSolver to work on AMDGPU (#4593) (@navidcy) - Do not pass `CommunicationBuffers` as `clock` to 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 `FieldTimeSeries` with 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_conditions` on 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 `OffsetArray` in `restore_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=1` in `Clock` constructor for ReactantGrid (#5236) (@jlk9) - Jlk9/reactant clock stage 1 (#5241) (@jlk9) - (0.104.3) Make `FieldTimeSeries` respect `architecture` when 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 `Distributed` architecture and `ZStarCoordinate` not ensured (#5161) - Nonhydrostatic model fails on MetalGPU due to Clock(::AbstractGrid) constructor (#5186) - Calling `HydrostaticFreeSurfaceModel` with invalid `timestepper = :RungeKutta3` throws unfriendly error. (#5192) - `restore_prognostic_state!` not supported for `OffsetArrays` (#5212) - `BoundaryConditionOperation` not compiling on GPU. (#5214) - Unusual density fluctuations have been observed in submarine acoustic simulation. (#5219) - Feature request: Prescribed velocity field time series (#5227)
## Oceananigans v0.104.1 [Diff since v0.104.0](https://github.com/CliMA/Oceananigans.jl/compare/v0.104.0...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 `ConditionalOperation` method (#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.ConditionalOperation` method (#5154) - Bogus methods in `binary_operations.jl` (#5167)
## Oceananigans v0.103.0 [Diff since v0.102.5](https://github.com/CliMA/Oceananigans.jl/compare/v0.102.5...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 ```julia closure = CATKEVerticalDiffusivity() tracers = (:T, :S, :e) model = HydrostaticFreeSurfaceModel(; grid, closure, tracers) ``` ### After this PR it should now be built with ```julia 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) - `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)
## Oceananigans v0.102.4 [Diff since v0.102.3](https://github.com/CliMA/Oceananigans.jl/compare/v0.102.3...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_abstraction` in `test_output_readers.jl` (#5037)