
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" ; This library is automatically loaded ; from NCL V6.5.0 onward. ; No need for user to explicitly load. function soil_heatflux_month_fao56 ( t : numeric, dt : numeric, dz : numeric, ndim [1] : integer, iounit [2] : integer, opt [1] : logical )
Arguments
tA scalar or array containing air temperatures near the surface. See iounit argument.
dtA scalar or an array specifying the time interval(s) in months. For successive months, dt=1.
dzEffective 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.
ndimA scalar which specifies the dimension number of t corresponding to 'time'.
iounitAn 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
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