Releases: climlab/climlab
Version 0.9.1
Bug fix and clean up of the codebase.
Some legacy code for former Python 2.7 support was removed (hasn't been tested or supported in a long time).
What's Changed
- Preserve ASR diagnostic array shape for simple EBM by @brian-rose in #251
- Remove legacy Python 2 code by @brian-rose in #252
- Doc updates for v0.9.1 release by @brian-rose in #253
Full Changelog: v0.9.0...v0.9.1
Version 0.9.0
A major new release with significant new functionality and compatibility with the latest Python and Numpy versions.
New capabilities
- Full support for aerosols in RRTMG
- New moist atmospheric physics
- A new SimplifiedBettsMiller moist convection process following Frierson (2007)
- A simple LargeScaleCondensation process to represent condensation and precipitation from large-scale moisture convergence.
- A new Limiter process that implements min/max bounds for state variables
- Better consistency for internally generated diagnostics, including a new additive assumption for same-named diagnostics produced by multiple subprocesses.
- Support for multiple time-averaging methods for solar zenith angle, including more flexible support for zenith angle in RRTMG and CAM3 radiation processes.
The compiled Fortran dependencies have also been updated, with some breaking changes to their interfaces. Thus climlab 0.9.0 requires climlab-rrtmg >= 0.4.1 and climlab-cam3-radiation >= 0.3.
This release also includes numerous documentation improvements, bug fixes, and support for Numpy 2 and Python 3.12 / 3.13.
What's Changed
- Bump conda-incubator/setup-miniconda from 2 to 3 by @dependabot in #197
- Support for aerosols in RRTMG by @brian-rose in #198
- Add tests for larger number of levels in RCM by @brian-rose in #205
- Update akmaev_adjustment.py by @timjupp in #204
- Refactor insolation code to clarify zenith angle formulas by @brian-rose in #206
- Set nopython=True for Numba by @brian-rose in #207
- adding support for time-averaging in xarray exporting of diagnostics by @dorrih-stardust in #214
- SW aerosol table roll bug fix by @dorrih-stardust in #213
- Make diffusive and advective fluxes proper Field objects by @brian-rose in #219
- New Limiter process that implements min/max bounds for state variables by @brian-rose in #221
- Make same-named diagnostics additive by @brian-rose in #222
- Diagnostics improvements for GreyGas model by @brian-rose in #223
- Switch CI builds to use Miniforge by @brian-rose in #225
- Add SimplifiedBettsMiller convection process by @brian-rose in #229
- Add LargeScaleCondensation process by @brian-rose in #230
- Get inheritance graphs working again by @brian-rose in #232
- Basic docs on additive diagnostics by @brian-rose in #233
- Update the quickstart doc page by @brian-rose in #234
- Improve insolation handling by @brian-rose in #209
- Temporary pin to previous climlab-rrtmg by @brian-rose in #236
- Check to make sure CAM3 radiation gets scalar greenhouse gas VMRs by @brian-rose in #239
- Numpy 2 compatible broadcasting in implicit solver by @brian-rose in #241
- Pin to previous sphinx version due to nbsphinx incompatibility by @brian-rose in #242
- Compatibility with updated Fortran radiation driver by @brian-rose in #243
- Better support for zenith angle in Insolation process objects by @brian-rose in #235
- Fully support and test coszen weighting options by @brian-rose in #244
- Test on Python 3.13 by @brian-rose in #245
- Clean up and bump to version 0.9.0 by @brian-rose in #246
- Release notes for v0.9.0 by @brian-rose in #247
- Fix typo by @brian-rose in #248
New Contributors
- @timjupp made their first contribution in #204
- @dorrih-stardust made their first contribution in #214
Full Changelog: v0.8.2...v0.9.0
Version 0.8.2
New feature: process class climlab.radiation.InstantInsolation()
which correctly interprets longitude, respects local solar time and calculates hour angle. A utility function climlab.solar.insolation.instant_insolation()
is also available, with usage mirroring the existing climlab.solar.insolation.daily_insolation()
.
Thanks to @HenryDane for this contribution!
This release also includes numerous bug fixes, updates for Python 3.11, and improvements to documentation and CI builds.
Version 0.8.1
A major refactor of the internals: all the Fortran code has been moved into external companion packages climlab-rrtmg, climlab-cam3-radiation, and climlab-emanuel-convection. Climlab is now (once again!) a pure Python package. Builds of these helper packages are available through conda-forge and will be automatically installed as dependencies by conda / mamba.
The climlab source repo also moved to https://github.com/climlab/climlab
There should be no breaking changes to the user-facing API.
The major motivation for this change was to (vastly) simplify the development and testing of new-and-improved climlab internals (coming soon).
Version 0.7.13
This is a maintenance release to support Python 3.10
The attrdict package by Brendan Curran-Johnson has been removed from the dependencies since it is broken on Python 3.10 and no longer under development.
A modified version of the MIT-licensed attrdict source is now bundled internally with climlab. There are no changes to climlab's public API.
Version 0.7.12
New feature: the ability to report top-of-atmosphere emission separated into spectral bands with the RRTMG radiation code.
A new tutorial notebook illustrates what you can do with this feature.
The change is completely backwards compatible. A new input flag return_spectral_olr
has been added to the RRTMG_LW
process, which defaults to False
.
Many thanks to @AndrewWilliams3142 for leading this new contribution.
Version 0.7.11
This version brings some under-the-hood improvements to the automated download and caching of required data files. These services are now outsourced to pooch.
Version 0.7.10
No changes to climlab functionality.
This release brings some modernization to the build and test infrastructure:
- migrating all CI testing to GitHub Actions
- Removing appveyor and travisCI
- renaming the default source code branch from master to main
- Improvements to documentation of build and test procedures
Version 0.7.9
- Bug fixes
- Improvements to the documentation, specifically on how to build the docs locally.
Version 0.7.8
Bug fixes.