Recent Releases of SpeedyWeather.jl
SpeedyWeather.jl - v0.22.1
SpeedyWeather v0.22.1
Merged pull requests:
- Introduce orbit and rotation time (#984) (@milankl)
- towards HIP graphs (#1147) (@gregordecristoforo)
- Update checkpointed sensitivity examples (#1191) (@maximilian-gelbrecht)
- Add implementation of
catfor RingGrids Fields (#1192) (@bgroenks96) - Work around AMDGPU/LLVM miscompile of triangular loop in implicit kernel (#1193) (@gregordecristoforo)
- WhichTransform depending on resolution and architecture (#1194) (@milankl)
- replace deprecated trunc keyword with truncation in tests (#1197) (@gregordecristoforo)
- Default dealiasing dispatched on grid (3 for non-Gaussian) (#1198) (@maximilian-gelbrecht)
- Fix faulty handling of
InputSources in Terrarium extension (#1199) (@bgroenks96) - Revise GPU CI and tests and matrix transform for Barotropic model (#1201) (@maximilian-gelbrecht)
- Revise README for improved clarity and detail (#1204) (@milankl)
- Simulation(model) as Oceananigans-like interface (#1205) (@milankl)
- Restrict Reactant compat (#1206) (@maximilian-gelbrecht)
- Version bump 0.22.1 (#1213) (@maximilian-gelbrecht)
- Metal support for SpeedyTransforms (#1214) (@Gabrielgerez)
- Also bump RingGrinds (#1216) (@maximilian-gelbrecht)
Closed issues:
- Initialisation error with latest development version (#1146)
- Scalar indexing error when running
PrimitiveWetModelwithSurfaceTemperatureOutputon GPU (#1169) - Don't trust L16/L24 benchmarks (#1181)
- Architectures.synchronize is exported but never bound, breaks on import (#1202)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] 11 days ago
SpeedyWeather.jl - v0.22.0
SpeedyWeather v0.22.0
Highlights
- Completely revised dynamical core to optimise performance on GPU
- Modularised time stepper interface
Breaking changes
- [BREAKING] 1-based truncation as resolution parameter #1177
Other Changes
- Update and fix bugs in SpeedyWeather + Terrarium coupling extension #1188
- Adds
PrescribedAlbedo, useful e.g. for coupling #1186 - Fixes a
SpeedyWeather.animateprojection issue #958 - CUDA GPU CI is now run with Julia 1.12 #1171
- Fix the progress bar not being drawn:
Feedback.progress_bar_lengthnow defaults tonothing(fit to the terminal width) instead of0(no bar) #1185 - New
Feedbackoptioninterval(default 50 time steps) that strides the NaN check and the progress meter's maximum-speed/temperature-range diagnostics #1185 - Plan the
K=2FFT batch on GPU #1185 - Long integration CI with optimize 2, all other SpeedyWeather CI with optimize 0 #1175
- Faster GPU Legendre transforms: coalesced memory access, no atomics, no scratch resets, 5-37x faster at T127-T511 #1180
- Fix
SpeedLimitDragpointing along the quadrant diagonal instead of antiparallel to the flow (and being √2 too large for a 45° flow); defaultdragraised 4e-7 -> 3e-6 so the limiter actually binds, fixes previous high-resolution instabilities #1176 - Fix
set!(time_stepping, Δt=...)inverting the resolution factor #1176 - Fix
SpectralFilterimplicit diffusion using twice the prognostic time step; docstring ofHyperDiffusioncorrected #1176 - Lower free convection gust constant #1178
- Add ocean neutral surface wind speed model #1156
- Fix GPU inverse Legendre transform for single-layer spectral fields on GPU #1173
- Revised extended differentiability tests #1167
- Compatability with Terrarium 0.1.4 #1157 #1170
- Add time chunk buffering for ZarrOutput #1162
- Enable nested AD on CPU by shortening type name of
SpectralTransform, e.g. by converting the gradient arrays into a typeGradientinstead of aNamedTuple#1165 #1166 - Forward mode differentiation of the whole model now works (in 1.10) #1164
- Enzyme Forward rules for SpectralTransform #767
- Revised EnzymeRules for SpeedyTransforms #1151
- Eliminate dynamic dispatchs in the model integration code and unit test for them with JET #1151
- ZarrOutput ensemble mode hardened for parallel jobs, Zarr store metadata consolidated at creation for faster opening #1160
- Terrarium coupling: fill soil mirror variables with ocean fallback values (285 K / 0) outside the Terrarium land mask, warn when the Terrarium and SpeedyWeather land masks disagree #1159
- Sea surface temperature and sea ice concentration are now time-stepped variables #1140
- Reduce CI time of vertical coordinates test #1158
- Dynamical core reordered and transformed batched for improved GPU performance. The majority of the dycore now follows the scheme:
grid_tendencies!->transform!->spectral_tendencies!to batch together all grid -> spectral transforms of tendencies and auxiliary tendencies #1101 - Prognostic and grid variables are now fused together and the
transform!(::Variables, ::PrimitveEquation)is batched together to make it more efficient on GPU (uses the system introduced firsti in [#1083]). For this purposes new routines for flexible FFTs on CPU and GPU had to be introduced and the fused variables are now a new typeFusedParents#1099 TerrariumOutputfor flexible NetCDF/Zarr output of Terrarium state variables in coupled Terrarium-SpeedyWeather simulations #1155- Rotate/reverse Field/LowerTriangularArray kernelized #1154
- ArrayDimensions in RingGrids and LowerTriangularArrays #1150
- Terrarium coupling uses the allocation-free masked copy to optimize performance #1152
- Improved compatability with Enzyme with Julia 1.12:
get_stepinstead ofget_stepsused more commonly and defaultmaxtypeoffset!increased #1143 - Ensemble output dimension for
ZarrOutput: multiple members can write into one shared store viaensemble_index/ensemble_size#1149 - Prognostic and grid variables are now fused and the transform batched #1099
- Update the extended differentiability tests to new time stepping syntax #1148
- Scale time step on the fly, and forcing/drag/parameterizations inside dycore #1139
- Fix scalar indexing error constructing
SigmaCoordinates/Geometryon GPU #1142 - Sigma-pressure coordinates, part 1 #1137
- NetCDF output coordinates always in Float64 as determined by RingGrids.get_lond #1141
- ArrayWorkOrder instead of Array3DWorkOrder as both preserve dimensions #1127
- Allocation-free masked copy between RingGrids Field and subset array via mask #1127
- Rename land-sea mask array land_fraction #1219
- Fix vertical advection performance regression by indexing the contiguous time step directly in the stencil kernel instead of a
get_*_stepview #1131 - Reduce allocations in some broadcasted operations #1133
- Add a warm to the benchmark to not measure pre-compile #1129
- Adjust benchmarking to new timestepping logic #1128
- Relax Enzyme compatability again to allow recent Enzyme versions #1126
- reinitialize! logic to allow for model.implicit to be reinitialized #1035
- get_prognostic_step, get_tendency_step in dycore and parameterizations #1035
- time stepping modularised #1035
- NCycleLorenz time stepping for Barotropic models #1035 #937
Merged pull requests:
- Forward Rules for _fourier! (#767) (@maximilian-gelbrecht)
- Fix
SpeedyWeather.animateprojection issue (#958) (@gregrmunday) - NCycleLorenz time stepping part 2 (#1035) (@milankl)
- Mega transform! GPU-optimized batched transforms (Part 1:
transform!(vars, model)) (#1099) (@maximilian-gelbrecht) - Mega transform! GPU-optimized batched transforms (Part 2: tendencies grid -> spectral) (#1101) (@maximilian-gelbrecht)
- Relax enzyme compat again (#1126) (@maximilian-gelbrecht)
- Allocation-free masked copy between RingGrids Field and subet array (#1127) (@milankl)
- Adjust benchmarks to new timestepping (#1128) (@maximilian-gelbrecht)
- Precompile when benchmarking (#1129) (@maximilian-gelbrecht)
- Fix wrong dynamics setting in ic-example (#1130) (@SieglStefan)
- Vertical advection with step pass thorugh (#1131) (@maximilian-gelbrecht)
- Some broadcasts that avoid allocations (#1133) (@maximilian-gelbrecht)
- Rename land-sea mask array
land_fraction(#1134) (@milankl) - Sigma-pressure coordinates part 1 (#1137) (@milankl)
- Bump actions/checkout from 6 to 7 (#1138) (@dependabot[bot])
- Scale time step on the fly and forcing/drag/parameterizations inside dycore (#1139) (@milankl)
- Sea surface temperature and sea ice as time-stepped variables (#1140) (@milankl)
- Fix NetCDFOutput for non-standard AbstractFloat types (convert σ levels to Float32) (#1141) (@jamesquinlan)
- Fix scalar indexing in sigma coordinate construction (#1142) (@maximilian-gelbrecht)
- Bump actions/cache from 5 to 6 (#1145) (@dependabot[bot])
- Update extended differentiability tests (#1148) (@maximilian-gelbrecht)
- Ensemble Zarr output (#1149) (@maximilian-gelbrecht)
- Fields and LowerTriangularArrays with dimensions (#1150) (@milankl)
- Reduce dynamic dispatches and revise Enzyme Rules to improve differentiability (#1151) (@maximilian-gelbrecht)
- Allocation-free copy for Terrarium extension (#1152) (@maximilian-gelbrecht)
- Rotate/reverse for Field/LowerTriangularArray kernelized (#1154) (@milankl)
- Terrarium output (and more flexible output definitions) (#1155) (@maximilian-gelbrecht)
- Add a neutral wind model (#1156) (@gregrmunday)
- Terrarium 0.1.4 compat (#1157) (@maximilian-gelbrecht)
- Reduce CI time of vertical coordinates tests (#1158) (@maximilian-gelbrecht)
- Terrarium coupling: improve mask consistency (#1159) (@maximilian-gelbrecht)
- Fix ZarrOutput ensembles (#1160) (@maximilian-gelbrecht)
- Add buffering of time chunks in
ZarrOutputWriter(#1162) (@bgroenks96) - Enable full forward mode differentiability (#1164) (@maximilian-gelbrecht)
- Enable nested AD (reverse over forward / forward over reverse) on CPU (#1165) (@maximilian-gelbrecht)
- Fix nested AD for 3D transforms (#1166) (@maximilian-gelbrecht)
- Revise extended differentiability tests (#1167) (@maximilian-gelbrecht)
- Restrict Terrarium compat to 0.1.4. (#1170) (@maximilian-gelbrecht)
- Run GPU CI with 1.12 (#1171) (@maximilian-gelbrecht)
- Fix 2d GPU transform? (#1173) (@maximilian-gelbrecht)
- Separate the long integrations tests for -O2 everything else -O0 (#1175) (@milankl)
- Horizontal Diffusion
SpectralFilterandset!for time step fixes, recalibrate and reformulateSpeedLimitDrag(#1176) (@maximilian-gelbrecht) - 1-based
truncationas resolution parameter (#1177) (@milankl) - Lower wind gust speed (#1178) (@gregrmunday)
- Optimize legendre transform for better gpu performance (#1180) (@maximilian-gelbrecht)
- Rework filtering of tests for SpeedyWeather (#1182) (@giordano)
- Further GPU optimisations:
Feedbackand FFT plans (#1185) (@maximilian-gelbrecht) - Add
PrescribedAlbedofor coupling (#1186) (@maximilian-gelbrecht) - Add snow to Terrarium-SpeedyWeather coupling (#1188) (@bgroenks96)
- Version bump v0.22.0 (#1190) (@maximilian-gelbrecht)
Closed issues:
- Sensitivity Analysis Failing (#801)
- Restructure dynamical core towards kernels (#868)
- Find Enzyme+Speedy issue in uv_from_vordiv! (#938)
- Find Enzyme+Speedy issues in geopotential! (#943)
- Add diverse soil types (#980)
- Unalias copy missing for Field (#1069)
- Loading thermodynamic parameters in Terrarium fails (#1118)
- Stuck in an update loop after going to DEV (#1153)
- Degraded performance of
ZarrOutputWriterwhentime_chunk> 1 (#1161) - GPU error running the default
PrimitiveWetModel(#1172) - Instability in long simulations at T124 resolution (#1174)
SpeedyWeather.animatefails for soil temperature output (#1189)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] 21 days ago
SpeedyWeather.jl - v0.21.1
SpeedyWeather v0.21.1
Merged pull requests:
- Browzarr extension (#1093) (@milankl)
- Update InputSources constructors in Terrarium ext (#1117) (@bgroenks96)
- Allow for tuples of output variables in
add!(#1122) (@milankl) - Update Buildkite pipeline for the new JuliaGPU cluster (#1124) (@maleadt)
- Version bump 0.21.1 (#1125) (@maximilian-gelbrecht)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] 3 months ago
SpeedyWeather.jl - v0.21.0
SpeedyWeather v0.21.0
Breaking changes
model.boundary_layerintroduced (and model.boundary_layer_drag removed) to group surface roughness and drag computations https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/1114- Surface roughness modularised with
ConstantSurfaceRoughnessdefault https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/1114 - Optimised CUDA GPU Fourier transforms with CUDA graphs https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/1109
Merged pull requests:
- CUDA Graphs for fourier! (#1109) (@maximilian-gelbrecht)
- Punctuation in spectral transform docs (#1112) (@maximilian-gelbrecht)
- Fix SolarZenithSeason kernel: uninitialized typed variables and acos domain error (#1113) (@nviebig)
- Surface roughness as a component (#1114) (@maximilian-gelbrecht)
- MLDataDevices extension (#1115) (@maximilian-gelbrecht)
- Restrict Enzyme compat (#1116) (@maximilian-gelbrecht)
- Add unaliascopy for array types (#1119) (@maximilian-gelbrecht)
- Version bump 0.21 (#1120) (@maximilian-gelbrecht)
- Fix bibtex entry formatting for DJ4Earth article (#1121) (@navidcy)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] 3 months ago
SpeedyWeather.jl - v0.20.3
SpeedyWeather v0.20.3
Merged pull requests:
- Benchmark across architectures (#1103) (@maximilian-gelbrecht)
- Terrarium extension: make masks work (#1110) (@maximilian-gelbrecht)
- Version v0.20.3 (#1111) (@maximilian-gelbrecht)
Closed issues:
- GPU support broken on v0.18.1 when orography smoothing is enabled (#1059)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] 3 months ago
SpeedyWeather.jl - v0.20.2
SpeedyWeather v0.20.2
Merged pull requests:
- Allow variables to be fused for GPU optimisation (#1083) (@maximilian-gelbrecht)
- Variable system name
allocateinstead ofBase.zero(#1087) (@maximilian-gelbrecht) - Coupling to Terrarium via TerrariumExtension (#1090) (@maximilian-gelbrecht)
- Fix link in Docstring of
OneBandLongwave(#1092) (@maximilian-gelbrecht) - Fix typos in documentation (#1094) (@SieglStefan)
- allow also zarr 0.9 (#1096) (@lazarusA)
- mv Enzyme to weakdeps (#1097) (@lazarusA)
- use @docs instead of @doc (#1098) (@lazarusA)
- Update citations and funding information (#1100) (@maximilian-gelbrecht)
- Run the
ShallowWaterModelon GPU (#1104) (@maximilian-gelbrecht) - version bump 0.20.2 (#1105) (@maximilian-gelbrecht)
- Handle heterogeneous parameter attributes (#1106) (@bgroenks96)
Closed issues:
- Enzyme in deps and weekdeps (#1095)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] 3 months ago
SpeedyWeather.jl - v0.20.1
SpeedyWeather v0.20.1
Merged pull requests:
- Implement CO2 and greenhouse gases (#993) (@milankl)
- ZarrOutput (#1076) (@maximilian-gelbrecht)
- Also have non-unicode spectral gradient operators (#1078) (@milankl)
- version bump 0.20.1 (#1085) (@maximilian-gelbrecht)
- Minor version bump SpeedyTransforms (#1086) (@maximilian-gelbrecht)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] 4 months ago
SpeedyWeather.jl - v0.20.0
SpeedyWeather v0.20.0
⚠️ Output frequency option output_dt renamed to interval.
Changes since v0.19.0
- [BREAKING]
output_dtrenamed tointervalhttps://github.com/SpeedyWeather/SpeedyWeather.jl/pull/1075 set!(output, model; interval)to change output frequency after model initialization https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/1075- Documentation hero page and docs rendering https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/1071 https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/1072
- Bump julia-actions/cache and setup-julia v2 to v3 #1073
Merged pull requests:
- (0.17.5) update SpeedyWeatherInternals compat (#1070) (@juliasloan25)
- Fix some docs rendering (#1072) (@navidcy)
- Bump julia-actions/cache and setup-julia from 2 to 3 (#1073) (@dependabot[bot])
- Bump julia-actions/setup-julia from 2 to 3 (#1074) (@dependabot[bot])
set!(output, model; interval)introduced to change output frequency after model init (#1075) (@maximilian-gelbrecht)- Version bump 0.20 (#1077) (@maximilian-gelbrecht)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] 4 months ago
SpeedyWeather.jl - v0.19.0
SpeedyWeather v0.19.0
⚠️ Major revision of the variable system: What used to be PrognosticVariables and DiagnosticVariables is now bundled together in one Variables that saves variables in NamedTuples. All code that used the accessed the variables directly needs to be revised.
Changes since v0.18.1
- [BREAKING] WriteModelComponentFile and ManualOrography #1040
- [BREAKING] Rename
temperature_reference->reference_temperature,pressure_reference->reference_pressure#1025 - [BREAKING] Prognostic variables renamed #1025
- [BREAKING] model.dynamics_only instead of .physics #969
- [BREAKING] Kernel launching now in SpeedyWeatherInternals.KernelLaunching #969
- [BREAKING] Particle advection determines nparticles #969
- [BREAKING] set! adapted to variable groups and namespaces #969
- [BREAKING] Initial conditions modularised #969
- [BREAKING] New dynamic variable system based on NamedTuples #969
- [BREAKING] Rename
SpeedyParameterssubmodule toParameterEditing,SpeedyParamtoNumberParam, andSpeedyParamstoParameterTable#1066 - Fixed several typos in the documentation #1054
- Disable Julia v1.11 CI for all submodules #1062
- Updated CUDA compat to include CUDA.jl v0.6 #1046 #1044
- Updated Julia Actions setup workflow #1061
- Revised Enzyme tests and workflow #1050
- Held-Suarez missed scaling, temperatures were not stable #1042
- Update docs sidebar #1048
- Fixed a bug for
SubArraysnot working withArchitectures.ismatching#1049 #1056 - Dependency for DomainSets updated to v0.7 and v0.8 #1045 #1047
JLD2Outputrevised to be able to select groups, additionalArrayOutputoption to output to RAM #1026- ParallelTestRunner for SpeedyWeather CI #1033
- Remove snow runoff, add snow depth cap #1017
- Make default KolmogorovFlow weaker #1030
- GitHub Action Cache updated to v3 #1029
- RossbyHaurwitz initial condition example corrected #1027
- Pretty printing with StyledStrings #969
- Global parameterizations #969
- README CI Badges #1024
- GitHub Action Julia chache updated to v3 #1020
- Broadcasting for LTA and RingGrids revised #977
- Reactant support for the BarotropicModel and Reactant architecture basics #970
- Minor fixes for Metal GPUs #1019
- Delete unused/moved zenith.jl file #1016
- Add
get_output_path(::Simulation)to retrieve the output file path #1011 - GitHub
actions/setup-nodeupdated to v6 #1009 - Documentation for
MatrixSpectralTransformadded to SpeedyTransforms docs #1006 - MatrixSpectralTransform implemented #952
get_assetnow supports optionaloutput_grid#1004- Switch documentation to DocumenterVitepress for a modern VitePress-based theme #1002 #1008
- Move
get_assetto RingGrids with NCDatasets extension; makeassets_urlandversionkwargs #996 - Small fixes to improve Enzyme CI #995
- JuliaActions Cache upgraded to v3 #1001
- Remove
@Constfrom kernels #1000 - Add CLAUDE.md with codebase summary for AI-assisted development #999
- Get SpeedyWeatherAssets on the fly #983
- Change from MIT to EUPL license #992
Merged pull requests:
- Lorenz N-Cycle time stepping (#937) (@karinakowalczyk)
- MatrixSpectralTransform implemented (#952) (@milankl)
- One Variables 💍 to hold them all (#969) (@milankl)
- SpeedyWeather + Reactant: Basics and BarotropicModel (#970) (@maximilian-gelbrecht)
- Get SpeedyWeatherAssets on-the-fly (#983) (@gregrmunday)
- EUPL license for SpeedyWeather+submodules (#992) (@milankl)
- Reactant SpeedyWeather: Remove custom dates again (#994) (@maximilian-gelbrecht)
- Add CLAUDE.md with codebase summary for AI-assisted development (#999) (@milankl-claude)
- Remove @Const from all kernels (#1000) (@milankl-claude)
- Bump julia-actions/cache from 2 to 3 (#1001) (@dependabot[bot])
- Move get_asset to RingGrids with NCDatasets extension (#1002) (@milankl-claude)
- Switch documentation to DocumenterVitepress (#1003) (@milankl-claude)
get_assetinterpolate option and unit tests (#1004) (@maximilian-gelbrecht)- Add MatrixSpectralTransform documentation (#1007) (@milankl-claude)
- Fix Vitepress docs (#1008) (@milankl)
- Bump actions/setup-node from 4 to 6 (#1009) (@dependabot[bot])
- Add get_output_path(::Simulation) (#1014) (@milankl-claude)
- Delete unused zenith.jl (#1016) (@maximilian-gelbrecht)
- Add snow depth cap (#1017) (@gregrmunday)
- Minor fixes for Metal (#1019) (@maximilian-gelbrecht)
- Bump julia-actions/cache from 2 to 3 (#1020) (@dependabot[bot])
- Update Reactant requirement to 0.2.243 in /LowerTriangularArrays (#1021) (@dependabot[bot])
- Update Reactant requirement to 0.2.243 in /RingGrids (#1022) (@dependabot[bot])
- Update Reactant requirement to 0.2.243 in /SpeedyWeather (#1023) (@dependabot[bot])
- README CI badges corrected and more added (#1024) (@milankl)
- Rename prognostic variables (#1025) (@milankl)
JLD2Outputrevised,ArrayOutputintroduced (#1026) (@maximilian-gelbrecht)- RossbyHaurwitz wave example without forcing or drag (#1027) (@milankl)
- Bump julia-actions/cache from 2 to 3 (#1029) (@dependabot[bot])
- Make default KolmogorovFlow weaker (#1030) (@milankl)
- Lorenz N-Cycle time stepping (#1031) (@milankl)
- ParallelTestRunner for SpeedyWeather CI (#1033) (@milankl)
- gd/working links and correct license in Readme (#1037) (@gregordecristoforo)
- Restart for model components (#1040) (@milankl)
- Reactant: PrimitiveEquations more parametric (#1041) (@maximilian-gelbrecht)
- Held-Suarez forcing missed scaling and pressure normalisation (#1042) (@milankl)
- Update CUDA requirement from 4, 5 to 4, 5, 6.0 in /SpeedyTransforms (#1044) (@dependabot[bot])
- Update DomainSets requirement from 0.7 to 0.7, 0.8 in /SpeedyWeather (#1045) (@dependabot[bot])
- Update CUDA requirement from 4, 5 to 4, 5, 6.0 in /SpeedyWeatherInternals (#1046) (@dependabot[bot])
- Update DomainSets requirement from 0.7 to 0.7, 0.8 in /SpeedyWeatherInternals (#1047) (@dependabot[bot])
- Documentation sidebar configuration (#1048) (@maximilian-gelbrecht)
- Architectures: Add tests and fix subarray bug (#1049) (@maximilian-gelbrecht)
- Small Enzyme CI revision (#1050) (@maximilian-gelbrecht)
- Fix typos in documentation (#1054) (@milankl-claude)
- Architectures.ismatching for
Type{<:SubArray}(#1056) (@maximilian-gelbrecht) - Bump julia-actions/setup-julia from 2 to 3 (#1061) (@dependabot[bot])
- Disable submodule v1.11 CI (#1062) (@maximilian-gelbrecht)
- Rename SpeedyParameters module and related types (#1066) (@bgroenks96)
- Version bumps 0.19.0 (+ submodules) (#1067) (@maximilian-gelbrecht)
Closed issues:
- Implement a MatrixSpectralTransform for up to 100km resolution (#948)
- Enzyme CI fails occasionally (#982)
- Moving input data handling to RingGrids (and generalise it) (#996)
- Outdated LowerTriangularArrays: Missing zero_last_degree! (#997)
- Documenting
MatrixSpectralTransform(#1006) - convenience function to get output path (#1011)
- Extensions page does not show in documentation (#1038)
- Restart file only contains original orography, instead of modified orography (#1039)
- Documentation inconsistency in the energy derivation in the shallow water model (#1055)
- Missing images? (#1058)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] 4 months ago
SpeedyWeather.jl - v0.18.1
SpeedyWeather v0.18.1
Merged pull requests:
- Fix ozone absorption: deposit energy into stratospheric layers, not TOA (#986) (@nviebig)
- SpeedLimitDrag to counteract winds >100m/s (#987) (@hannahw0od)
- Progress bar with additional information (#989) (@milankl)
- Fix terminology from colatitudes to latitudes (#990) (@aasdelat)
- Bump to v0.18.1 (#991) (@milankl)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] 7 months ago
SpeedyWeather.jl - v0.18.0
SpeedyWeather v0.18.0
Breaking changes
- The number of soil layers is now solely defined by the land model and not in the
SpectralGridanymore #898 - EarthDryAtmosphere to dispatch like PrimitiveDryModel inside kernels #944 (removed
model.clausius_clapeyron) - Parameterizations with KernelAbstractions #873 #878 #924 #931 #933 #942 (several parameterizations had name changes, e.g.
SimplifiedBettsMiller->BettsMillerConvection) - Monorepo structure and separate tests #957
Other changes
- Installation main instructions in docs + schedule tests #979
- Bug fix: Cloud reflectivity on half level above not below #978
- Fix absorptivity_water_vapor and absorptivity_cloud_base default values #974
- Particle advection GPU ready #897
- Enzyme compat relaxed as Enzyme bug was fixed and uv_from_vordiv! kernel version used on CPU as well #971
- GitHub Actions: Cache updated #945
- Revised GPU benchmarks to include full GPU models #946 and the dynamical core #967
- Label-based modular skip CI mechanism for github and buildkite #957
- Changed OneBandShortwave to ij logic #955
- Fixes some typos and LaTeX renderings in the docs #953
- Fix bug in parameter subsetting #960
- Follow-up to #783: finalize @param/@component markers #935
- Adjust fill!(::PrognosticVariables, x) to new variable system #949
- Code formatting with Runic applied #950 #964
- Implicit correction kernelized and GPU-ready #891
- The dynamical core of the primitive equations is now GPU-ready with kernelized implementations #934
- copyto! for LowerTriangularArray revised #941
- Sea ice and snow insulation in surface flux computation #873
- Boundary layer drag revisited with ocean/land roughness and new defaults #873
- OneBandLongwave radiation implemented and default #873
- Initial conditions revised to take in a
SpectralGridto ensure correct number type #927#928 - Diagnostic and prognostic variables partially revised to NamedTuples and variables system introduced to allow to add to them modularly #885
- uv_from_vordiv! kernel version used #893
- Fixes some typos and formatting/LaTeX rendering in Docs #939
- Land snow model #833
- Updated extended differentiability tests #929
- GitHub Actions Checkout updated to version 6 #926
set!(::Field,::Functions,...)works now on GPU (however by explicitly transferring between GPU and CPU) #925- Fixes round trip transform tests #921
- Updated docs CairoMakie compatibility to "0.12, 0.13, 0.14, 0.15"
- OneBandShortwave radiation implemented with diagnostic clouds #888
- AMDGPU extension #901
- Don't adapt rings in RingGrids on GPU #920
- README updates #915
- Fixes some formatting/LaTeX rendering in Docs #916
Merged pull requests:
- Structure for land snow component (#833) (@milankl)
- GPU Parameterizations via kernel over ij (#873) (@milankl)
- OneBandShortwave radiation scheme with diagnostic cloud reflection (#888) (@nviebig)
- Implicit Correction Kernelized (#891) (@maximilian-gelbrecht)
- Use uv_from_vordiv kernel version (#893) (@maximilian-gelbrecht)
- Soil layers defined in land instead of SpectralGrid (#898) (@maximilian-gelbrecht)
- AMDGPU extension (#901) (@gregordecristoforo)
- Fix typos and improve wording in README (#915) (@bgroenks96)
- Fix formatting in output.md for mathematical equations (#916) (@navidcy)
- [RingGrids] Don't adapt rings on GPU (#920) (@maximilian-gelbrecht)
- Fix round trip test of transforms (#921) (@maximilian-gelbrecht)
- Update docs CairoMakie compatibility to "0.12, 0.13, 0.14, 0.15" (#923) (@nviebig)
- Small fixes for new parametrization on GPU (#924) (@maximilian-gelbrecht)
- set! Field with functions on GPU (but not really) (#925) (@maximilian-gelbrecht)
- Bump actions/checkout from 5 to 6 (#926) (@dependabot[bot])
- Initial conditions revised (typed precision and working on GPU? + tests) (#927) (@maximilian-gelbrecht)
- More fixes for the initial conditions (#928) (@maximilian-gelbrecht)
- Minor Updates Differentiability Tests (#929) (@maximilian-gelbrecht)
- GPU parametrization: adapt but tuples (#931) (@maximilian-gelbrecht)
- GPU parametrizations with propagate inbounds (#933) (@maximilian-gelbrecht)
- Dynamical Core on GPU (#934) (@maximilian-gelbrecht)
- Follow-up to #783: finalize @param/@component markers (#935) (@nviebig)
- Fix some typos and rendering in the docs (#939) (@navidcy)
- [LowerTriangularArrays] new copyto! (#941) (@maximilian-gelbrecht)
- GPU Params Geopot CPU for Differentiability (#942) (@maximilian-gelbrecht)
- EarthDryAtmosphere implemented (#944) (@milankl)
- Bump actions/cache from 4 to 5 (#945) (@dependabot[bot])
- Update Benchmarks for full GPU version (#946) (@maximilian-gelbrecht)
- Fix fill! for PrognosticVariables (#949) (@maximilian-gelbrecht)
- Runic Formatting (#950) (@maximilian-gelbrecht)
- LaTeX/Literate rendering fixes (#953) (@navidcy)
- Changed OneBandShortwave to ij logic (#955) (@nviebig)
- Monorepo structure, separate tests and skip mechanism (#957) (@milankl)
- Fix bug in parameter subsetting (#960) (@bgroenks96)
- Fix typo in how_to_run_speedy.md (#962) (@jveigel)
- Reapply runic formatting (#964) (@maximilian-gelbrecht)
- More benchmarks, now for the dynamical core (#967) (@maximilian-gelbrecht)
- Relax Enzyme compat again (#971) (@maximilian-gelbrecht)
- Fix absorptivity_water_vapor and absorptivity_cloud_base default values (#974) (@nviebig)
- Simplify broadcasting of RingGrids and LTA (#977) (@maximilian-gelbrecht)
- Shortwave Absorption Bug Fix & Stability Investigation (#978) (@nviebig)
- Installation instructions + schedule test (#979) (@milankl)
Closed issues:
- Slow Runs for T127 (#819)
- SnowLand challenges (#843)
- Use Dict or NamedTuple to hold variables (#847)
- SpeedyWeather's tropics too cold (#856)
- GPU performance of land and sea ice model (#870)
- Split tests across sub packages (#900)
- Code Formatting (#910)
- Example in Docs/Radiation fails (#954)
- Using
mainbranch in Julia v1.10 (#966) - NaNs appear after a few timesteps in BarotropicModel (T31, dt=2400s) after setting vorticity field (#972)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] 7 months ago
SpeedyWeather.jl - SpeedyWeather-v0.18.0
SpeedyWeather SpeedyWeather-v0.18.0
Breaking changes
- The number of soil layers is now solely defined by the land model and not in the
SpectralGridanymore #898 - EarthDryAtmosphere to dispatch like PrimitiveDryModel inside kernels #944 (removed
model.clausius_clapeyron) - Parameterizations with KernelAbstractions #873 #878 #924 #931 #933 #942 (several parameterizations had name changes, e.g.
SimplifiedBettsMiller->BettsMillerConvection) - Monorepo structure and separate tests #957
Other changes
- Installation main instructions in docs + schedule tests #979
- Bug fix: Cloud reflectivity on half level above not below #978
- Fix absorptivity_water_vapor and absorptivity_cloud_base default values #974
- Particle advection GPU ready #897
- Enzyme compat relaxed as Enzyme bug was fixed and uv_from_vordiv! kernel version used on CPU as well #971
- GitHub Actions: Cache updated #945
- Revised GPU benchmarks to include full GPU models #946 and the dynamical core #967
- Label-based modular skip CI mechanism for github and buildkite #957
- Changed OneBandShortwave to ij logic #955
- Fixes some typos and LaTeX renderings in the docs #953
- Fix bug in parameter subsetting #960
- Follow-up to #783: finalize @param/@component markers #935
- Adjust fill!(::PrognosticVariables, x) to new variable system #949
- Code formatting with Runic applied #950 #964
- Implicit correction kernelized and GPU-ready #891
- The dynamical core of the primitive equations is now GPU-ready with kernelized implementations #934
- copyto! for LowerTriangularArray revised #941
- Sea ice and snow insulation in surface flux computation #873
- Boundary layer drag revisited with ocean/land roughness and new defaults #873
- OneBandLongwave radiation implemented and default #873
- Initial conditions revised to take in a
SpectralGridto ensure correct number type #927#928 - Diagnostic and prognostic variables partially revised to NamedTuples and variables system introduced to allow to add to them modularly #885
- uv_from_vordiv! kernel version used #893
- Fixes some typos and formatting/LaTeX rendering in Docs #939
- Land snow model #833
- Updated extended differentiability tests #929
- GitHub Actions Checkout updated to version 6 #926
set!(::Field,::Functions,...)works now on GPU (however by explicitly transferring between GPU and CPU) #925- Fixes round trip transform tests #921
- Updated docs CairoMakie compatibility to "0.12, 0.13, 0.14, 0.15"
- OneBandShortwave radiation implemented with diagnostic clouds #888
- AMDGPU extension #901
- Don't adapt rings in RingGrids on GPU #920
- README updates #915
- Fixes some formatting/LaTeX rendering in Docs #916
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, n_stratosphere_levels 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 get_spectral_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)
- Build
readable_secsonDates.canonicalize(#67) (@giordano) - progress meter included (#69) (@milankl)
- 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)
- 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)
- run???? folder conflict (#99) (@milankl)
- div,curl corrected (#100) (@milankl)
- bump to v0.2.1 (#101) (@milankl)
- make scale_coslat! on output type flexible (#103) (@milankl)
- Orography Legendre precomputation in Float64 (#105) (@milankl)
- Take exponential of pres_grid for parametrizations (#107) (@white-alistair)
- Renaming for consistency, UV_from_vor! 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)
- 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 diagnostic_variables.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 kernelabstractions_adtests CI (#147) (@maximilian-gelbrecht)
- Keep GPU branch up to date (#148) (@maximilian-gelbrecht)
- FullHEALPixGrid (#150) (@milankl)
- Update CI.yml (#152) (@maximilian-gelbrecht)
- set_vars! function to easily set variables in PrognosticVariables (#154) (@maximilian-gelbrecht)
- fix get_var 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)
- 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])
- run_speedy!(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 Run_Id (#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)
- add_tendencies! 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; vorticity_flux_divcurl! 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)
- horizontal_diffusion! 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,v_grid instead of U,V_grid; /coslat in spectrans (#224) (@milankl)
- interpolate, interpolate! between grids (#225) (@milankl)
- NetCDF output with interpolator (#226) (@milankl)
- Obtain n_stratosphere_levels from default parameter sigma_tropopause (#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 load_trajectory 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 fluxes_to_tendencies! (#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)
- New SpectralGrid, Model, initialize!, simulation, run! structure (#327) (@milankl)
- spectral_truncation/interpolation type stable (#328) (@milankl)
- 1st order upwind scheme for vertical advection (#330) (@milankl)
- bump to v0.5 (#331) (@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
::AbstractGridas 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: temp_profile 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)
- get_truncation(::AbstractGrid) (#373) (@milankl)
- bump to v0.6 (#374) (@milankl)
- Forcing and drag for the ShallowWaterModel (#376) (@milankl)
- eta/pres was not output (#378) (@milankl)
- RandomWaves initial conditions (#379) (@milankl)
- scale_coslat 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)
- JOSS paper (#387) (@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 load_trajectory (#415) (@maximilian-gelbrecht)
- Output_dt in leapfrog time stepping and some adjustments for using Dates (#418) (@maximilian-gelbrecht)
- Bump to v0.7 (#419) (@milankl)
- Period Keyword Argument instead of n_days (#420) (@maximilian-gelbrecht)
- JOSS badge added (#421) (@milankl)
- bump to v0.7.1 (#422) (@milankl)
- 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)
- 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.@docsfunctionality 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/isdecreasingto 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)
- 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)
- Restructured dynamical core, variables array-agnostic and 3-dimensional, modular netCDF output (#525) (@milankl)
- 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)
- Change LowerTriangularArrays to be subtype of AbstractArray{T,N-1} (#543) (@maximilian-gelbrecht)
- bump to v0.10 (#545) (@milankl)
- 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)
- Add tracer advection (#579) (@milankl)
- Set! documentation / keywords (#580) (@maximilian-gelbrecht)
- 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_distanceandAbstractSphericalDistancefunctionality (#588) (@treigerm) - 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 +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)
- GeoMakie extension and interactive 3D grid visualisation on the sphere (#600) (@milankl)
- Array-agnostic horizontal diffusion, +modularised (#601) (@milankl)
- Implementation of CUDA-ised transform (#602) (@jackleland)
- Define
zonal_meanfor any AbstractGridArray (#603) (@milankl) - Rossby-Haurwitz wave initial conditions for eta (#604) (@rivwgk)
- Optical depth parameterization + array-agnostic ColumnVariables (#606) (@milankl)
- Update README.md with dataviz (#608) (@milankl)
- large-scale condensation at <100% (#609) (@minqi6)
- set! for boundary conditions (#611) (@milankl)
- ConstantLandTemperature implemented (#612) (@milankl)
- 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])
- Change timestep to 40min at T31 (#623) (@milankl)
- 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)
- 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)
- Differentiability tests for time stepping (#656) (@maximilian-gelbrecht)
- NetCDF output for tracers, precipitation rates at initialize! again (#657) (@milankl)
- bump compat to GPUArrays v11, JLArrays v0.2, KernelAbstractions 0.9 (#658) (@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)
- 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)
- SpeedyTransforms scratch memory part of DiagnosticVariables (#680) (@maximilian-gelbrecht)
- 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)
- Move docs to SpeedyWeatherDocumentation (#713) (@milankl)
- Add mod(lon, 360) for isapprox particles (#714) (@milankl)
- Shallow water implicit without precomputed arrays (#717) (@milankl)
- bump to v0.15 (#718) (@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)
- Leapfrog (re)start, Implicit reinitialize option, RestartFile, ProgressTxt, ParametersTxt as callback (#726) (@milankl)
- 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)
- Minimal barotropic model GPU compat (#733) (@milankl)
- Introduce Spectrum for LowerTriangularArrays (#734) (@milankl)
- Add KA kernels for spectral transform legendre methods (#736) (@jackleland)
- 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])
- Add new parameter handling scheme for Barotropic model (#754) (@bgroenks96)
- 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)
- Fix Enzyme CI (#762) (@maximilian-gelbrecht)
- Interpolation on GPU (#764) (@maximilian-gelbrecht)
- nonparametric_type also for SubArray (#776) (@milankl)
- CompatHelper: add new compat entry for ConstructionBase at version 1, (keep existing compat) (#777) (@github-actions[bot])
- Overwrite output folder option (#782) (@milankl)
- Restart from file for ocean and land (#784) (@milankl)
- add a mailmap (#785) (@vchuravy)
- Fix Haversine rounding errors with type promotion (#787) (@milankl)
- Soil moisture field capacity (#788) (@milankl)
- More ScratchMemory handling for SpectralTransforms (#791) (@maximilian-gelbrecht)
- Towards PrimitiveDry on GPU (#792) (@maximilian-gelbrecht)
- Jeevanjee surface fluxes with Stefan-Boltzmann and soil moisture field capacity (#794) (@pierluigividale)
- Hotfix: remove explicit KA import to avoid import warnings (#798) (@maximilian-gelbrecht)
- CompatHelper: add new compat entry for Atomix at version 1, (keep existing compat) (#799) (@github-actions[bot])
- Fix admonition and typo on GPU-and-Architectures docs (#807) (@marcelovilla)
- show architecture as "CPU"/"GPU" (#809) (@milankl)
- Make all land model components mutable (#810) (@milankl)
- Thermodynamic sea ice model (#811) (@milankl)
- Keyword arguments for ImplicitPrimitiveEquation (#812) (@milankl)
- ThermodynamicSeaIce testing (#814) (@milankl)
- Towards standalone packages + ColumnFields (#815) (@maximilian-gelbrecht)
- Make dynamic Land/Ocean/SeaIce models the default (#816) (@pierluigividale)
- Snow fall from large-scale condensation (#817) (@pierluigividale)
- Rename to surface humidity flux (#818) (@milankl)
- Land with KernelAbstractions (#820) (@milankl)
- Update CITATION.cff (#821) (@navidcy)
- Introduce
nothingas valid model component (#822) (@milankl) - ice thermodynamics in Clausius Clapeyron (#823) (@pierluigividale)
- Reduce GPU overhead (#824) (@maximilian-gelbrecht)
- CompatHelper: bump compat for JLD2 to 0.6, (keep existing compat) (#825) (@github-actions[bot])
- Bump actions/checkout from 4 to 5 (#826) (@dependabot[bot])
- Fix some missing scratch memory usages (#828) (@maximilian-gelbrecht)
- Fix output_dt for JLD2Output (#829) (@maximilian-gelbrecht)
- Start with soil moisture, temperature, SST, sea ice from climatology (#830) (@milankl)
- Structure for land snow component (#833) (@milankl)
- KA kernels for forcing and drag (#834) (@karinakowalczyk)
- Compat entries for Subpackages (#835) (@maximilian-gelbrecht)
- Rename SpeedyInternals to SpeedyWeatherInternals (#836) (@maximilian-gelbrecht)
- Move radius to model.planet (#840) (@milankl)
- Add compat entries of submodules to main env (#841) (@maximilian-gelbrecht)
- Add logo to docs (#842) (@maximilian-gelbrecht)
- More docs on GPU / on_architecture (#845) (@maximilian-gelbrecht)
- Split Extensions across Subpackages (#846) (@maximilian-gelbrecht)
- Bump version from 0.16.0 to 0.17.0 (#848) (@milankl)
- Metal extension (#849) (@milankl)
- Fix correct array type for LTA init (#850) (@maximilian-gelbrecht)
- Call callbacks before output (#852) (@milankl)
- Mean sea-level pressure output (#853) (@milankl)
- Add dynamics variables into AllOutputVariables (#854) (@stella-bourdin)
- More general forcing of pressure, vorticity and divergence (#855) (@milankl)
- Implement surface wind and temperature outputs (#858) (@stella-bourdin)
- Bump SpeedyWeatherInternals to v0.1.1 (#860) (@bgroenks96)
- Bump SpeedyWeather revision to v0.17.1 (#863) (@bgroenks96)
- Move Makie extensions to RingGrids and fix
globebug (#866) (@bgroenks96) - Update CITATION.cff (#869) (@milankl)
- Enhance README with interactive usage example (#872) (@milankl)
- GPU Parameterizations via kernel over ij (#873) (@milankl)
- Remove JOSS paper draft workflow (#874) (@dependabot[bot])
- Subpackages version 0.1.1 (#875) (@maximilian-gelbrecht)
- Bump version to 0.17.2 (#877) (@maximilian-gelbrecht)
- GPU version of parametrizations over ij (#878) (@maximilian-gelbrecht)
- Move SpeedyParameters to SpeedyWeatherInternals (#880) (@bgroenks96)
- Change particle tracking to every 4 hours (#881) (@milankl)
- SpectralGrid constructor revised, e.g. from grid (#882) (@maximilian-gelbrecht)
- Add missing compat entries for SpeedyWeatherInternals (#883) (@bgroenks96)
- Revise Variables towards using NamedTuples and Modularity (#885) (@maximilian-gelbrecht)
- Ring, nested and matrix order for OctaHEALPixGrid (#887) (@milankl)
- OneBandShortwave radiation scheme with diagnostic cloud reflection (#888) (@nviebig)
- SolarZenith and SolarZenithSeason constructors (#889) (@milankl)
- Implicit Correction Kernelized (#891) (@maximilian-gelbrecht)
- Seasonal ocean and land models kernelized (#892) (@maximilian-gelbrecht)
- Use uv_from_vordiv kernel version (#893) (@maximilian-gelbrecht)
- Fix typo in architectures_gpu.md (#894) (@gregordecristoforo)
- Vertical advection kernelized (#895) (@maximilian-gelbrecht)
- Soil layers defined in land instead of SpectralGrid (#898) (@maximilian-gelbrecht)
- Remove unnecessary double imports of architecture (#899) (@gregordecristoforo)
- AMDGPU extension (#901) (@gregordecristoforo)
- Set particle sigma to layer they are advected on (#902) (@milankl)
- Barotropic Model initialization (mostly) on GPU (#903) (@maximilian-gelbrecht)
- Coriolis and adiabatic conv adapted to GPU (#904) (@maximilian-gelbrecht)
- ScratchMemory allocation bug (#905) (@milankl)
- Fix allocating transform on GPU (#906) (@maximilian-gelbrecht)
- Show for LowerTriangularArray/Matrix on CPU/GPU (#907) (@milankl)
- Bump version from 0.17.3 to 0.17.4 (#908) (@milankl)
- Fix typos and improve wording in README (#915) (@bgroenks96)
- Fix formatting in output.md for mathematical equations (#916) (@navidcy)
- [RingGrids] Don't adapt rings on GPU (#920) (@maximilian-gelbrecht)
- Fix round trip test of transforms (#921) (@maximilian-gelbrecht)
- Update docs CairoMakie compatibility to "0.12, 0.13, 0.14, 0.15" (#923) (@nviebig)
- Small fixes for new parametrization on GPU (#924) (@maximilian-gelbrecht)
- set! Field with functions on GPU (but not really) (#925) (@maximilian-gelbrecht)
- Bump actions/checkout from 5 to 6 (#926) (@dependabot[bot])
- Initial conditions revised (typed precision and working on GPU? + tests) (#927) (@maximilian-gelbrecht)
- More fixes for the initial conditions (#928) (@maximilian-gelbrecht)
- Minor Updates Differentiability Tests (#929) (@maximilian-gelbrecht)
- GPU parametrization: adapt but tuples (#931) (@maximilian-gelbrecht)
- GPU parametrizations with propagate inbounds (#933) (@maximilian-gelbrecht)
- Dynamical Core on GPU (#934) (@maximilian-gelbrecht)
- Follow-up to #783: finalize @param/@component markers (#935) (@nviebig)
- Fix some typos and rendering in the docs (#939) (@navidcy)
- [LowerTriangularArrays] new copyto! (#941) (@maximilian-gelbrecht)
- GPU Params Geopot CPU for Differentiability (#942) (@maximilian-gelbrecht)
- EarthDryAtmosphere implemented (#944) (@milankl)
- Bump actions/cache from 4 to 5 (#945) (@dependabot[bot])
- Update Benchmarks for full GPU version (#946) (@maximilian-gelbrecht)
- Fix fill! for PrognosticVariables (#949) (@maximilian-gelbrecht)
- Runic Formatting (#950) (@maximilian-gelbrecht)
- LaTeX/Literate rendering fixes (#953) (@navidcy)
- Changed OneBandShortwave to ij logic (#955) (@nviebig)
- Monorepo structure, separate tests and skip mechanism (#957) (@milankl)
- Fix bug in parameter subsetting (#960) (@bgroenks96)
- Fix typo in how_to_run_speedy.md (#962) (@jveigel)
- Reapply runic formatting (#964) (@maximilian-gelbrecht)
- More benchmarks, now for the dynamical core (#967) (@maximilian-gelbrecht)
- Relax Enzyme compat again (#971) (@maximilian-gelbrecht)
- Fix absorptivity_water_vapor and absorptivity_cloud_base default values (#974) (@nviebig)
- Simplify broadcasting of RingGrids and LTA (#977) (@maximilian-gelbrecht)
- Shortwave Absorption Bug Fix & Stability Investigation (#978) (@nviebig)
- Installation instructions + schedule test (#979) (@milankl)
Closed issues:
- Parallelism in the vertical (#20)
- Available resolutions (#22)
- 16-bit FFT (#31)
- Performance of the spectral transform (#32)
- Prepare input data (#40)
- Consistent definition of model (#42)
- References for the dynamical core (#45)
- Pretty printing (#57)
- Spectral gradient leakage? (#63)
- Naming "spectral" (#64)
- Use logging infrastructure for feedback messages (#68)
- TagBot trigger issue (#71)
- Implementing various models (#74)
- Spectral gradient unit test (#75)
- test with posits (#77)
- Horizontal domain decomposition for parametrizations (#83)
- Factory Methods for Testing (#84)
- Overhaul approach to physical constants and model parameters (#86)
- Pre-allocate grid-point pressure values and use consistent naming (#91)
- Rotating spherical harmonics gif not showing up (#96)
- Get run id fails if 000?.xyz exists (#97)
- Initial conditions for shallow water (#98)
Float64run_speedydoesn't output correctly (#102)- Float32 high resolution spectral transform (#104)
- Float32 vs Float64 performance (#106)
LowerTriangularMatrixfor spectral coefficients (#111)- A new grid for SpeedyWeather.jl? (#112)
- Example GPU kernels (#121)
- Physical parameterizations: inconsistencies between speedy.f90 and the Speedy Documentation (#126)
- Shortening the Legendre Transform over m (#131)
- Output grids (#134)
- Broadcast operations with LowerTriangularMatrix (#135)
- Number format-flexibility (#137)
- Inverse Laplacian (#141)
- Consistency between NetCDF output grid and internal grid? (#146)
- Forcing and climatology in the shallow water system (#151)
- Longitude offset rotation (#159)
@simdin Legendre Transform? (#162)- copyto! function of LowerTriangularMatrix (#165)
- 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)
- Progress towards primitive equations (#192)
- Pre-compilation warnings (#194)
- Design choices towards stochastic parameterizations (#199)
Gradients in spectral spaceref inDocs/Dynamical Coreis broken (#203)- Merging strategy (#214)
- Liniting (#220)
- 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)
- Expanding the Documentation (#263)
- Jablonowski test case (#265)
- Output time precision (again) (#266)
- Vertical advection instability? (#271)
- Not thread-safe / bit reproducible ?! (#272)
- Cannot run example on non-GPU system (#282)
- Windows permssions problem (#285)
- Missing (-1)^{n+1} factor from hyperdiffusion term (#286)
- Greenland whole column instability at T255 (#289)
- Broken precompilation on Linux? (#294)
- Precompilation warnings? (#296)
- Literated example with the animation that is currently in
README? (#297) - Temperature profiles, forcing vs implicit (#299)
- Power spectrum (#304)
- Diffusion scaling (#306)
- Vertical diffusion (#309)
- Topography smoothing (#310)
- Static energy diffusion (#311)
- Away from monolithic
run_speedy()? (#320) - Global shallow-water run (#323)
- CI runs on latest Julia release -- should we add more? (#325)
- Hybrid vertical coordinates (#329)
- Query about computational resources (#342)
- What constitutes the 'state' of the model at a particular timestep (#347)
- SpeedyWeather's logic and information flow (#350)
- CI test on supported Julia versions? (#359)
- Precompilation errors of IrrationalConstants dependency (#366)
- SpectralGrid not defined in v0.5 (#367)
- Precipitation downscaling/bias correction interface (#370)
- Divergence of (hu, hv, h) (#372)
- 16 bit model (#375)
- Initial conditions from PDEArena (#377)
- divergence! should set last row to zero (#382)
- plotting error with Float32sr spectralgrid! (#388)
- Shallow water run (#391)
- Barotropic vorticity model: Stochastic stirring (#394)
- Conserved quantity verifying (#400)
- Zanna & Bolton eddy parameterization (#402)
- run BarotropicModel T21 with BFloat16 and output (#406)
- low precision stochastic rounding (#411)
- shallow-water case for a global ocean (#412)
- online particle tracking (#413)
- Output time axis: option to adhere to output_dt exactly (#416)
- Given user-facing parameters that represent a time period actually units (#417)
- Convection too weak?! (#436)
- [JOSS review] Nat's Review of SpeedyWeather.jl (#443)
- Condensation fireworks (#445)
- [JOSS Review] questions + suggestions (#446)
- [JOSS review] Zenodo archival (#448)
- [JOSS Review] firstnames vs. initials in .bib file (#449)
- Question about example in Docs/SpeedyTransforms/Geostrophy (#452)
- Another simple radiation scheme (#456)
- Automatic performance testing (#464)
- Precompilation Error (#466)
- JOSS review: text comments (#480)
- Replace
PythonPlotwith a Julia-based plotting library in Docs (#482) - Verifying conserved quantities (#500)
- Modified dynamics (#507)
- PrimitiveDry and WetModel generation on Julia v1.9 hangs (#508)
- The PrimitiveWetModel example fails (#515)
- unbalanced initial condition for Galewsky Jet (#518)
- Modularise netCDF output (#522)
- Time stepping of particle tracking (#527)
- Spectral filtering instead of hyperdiffusion (#547)
- Instability develops over long integrations (#553)
- arbitrary tracer support (#564)
- RingGrids: Conflicting Broadcast Rules (#565)
- Implement
Heatingas model component (#567) - RingGrids: N-dim Matrix/Array constructors (#570)
- Simplified spectral transform towards GPU version (#575)
- Driven by reanalysis data (#576)
- spectral_grid sample of usage: should it say 'nlev', not 'nlayers'? (#581)
- Set! discontinuous across prime meridian (#584)
- Profiling of timestep (#594)
- Differentiability of Spatial Gradients (#598)
- Interactive 3D data visualisation directly on the grid (#599)
- Stability Issues with Multiple Weather Trajectories Generation (#607)
- 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)
- Particle modulo bug (#655)
- Feature Request: Kolmogorov Flow (#676)
- Spatial generalisation (#682)
- Grainy convection/precipitation in long simulations (#683)
- NoVegetation broken (#688)
- SpeedyWeather Colab Demo (#690)
- Loading a previously-saved state and continuing a simulation (#703)
- PrescribedOceanEvaporation is a misnomer (#705)
- Error when adding surface pressure vector as netCDF output variable to model (#707)
- Introduce
Fieldto separate data fromGrid(#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)
How to Output Mean Sea Level Pressure (MSLP) ?
(#752)
- Implement parameter handling for Barotropic model (#753)
- SpeedyWeather crashes after ~1 year of simulation with default parameters (#756)
- Climate runs with SlabOcean are out of balance and crash (#761)
- Register RingGrids as standalone package (#766)
- Investigate using Enzyme to do a local sensitivity analysis for a single grid point w.r.t the initial state (#769)
- CoupledClimate configuration for multi-decadal runs (#770)
- Soil Moisture Availability going up to 2 instead of being capped at 1 (#771)
- 100year run works fine now (#772)
- Need to include Land Surface and Ocean states in StartFromFile (re-starts) (#774)
- Allow output to overwrite existing runs (#775)
- Still to do: not all ICs read correctly from file (#795)
- pointing to new input files to conduct land change experiments (#796)
- Results after implementation of Stefan-Boltzmann at the surface (#800)
- Transposed RingGrids.jl (#802)
- Zenodo archive not created since v0.10 (#804)
- Slow Runs for T127 (#819)
- Output issue when running with
timestep!rather thanrun!(#832) - SnowLand challenges (#843)
- Use Dict or NamedTuple to hold variables (#847)
- Pres is not in AllOutput variables (#851)
- SpeedyWeather's tropics too cold (#856)
- Extensions broken in SpeedyWeather v0.17 (#859)
- Plotting
Fields viaglobedoesn't work (#864) - OctaHEALPixGrid fails to initialise (#867)
- GPU performance of land and sea ice model (#870)
- Move SpeedyParameters to SpeedyWeatherInternals (#879)
- Split tests across sub packages (#900)
- Code Formatting (#910)
- Find Enzyme+Speedy issue in uv_from_vordiv! (#938)
- Example in Docs/Radiation fails (#954)
- Using
mainbranch in Julia v1.10 (#966) - NaNs appear after a few timesteps in BarotropicModel (T31, dt=2400s) after setting vorticity field (#972)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] 7 months ago
SpeedyWeather.jl - v0.17.4
SpeedyWeather v0.17.4
Merged pull requests:
- More general forcing of pressure, vorticity and divergence (#855) (@milankl)
- GPU version of parametrizations over ij (#878) (@maximilian-gelbrecht)
- Revise Variables towards using NamedTuples and Modularity (#885) (@maximilian-gelbrecht)
- Ring, nested and matrix order for OctaHEALPixGrid (#887) (@milankl)
- SolarZenith and SolarZenithSeason constructors (#889) (@milankl)
- Seasonal ocean and land models kernelized (#892) (@maximilian-gelbrecht)
- Fix typo in architectures_gpu.md (#894) (@gregordecristoforo)
- Vertical advection kernelized (#895) (@maximilian-gelbrecht)
- Remove unnecessary double imports of architecture (#899) (@gregordecristoforo)
- Set particle sigma to layer they are advected on (#902) (@milankl)
- Barotropic Model initialization (mostly) on GPU (#903) (@maximilian-gelbrecht)
- Coriolis and adiabatic conv adapted to GPU (#904) (@maximilian-gelbrecht)
- ScratchMemory allocation bug (#905) (@milankl)
- Fix allocating transform on GPU (#906) (@maximilian-gelbrecht)
- Show for LowerTriangularArray/Matrix on CPU/GPU (#907) (@milankl)
- Bump version from 0.17.3 to 0.17.4 (#908) (@milankl)
Closed issues:
- Register RingGrids as standalone package (#766)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] 10 months ago
SpeedyWeather.jl - v0.17.3
SpeedyWeather v0.17.3
Merged pull requests:
- Remove JOSS paper draft workflow (#874) (@dependabot[bot])
- Move SpeedyParameters to SpeedyWeatherInternals (#880) (@bgroenks96)
- Change particle tracking to every 4 hours (#881) (@milankl)
- SpectralGrid constructor revised, e.g. from grid (#882) (@maximilian-gelbrecht)
- Add missing compat entries for SpeedyWeatherInternals (#883) (@bgroenks96)
Closed issues:
- Move SpeedyParameters to SpeedyWeatherInternals (#879)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] 10 months ago
SpeedyWeather.jl - v0.17.2
SpeedyWeather 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
globebug (#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
Fields viaglobedoesn't work (#864) - OctaHEALPixGrid fails to initialise (#867)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] 11 months ago
SpeedyWeather.jl - v0.17.1
SpeedyWeather 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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] 12 months ago
SpeedyWeather.jl - v0.17.0
SpeedyWeather v0.17.0
New features
- A Thermodynamic sea ice model #814 and #811
- Snow and reevaporation in large-scale condensation #817
- A minimal barotropic model now runs on GPU #733
- Add parameter handling system and implement for Barotropic model #754
Breaking changes
- Move radius to model.planet #838
- Introduce
nothingas valid model component #822 - Rename evaporation to surface humidity fluxes #818
- Show architecture as "CPU"/"GPU" #809
- Make dynamic Land/Ocean/SeaIce models the default #816
Merged pull requests:
- Minimal barotropic model GPU compat (#733) (@milankl)
- Add KA kernels for spectral transform legendre methods (#736) (@jackleland)
- Add new parameter handling scheme for Barotropic model (#754) (@bgroenks96)
- Fix Enzyme CI (#762) (@maximilian-gelbrecht)
- Interpolation on GPU (#764) (@maximilian-gelbrecht)
- nonparametric_type also for SubArray (#776) (@milankl)
- CompatHelper: add new compat entry for ConstructionBase at version 1, (keep existing compat) (#777) (@github-actions[bot])
- Overwrite output folder option (#782) (@milankl)
- Restart from file for ocean and land (#784) (@milankl)
- add a mailmap (#785) (@vchuravy)
- Fix Haversine rounding errors with type promotion (#787) (@milankl)
- Soil moisture field capacity (#788) (@milankl)
- Towards PrimitiveDry on GPU (#792) (@maximilian-gelbrecht)
- Jeevanjee surface fluxes with Stefan-Boltzmann and soil moisture field capacity (#794) (@pierluigividale)
- Hotfix: remove explicit KA import to avoid import warnings (#798) (@maximilian-gelbrecht)
- CompatHelper: add new compat entry for Atomix at version 1, (keep existing compat) (#799) (@github-actions[bot])
- Fix admonition and typo on GPU-and-Architectures docs (#807) (@marcelovilla)
- show architecture as "CPU"/"GPU" (#809) (@milankl)
- Make all land model components mutable (#810) (@milankl)
- Thermodynamic sea ice model (#811) (@milankl)
- Keyword arguments for ImplicitPrimitiveEquation (#812) (@milankl)
- ThermodynamicSeaIce testing (#814) (@milankl)
- Towards standalone packages + ColumnFields (#815) (@maximilian-gelbrecht)
- Make dynamic Land/Ocean/SeaIce models the default (#816) (@pierluigividale)
- Snow fall from large-scale condensation (#817) (@pierluigividale)
- Rename to surface humidity flux (#818) (@milankl)
- Land with KernelAbstractions (#820) (@milankl)
- Update CITATION.cff (#821) (@navidcy)
- Introduce
nothingas valid model component (#822) (@milankl) - ice thermodynamics in Clausius Clapeyron (#823) (@pierluigividale)
- CompatHelper: bump compat for JLD2 to 0.6, (keep existing compat) (#825) (@github-actions[bot])
- Bump actions/checkout from 4 to 5 (#826) (@dependabot[bot])
- Fix some missing scratch memory usages (#828) (@maximilian-gelbrecht)
- Fix output_dt for JLD2Output (#829) (@maximilian-gelbrecht)
- Start with soil moisture, temperature, SST, sea ice from climatology (#830) (@milankl)
- Compat entries for Subpackages (#835) (@maximilian-gelbrecht)
- Rename SpeedyInternals to SpeedyWeatherInternals (#836) (@maximilian-gelbrecht)
- Move radius to model.planet (#840) (@milankl)
- Add compat entries of submodules to main env (#841) (@maximilian-gelbrecht)
- Add logo to docs (#842) (@maximilian-gelbrecht)
- More docs on GPU / on_architecture (#845) (@maximilian-gelbrecht)
- Bump version from 0.16.0 to 0.17.0 (#848) (@milankl)
Closed issues:
- Precipitation downscaling/bias correction interface (#370)
- PrescribedOceanEvaporation is a misnomer (#705)
- Implement parameter handling for Barotropic model (#753)
- SpeedyWeather crashes after ~1 year of simulation with default parameters (#756)
- Climate runs with SlabOcean are out of balance and crash (#761)
- Investigate using Enzyme to do a local sensitivity analysis for a single grid point w.r.t the initial state (#769)
- CoupledClimate configuration for multi-decadal runs (#770)
- Soil Moisture Availability going up to 2 instead of being capped at 1 (#771)
- 100year run works fine now (#772)
- Need to include Land Surface and Ocean states in StartFromFile (re-starts) (#774)
- Allow output to overwrite existing runs (#775)
- Still to do: not all ICs read correctly from file (#795)
- pointing to new input files to conduct land change experiments (#796)
- Results after implementation of Stefan-Boltzmann at the surface (#800)
- Transposed RingGrids.jl (#802)
- Output issue when running with
timestep!rather thanrun!(#832)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] 12 months ago
SpeedyWeather.jl - v0.16.0
SpeedyWeather v0.16.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
animateto 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
.jld2or.ncfiles #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
Fieldto separate data fromGrid(#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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] about 1 year ago
SpeedyWeather.jl - v0.15.0
SpeedyWeather v0.15.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_polygonsin 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 grid_cell_average! 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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] over 1 year ago
SpeedyWeather.jl - v0.14.0
SpeedyWeather 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
Heatingas 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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] over 1 year ago
SpeedyWeather.jl - v0.13.0
SpeedyWeather 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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] over 1 year ago
SpeedyWeather.jl - v0.12.1
SpeedyWeather 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_meanfor 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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] almost 2 years ago
SpeedyWeather.jl - v0.12.0
SpeedyWeather v0.12.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_distanceandAbstractSphericalDistancefunctionality (#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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] almost 2 years ago
SpeedyWeather.jl - v0.11.0
SpeedyWeather 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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] almost 2 years ago
SpeedyWeather.jl - v0.10.0
SpeedyWeather v0.10.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
PythonPlotwith 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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] about 2 years ago
SpeedyWeather.jl - v0.9.0
SpeedyWeather v0.9.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.@docsfunctionality 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/isdecreasingto 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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] over 2 years ago
SpeedyWeather.jl - v0.8.0
SpeedyWeather v0.8.0
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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] over 2 years ago
SpeedyWeather.jl - v0.7.1
SpeedyWeather v0.7.1
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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] over 2 years ago
SpeedyWeather.jl - v0.7.0
SpeedyWeather v0.7.0
Merged pull requests:
- Forcing and drag for the ShallowWaterModel (#376) (@milankl)
- eta/pres was not output (#378) (@milankl)
- RandomWaves initial conditions (#379) (@milankl)
- scale_coslat 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 load_trajectory (#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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] almost 3 years ago
SpeedyWeather.jl - v0.6.0
SpeedyWeather v0.6.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
::AbstractGridas 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: temp_profile 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)
- get_truncation(::AbstractGrid) (#373) (@milankl)
- bump to v0.6 (#374) (@milankl)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] almost 3 years ago
SpeedyWeather.jl - v0.5.0
SpeedyWeather v0.5.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 spaceref inDocs/Dynamical Coreis 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])
- run_speedy!(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 Run_Id (#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)
- add_tendencies! 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; vorticity_flux_divcurl! 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)
- horizontal_diffusion! 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,v_grid instead of U,V_grid; /coslat in spectrans (#224) (@milankl)
- interpolate, interpolate! between grids (#225) (@milankl)
- NetCDF output with interpolator (#226) (@milankl)
- Obtain n_stratosphere_levels from default parameter sigma_tropopause (#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 load_trajectory 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 fluxes_to_tendencies! (#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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] over 3 years ago
SpeedyWeather.jl - v0.4.0
SpeedyWeather v0.4.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)
@simdin 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 diagnostic_variables.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 kernelabstractions_adtests CI (#147) (@maximilian-gelbrecht)
- Keep GPU branch up to date (#148) (@maximilian-gelbrecht)
- FullHEALPixGrid (#150) (@milankl)
- Update CI.yml (#152) (@maximilian-gelbrecht)
- set_vars! function to easily set variables in PrognosticVariables (#154) (@maximilian-gelbrecht)
- fix get_var 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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] almost 4 years ago
SpeedyWeather.jl - v0.3.0
SpeedyWeather v0.3.0
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)
Float64run_speedydoesn't output correctly (#102)- Float32 high resolution spectral transform (#104)
LowerTriangularMatrixfor spectral coefficients (#111)
Merged pull requests:
- make scale_coslat! on output type flexible (#103) (@milankl)
- Orography Legendre precomputation in Float64 (#105) (@milankl)
- Take exponential of pres_grid for parametrizations (#107) (@white-alistair)
- Renaming for consistency, UV_from_vor! 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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] about 4 years ago
SpeedyWeather.jl - v0.2.1
SpeedyWeather v0.2.1
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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] about 4 years ago
SpeedyWeather.jl - v0.2.0
SpeedyWeather v0.2.0
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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] about 4 years ago
SpeedyWeather.jl - v0.1.1
SpeedyWeather v0.1.1
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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] over 4 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, n_stratosphere_levels 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 get_spectral_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)
Atmosphere - Atmospheric Composition and Dynamics
- Julia
Published by github-actions[bot] over 4 years ago