NCL Home > Documentation > Functions > Meteorology, Crop


Computes the psychrometric constant [kPa/C] as described in FAO 56.

Available in version 6.4.0 and later.


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

	function psychro_fao56 (
		p          : numeric,  
		iounit [2] : integer   



A scalar or array of any dimensionality containing pressure. See iounit(0) argument.


An integer array of size 2 indicating the units of the input pressure and returned psychrometric constant:

  • iounit(0)=0 ; (hPa)
  • iounit(0)=1 ; (Pa)
  • iounit(0)=2 ; (kPa)

If iounit=0 or 1, the input p will be converted internally to the appropriate units prior to the computation. The input p are unaltered.

  • iounit(1)=0 means the output are in hPa
  • iounit(1)=1 means the output are in Pa
  • iounit(1)=2 means the output are in kPa

Return value

An array with the same dimensionality and type as p containing the psychrometric constant.


Compute psychrometric constant [kPa/C], described in the Food and Agriculture Organization (FAO) Irrigation and Drainage Paper 56 entitled: Crop evapotranspiration - Guidelines for computing crop water requirement. Specifically, see equation 7 of Chapter 3 or equation 3-2 in Annex 3.

From FAO 56:

The specific heat at constant pressure is the amount of energy required to increase the temperature of a unit mass of air by one degree at constant pressure. Its value depends on the composition of the air, i.e., on its humidity. For average atmospheric conditions a value cp = 1.013 10-3 MJ kg-1 C-1 can be used. As an average atmospheric pressure is used for each location (Equation 7), the psychrometric constant is kept constant for each location

A table listing the psychometric constant for different altitudes is Table 2.2.

See Also

Crop & Evapotranspiration functions


Example 1: Replicate Example 2 in Chapter 3. Use two different methods to estimate the pressure (small difference).

  P0   = 101.3         ; kPa
  z0   =  0.0          ; m

  t    = 20.0          ; degC
  z    = 1800.         ; m

  prs  = prsatm_tz_fao56(t, z, P0, z0, 0)      ; FAO 56; Annex 3: EQN 3-2 
  print("prs ="+prs)                             ; 81.78 kPa

  prs7 = 101.3*((293-0.0065*z)/293)^5.26        ; EQN 7
  print("prs7 ="+prs7)                          ; 81.76 kPa

  psy = psychro_fao56(prs, (/2,2/) )   ; FAO 56: Chapter 3: EQN 8

The output for 'psy' is

     Variable: psy
     Type: float
     Total Size: 4 bytes
                 1 values
     Number of Dimensions: 1
     Dimensions and sizes:	[1]
     Number Of Attributes: 4
       long_name :	psychrometric constant
       units :	kPa/C
       url :
       info :	FAO 56; EQN 8; psychro_fao56

(0)	0.05434634