
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=3for 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