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
tScalar or array containing temperature(s) [ units see iounit ].
iounitAn 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
Scalar specifying which latent heat to estimate:
- key=1 return evaporation/condensation
- key=2 return melting/freezing
- key=3 return sublimation/deposition
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