Releases: CliMA/Oceananigans.jl
Releases · CliMA/Oceananigans.jl
✒️ Oceananigans v0.26.0
Oceananigans v0.26.0
Some breaking changes:
- Function signatures for boundary condition functions and forcing functions have been simplified.
- The
model.parameters
field has been nuked in favor of more local "parameters" functionality.ParameterizedForcing
andParameterizedBoundaryCondition
convenience types and functions have been added
The new forcing function signature is
F(i, j, k, grid, clock, state)
while the new boundary condition function signature is
bc(i, j, grid, clock, state)
where i, j
are indices along the boundary.
state
is a NamedTuple
with fields velocities
, tracers
, and diffusivities
, each corresponding to an OffsetArray
that references the data associated with each field.
Closed issues:
- Stabilizing forcing function arguments and boundary condition function arguments (#682)
Merged pull requests:
- CompatHelper: bump compat for "CUDAdrv" to "6.0" (#688) (@github-actions[bot])
- CompatHelper: bump compat for "CUDAapi" to "4.0" (#689) (@github-actions[bot])
- Fix typo in application of y value BCs (#690) (@ali-ramadhan)
- Fix
cell_diffusion_timescale
with zero tracers (#691) (@ali-ramadhan) - Simpler boundary condition functions and forcing functions (#697) (@glwagner)
🦮 Oceananigans v0.25.2
Oceananigans v0.25.2
Closed issues:
- Abstraction for "equation" for performance, code clarity, memory footprint reduction, and powerful user interface (#259)
Merged pull requests:
- Calculate tendencies on boundaries (#677) (@glwagner)
- Add CompatHelper as a GitHub action (#687) (@ali-ramadhan)
🛠️ Oceananigans v0.25.1
Oceananigans v0.25.1
Closed issues:
- Pretty printing for model structs. (#26)
- Grid should encode whether positive means east, north, etc. (#50)
- Iterate over a node list instead of using nested loops. (#61)
- Standard field names for NetCDF output. (#91)
- How to deal with cell-centered and face-centered fields in NetCDF output? (#92)
- Faster and more flexible NetCDF IO. (#145)
- Safely using @inbounds (#164)
- Casting CuArrays to Arrays for many operations. (#171)
- Staging branch (#206)
- PoissonBCs for pressure solver are redundant (#311)
- Model verification experiments (#346)
- Boundary condition API kernels should use dynamic launch configuration (#363)
- Minor performance regression (more memory allocations) (#397)
time_step!
function for adaptive time stepping (#431)- Add finalizer for NetCDFOutputWriter so we don't have to manually close files (#568)
- CPU performance regression: tons of allocations (#675)
- Bounded not defined (#679)
- ERROR: LoadError: UndefVarError: SolutionBoundaryConditions not defined (#686)
Merged pull requests:
- Update examples and test them again (#671) (@ali-ramadhan)
- Reorganize boundary function functionality (#680) (@glwagner)
- Update README.md (#681) (@glwagner)
- Fix memory allocations on CPU (#685) (@ali-ramadhan)
🔮 Oceananigans v0.25.0
Oceananigans v0.25.0
Closed issues:
- Integrate opening and closing of Netcdf outputwriters in simulation loop (#650)
- Netcdf output writer does not respect the clobber keyword (#651)
- Bug in fill_north_halo (#668)
- Bug (?) in loop_xz macro (#669)
Merged pull requests:
- Simulation handles closing of
NetCDFOutputWriter
(#652) (@suyashbire1) - Change default NetCDF temperature units: K to °C (#663) (@ali-ramadhan)
- Store tendencies correctly after time-step (#664) (@glwagner)
- Rewrite regression tests (#665) (@glwagner)
- Time step with predictor velocities (#666) (@glwagner)
- Correct no penetration bcs (#670) (@glwagner)
🕰️ Oceananigans v0.24.2
Oceananigans v0.24.2
Closed issues:
- Model constructor is slightly mangled (#647)
- Method redefinition warnings (#655)
- Register Oceananigans v0.24.1 (#657)
- Unexpected Simulation checkpointing frequency behavior (#661)
Merged pull requests:
- Allow for
DateTime
clocks (#632) (@ali-ramadhan) - Fix method redefinition warnings (#656) (@ali-ramadhan)
- Model constructor cleanup (#662) (@glwagner)
🧶 Oceananigans v0.24.1
Oceananigans v0.24.1
Closed issues:
- Register Oceananigans v0.24.0 (#646)
- Getting timestep from simulation class is cumbersome (#648)
- Method redefinition warnings (#655)
Merged pull requests:
- New default size for FaceFields (#644) (@glwagner)
- Improves getting time step from Simulation type (#649) (@suyashbire1)
- Fix method redefinition warnings (#656) (@ali-ramadhan)
🗿 Oceananigans v0.24.0
Oceananigans v0.24.0
Closed issues:
Merged pull requests:
- Upgrade fields to store boundary conditions (#631) (@ali-ramadhan)
- Simulation parameters and prettier show methods (#639) (@ali-ramadhan)
- Upgrade NetCDF output writer to write arbitrary outputs for LESbrary use (#643) (@ali-ramadhan)
- New default size for FaceFields (#644) (@glwagner)
🦐 Oceananigans v0.23.0
Oceananigans v0.23.0
Closed issues:
- More modular and reproducible 3D plotting script (#203)
- Make checkpointer more memory efficient (#416)
- Checkpointer warning if properties included make restoring impossible (#417)
- Should
Model
be renamed toIncompressibleModel
orBoussinesqModel
? (#566) - Storing boundary conditions inside fields (#606)
- Make Julia 1.3 the new minimum required version? (#625)
- Flux boundary condition with two components (#629)
- Register Oceananigans v0.22.0 (#630)
- README is out of date (#633)
- Error when setting GPU field using CuArray (#634)
Merged pull requests:
- Rename Model to IncompressibleModel (#626) (@ali-ramadhan)
- Ability to construct field tuples with non-zero data (#627) (@ali-ramadhan)
- Simplify checkpointer and make it work for large models (#628) (@ali-ramadhan)
- Upgrade fields to store boundary conditions (#631) (@ali-ramadhan)
- Import CUDAnative in Fields submodule (#635) (@ali-ramadhan)
- Make Julia 1.3 the new minimum required version (#636) (@ali-ramadhan)
✈️ Oceananigans v0.22.0
Oceananigans v0.22.0
Closed issues:
- Make progress statements a part of
time_step!
(#432) - Use
FT
for "floating point type" (#446) - 'Simulation' type for managing time stepping (#447)
- Use less defaults in model construction? (#459)
- Grid
Topology
concept (#489) - Updating the code the "normal" way (#598)
Merged pull requests:
- Grids now have a topology (#614) (@ali-ramadhan)
- Create field boundary conditions using information from grid topology (#620) (@ali-ramadhan)
- High-level
Simulation
type to manage time stepping (#621) (@ali-ramadhan) - Differentiated and variable AMD model constants (#622) (@glwagner)
- Allow 2D GPU models (#623) (@ali-ramadhan)
🍩 Oceananigans v0.21.0
Oceananigans v0.21.0
Closed issues:
- Notation for non-traditional f-plane is obscure (#616)
Merged pull requests:
- Fixes off-by-one indexing error in hydrostatic pressure integrat… (#612) (@glwagner)
- Purge famous people (#613) (@ali-ramadhan)
- Changes notation for NonTraditionalFPlane (#617) (@glwagner)
- Changes Timeseries to TimeSeries (#618) (@glwagner)
- Install TagBot as a GitHub Action (#619) (@JuliaTagBot)