NCL Home > Documentation > Functions > Meteorology

# latent_heat_water

Estimate latent heat flux for water: evaporization (condensation), melting (freezing) or sublimation (deposition).

Available in version 6.4.0 and later.

## Prototype

```load "\$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"  ; This library is automatically loaded
; from NCL V6.2.0 onward.
; No need for user to explicitly load.

function latent_heat_water (
t          : numeric,
iounit [2] : integer,
key    [1] : numeric,
opt        : logical
)

return_val [dimsizes(t)] :  float or double
```

## Arguments

t

Scalar or array containing temperature(s) [ units see iounit ].

iounit

An integer array of length 2 which specifies the units of the input t and returned heat_index:

• iounit(0)=0 input t (degC)
• iounit(0)=1 input t (degK)
• iounit(0)=2 input t (Farenheit)

• iounit(1)=0 returns units J/kg
• iounit(1)=1 returns units J/g
• iounit(1)=2 returns units Cal/g

key

Scalar specifying which latent heat to estimate:

• key=1 return evaporation/condensation
• key=2 return melting/freezing
• key=3 return sublimation/deposition

opt

Currently not used. Set to False.

## Return value

A scalar or an array of the same size and shape as t. The output will be double if t is of type double. The return units are specified by iounit(1).

## Description

This function returns the latent heat of

```               evaporation/condensation         for key=1
melting/freezing                 for key=2
sublimation/deposition           for key=3
```
for water. The latent heatis a function of temperature t. The formulas are polynomial approximations to the values in Table 92, p. 343 of the Smithsonian Meteorological Tables, Sixth Revised Edition, 1963 by Roland List. The approximations were developed by Eric Smith at Colorado State University.

Source: Thomas W. Schlatter and Donald V. Baker: PROFS Program Office, NOAA Environmental Research Laboratories, Boulder, Colorado.

## Examples

Example 1:

```    t      = 0.0       ; C
iounit = (/0, 1/)  ;  C, J/g

key    = 2         ; melting/freezing
lh_012 = latent_heat_water(t, iounit, key, False)
print(lh_012)

key    = 1         ; evaporation/condensation
lh_011 = latent_heat_water(t, iounit, key, False)
print("lh_011="+lh_011)

key    = 3         ;
lh_013 = latent_heat_water(t, iounit, key, False)
print("lh_013="+lh_013)

;----

t      = 0.0     ; C
iounit = (/0, 2/)  ; C, Cal/g

key    = 2         ; melting/freezing
lh_022 = latent_heat_water(t, iounit, key, False)
print(lh_022)

key    = 1         ; evaporation/condensation
lh_012 = latent_heat_water(t, iounit, key, False)
print("lh_012="+lh_012)

key    = 3         ;
lh_013 = latent_heat_water(t, iounit, key, False)
print("lh_013="+lh_013)

;----

```
The following are for t=0C [ iounit=(/0,1/) ]. These three estimates (J/g) are essentially the values at https://en.wikipedia.org/wiki/Latent_heat for t=0C [334, 2500.8, 2834.1].
```

Variable: lh_012
Type: float
Total Size: 4 bytes
1 values
Number of Dimensions: 1
Dimensions and sizes:	[1]
Coordinates:
Number Of Attributes: 2
long_name :	Latent Heat: melting/freezing
units :	J/g

(0)	333.149             ; J/g; melting/freezing

(0)	lh_011=2500.72      ; J/g; evaporation/condensation

(0)	lh_013=2833.81      ; J/g; sublimation/deposition

```

The following (cal/g) are for t=0C [ iounit=(/0,2/) ]. These essentially match the Smithsonian Meteorological Tables mentioned in the Description section.

```
Variable: lh_022
Type: float
Total Size: 4 bytes
1 values
Number of Dimensions: 1
Dimensions and sizes:	[1]
Coordinates:
Number Of Attributes: 2
long_name :	Latent Heat: melting/freezing
units :	cal/g

(0)	79.5713            ; cal/g; melting/freezing

(0)	lh_012=597.288     ; cal/g; evaporation/condensation

(0)	lh_013=676.844     ; cal/g; sublimation/deposition

```