Recent Releases of SpeedyWeather.jl

SpeedyWeather.jl - v0.16.0

SpeedyWeather v0.16.0

Diff since v0.15.0

Non-breaking changes

  • Move full differentiability tests to separate CI workflow #759
  • Type stability for particle advection #757
  • Scratch memory for SpeedyTransforms now part of DiagnosticVariables #680
  • Reworked GPU and utility code structure and added GPU versions of spectral gradients#727
  • Added animate to animate a NetCDF output file with GeoMakie #755
  • Makie v0.24 compatibility #750
  • Fixed an error in the LowerTriangularArrays documentation #749
  • Add Millenium and Century periods and allow conversion of Month and Year to seconds #746
  • Return UnicodePlot after run! if UnicodePlots.jl is loaded #748
  • git-auto-commit-action v6 #747
  • Makie v0.23 compatibility #743
  • LowerTriangularArray-preserving view #739
  • Array-agnostic LowerTriangularMatrix #738
  • Major rework of LowerTriangularArrays: Introduce Spectrum type, changes in indexing and constructors #734
  • Reduce CI time #731
  • Remove DocsPreviewCleanup workflow #730
  • Move UnicodePlots to extension #728
  • Baroclinic wave initial conditions ZonalWind divergence free #729
  • reverse and reverse! for LowerTriangularArray, in longitude or latitude #720
  • Speed up CI for land models #719
  • Move documentation to SpeedyWeatherDocumentation repository #713, #722, #723, and #725
  • Ensure docs don't deploy with .jld2 or .nc files #724

Breaking changes

  • Use views instead of unpacking a tuple for 2-step prognostic variables #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

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.prognosticvariables.ocean for SST forcing sensitivity tests in SpeedyWeather? (#741) - How to use simulation.prognosticvariables.ocean for SST forcing sensitivity tests in SpeedyWeather? (#742) - Allow Month, Year, Millenium (#744)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] 6 months ago

SpeedyWeather.jl - v0.15.0

SpeedyWeather v0.15.0

Diff since v0.14.0

Breaking changes

  • Make KolmogorovFlow forcing default for BarotropicModel #687

Non-breaking changes

  • RingGrid and LowerTriangularArray longitude rotation #710
  • ImplicitShallowWater without precomputed arrays #717
  • CUDA-ised spectral transform #602
  • Fix isapprox for particles with longitude modulo #714
  • Fix docustring rendering #712
  • Updated documentation to include four illustrative figures in the large-scale precipitation and convection sections #702
  • Added documentation to output surface variables #708
  • get_gridcell_polygons in RingGrids #706
  • Revised extended CI tests for differentiability can be launched on comment in PRs #695, #696, #697, #698
  • Reverse for AbstractGridArrays #691
  • LandGeometry, LandThermodynamics as component of LandModel, DryLandModel #677
  • Diagnostic albedo separate for ocean/land #677
  • Increasing precision for accumulated precipitation output #685
  • Allow steps to be specified for for run!(simulation, steps=n) #684
  • Restrict extended CI tests to Julia v1.10 (due to Enzyme) #681
  • SigmaCoordinates constructors #679
  • Full timestepping differentiable by Enzyme with Julia 1.10 #656
  • Type instabilities etc flagged by Reactant #674
  • Added JLD2 Output to directly output PrognosticVariables and DiagnosticVariables #675
  • Compat for GPUArrays v11, JLArrays 0.2, KernelAbstractions 0.9 #658
  • MITgcm's 2-layer land bucket model #672
  • Fix gridcellaverage! bugs for some grids and resolutions #673
  • Interfaces for interpolation of AbstractGridArray #671
  • Test folder sorted into subfolders #671
  • Land model modularised + land netCDF output #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)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] 8 months ago

SpeedyWeather.jl - v0.14.0

SpeedyWeather v0.14.0

Diff since v0.13.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)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] 11 months ago

SpeedyWeather.jl - v0.13.0

SpeedyWeather v0.13.0

Diff since v0.12.1

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)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] about 1 year ago

SpeedyWeather.jl - v0.12.1

SpeedyWeather v0.12.1

Diff since v0.12.0

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)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] about 1 year ago

SpeedyWeather.jl - v0.12.0

SpeedyWeather v0.12.0

Diff since v0.11.0

Merged pull requests: - Feedback.verbose coupled to isinteractive() (#582) (@milankl) - Array-agnostic SpectralTransform (#583) (@milankl) - Stop supporting Julia 1.9 (#585) (@milankl) - Move CUDA to extension (#586) (@milankl) - Do not interweave transform (#587) (@milankl) - Add Haversine and general spherical_distance and AbstractSphericalDistance functionality (#588) (@treigerm) - Rossby-Haurwitz wave initial conditions +docs (#591) (@milankl) - SpectralAR1Process and AbstractRandomProcess (#592) (@milankl) - Model constructors with positional SpectralGrid argument (#593) (@milankl) - Introduce OctaminimalGaussianArray; smaller, faster but less accurate (#595) (@milankl) - NetCDF output: Precipitation accumulated and rate (#596) (@milankl) - Bump to v0.12 (#597) (@milankl)

Closed issues: - Performance of the spectral transform (#32) - Set! discontinuous across prime meridian (#584)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] about 1 year ago

SpeedyWeather.jl - v0.11.0

SpeedyWeather v0.11.0

Diff since v0.10.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)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] about 1 year ago

SpeedyWeather.jl - v0.10.0

SpeedyWeather v0.10.0

Diff since v0.9.0

Merged pull requests: - JOSS paper (#387) (@milankl) - Scheduler for callbacks (#488) (@milankl) - Zenodo DOI added (#489) (@milankl) - Schedule bug with millisecond time steps (#490) (@milankl) - Update README.md with particle advection video (#491) (@milankl) - Field trees (#492) (@milankl) - Export coriolis, unscale diagnostics at finish, add! callbacks directly to model too (#494) (@milankl) - Trees with summarysize (#495) (@milankl) - ConstantOceanClimatology, AquaPlanet (#496) (@milankl) - Document typical online analysis steps (#497) (@milankl) - Convection with work arrays for thread safety (#498) (@milankl) - Bulk Richardson-based vertical diffusion (#499) (@milankl) - LowerTriangularMatrix copyto! range bug (#501) (@milankl) - Jeevanjee longwave radiation (#502) (@milankl) - LowerTriangularMatrices: N-dimensional and GPU ready (#503) (@maximilian-gelbrecht) - Add to analysis doc (from new branch) (#505) (@milankl) - Broadcasting for RingGrids (#506) (@milankl) - Benchmark overview (#509) (@milankl) - Large-scale condensation documented (#510) (@milankl) - Add Makie extension (#511) (@milankl) - Convection documentation (#512) (@milankl) - Radiation documentation (#513) (@milankl) - Held-Suarez example, NoTypes for surface fluxes (#514) (@milankl) - Bump julia-actions/setup-julia from 1 to 2 (#516) (@dependabot[bot]) - Remove PythonPlot dependency of docs (#517) (@milankl) - Model construction without type constraints (#519) (@milankl) - AbstractGridArray N-dimensional and GPU ready (#520) (@milankl) - Exports more gradient operators from SpeedyTransforms (#523) (@milankl) - Change weight in ZonalJet() (#524) (@miniufo) - Orography documented (#526) (@milankl) - Particle advection time stepping corrected (#528) (@milankl) - Humidity video for readme (#529) (@milankl) - Surface flux documentation (#530) (@milankl) - Add explicit arithmetics again to LowerTriangularArrays (#531) (@maximilian-gelbrecht) - Vertical diffusion documentation (#532) (@milankl) - Ocean model documentation (#533) (@milankl) - Parameterization structure documented (#534) (@milankl) - Bump Makie compat (#535) (@asinghvi17) - Docs clarification: Parameterization for primitive models only (#536) (@milankl) - Restructure docs following #443 (#537) (@milankl) - Scale orography and smooth fraction of resolved wavenumbers (#538) (@milankl) - StochasticStirring example with CairoMakie (#539) (@milankl) - Horizontal diffusion not adaptive (#540) (@milankl) - Large-scale condensation at previous time step (#541) (@milankl) - Surface fluxes calculated from previous time step (#542) (@milankl) - bump to v0.10 (#545) (@milankl)

Closed issues: - Physical parameterizations: inconsistencies between speedy.f90 and the Speedy Documentation (#126) - Progress towards primitive equations (#192) - Divergence of (hu, hv, h) (#372) - Initial conditions from PDEArena (#377) - Conserved quantity verifying (#400) - shallow-water case for a global ocean (#412) - [JOSS review] Nat's Review of SpeedyWeather.jl (#443) - [JOSS Review] questions + suggestions (#446) - [JOSS review] Zenodo archival (#448) - Another simple radiation scheme (#456) - Automatic performance testing (#464) - JOSS review: text comments (#480) - Replace PythonPlot with a Julia-based plotting library in Docs (#482) - Verifying conserved quantities (#500) - PrimitiveDry and WetModel generation on Julia v1.9 hangs (#508) - The PrimitiveWetModel example fails (#515) - unbalanced initial condition for Galewsky Jet (#518) - Time stepping of particle tracking (#527)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 1 year ago

SpeedyWeather.jl - v0.9.0

SpeedyWeather v0.9.0

Diff since v0.8.0

Merged pull requests: - Solar zenith angle calculation (#438) (@milankl) - ImmediateCondensation and Clausius-Clapeyron (#439) (@milankl) - Flux limiters for surface drag and heat fluxes (#440) (@milankl) - Bulk Richardson number-based boundary layer drag (#441) (@milankl) - Simplified BettsMiller convection (#442) (@milankl) - Simple radiation schemes: UniformCooling, TransparentShortwave (#444) (@milankl) - ImplicitCondensation not immediate anymore (#447) (@milankl) - AquaPlanetMask (#450) (@milankl) - Use Documenter.@docs functionality to display docstring in Documentation (#451) (@navidcy) - Run LowerTriangularMatrix and output examples while building the docs (#453) (@navidcy) - Some more examples running live in the Docs (#454) (@navidcy) - Callbacks (#455) (@milankl) - Restructuring the docs (#457) (@milankl) - Collapse levels to streamline the documentation navigation (#458) (@natgeo-wong) - Parametric models, non-parametric abstract types, remove DynamicsConstants, Dict of callbacks (#459) (@milankl) - Particle advection in 2D, all models (#465) (@milankl) - Dry Betts-Miller convection (#467) (@milankl) - Add dependabot (#468) (@milankl) - Initial conditions modular for variables (#469) (@milankl) - Remove DEFAULT_NF generators of Earth and EarthAtmosphere (#470) (@milankl) - Bump actions/cache from 3 to 4 (#471) (@dependabot[bot]) - Bump actions/checkout from 3 to 4 (#472) (@dependabot[bot]) - Add space after comma (#473) (@navidcy) - Change arg name for isincreasing/isdecreasing to agree w docstring (#474) (@navidcy) - Fix the Docs/SpeedyTransforms/Geostrophy example + make it run live by doc built (#475) (@navidcy) - Remove testing for 1.8 and 1.9 temporarily (#476) (@milankl) - Add space after semicolon (#477) (@navidcy) - Delete deprecated doc instructions (#479) (@navidcy) - Add @ids for model pages + add links to models pages in Docs landing page (#481) (@navidcy) - ParticleTracker with netCDF (#484) (@milankl) - rand(Particle) cos-distribution corrected (#485) (@milankl) - Update README.md (#486) (@milankl) - Bump to v0.9 (#487) (@milankl)

Closed issues: - online particle tracking (#413) - Convection too weak?! (#436) - Condensation fireworks (#445) - [JOSS Review] firstnames vs. initials in .bib file (#449) - Question about example in Docs/SpeedyTransforms/Geostrophy (#452) - Precompilation Error (#466)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 2 years ago

SpeedyWeather.jl - v0.8.0

SpeedyWeather v0.8.0

Diff since v0.7.1

Merged pull requests: - Make prognostics available for forcing, drag in Barotropic/SWM (#423) (@milankl) - Stochastic stirring video (#424) (@milankl) - Add random wave video (#425) (@milankl) - Export forcing!, drag!, etc for extending those with fewer conflicts (#426) (@milankl) - CompatHelper: bump compat for Adapt to 4, (keep existing compat) (#427) (@milankl) - Use Julia v1.10 for CI and building Docs (#428) (@navidcy) - Add compat entry for NCDatasets v0.14 (#429) (@navidcy) - Adjust time step with radius (#430) (@milankl) - Add remark about Julia compat (#431) (@navidcy) - Switch off dynamics (#432) (@milankl) - Vertical diffusion of humidity (#433) (@milankl) - NoBoundaryLayer but TemperatureRelaxation default for dry & wet models (#435) (@milankl) - bump to v0.8 (#437) (@milankl)

Closed issues: - Literated example with the animation that is currently in README? (#297) - Global shallow-water run (#323) - Hybrid vertical coordinates (#329) - What constitutes the 'state' of the model at a particular timestep (#347) - SpeedyWeather's logic and information flow (#350) - Zanna & Bolton eddy parameterization (#402)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] almost 2 years ago

SpeedyWeather.jl - v0.7.1

SpeedyWeather v0.7.1

Diff since v0.7.0

Merged pull requests: - Period Keyword Argument instead of n_days (#420) (@maximilian-gelbrecht) - JOSS badge added (#421) (@milankl) - bump to v0.7.1 (#422) (@milankl)

Closed issues: - Given user-facing parameters that represent a time period actually units (#417)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] about 2 years ago

SpeedyWeather.jl - v0.7.0

SpeedyWeather v0.7.0

Diff since v0.6.0

Merged pull requests: - Forcing and drag for the ShallowWaterModel (#376) (@milankl) - eta/pres was not output (#378) (@milankl) - RandomWaves initial conditions (#379) (@milankl) - scalecoslat funcs without Geometry, moved to RingGrids (#381) (@milankl) - Set lmax+1 row to zero in divergence!, curl! (#383) (@milankl) - Output via NCDatasets.jl, remove NetCDF.jl deps (#384) (@milankl) - Pretty printing for structs (#385) (@milankl) - Model setups documented (#386) (@milankl) - Land-sea mask (#389) (@milankl) - Bug: First NetCDF time step is always 2000-01-01 (#390) (@milankl) - Coriolis and div,curl,laplace convience functions (#392) (@milankl) - Accumulate vor/div tendencies (#393) (@milankl) - Ocean/Land for prognostic variables added (#395) (@milankl) - CompatHelper: bump compat for CUDA to 5, (keep existing compat) (#396) (@milankl) - Documentation: Extending SpeedyWeather.jl (#397) (@milankl) - CompatHelper: bump compat for FastGaussQuadrature to 1, (keep existin… (#398) (@milankl) - Surface fluxes of heat, moisture and momentum: Land and ocean seasonal climatology (#399) (@milankl) - CompatHelper: bump compat for NCDatasets to 0.13, (keep existing compat) (#401) (@milankl) - Soil moisture and vegetation (#403) (@milankl) - Overhauled initial conditions for humidity (#404) (@milankl) - Output cloud top [Pa], condensation simplified (#405) (@milankl) - NetCDF output with BFloat16 (#407) (@milankl) - plot(::LowerTriangularMatrix) (#408) (@milankl) - Simplify default vertical coordinate spacing to equi-distant with sigma (#409) (@milankl) - Convection (#414) (@milankl) - Fix loadtrajectory (#415) (@maximilian-gelbrecht) - Output_dt in leapfrog time stepping and some adjustments for using Dates (#418) (@maximilian-gelbrecht) - Bump to v0.7 (#419) (@milankl)

Closed issues: - References for the dynamical core (#45) - Use logging infrastructure for feedback messages (#68) - Number format-flexibility (#137) - Forcing and climatology in the shallow water system (#151) - Liniting (#220) - 16 bit model (#375) - divergence! should set last row to zero (#382) - plotting error with Float32sr spectralgrid! (#388) - Shallow water run (#391) - Barotropic vorticity model: Stochastic stirring (#394) - run BarotropicModel T21 with BFloat16 and output (#406) - low precision stochastic rounding (#411) - Output time axis: option to adhere to output_dt exactly (#416)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] about 2 years ago

SpeedyWeather.jl - v0.6.0

SpeedyWeather v0.6.0

Diff since v0.5.0

Closed issues: - 16-bit FFT (#31) - Expanding the Documentation (#263) - Cannot run example on non-GPU system (#282) - Windows permssions problem (#285) - Precompilation warnings? (#296) - Away from monolithic run_speedy()? (#320) - CI runs on latest Julia release -- should we add more? (#325) - Query about computational resources (#342) - CI test on supported Julia versions? (#359) - Precompilation errors of IrrationalConstants dependency (#366) - SpectralGrid not defined in v0.5 (#367)

Merged pull requests: - New SpectralGrid, Model, initialize!, simulation, run! structure (#327) (@milankl) - Add clarification for SWE variables (#332) (@navidcy) - Update README.md (#333) (@milankl) - RingGrids and LowerTriangularMatrices docs (#335) (@milankl) - remove Model from SpectralGrid (#336) (@milankl) - Update README.md (#337) (@milankl) - SpeedyCondensation implemented (#338) (@milankl) - Update README.md (#339) (@milankl) - NetCDF output documented (#340) (@milankl) - Barotropic vorticity equation algorithm described (#341) (@milankl) - barotropic, shallowwater test cases (#343) (@milankl) - absolute paths docs img (#344) (@milankl) - Run examples and produce output with every Docs built (#345) (@navidcy) - Plot ::AbstractGrid as Unicode heatmap (#346) (@milankl) - Barotropic, shallow water, and some primitive model documentation (#348) (@milankl) - Update README.md with logo (#349) (@milankl) - Fix typos in docs (#351) (@pitmonticone) - Fix typos in mk/docs (#352) (@pitmonticone) - Move clock to prognostic variables (#353) (@milankl) - plot small grids without spaces (#354) (@milankl) - Non-adaptive implicit: tempprofile in implicit only (#355) (@milankl) - SpectralTransform for square LowerTriMats too (#356) (@milankl) - CompatHelper: bump compat for KernelAbstractions to 0.9, (keep existi… (#357) (@milankl) - Support KernelAbstractions 0.9 (#358) (@vchuravy) - Other video for primitive (#360) (@milankl) - CI tests on Julia 1.8, 1.9 + test on Julia nightly every week (#361) (@milankl) - Different vertical advection schemes (#362) (@simone-silvestri) - SpeedyTransforms documentation (#363) (@milankl) - Increase test tolerance (#364) (@milankl) - Primitive equation documentation (#365) (@milankl) - Bugfix in vertical advection (#368) (@simone-silvestri) - Speedstring precompilation warning (#369) (@milankl) - Full and octahedral Gaussian grid documented (#371) (@milankl) - gettruncation(::AbstractGrid) (#373) (@milankl) - bump to v0.6 (#374) (@milankl)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 2 years ago

SpeedyWeather.jl - v0.5.0

SpeedyWeather v0.5.0

Diff since v0.4.0

Closed issues: - Parallelism in the vertical (#20) - Pretty printing (#57) - Horizontal domain decomposition for parametrizations (#83) - Overhaul approach to physical constants and model parameters (#86) - Consistency between NetCDF output grid and internal grid? (#146) - OctahedralGaussianGrid not defined (#168) - Variable initialisation (#170) - Inconsistency of pressure variable in convection parametrizations (#171) - Use PsychroLib for psychrometric calculations (#172) - Precision of Time Output in NetCDF Files (#180) - Move to SpeedyWeather orga (#182) - Move parameterisations into folder (#183) - Discuss general API (#184) - Solution struct / return the Output struct (#185) - Pre-compilation warnings (#194) - Gradients in spectral space ref in Docs/Dynamical Core is broken (#203) - Merging strategy (#214) - Abstraction, type-hierarchy and modularity (#222) - Not more than 70 vertical levels (#228) - Outsourcing packages (#231) - Incompatible with Julia 1.7? (#232) - Unable to open output files using NCDatasets.jl (#236) - First output timestep is < 6 hours. (#237) - semi-implicit corrections (#252) - Linearize virtual temperature for geopotential? (dynamics only) (#254) - Renaming in Prognostic/DiagnosticVariables (#255) - Crazy temperatures: Vertical advection bug? (#257) - Output time precision (again) (#266) - Vertical advection instability? (#271) - Not thread-safe / bit reproducible ?! (#272) - Missing (-1)^{n+1} factor from hyperdiffusion term (#286) - Greenland whole column instability at T255 (#289) - Broken precompilation on Linux? (#294) - Temperature profiles, forcing vs implicit (#299) - Power spectrum (#304) - Diffusion scaling (#306) - Vertical diffusion (#309) - Topography smoothing (#310) - Static energy diffusion (#311)

Merged pull requests: - Add shortwave radiation parametrization (#169) (@dmey) - Adapt functions (#173) (@katharinamaetschke) - CompatHelper: bump compat for FastGaussQuadrature to 0.5, (keep existing compat) (#174) (@github-actions[bot]) - runspeedy!(progn,diagn,model) (#175) (@milankl) - Use BarotropicModel instead of :barotropic etc (#176) (@milankl) - Add longwave radiation parametrization (#177) (@dmey) - Update copyright and licensing information (#179) (@dmey) - allocate arrays filled with nans (#181) (@milankl) - Output Time Int64 and Custom RunId (#186) (@maximilian-gelbrecht) - Adapt functions DefineDiffusion, DefineImplicit and Geometry (#187) (@katharinamaetschke) - Geopotential calculation (#188) (@milankl) - Surface pressure tendency (#189) (@milankl) - Vertical velocity dsigma/dt (#191) (@milankl) - Keep GPU branch up-to-date with Main (#193) (@maximilian-gelbrecht) - addtendencies! updated to LowerTriangularMatrix (#195) (@milankl) - Bernoulli potential for PrimitiveEquation (#196) (@milankl) - Virtual temperature calculation (#197) (@milankl) - Vertical advection of u,v + tendencies (vor, pres grads) (#198) (@milankl) - Fix link to doc in README.md (#200) (@dmey) - Fix typo (#202) (@navidcy) - -Dbar in spectral; a,b work arrays; humidity advection; vorticityfluxdivcurl! with flags (#204) (@milankl) - Temperature equation and primitive equation time stepping (#205) (@milankl) - temp, pres initial conditions at rest (#206) (@milankl) - mountain on/off/scale as parameter (#207) (@milankl) - test ∇×∇=0 and ∇⋅∇=∇² (#208) (@milankl) - horizontaldiffusion! generalised to ::ModelSetup (#209) (@milankl) - Reformulated temperature equation (#210) (@milankl) - Overhauled vertical advection (#211) (@milankl) - Interpolation: AbstractGrid -> arbitrary grid (#212) (@milankl) - In-place and more efficient eachring computation (#213) (@milankl) - add colorbar to unicodeplots (#215) (@milankl) - typo in vertical advection (#216) (@milankl) - Parameters{Model<:ModelSetup} and orography abstracted (#217) (@milankl) - Add mini development notes (#221) (@dmey) - ZonalRidge orography added, Geometry with lond,latd (#223) (@milankl) - u,vgrid instead of U,Vgrid; /coslat in spectrans (#224) (@milankl) - interpolate, interpolate! between grids (#225) (@milankl) - NetCDF output with interpolator (#226) (@milankl) - Obtain nstratospherelevels from default parameter sigmatropopause (#227) (@milankl) - add convenience interpolate method, show ring info for grids (#229) (@milankl) - InitialConditions abstracted (#230) (@milankl) - Scaling centralised, output on adjustable grid sizes (#233) (@milankl) - Rename to OctaHEALPixGrid (#234) (@milankl) - started grid documentation (#235) (@milankl) - Adapt docs to SpeedyWeather orga (#238) (@milankl) - Galewsky 2004 initial conditions for shallow water (#239) (@milankl) - update @ref in docs (#240) (@milankl) - restructure into folders and submodules (#241) (@milankl) - grids comparison.png link corrected (#243) (@milankl) - Update README.md (#244) (@milankl) - New normalization for automatic sigma levels (#245) (@milankl) - remove callside @inline as this requires 1.8 (#246) (@milankl) - Galewsky init conditions modifiable in default params (#247) (@milankl) - CompatHelper: bump compat for CUDA to 4, (keep existing compat) (#248) (@milankl) - Jablonowski and Williamson initial conditions (#249) (@milankl) - JW06 pressure constant (#250) (@milankl) - Semi-implicit corrections for primitive equations (#251) (@milankl) - Update README.md (#253) (@milankl) - Primitive equation dry core bughunt (#256) (@milankl) - Utility function loadtrajectory added (#258) (@maximilian-gelbrecht) - Use Temporary Files for Test Output (#261) (@white-alistair) - copy! for PrognosticVariables (#262) (@maximilian-gelbrecht) - Multi-threading added (#264) (@milankl) - Boundary layer scheme from Held and Suarez (#269) (@milankl) - Held Suarez temperature forcing (#270) (@milankl) - Update README.md (#273) (@milankl) - Make default RNG seed deterministic (#274) (@white-alistair) - Reduce memory: no U,V,bernoulli in DiagnVariables (#275) (@milankl) - Shorten implicit geopotential k:nlev (#276) (@milankl) - Planet abstracted, Earth <: Planet (#277) (@milankl) - Hyper diffusion overhauled (#278) (@milankl) - primitive equation video in readme (#279) (@milankl) - TemperatureRelaxation, BoundaryLayer type stable (#280) (@milankl) - Merge main into mk/parameterizations (#281) (@milankl) - Missing (-1)^{n+1} factor from hyperdiffusion term (#283) (@navidcy) - Add spaces after commas (#284) (@navidcy) - restructure PrognosticVariables (#287) (@milankl) - Docs for Parameters (#288) (@navidcy) - Dealiasing parameter for quad,cub truncation (#290) (@milankl) - Better docs rendering (#291) (@navidcy) - Diffusion tapering for stratosphere (#292) (@milankl) - Fix typo in docs: julia v1.78 -> v1.8 (#293) (@navidcy) - Bump up julia requirement to v1.8 (#295) (@navidcy) - New stratosphere diffusion defaults (#298) (@milankl) - Progress.txt output with speed and ETA (#301) (@milankl) - Temperature relaxation towards Jablonowski's profile (#302) (@milankl) - new time step scaling following Jablonowski (#303) (@milankl) - ETA and speedstring in progress.txt got lost (#305) (@milankl) - Power spectrum analysis (#307) (@milankl) - HyperDiffusion and VerticalDiffusion (#308) (@milankl) - @unpack + import Paramters removed (#312) (@milankl) - Parameterization fluxes and dry static energy diffusion (#313) (@milankl) - docs minor stuff (#314) (@milankl) - Truncate orography always to smooth T85 (#315) (@milankl) - Keepbits per variable (#316) (@milankl) - Float32, PrimitiveDryCore, OctaGauss new defaults (#317) (@milankl) - Avoid type instability in fluxestotendencies! (#318) (@milankl) - Minor things (#319) (@milankl) - Some docs improvements (#321) (@navidcy) - Update CompatHelper.yml (#322) (@navidcy) - Update TagBot.yml (#324) (@navidcy) - Add compat entry for FLoops (#326) (@navidcy) - spectral_truncation/interpolation type stable (#328) (@milankl) - 1st order upwind scheme for vertical advection (#330) (@milankl) - bump to v0.5 (#331) (@milankl)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 2 years ago

SpeedyWeather.jl - v0.4.0

SpeedyWeather v0.4.0

Diff since v0.3.0

Closed issues: - Prepare input data (#40) - Float32 vs Float64 performance (#106) - A new grid for SpeedyWeather.jl? (#112) - Shortening the Legendre Transform over m (#131) - Output grids (#134) - Broadcast operations with LowerTriangularMatrix (#135) - Inverse Laplacian (#141) - Longitude offset rotation (#159) - @simd in Legendre Transform? (#162) - copyto! function of LowerTriangularMatrix (#165)

Merged pull requests: - CompatHelper: bump compat for CUDAKernels to 0.4, (keep existing compat) (#119) (@github-actions[bot]) - CompatHelper: bump compat for KernelAbstractions to 0.8, (keep existing compat) (#120) (@github-actions[bot]) - AbstractGrids towards HEALPix or Octahedral (#122) (@milankl) - Parametrizations with ColumnVariables (#123) (@milankl) - Grid abstractions +indexing, SpecTrans performance (#124) (@milankl) - LowerTriangularMatrix extended (#125) (@milankl) - Grid-flexible spectral transform (#127) (@milankl) - Convection (#128) (@white-alistair) - Adapt functions for diagnosticvariables.jl (#130) (@katharinamaetschke) - Grid indexing (#132) (@milankl) - Update README.md (#133) (@milankl) - Float32 spectral transform (#136) (@milankl) - add OctahedralClenshawGrid + some refactoring of src/grids.jl (#138) (@hottad) - Initialize sigma levels manually (#139) (@maximilian-gelbrecht) - Grid to matrix for output (#140) (@milankl) - Inverse Laplace ∇⁻²! via kernel in ∇²! (#142) (@milankl) - Adapt structures for diagnostic variables and prognostic variables (#143) (@katharinamaetschke) - Interface relaxation with seasonal cycle (#144) (@milankl) - Shallow water model and OctahedralClenshawGrid default (#145) (@milankl) - Add kernelabstractionsadtests CI (#147) (@maximilian-gelbrecht) - Keep GPU branch up to date (#148) (@maximilian-gelbrecht) - FullHEALPixGrid (#150) (@milankl) - Update CI.yml (#152) (@maximilian-gelbrecht) - setvars! function to easily set variables in PrognosticVariables (#154) (@maximilian-gelbrecht) - fix getvar for pressure (#155) (@maximilian-gelbrecht) - HEALPix4Grid and FullHEALPix4Grid implementation (#156) (@hottad) - Lon offset rotation enabled (#160) (@milankl) - Healpix.jl dep removed (#163) (@milankl) - LowerTriangularMatrix Broadcast fix (#164) (@maximilian-gelbrecht) - Legendre shortcut: truncate loop over m (#166) (@milankl) - No [l,m] access to LTM in gradients (#167) (@milankl)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] about 3 years ago

SpeedyWeather.jl - v0.3.0

SpeedyWeather v0.3.0

Diff since v0.2.1

Closed issues: - Pre-allocate grid-point pressure values and use consistent naming (#91) - Rotating spherical harmonics gif not showing up (#96) - Initial conditions for shallow water (#98) - Float64 run_speedy doesn't output correctly (#102) - Float32 high resolution spectral transform (#104) - LowerTriangularMatrix for spectral coefficients (#111)

Merged pull requests: - make scalecoslat! on output type flexible (#103) (@milankl) - Orography Legendre precomputation in Float64 (#105) (@milankl) - Take exponential of presgrid for parametrizations (#107) (@white-alistair) - Renaming for consistency, UVfromvor! added (#108) (@milankl) - Docs: sph harmonics + derivates updated (#109) (@milankl) - LowerTriangularMatrix implemented (#110) (@milankl) - write restart file, restart from it (#113) (@milankl) - CompatHelper: add new compat entry for JLD2 at version 0.4, (keep existing compat) (#114) (@github-actions[bot]) - CompatHelper: add new compat entry for CodecZlib at version 0.7, (keep existing compat) (#115) (@github-actions[bot]) - fibonacci -> triangle number (#116) (@milankl) - LowerTriangularMatrix in PrognVars, DiagnVars +restructured (#117) (@milankl) - Basics for KernelAbstractions / GPU (#118) (@maximilian-gelbrecht)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 3 years ago

SpeedyWeather.jl - v0.2.1

SpeedyWeather v0.2.1

Diff since v0.2.0

Closed issues: - Get run id fails if 000?.xyz exists (#97)

Merged pull requests: - run???? folder conflict (#99) (@milankl) - div,curl corrected (#100) (@milankl) - bump to v0.2.1 (#101) (@milankl)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 3 years ago

SpeedyWeather.jl - v0.2.0

SpeedyWeather v0.2.0

Diff since v0.1.1

Closed issues: - Spectral gradient leakage? (#63) - Spectral gradient unit test (#75) - Factory Methods for Testing (#84)

Merged pull requests: - vor as unicodeplot, days/day speed shown (#80) (@milankl) - Require Julia v1.7 (#81) (@white-alistair) - Parametrization of Large-Scale Condensation (#82) (@white-alistair) - Introduce ModelSetup distinction (#87) (@milankl) - get u,v from vor and div in ShallowWaterModel (#88) (@milankl) - More documentation (#89) (@milankl) - Define methods for ShallowWaterModel (#92) (@milankl) - CompatHelper: bump compat for UnicodePlots to 3, (keep existing compat) (#93) (@github-actions[bot]) - Semi-implicit time stepping (#94) (@milankl) - bump to v0.2 (#95) (@milankl)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 3 years ago

SpeedyWeather.jl - v0.1.1

SpeedyWeather v0.1.1

Diff since v0.1.0

Closed issues: - Available resolutions (#22)

Merged pull requests: - Scale vorticity and gradients with radius (#70) (@milankl) - Pole stability, time step scaling, barotropic testcase (#72) (@milankl) - new teaser pic with T341 (#73) (@milankl) - renaming vorticity advection for consistency (#76) (@milankl) - Various models via dispatch (#78) (@milankl) - bump to v0.1.1 (#79) (@milankl)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 3 years ago

SpeedyWeather.jl - v0.1.0

SpeedyWeather v0.1.0

Closed issues: - Consistent definition of model (#42) - Naming "spectral" (#64)

Merged pull requests: - data, dependencies, initial structure (#1) (@milankl) - towards spectral transform (#2) (@milankl) - with appveyor and travis ymls (#3) (@milankl) - towards boundaries, geopotential, parameters, prognostics (#4) (@milankl) - Init (#5) (@milankl) - Init (#6) (@milankl) - Init (#7) (@milankl) - Legendre is approx, sin/cos lat now from the north pole (#8) (@milankl) - Docstrings and renaming (#9) (@milankl) - CI, gitignore, compat updated (#12) (@milankl) - make docs (#13) (@milankl) - copy over from sams version (#14) (@milankl) - initial docs structure (#15) (@milankl) - doc cleanup and developers (#16) (@milankl) - timestep! for 2D and 3D (#17) (@milankl) - Tk/tendencies (#18) (@tomkimpson) - mk/timestepping and horizontal diffusion (#19) (@milankl) - Mk/vertical (#23) (@milankl) - nlat=trunc+1 default resolution (#24) (@milankl) - leapfrog! without mem alloc (#25) (@milankl) - mk/timestepping (#26) (@milankl) - Style and convention in docs (#27) (@milankl) - Naming (#28) (@milankl) - Params renamed to Parameters (#29) (@milankl) - σlevels, geopot renamed, nstratospherelevels introduced (#30) (@milankl) - Spectral transform benchamrk, clip negatives (#34) (@milankl) - Spectral transform with variable resolution (#35) (@milankl) - T31 default, mx=nx=T+1 (#36) (@milankl) - CompatHelper: add new compat entry for AssociatedLegendrePolynomials at version 1, (keep existing compat) (#37) (@github-actions[bot]) - New spectral transform (#38) (@milankl) - Update tendencies structure (#39) (@tomkimpson) - Orography from high resolution (2048x1024) file (#41) (@milankl) - CompatHelper: bump compat for BitInformation to 0.4, (keep existing compat) (#43) (@github-actions[bot]) - Spectral gradients and Laplacians (#44) (@milankl) - CompatHelper: bump compat for BitInformation to 0.5, (keep existing compat) (#46) (@github-actions[bot]) - remove addition of Revise.jl to toml (#49) (@tomkimpson) - Updated getspectral_tendencies() function (#51) (@tomkimpson) - doc latex with ` (#52) (@milankl) - initialisation test in Float32/64 (#54) (@milankl) - Initialize model to time stepping flow (#55) (@milankl) - Feedback pipeline (#56) (@milankl) - show PrognosticVariables with UnicodePlots (#58) (@milankl) - NetCDF output (#59) (@milankl) - Barotropic vorticity time integration (#60) (@milankl) - Mk/cleanup (#65) (@milankl) - performance: avoid mem alloc for legendre (#66) (@milankl)

Scientific Software - Peer-reviewed - Julia
Published by github-actions[bot] over 3 years ago