v0.1.2
Breeze v0.1.2
First release of Breeze! 🎉
Merged pull requests:
- Update the flux boundary conditions to discrete form (#4) (@mmr0)
- Add support for CloudMicrophysics (#5) (@glwagner)
- Implement anelastic AtmosphereModel (#6) (@glwagner)
- Implement a Bomex case (#7) (@glwagner)
- Delete duplicate methods in microphysics (#10) (@navidcy)
- Fix typo in saturation vapor pressure (#11) (@glwagner)
- Set up tests via github actions (#12) (@glwagner)
- Change package name from AquaSkyLES to Breeze (#13) (@glwagner)
- Update docs (#14) (@glwagner)
- Add computation of averages for subsidence forcing to Bomex example (#16) (@glwagner)
- Make MoistAirBuoyancy a concrete type + adapt for MoistAirBuoyancy utilities (#18) (@glwagner)
- Add show methods + doctest for MoistAirBuoyancy + AtmosphereThermodynamics (#19) (@navidcy)
- Reduce bomex resolution to Siebesma et al (2003) value and increase advection scheme order (#20) (@glwagner)
- Add relative humidity computation to bomex example (#22) (@glwagner)
- Fix typo in reference pressure (#23) (@glwagner)
- go back to simple defn of exner (#24) (@glwagner)
- bugfix in updating momentum state (#26) (@bischtob)
- More tests, bugfixes, and docs (#27) (@glwagner)
- Add comment about including need to import CUDA for examples when using GPU() (#32) (@mmr0)
- Revise README with improved project details (#33) (@glwagner)
- [CI] Improve GitHub Actions setup (#34) (@giordano)
- Add Codecov badge to README (#35) (@navidcy)
- Update README link to development version (#36) (@navidcy)
- changed (reverted?) geostrophic forcing term (#37) (@mmr0)
- Update Oceananigans version (#38) (@glwagner)
- Fix and add docs to illustrate how saturation adjustment works (#39) (@glwagner)
- Add References via DocumenterCitations + few docs tweaks (#40) (@navidcy)
- Fix typo in saturation_adjustment.md (#41) (@navidcy)
set_theme!for all Docs + plot dry adiabatic lapse rate (#42) (@navidcy)- Add microphysics in
show(io::IO, model::AtmosphereModel)(#43) (@navidcy) - CompatHelper: bump compat for JLD2 to 0.6, (keep existing compat) (#44) (@navidcy)
- Add derivation of dQ, dT, dp relationship + fixes few glitches (#46) (@navidcy)
- CompatHelper: add new compat entry for KernelAbstractions at version 0.9, (keep existing compat) (#47) (@github-actions[bot])
- CompatHelper: bump compat for CloudMicrophysics to 0.29, (keep existing compat) (#49) (@github-actions[bot])
- Update thermodynamics.md for clarity (#50) (@navidcy)
- Add bib entry for Pauluis (2008) + few other fixes/code alignment (#51) (@navidcy)
- Few more tweaks on Docs/Thermodynamics (#52) (@navidcy)
- Enhancements on Clausius-Clapeyron section in Docs (#54) (@navidcy)
- Fix typo in saturation specific humidity formula in Docs (#55) (@navidcy)
- Some improvements on saturation adjustment docs (#56) (@navidcy)
- [CI] Explicitly run tests on minimum supported version (#57) (@giordano)
- [CI] Use dependabot instead of CompatHelper (#59) (@giordano)
- Change AtmosphereThermodynamics to ThermodynamicConstants, plus more tests (#62) (@glwagner)
- Remove unused
RootSolversfrom project file (#63) (@giordano) - Clarify mass ratio definitions using meteorological terminology (#64) (@kaiyuan-cheng)
- Notational tweak: be explicit about
ℒ(T=0); no need to define new subscriptℒ_{0k}(#65) (@navidcy) - Add Aqua tests and other various improvements (#67) (@giordano)
- Add badge for Aqua.jl to README (#68) (@navidcy)
- Run tests with ParallelTestRunner (#70) (@giordano)
- Fix anelastic_pressure_solver tests (#71) (@glwagner)
- More general set! plus MoistureMassFractions abstraction (#72) (@glwagner)
- Split up anelastic pressure tests for better load balancing (#73) (@giordano)
- More quality assurance:
ExplicitImports(#74) (@giordano) - Clarify Thermodynamics docs and improve notation (#75) (@glwagner)
- [Dycore] Implement tendency term for moist static energy following Pauluis (2008) (#76) (@glwagner)
- [CI] Rework docs deployment (#77) (@giordano)
- [CI] Do not error out when cleaning up docs if previews don't exist (#78) (@giordano)
- Some rendering fixes in Docs/Dynamics + add links to Docs/Thermodynamics page (#80) (@navidcy)
- [CI] Fix condition for cleaning up previews (#82) (@giordano)
- Fixes gravity so that it points down (#84) (@navidcy)
- Make quick start example an example again (#85) (@glwagner)
- [docs] Add contributing guide (#86) (@giordano)
- [CI] Build documentation with Julia v1.12 (#87) (@giordano)
- [docs] Replace randn -> rand in example to limit module of noise (#88) (@giordano)
- [CI] Run tests also on GPU (#93) (@giordano)
- [GPU] Add adapt_structure for MoistAirBuoyancy, AnelasticFormulation, and ReferenceState (#94) (@glwagner)
- Run doctests in all tests (#95) (@giordano)
- Revise README for Breeze project details (#96) (@glwagner)
- [docs] Tip about running tests without GPU (#97) (@giordano)
- Tweaks in latex rendering in Docs/Dynamics (#98) (@navidcy)
- Fix mixture heat capacity to include liquid and ice, as well as docstrings for mixture heat capacity and mixture gas constant (#99) (@navidcy)
- Change the name of some core properties (#101) (@glwagner)
- [examples] Add thermal bubble example (#102) (@glwagner)
- Use
DocStringExtensions(#103) (@giordano) - WarmPhaseSaturationAdjustment for AtmosphereModel (#105) (@glwagner)
- Improve documentation for ThermodynamicConstants (#106) (@glwagner)
- [CI] Split docs building job in two parts (#107) (@giordano)
- Fix formatting in vapor_saturation.jl documentation (#108) (@navidcy)
- Move docstring from kernel to method for the pressure_correction update (#109) (@navidcy)
- Add
modules=[Breeze]argument tomakedocsto actually run doctests (#110) (@giordano) - [dependabot] Update also projects in
docsandtestdirectories (#111) (@giordano) - Split equation for reference temperature in Docs/Thermodynamics (#112) (@navidcy)
- Bump actions/upload-artifact from 4 to 5 (#113) (@dependabot[bot])
- Bump actions/download-artifact from 5 to 6 (#114) (@dependabot[bot])
- Update CairoMakie requirement from 0.13, 0.14 to 0.15 in /docs (#115) (@dependabot[bot])
- Update Oceananigans requirement to 0.100.7 in /docs (#116) (@dependabot[bot])
- Update thermal bubble example (#117) (@navidcy)
- Add high-res thermal bubble animation in README (#118) (@navidcy)
- Fix bug in saturation adjustment solver for MoistAirBuoyancy (#120) (@glwagner)
- [CI] Temporarily use dev version of Documenter (#122) (@giordano)
- Fix typo in README pointing to wrong example (#123) (@glwagner)
- Unified adjustment solver for MoistStaticEnergyState and PotentialTemperatureState + atmos bomex case (#124) (@glwagner)
- Change opening docs page to use AtmosphereModel (#125) (@glwagner)
- Groom and reorganize Thermodynamics docs (#130) (@glwagner)
- Change code block to use @example syntax (#134) (@navidcy)
- Minor tweaks in Docs/Thermodynamics (#135) (@navidcy)
- [CI] Remove JLD2 files before publishing docs (#136) (@giordano)
- Support turbulence closures from Oceananigans (#140) (@glwagner)
- Actually respect user forcing and add a test (#141) (@glwagner)
- Build abstraction for computing saturation vapor pressure over mixed phase surfaces (#142) (@glwagner)
- Add more cross-links in documentation (#143) (@giordano)
- Update thermal bubble animation (#144) (@navidcy)
- [docs] Clarify definition of air density (#145) (@giordano)
- Fix MSE definition and reference to Global System for Atmospheric Modeling (#147) (@glwagner)
- Fix Δc^l value in thermodynamics.md (#150) (@navidcy)
- Update simulation stop time from 15 to 25 minutes (#151) (@navidcy)
- Throw error for non-NamedTuple forcing (#152) (@glwagner)
- Generalized SaturationAdjustment to include a MixedPhaseEquilibrium (#154) (@glwagner)
- Set some grouping for Julia dependencies in Dependabot (#158) (@giordano)
- Fix BOMEX case (#159) (@kaiyuan-cheng)
- Bump Oceananigans to v0.101 (#161) (@giordano)
- Update recommended Julia version to 1.12 (#164) (@navidcy)
- Add/enhance some docstrings (#165) (@navidcy)
- Start building CloudMicrophysics extension (#166) (@glwagner)
- [CI] Run GPU tests using Julia v1.12 (#167) (@giordano)
- Revert "[CI] Temporarily use dev version of Documenter" (#170) (@giordano)
- Rename .cursorrules to AGENTS.md (#172) (@glwagner)
- Some moar fixes in docstrings (#173) (@navidcy)
- Enhance docstrings (#175) (@navidcy)
- Extension to
RRTMGP.jland implement RadiativeTransferModel (#176) (@glwagner) - Fix treatment of moisture and BOMEX configuration (#177) (@kaiyuan-cheng)
- Add compute_diffusivities to
update_state!forAtmosphereModel(#181) (@glwagner) - Pass total specific moisture into saturation adjustment (#182) (@glwagner)
- Add saturation adjustment integration tests via AtmosphereModel (#183) (@glwagner)
- Update semantics: eg model.moist_static_energy -> specific_energy (#184) (@glwagner)
- Remove virtual temperature approximation in buoyancy plus misc fixes (#188) (@glwagner)
- Enhance mixed-phase saturation adjustment docs (#189) (@navidcy)
- Add an example of cloudy Kelvin Helmholtz instability (#190) (@glwagner)
- change PotentialTemperatureOperation to PotentialTemperature and export (#191) (@glwagner)
- Few minor tweaks (#193) (@navidcy)
- [docs] Run linkchecks (#194) (@giordano)
- Fix
prettysummaryimport in CloudMicrophysics extension (#195) (@giordano) - Bump actions/checkout from 5 to 6 (#196) (@dependabot[bot])
- Update CloudMicrophysics requirement to 0.29.0 in /docs (#197) (@dependabot[bot])
- Update CloudMicrophysics requirement to 0.29.0 in /test (#198) (@dependabot[bot])
- Update Statistics requirement to 1.11.1 in /test (#199) (@dependabot[bot])
- Add inertia gravity wave validation case (#200) (@kaiyuan-cheng)
- Always load CloudMicrophysics when running the quality assurance tests (#201) (@giordano)
- Define
Base.eltype(::AbstractThermodynamicState)(#202) (@giordano) - Fix name of
AbstractThermodynamicStateshortcut (#204) (@giordano) - Fix link in README to point to Aqua.jl (#206) (@navidcy)
- Fix initial conditions that correspond to constant N (#207) (@navidcy)
- Set up as workspace (for dependabot etc.) (#208) (@IanButterworth)
- Fix moist static energy expression in the dycore docs (#212) (@glwagner)
- Make turbulence closures actually work + support for buoyancy gradients (#213) (@glwagner)
- Reconstruct specific quantities instead of density quantities for advection (#214) (@glwagner)
- Change
AtmosphereModel.thermodynamicstoAM.thermodynamic_constants(#216) (@glwagner) - Refactor AnelasticFormulation (and formulations in general) (#217) (@glwagner)
- Implement a PotentialTemperatureThermodynamics formulation (#218) (@glwagner)
- Add a new diagnostic for computing the hydrostatic pressure (#221) (@glwagner)
- Allow user specification of different momentum+tracer advection schemes (#224) (@glwagner)
- Add a supercell test case and fix inconsistencies in the hydrometeor variables. (#225) (@kaiyuan-cheng)
- Update animations in README.md (#226) (@navidcy)
- Allow "energy forcing" of potential temperature + polish examples (#228) (@glwagner)
- [docs] Run Literate examples concurrently (#230) (@giordano)
- [CI] Stricter condition for deploying the docs (#231) (@giordano)
- Update README with BOMEX validation profiles (#232) (@navidcy)
- Add virtual potential temperature + equivalent potential temperature diagnostics (#233) (@glwagner)
- [docs] Build literate examples on GPU (#235) (@giordano)
- Features to simplify canonical LES (#236) (@glwagner)
- Tweak bomex example (#237) (@navidcy)
- [docs] Render CairoMakie figures as PNG (#238) (@giordano)
- Prescribed SST example! (#239) (@glwagner)
- [docs] Fix random seed in examples (#240) (@giordano)
- Import prettysummary from Oceananigans.Utils (#242) (@navidcy)
- [docs] Including info about computing environment in Literate examples (#244) (@giordano)
- Compute speed + vorticity online and update ξ_limits (#246) (@navidcy)
- Revert "[docs] Run Literate examples concurrently" (#247) (@giordano)
- Create abstractions for bulk flux boundary conditions (#248) (@glwagner)
- [docs] Run Literate examples concurrently (#249) (@giordano)
- Enhances the phrasing in BOMEX example + fixes some rendering issues (#250) (@navidcy)
- Fix rendering and references in docstrings + adds AtmosphereModels.Diagnostics in API list (#251) (@navidcy)
- Precipitating shallow cumulus convection (RICO) (#253) (@glwagner)
- Change base_ to surface_ (#254) (@glwagner)
- [CI] Longer timeout for tests jobs (#255) (@giordano)
- [docs] Define list of example files only in one place (#256) (@giordano)
- Some minor tweaks at the internal gravity wave example (#257) (@navidcy)
- Add proper boundary condition to reference pressure and density (#259) (@glwagner)
- Prune unused examples (#262) (@glwagner)
- Minor improvements to the prescribed sea surface temperature example (#263) (@glwagner)
- Fix typo in sea surface temperature entry (#265) (@navidcy)
- Improve the RICO example and enforce impenetrability on subsidence velocity (#266) (@glwagner)
- Remove duplicate import of Oceananigans (#268) (@navidcy)
- Test different float types via adjusting
Oceananigans.defaults.FloatType(#269) (@navidcy) - Silence Oceananigans warnings during
turbulence_closurestests (#271) (@giordano) - Bump actions/download-artifact from 6 to 7 (#272) (@dependabot[bot])
- Bump actions/upload-artifact from 5 to 6 (#273) (@dependabot[bot])
- Bump actions/cache from 4 to 5 (#274) (@dependabot[bot])
- Call correct advection interface functions (#277) (@glwagner)
- [CI] Use self-hosted runners for GPU jobs (#279) (@giordano)
- Standardize notation for Kessler constants vs Breeze thermodynamic variables (#280) (@Copilot)
- Clarify Kessler vs Breeze thermodynamic constants in DCMIP2016 comment (#281) (@Copilot)
- Updates radiation docs (#285) (@navidcy)
- [CI] Fix Julia version to v1.12.2 in all jobs (#286) (@giordano)
- Use
IterationIntervalfor progress report in examples (#292) (@navidcy) - Add a default NaNChecker to AtmosphereModel (#293) (@navidcy)
- Avoid import for extending methods (#294) (@navidcy)
- Remove all imports (#296) (@giordano)
- [CI] Install TagBot (#298) (@giordano)
Closed issues:
- Change package name to Breeze.jl? (#2)
- "mixture" functions should accept total specific water content, plus independent ratios for non-vapor phases (#8)
- Duplicate method definition? (#9)
- BOMEX GPU isbits problem from MoistAirBuoyancy (#17)
- Clouds look funky (bad) in bomex validation case (#21)
- Potentially wrong advection operator? (#25)
- Question about Clausius-Clapeyron integration (#53)
- Linear Test Issue (#81)
- Append test file names with
_test? (#89) - Getting auxiliary information from tests and printing to screen (#119)
- Moist thermal bubble example (#127)
- Support Oceananigans turbulence closures (#137)
- Abstraction for forcing functions common to canonical LES cases (#139)
- Thermal Bubble in the docs and in Readme look different (#149)
- SaturationAdjustment solver error specific to GPU+Float32 (#162)
moisture_mass_fractionormoisture_specific_content? (#169)- Build docs / examples on GPU (#174)
- CPU and GPU runs with the same configuration give very different results (#178)
- Incorrect Brunt-Väisälä frequency definition in multiple test cases (#203)
- Rerun high-resolution examples for README (#209)
- Wrong details on thermodynamic variables in the docs (#210)
- bomex wrong time average in outputs? (#211)
- Flexible selection of advection schemes for different directions and variables (#219)
- Use "surface pressure" and "surface density" instead of base pressure and base density (#243)
- Implement correct surface/bottom boundary condition for the reference pressure (#258)
- AtmosphereModel does not convert float type of coriolis to match that of grid's (#267)
- Add
default_nan_checker(#283)