heat_capacity¶
Routines for calculating heat capacities for grid boxes.
- climlab.utils.heat_capacity.atmosphere(dp)[source]¶
Returns heat capacity of a unit area of atmosphere, in units J /m**2 / K.
\[C_a = \frac{c_p \cdot dp \cdot f_{\textrm{mb-to-Pa}}}{g}\]where
variable
value
unit
description
\(C_a\)
output
\(\textrm{J} / \textrm{m}^2 / \textrm{K}\)
heat capacity for atmospheric cell
\(c_p\)
\(1004.\)
\(\textrm{J} / \textrm{kg} / \textrm{K}\)
specific heat at constant pressure for dry air
\(dp\)
input
\(\textrm{mb}\)
pressure for atmospheric cell
\(f_{\textrm{mb-to-Pa}}\)
\(100\)
\(\textrm{Pa} / \textrm{mb}\)
conversion factor from mb to Pa
\(g\)
\(9.8\)
\(\textrm{m} / \textrm{s}^2\)
gravitational acceleration
Function-call argument
- Parameters:
dp (array) – pressure intervals (unit: mb)
- Returns:
the heat capacity for atmosphere cells correspoding to pressure input (unit: J /m**2 / K)
- Return type:
array
- Example:
Calculate atmospheric heat capacity for pressure intervals of 1, 10, 100 mb:
>>> from climlab.utils import heat_capacity >>> pressure_interval = array([1,10,100]) # in mb >>> heat_capacity.atmosphere(pressure_interval) # in J /m**2 / K array([ 10244.89795918, 102448.97959184, 1024489.79591837])
- climlab.utils.heat_capacity.ocean(dz)[source]¶
Returns heat capacity of a unit area of water, in units J /m**2 / K.
\[C_o = \rho_w \cdot c_w \cdot dz\]where
variable
value
unit
description
\(C_o\)
output
\(\textrm{J} / \textrm{m}^2 / \textrm{K}\)
heat capacity for oceanic cell
\(c_w\)
\(4181.3\)
\(\textrm{J} / \textrm{kg} / \textrm{K}\)
specific heat of liquid water
\(dz\)
input
\(\textrm{m}\)
water depth of oceanic cell
\(\rho_w\)
\(1000.\)
\(\textrm{kg} / \textrm{m}^3\)
density of water
Function-call argument
- Parameters:
dz (array) – water depth of ocean cells (unit: m)
- Returns:
the heat capacity for ocean cells correspoding to depth input (unit: J /m**2 / K)
- Return type:
array
- Example:
Calculate atmospheric heat capacity for pressure intervals of 1, 10, 100 m:
>>> from climlab.utils import heat_capacity >>> pressure_interval = array([1,10,100]) # in m >>> heat_capacity.ocean(pressure_interval) # in J /m**2 / K array([ 4.18130000e+06, 4.18130000e+07, 4.18130000e+08])
- climlab.utils.heat_capacity.slab_ocean(water_depth)[source]¶
Returns heat capacity of a unit area slab of water, in units of J / m**2 / K.
Takes input argument
water_depth
and callsocean()
Function-call argument
- Parameters:
float – water depth of slab ocean (unit: m)
- Returns:
the heat capacity for slab ocean cell (unit: J / m**2 / K)
- Return type: