Climlab

Latest version: v0.9.1

Safety actively analyzes 723217 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 7

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 https://github.com/climlab/climlab/pull/251
* Remove legacy Python 2 code by brian-rose in https://github.com/climlab/climlab/pull/252
* Doc updates for v0.9.1 release by brian-rose in https://github.com/climlab/climlab/pull/253


**Full Changelog**: https://github.com/climlab/climlab/compare/v0.9.0...v0.9.1

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](https://climlab.readthedocs.io/en/latest/api/climlab.convection.SimplifiedBettsMiller.html) moist convection process following [Frierson (2007)](https://doi.org/10.1175/JAS3935.1)
- A simple [LargeScaleCondensation](https://climlab.readthedocs.io/en/latest/api/climlab.dynamics.LargeScaleCondensation.html) process to represent condensation and precipitation from large-scale moisture convergence.
- A new [Limiter](https://climlab.readthedocs.io/en/latest/api/climlab.process.limiter.html) process that implements min/max bounds for state variables
- Better consistency for internally generated diagnostics, including a new [additive assumption for same-named diagnostics](https://climlab.readthedocs.io/en/latest/architecture.html#additive-diagnostics-for-subprocesses) produced by multiple subprocesses.
- Support for [multiple time-averaging methods for solar zenith angle](https://climlab.readthedocs.io/en/latest/api/climlab.solar.insolation.html#climlab.solar.insolation.daily_insolation_factors), 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](https://github.com/climlab/climlab-rrtmg) >= 0.4.1 and [climlab-cam3-radiation](https://github.com/climlab/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 https://github.com/climlab/climlab/pull/197
* Support for aerosols in RRTMG by brian-rose in https://github.com/climlab/climlab/pull/198
* Add tests for larger number of levels in RCM by brian-rose in https://github.com/climlab/climlab/pull/205
* Update akmaev_adjustment.py by timjupp in https://github.com/climlab/climlab/pull/204
* Refactor insolation code to clarify zenith angle formulas by brian-rose in https://github.com/climlab/climlab/pull/206
* Set nopython=True for Numba by brian-rose in https://github.com/climlab/climlab/pull/207
* adding support for time-averaging in xarray exporting of diagnostics by dorrih-stardust in https://github.com/climlab/climlab/pull/214
* SW aerosol table roll bug fix by dorrih-stardust in https://github.com/climlab/climlab/pull/213
* Make diffusive and advective fluxes proper Field objects by brian-rose in https://github.com/climlab/climlab/pull/219
* New Limiter process that implements min/max bounds for state variables by brian-rose in https://github.com/climlab/climlab/pull/221
* Make same-named diagnostics additive by brian-rose in https://github.com/climlab/climlab/pull/222
* Diagnostics improvements for GreyGas model by brian-rose in https://github.com/climlab/climlab/pull/223
* Switch CI builds to use Miniforge by brian-rose in https://github.com/climlab/climlab/pull/225
* Add SimplifiedBettsMiller convection process by brian-rose in https://github.com/climlab/climlab/pull/229
* Add LargeScaleCondensation process by brian-rose in https://github.com/climlab/climlab/pull/230
* Get inheritance graphs working again by brian-rose in https://github.com/climlab/climlab/pull/232
* Basic docs on additive diagnostics by brian-rose in https://github.com/climlab/climlab/pull/233
* Update the quickstart doc page by brian-rose in https://github.com/climlab/climlab/pull/234
* Improve insolation handling by brian-rose in https://github.com/climlab/climlab/pull/209
* Temporary pin to previous climlab-rrtmg by brian-rose in https://github.com/climlab/climlab/pull/236
* Check to make sure CAM3 radiation gets scalar greenhouse gas VMRs by brian-rose in https://github.com/climlab/climlab/pull/239
* Numpy 2 compatible broadcasting in implicit solver by brian-rose in https://github.com/climlab/climlab/pull/241
* Pin to previous sphinx version due to nbsphinx incompatibility by brian-rose in https://github.com/climlab/climlab/pull/242
* Compatibility with updated Fortran radiation driver by brian-rose in https://github.com/climlab/climlab/pull/243
* Better support for zenith angle in Insolation process objects by brian-rose in https://github.com/climlab/climlab/pull/235
* Fully support and test coszen weighting options by brian-rose in https://github.com/climlab/climlab/pull/244
* Test on Python 3.13 by brian-rose in https://github.com/climlab/climlab/pull/245
* Clean up and bump to version 0.9.0 by brian-rose in https://github.com/climlab/climlab/pull/246
* Release notes for v0.9.0 by brian-rose in https://github.com/climlab/climlab/pull/247
* Fix typo by brian-rose in https://github.com/climlab/climlab/pull/248

New Contributors
* timjupp made their first contribution in https://github.com/climlab/climlab/pull/204
* dorrih-stardust made their first contribution in https://github.com/climlab/climlab/pull/214

**Full Changelog**: https://github.com/climlab/climlab/compare/v0.8.2...v0.9.0

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.

0.8.1

A major refactor of the internals: all the Fortran code has been moved into external companion packages [climlab-rrtmg](https://github.com/climlab/climlab-rrtmg), [climlab-cam3-radiation](https://github.com/climlab/climlab-cam3-radiation), and [climlab-emanuel-convection](https://github.com/climlab/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).

0.7.13

This is a maintenance release to support Python 3.10

The [attrdict package](https://github.com/bcj/AttrDict) by [Brendan Curran-Johnson](https://github.com/bcj) 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.

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](https://climlab.readthedocs.io/en/latest/courseware/Spectral_OLR_with_RRTMG.html) 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.

Page 1 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.