版本发布 8
## SpeedyWeather v0.17.2 [Diff since v0.17.1](https://github.com/SpeedyWeather/SpeedyWeather.jl/compare/v0.17.1...v0.17.2) **Merged pull requests:** - Leapfrog (re)start, Implicit reinitialize option, RestartFile, ProgressTxt, ParametersTxt as callback (#726) (@milankl) - More ScratchMemory handling for SpectralTransforms (#791) (@maximilian-gelbrecht) - Reduce GPU overhead (#824) (@maximilian-gelbrecht) - KA kernels for forcing and drag (#834) (@karinakowalczyk) - Mean sea-level pressure output (#853) (@milankl) - Implement surface wind and temperature outputs (#858) (@stella-bourdin) - Move Makie extensions to RingGrids and fix `globe` bug (#866) (@bgroenks96) - Update CITATION.cff (#869) (@milankl) - Enhance README with interactive usage example (#872) (@milankl) - Subpackages version 0.1.1 (#875) (@maximilian-gelbrecht) - Bump version to 0.17.2 (#877) (@maximilian-gelbrecht) **Closed issues:** - Loading a previously-saved state and continuing a simulation (#703) - How to Output Mean Sea Level Pressure (MSLP) ? (#752) - Zenodo archive not created since v0.10 (#804) - Pres is not in AllOutput variables (#851) - Plotting `Field`s via `globe` doesn't work (#864) - OctaHEALPixGrid fails to initialise (#867)
## SpeedyWeather v0.17.1 [Diff since v0.17.0](https://github.com/SpeedyWeather/SpeedyWeather.jl/compare/v0.17.0...v0.17.1) **Merged pull requests:** - Split Extensions across Subpackages (#846) (@maximilian-gelbrecht) - Metal extension (#849) (@milankl) - Fix correct array type for LTA init (#850) (@maximilian-gelbrecht) - Call callbacks before output (#852) (@milankl) - Add dynamics variables into AllOutputVariables (#854) (@stella-bourdin) - Bump SpeedyWeatherInternals to v0.1.1 (#860) (@bgroenks96) - Bump SpeedyWeather revision to v0.17.1 (#863) (@bgroenks96) **Closed issues:** - Extensions broken in SpeedyWeather v0.17 (#859)
## SpeedyWeather v0.16.0 [Diff since v0.15.0](https://github.com/SpeedyWeather/SpeedyWeather.jl/compare/v0.15.0...v0.16.0) ## Non-breaking changes - Move full differentiability tests to separate CI workflow [#759](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/759) - Type stability for particle advection [#757](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/757) - Scratch memory for SpeedyTransforms now part of DiagnosticVariables [#680](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/680/) - Reworked GPU and utility code structure and added GPU versions of spectral gradients[#727](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/727) - Added `animate` to animate a NetCDF output file with GeoMakie [#755](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/755) - Makie v0.24 compatibility [#750](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/750) - Fixed an error in the LowerTriangularArrays documentation [#749](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/749) - Add Millenium and Century periods and allow conversion of Month and Year to seconds [#746](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/746) - Return UnicodePlot after run! if UnicodePlots.jl is loaded [#748](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/748) - git-auto-commit-action v6 [#747](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/747) - Makie v0.23 compatibility [#743](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/743) - LowerTriangularArray-preserving view [#739](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/739) - Array-agnostic LowerTriangularMatrix [#738](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/738) - Major rework of LowerTriangularArrays: Introduce Spectrum type, changes in indexing and constructors [#734](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/734) - Reduce CI time [#731](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/731) - Remove DocsPreviewCleanup workflow [#730](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/730) - Move UnicodePlots to extension [#728](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/728) - Baroclinic wave initial conditions ZonalWind divergence free [#729](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/729) - reverse and reverse! for LowerTriangularArray, in longitude or latitude [#720](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/720) - Speed up CI for land models [#719](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/719) - Move documentation to SpeedyWeatherDocumentation repository [#713](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/713), [#722](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/722), [#723](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/723), and [#725](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/725) - Ensure docs don't deploy with `.jld2` or `.nc` files [#724](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/724) ## Breaking changes - Use views instead of unpacking a tuple for 2-step prognostic variables [#745](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/745) This means prognostic variables are now indexed with `[ij, k, lf]` (horizontal grid point `ij`, vertical layer `k`, leapfrog time step `lf`) instead of `[lf][ij, k]` - Introduce Field for data on grid [#732](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/732) The meaning of grid/Grid changed, it is considered to not contany any data but only holds resolution, architecture (CPU/GPU) and indices. A Field is data on a grid. Many fields can share the same grid. Some changes arose for the construction of grids/fields. **Merged pull requests:** - SpeedyTransforms scratch memory part of DiagnosticVariables (#680) (@maximilian-gelbrecht) - Move docs to SpeedyWeatherDocumentation (#713) (@milankl) - Speed up CI for land (#719) (@milankl) - Reverse for LowerTriangularArray (#720) (@milankl) - Move Documentation to a separate repo, take #2 (#722) (@navidcy) - Update docs/dev link in README (#723) (@navidcy) - Remove jld2 & nc files from docs after make before deploy (#724) (@milankl) - Update docs urls (#725) (@navidcy) - Restructure (GPU) utilities and work towards spectral gradients GPU (#727) (@maximilian-gelbrecht) - Move UnicodePlots to extension (#728) (@milankl) - Baroclinic wave divergence free (#729) (@milankl) - Remove DocPreviewCleanup workflow (#730) (@milankl) - Reduce CI time (#731) (@milankl) - Introduce Field for data on grid (#732) (@milankl) - Introduce Spectrum for LowerTriangularArrays (#734) (@milankl) - Array-agnostic LowerTriangularMatrix (#738) (@milankl) - Add view that returns a LowerTriangularArray (#739) (@milankl) - CompatHelper: bump compat for Makie in [weakdeps] to 0.23, (keep existing compat) (#743) (@github-actions[bot]) - Use view instead of tuple for prognostic variables (#745) (@milankl) - More shameless piracy on the high seas of time (#746) (@bgroenks96) - Bump stefanzweifel/git-auto-commit-action from 5 to 6 (#747) (@dependabot[bot]) - Return UnicodePlots after run! when UnicodePlots.jl is loaded (#748) (@milankl) - Fix LTA docs (#749) (@maximilian-gelbrecht) - CompatHelper: bump compat for Makie in [weakdeps] to 0.24, (keep existing compat) (#750) (@github-actions[bot]) - GeoMakie extension: animate simulation function (#755) (@maximilian-gelbrecht) - Adjust particles for GPU (#757) (@maximilian-gelbrecht) - Release v0.16 (#758) (@milankl) - Move full differentiability tests outside of regular tests (#759) (@maximilian-gelbrecht) **Closed issues:** - Jablonowski test case (#265) - Feature Request: Kolmogorov Flow (#676) - Spatial generalisation (#682) - SpeedyWeather Colab Demo (#690) - Introduce `Field` to separate data from `Grid` (#709) - Move Documentation: Repository size (#711) - CI time (#721) - How to use simulation.prognostic_variables.ocean for SST forcing sensitivity tests in SpeedyWeather? (#741) - How to use simulation.prognostic_variables.ocean for SST forcing sensitivity tests in SpeedyWeather? (#742) - Allow `Month`, `Year`, `Millenium` (#744)
## SpeedyWeather v0.15.0 [Diff since v0.14.0](https://github.com/SpeedyWeather/SpeedyWeather.jl/compare/v0.14.0...v0.15.0) ## Breaking changes - Make KolmogorovFlow forcing default for BarotropicModel [#687](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/687) ## Non-breaking changes - RingGrid and LowerTriangularArray longitude rotation [#710](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/710) - ImplicitShallowWater without precomputed arrays [#717](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/717) - CUDA-ised spectral transform [#602](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/602) - Fix isapprox for particles with longitude modulo [#714](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/714) - Fix docustring rendering [#712](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/712) - Updated documentation to include four illustrative figures in the large-scale precipitation and convection sections [#702](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/702) - Added documentation to output surface variables [#708](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/708) - `get_gridcell_polygons` in RingGrids [#706](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/706) - Revised extended CI tests for differentiability can be launched on comment in PRs [#695](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/695), [#696](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/696), [#697](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/697), [#698](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/698) - Reverse for AbstractGridArrays [#691](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/691) - LandGeometry, LandThermodynamics as component of LandModel, DryLandModel [#677](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/677) - Diagnostic albedo separate for ocean/land [#677](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/677) - Increasing precision for accumulated precipitation output [#685](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/685) - Allow steps to be specified for for run!(simulation, steps=n) [#684](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/684) - Restrict extended CI tests to Julia v1.10 (due to Enzyme) [#681](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/681) - SigmaCoordinates constructors [#679](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/679) - Full timestepping differentiable by Enzyme with Julia 1.10 [#656](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/656) - Type instabilities etc flagged by Reactant [#674](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/674) - Added JLD2 Output to directly output PrognosticVariables and DiagnosticVariables [#675](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/675) - Compat for GPUArrays v11, JLArrays 0.2, KernelAbstractions 0.9 [#658](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/658) - MITgcm's 2-layer land bucket model [#672](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/672) - Fix grid_cell_average! bugs for some grids and resolutions [#673](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/673) - Interfaces for interpolation of AbstractGridArray [#671](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/671) - Test folder sorted into subfolders [#671](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/671) - Land model modularised + land netCDF output [#671](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/671) **Merged pull requests:** - Implementation of CUDA-ised transform (#602) (@jackleland) - Differentiability tests for time stepping (#656) (@maximilian-gelbrecht) - bump compat to GPUArrays v11, JLArrays v0.2, KernelAbstractions 0.9 (#658) (@milankl) - Land model modularised (#671) (@milankl) - Grid cell average bug fixes (#673) (@milankl) - Changes for Reactant.jl (#674) (@milankl) - JLD2 Output (#675) (@maximilian-gelbrecht) - Modular land model + diagnostic albedo, independent for ocean/land (#677) (@milankl) - SigmaCoordinates double-defined () constructor (#679) (@milankl) - Extended tests only on 1.10 (#681) (@maximilian-gelbrecht) - run! with steps argument (#684) (@milankl) - Increase output precision for accumulated precip (#685) (@milankl) - Make KolmogorovFlow default for BarotropicModel (#687) (@milankl) - Reverse for AbstractGridArray (#691) (@milankl) - Extended tests on comment and (maybe) all passing (#695) (@maximilian-gelbrecht) - Extended tests launched on comment on PR branch (#696) (@maximilian-gelbrecht) - Revising extended tests (#697) (@maximilian-gelbrecht) - Bump xt0rted/pull-request-comment-branch from 1 to 3 (#698) (@dependabot[bot]) - Documentation of convection (#702) (@sunmoumou1) - Move get_faces function from extension to RingGrids (#706) (@milankl) - Documentation: surface variable output (#708) (@maximilian-gelbrecht) - RingGrid and LowerTriangularArray (longitude) rotation (#710) (@milankl) - Fix docstring rendering (#712) (@navidcy) - Add mod(lon, 360) for isapprox particles (#714) (@milankl) - Shallow water implicit without precomputed arrays (#717) (@milankl) - bump to v0.15 (#718) (@milankl) **Closed issues:** - Simplified spectral transform towards GPU version (#575) - Particle modulo bug (#655) - Grainy convection/precipitation in long simulations (#683) - NoVegetation broken (#688) - Error when adding surface pressure vector as netCDF output variable to model (#707)
## SpeedyWeather v0.14.0 [Diff since v0.13.0](https://github.com/SpeedyWeather/SpeedyWeather.jl/compare/v0.13.0...v0.14.0) ## Breaking changes - Precipitation is not outputted anymore by default, use `add!(model, SpeedyWeather.PrecipitationOutput()...)` now - Coordinates defined in degrees lond, latd, not colat, lon https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/647 **Merged pull requests:** - Add tracer advection (#579) (@milankl) - Change timestep to 40min at T31 (#623) (@milankl) - NBandRadiation scheme for longwave outgoing (#633) (@milankl) - Number format flexibility with set! (#634) (@rocroc2017) - Forcing/drag for primitive models too (#635) (@milankl) - Roll back GPUArrays upgrade (#636) (@maximilian-gelbrecht) - RingGrinds more general indexing with Colon (less escapes) (#637) (@maximilian-gelbrecht) - Spectral Gradients Gradients (#638) (@maximilian-gelbrecht) - ConvectiveHeating implemented (#639) (@milankl) - GPU CI Pipeline (#645) (@maximilian-gelbrecht) - Dummy Buildkite Pipeline (#646) (@maximilian-gelbrecht) - Grid coordinates defined in degrees not colatitudes and radians (#647) (@milankl) - Clamp in ZonalWind to [0, 1] for sqrt (#649) (@milankl) - `set!` for time step (#650) (@milankl) - CI Extended Tests on 1.10 as well (#651) (@maximilian-gelbrecht) - Group initialize!, timestep!, finalize! of main time loop (#652) (@milankl) - New output variables definition simplified (#653) (@milankl) - bug: south pole at -90 for vertices (#654) (@milankl) - NetCDF output for tracers, precipitation rates at initialize! again (#657) (@milankl) - First timesteps in main loop (#659) (@milankl) - CompatHelper: bump compat for Makie in [weakdeps] to 0.22, (keep existing compat) (#663) (@github-actions[bot]) - Prescribed surface heat and evaporative fluxes (#664) (@milankl) - AbstractVectors in interpolation.jl (#665) (@milankl) - Initialize simulation restructured (#666) (@milankl) - Surface fluxes modular on ocean and land (#667) (@milankl) - [LowerTriangularMatrices] Sum for LTA (#668) (@maximilian-gelbrecht) - Precipitation rate for coupling (#669) (@milankl) - Bump to v0.14 (#670) (@milankl) **Closed issues:** - Design choices towards stochastic parameterizations (#199) - Modified dynamics (#507) - arbitrary tracer support (#564) - Implement `Heating` as model component (#567) - Profiling of timestep (#594) - Differentiability of Spatial Gradients (#598) - How to use SpeedyWeather to diagnose model run instability caused by initial conditions. (#643) - Issue with Model Execution When trunc is Greater Than or Equal to 600 (#644)
## SpeedyWeather v0.13.0 [Diff since v0.12.1](https://github.com/SpeedyWeather/SpeedyWeather.jl/compare/v0.12.1...v0.13.0) **Merged pull requests:** - SpeedyTransforms: Differentiable transforms via custom Enzyme rule (#589) (@maximilian-gelbrecht) - CompatHelper: bump compat for GPUArrays to 11 and JLArrays to 0.2, (keep existing compat) (#590) (@github-actions[bot]) - Rossby-Haurwitz wave initial conditions for eta (#604) (@rivwgk) - Optical depth parameterization + array-agnostic ColumnVariables (#606) (@milankl) - large-scale condensation at <100% (#609) (@minqi6) - Slab ocean and net surface and top-of-atmosphere fluxes (#613) (@milankl) - Include large-scale condensation tests (#615) (@milankl) - Power spectrum for n-dimensional LowerTriangularArray (#618) (@milankl) - CompatHelper: add new compat entry for FiniteDifferences in [weakdeps] at version 0.12, (keep existing compat) (#620) (@github-actions[bot]) - CompatHelper: add new compat entry for Enzyme in [weakdeps] at version 0.13, (keep existing compat) (#622) (@github-actions[bot]) - One band longwave radiation implemented (#624) (@milankl) - [SpeedyTransforms] Restrict finite difference tests to one grid only (#625) (@maximilian-gelbrecht) - [SpeedyTransforms] Exclude second differentiation identity test for OctahedralGrid (#627) (@maximilian-gelbrecht) - Introduce separate extended tests in CI (#628) (@maximilian-gelbrecht) - AbstractStochasticPhysics and SPPT (#629) (@milankl) - AbstractSurfacePerturbation (#631) (@milankl) - bump to v0.13 (#632) (@milankl) **Closed issues:** - Driven by reanalysis data (#576) - Stability Issues with Multiple Weather Trajectories Generation (#607)
## SpeedyWeather v0.12.1 [Diff since v0.12.0](https://github.com/SpeedyWeather/SpeedyWeather.jl/compare/v0.12.0...v0.12.1) **Merged pull requests:** - GeoMakie extension and interactive 3D grid visualisation on the sphere (#600) (@milankl) - Array-agnostic horizontal diffusion, +modularised (#601) (@milankl) - Define `zonal_mean` for any AbstractGridArray (#603) (@milankl) - Update README.md with dataviz (#608) (@milankl) - set! for boundary conditions (#611) (@milankl) - ConstantLandTemperature implemented (#612) (@milankl) **Closed issues:** - Spectral filtering instead of hyperdiffusion (#547) - Interactive 3D data visualisation directly on the grid (#599)
## SpeedyWeather v0.11.0 [Diff since v0.10.0](https://github.com/SpeedyWeather/SpeedyWeather.jl/compare/v0.10.0...v0.11.0) **Merged pull requests:** - Restructured dynamical core, variables array-agnostic and 3-dimensional, modular netCDF output (#525) (@milankl) - Change LowerTriangularArrays to be subtype of AbstractArray{T,N-1} (#543) (@maximilian-gelbrecht) - JOSS paper citation (#548) (@navidcy) - Bump actions/upload-artifact from 1 to 4 (#550) (@dependabot[bot]) - Bump actions/checkout from 3 to 4 (#551) (@dependabot[bot]) - Bump stefanzweifel/git-auto-commit-action from 4 to 5 (#552) (@dependabot[bot]) - All parameterizations at prev timestep, flux limiters removed (#555) (@milankl) - Create CHANGELOG.md (#559) (@milankl) - LTA: copyto! for Vectors (#561) (@maximilian-gelbrecht) - LTA: colon indexing for LTM (#562) (@maximilian-gelbrecht) - Set! function for PrognosticVariables and ICs for new structure (#563) (@maximilian-gelbrecht) - New 4D Variable Structure: nlayers instead of nlev; starting to adjust docs (#566) (@maximilian-gelbrecht) - Fix RingGrid broadcast issue with mismatching dimensions (#568) (@maximilian-gelbrecht) - RingGrids: Fix RingGrids Array conversion (#572) (@maximilian-gelbrecht) - NetCDF output modularised (#573) (@milankl) - CompatHelper: bump compat for JLD2 to 0.5, (keep existing compat) (#574) (@github-actions[bot]) - Benchmarks for individual dynamics functions (#577) (@maximilian-gelbrecht) - set! for orography (#578) (@milankl) - Set! documentation / keywords (#580) (@maximilian-gelbrecht) **Closed issues:** - Example GPU kernels (#121) - Modularise netCDF output (#522) - Instability develops over long integrations (#553) - RingGrids: Conflicting Broadcast Rules (#565) - RingGrids: N-dim Matrix/Array constructors (#570)