
radsol2_fao56
Compute solar radiation from daily sunshine and day-of-year 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 radsol2_fao56 ( jday [*] : integer, lat : numeric, sunhr : numeric, ounit [1] : integer, opt [1] : logical )
Arguments
jdayA integer scalar or one-dimensional array containing day of year.
latA scalar or an array of any dimensionality containing latitudes (degrees).
sunhrDuration of sunshine (hours). Dimensionality should match lat.
ounitA scalar integer which specifies the units of the returned extraterrestrial radiation:
- ounit=0 yields units of mm/day
- ounit=1 yields units of MJ/(m2-day)
- ounit=2 yields units of W/m2
Optional arguments are present.
- opt=False : Optional arguments as and bs are set to the FAO recommended values: as=0.25 and bs=0.50
- opt=True : User may set both as and bs; opt@as=??? and opt@bs=???
Return value
If both jday and lat are scalars, then a scalar is returned. Otherwise, a two- or three-dimensional array is returned. If jday(ntim) and lat(nlat), the returned array will be (ntim,nlat). If lat(nlat,mlon), the returned array will be (ntim,nlat,mlon). The returned arrays will contain metadata where applicable.
Description
Computes solar radiation based upon daily sunshine and day-of-year 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 35 of Chapter 3.
See Also
Crop & Evapotranspiration functions
Examples
Example 1: Replicate example 10 in Chapter 3.
jday = 135 lat = -22.9 ; Rio de Janeiro, Brazil sunhr = 220.0/31.0 ; average daily sunshine hours radsol = radsol2_fao56(jday, lat, sunhr, 0, False) ; 5.898 mm/day radsol = radsol2_fao56(jday, lat, sunhr, 1, False) ; 14.456 MJ/(m2-day) radsol = radsol2_fao56(jday, lat, sunhr, 2, False) ; 167.315 W/m2 printVarSummary(radsol)The output for 'radsol' with ounit=1 is
Variable: radsol Type: float Total Size: 4 bytes 1 values Number of Dimensions: 1 Dimensions and sizes: [1] Coordinates: Number Of Attributes: 4 long_name : radiation: FAO_56 units : MJ/(m2-day) url : http://www.fao.org/docrep/X0490E/x0490e07.htm info : FAO 56; EQN 35; radsol2_fao56 (0) 14.456
Example 2: Consider lat(lat) and jday(time)
lat = (/ -22.9, 0, 45 /) lat@units = "degrees_north" lat!0 = "lat" lat&lat = lat nlat = dimsizes(lat) time = (/ 15, 135, 246, 306 /) time@long_name = "julian day" time!0 = "time" time&time = time ntim = dimsizes(time) sunhr = new( (/ntim,nlat/), "float") sunhr = 220.0/31 radsol = radsol2_fao56(time, lst, sunhr, 0, False)The output would be
Variable: ra Type: float Total Size: 48 bytes 12 values Number of Dimensions: 2 Dimensions and sizes: [time | 4] x [lat | 3] Coordinates: time: [15..306] lat: [-20..45] Number Of Attributes: 5 long_name : extraterrestrial radiation: FAO_56 units : MJ/(m2-day) url : http://www.fao.org/docrep/X0490E/x0490e07.htm info : FAO 56; EQN 21