Climlab

Latest version: v0.8.2

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

Scan your dependencies

Page 3 of 6

0.7.3

Bug fix and changes to continuous integration for Python 2.7 compatibility

0.7.2

Improvements to surface flux processes, a new data management strategy, and improved documentation.

Details:
- ``climlab.surface.LatentHeatFlux`` and ``climlab.surface.SensibleHeatFlux`` are now documented, more consistent with the climlab API, and have new optional ``resistance`` parameters to reduce the fluxes (e.g. for modeling stomatal resistance)
- ``climlab.surface.LatentHeatFlux`` now produces the diagnostic ``evaporation`` in kg/m2/s. ``climlab.convection.EmanuelConvection`` produces ``precipitation`` in the same units.
- The previous ``PRECIP`` diagnostic (mm/day) in ``climlab.convection.EmanuelConvection`` is removed. This is a BREAKING CHANGE.
- Data files have been removed from the climlab source repository. All data is now accessible remotely. climlab will attempt to download and cache data files upon first use.
- ``climlab.convection.ConvectiveAdjustement`` is now accelerated with ``numba`` if it is available (optional)

0.7.1

This release brings deeper xarray integration, include one breaking change to ``climlab.solar.orbital.OrbitalTable``, Python 3.7 compatibility, and minor enhancements.

Details:
- Removed ``climlab.utils.attr_dict.AttrDict`` and replaced with AttrDict package (a new dependency)
- Added ``xarray`` input and output capabilities for ``climlab.solar.insolation.daily_insolation()``
- ``climlab.solar.orbital.OrbitalTable`` and ``climlab.solar.orbital.long.OrbitalTable`` now return ``xarray.Dataset`` objects containing the orbital data.
- The ``lookup_parameter()`` method was removed in favor of using built-in xarray interpolation.
- New class ``climlab.process.ExternalForcing()`` for arbitrary externally defined tendencies for state variables.
- New input option ``ozone_file=None`` for radiation components, sets ozone to zero.
- Tested on Python 3.7. Builds will be available through conda-forge.

0.7.0

New functionality, improved documentation, and a few breaking changes (hopefully for the better) to the API.

Major new functionality includes **convective adjustment to the moist adiabat**, and **moist EBMs with diffusion on moist static energy gradients**.

- ``climlab.convection.ConvectiveAdjustement`` now allows non-constant critical lapse rates, stored in input parameter ``adj_lapse_rate``.
- New switches to implement automatic adjustment to **dry** and **moist** adiabats (pseudoadiabat)
- ``climlab.EBM()`` and its daughter classes are significantly reorganized to better respect CLIMLAB principles:
- Essentially all the computations are done by subprocesses
- SW radiation is now handled by ``climlab.radiation.SimpleAbsorbedShortwave`` class
- Diffusion and its diagnostics now handled by ``climlab.dynamics.MeridionalHeatDiffusion`` class.
- Diffusivity can be altered at any time by the user, e.g. during timestepping
- Diffusivity input value ``K`` in class ``climlab.dynamics.MeridionalDiffusion`` is now specified in physical units of m2/s instead of (1/s). This is consistent with its parent class ``climlab.dynamics.Diffusion``.
- A new class ``climlab.dynamics.MeridionalMoistDiffusion`` for the moist EBM (diffusion down moist static energy gradient)
- Tests that require compiled code are now marked with ``pytest.mark.compiled`` for easy exclusion during local development

Under-the-hood changes include

- Internal changes to the timestepping; the ``compute()`` method of every subprocess is now called explicitly.
- ``Process.compute()`` now always returns tendency dictionaries

0.6.5

This release mainly adds to the [documentation](http://climlab.readthedocs.io/en/latest/), including a detailed page with instructions for [contributing to climlab](http://climlab.readthedocs.io/en/latest/contributing.html).

This is associated with the forthcoming release of a meta-description paper in [Journal of Open Source Software](http://joss.theoj.org).

0.6.4

This release brings a new simplified API for coupling together subcomponents of a model.

There is now a method `climlab.couple()` that accepts a list of processes and returns a parent model with the given subprocesses nested inside it.

This is considered a beta feature for now and is not really documented. It partially addresses 65

Also included is a new `SimpleAbsorbedShortwave` class for energy balance models, and numerous bug fixes.

Page 3 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.