NCL Home > Documentation > Functions > Meteorology, Crop

soil_heatflux_month_fao56

Compute soil heat flux for monthly periods as described in FAO 56.

Available in version 6.4.0 and later.

Prototype

load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/crop.ncl"

	function soil_heatflux_month_fao56 (
		t          : numeric,  
		dt         : numeric,  
		dz         : numeric,  
		ndim   [1] : integer,  
		iounit [2] : integer,  
		opt    [1] : logical   
	)

Arguments

t

A scalar or array containing air temperatures near the surface. See iounit argument.

dt

A scalar or an array specifying the time interval(s) in months. For successive months, dt=1.

dz

Effective soil depth (m). Typically, dz ranges from 0.10m to 0.20m for one to a few days. For monthly periods, 0.5m to 2m or more may be appropriate. Commonly, dz=1.0 for successive monthly values.

ndim

A scalar which specifies the dimension number of t corresponding to 'time'.

iounit

An integer array of length 2 which specifies the units of the input radext and returned extraterrestrial radiation:

  • iounit(0)=0 input t are degC (C)
  • iounit(0)=1 input t are degK (Kelvin)
  • iounit(0)=2 input t are degrees Fahrenheit

  • iounit(1)=0 returns units of mm/day
  • iounit(1)=1 returns units of MJ/(m2-day)
  • iounit(1)=2 returns units of W/m2

opt

Currently not used, set opt=False.

Return value

An array of the same type and shape as t containing monthly soil flux estimates. All available metadata will be attached.

Description

Computes monthly soil flux estimates as 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 41 of Chapter 3.

A constant soil heat capacity [ 2.1 MJ/(m3-C) ] is used.

See Also

Crop & Evapotranspiration functions

Examples

Example 1: Replicate Example 13 in Chapter 3. Specifically, EQN 41, 43 and 44 are used.

  t      = (/ 14.1, 16.1, 18.8/)      ; degC 
  dz     = 1.0                        ; m
  dt     = 1.0                        ; successive months (here: March, April, May)
  ndim   = 0                          ; t(3) ... only one dimension

  shflx_00 = soil_heatflux_month_fao56(t,dz,dt,ndim,(/0,0/),False)  ; (/0.114, 0.134, 0.154/) mm/day
  shflx_01 = soil_heatflux_month_fao56(t,dz,dt,ndim,(/0,1/),False)  ; (/0.28 , 0.329, 0.378/) MJ/(m2-day)

  print(shflx_01)

The output for 'shflx_01' is

     Variable: shflx_01
     Type: float
     Total Size: 12 bytes
                 3 values
     Number of Dimensions: 1
     Dimensions and sizes:	[3]
     Coordinates: 
     Number Of Attributes: 4
       long_name :	monthly soil heat flux
       units :	MJ/(m2-day)
       url :	http://www.fao.org/docrep/X0490E/x0490e07.htm
       info :	FAO 56; EQN 43 & 44; soil_heatflux_month_fao56

     (0)	0.28              ; 0.14*(t(0)-t(1))
     (1)	0.3289999         ; 0.07*(t(0)-t(2))   ; FAO Example 13
     (2)	0.3779998         ; 0.14*(t(1)-t(2))

Example 2: T(time,lat,lon) with sizes (3,73,144) and coordinate variables.

     SHFLX_01  = soil_heatflux_month_fao56(T, dt, dz, ndim, (/0,1/), False)

The output would be

Variable: SHFLX_01
Type: float
Total Size: 126144 bytes
            31536 values
Number of Dimensions: 3
Dimensions and sizes:	[time | 3] x [lat | 73] x [lon | 144]
Coordinates: 
            time: [3..5]
            lat: [-90..90]
            lon: [ 0..357.5]
Number Of Attributes: 4
  long_name :	monthly soil heat flux
  units :	MJ/(m2-day)
  url :	http://www.fao.org/docrep/X0490E/x0490e07.htm
  info :	FAO 56; EQN 41, 43 & 44; soil_heatflux_month_fao56