astropy.units.equivalencies.thermodynamic_temperature(frequency, T_cmb=None)[source]

Defines the conversion between Jy/sr and “thermodynamic temperature”, \(T_{CMB}\), in Kelvins. The thermodynamic temperature is a unit very commonly used in cosmology. See eqn 8 in [1]

\(K_{CMB} \equiv I_\nu / \left(2 k \nu^2 / c^2 f(\nu) \right)\)

with \(f(\nu) = \frac{ x^2 e^x}{(e^x - 1 )^2}\) where \(x = h \nu / k T\)


The observed spectral equivalent Unit (e.g., frequency or wavelength). Must have spectral units.

T_cmbQuantity [:ref: ‘temperature’] or python:None

The CMB temperature at z=0. If None, the default cosmology will be used to get this temperature. Must have units of temperature.


For broad band receivers, this conversion do not hold as it highly depends on the frequency



Planck 2013 results. IX. HFI spectral response


Planck HFI 143 GHz:

>>> from astropy import units as u
>>> from astropy.cosmology import Planck15
>>> freq = 143 * u.GHz
>>> equiv = u.thermodynamic_temperature(freq, Planck15.Tcmb0)
>>> (1. * u.mK).to(u.MJy /, equivalencies=equiv)  
<Quantity 0.37993172 MJy / sr>