[-d data_file][-p param_file] [-skyl] [-sscatt] [-mscatt] [-soil] [-leafrefl] [-leaftrans] [-price] [-prospect] [-allwb] [-all] [-sza] [-phi] [-bAng] [-L] [-sl] [-clumping] [-eln] [-thm] [-n] [-saz] [-rsl1/2/3/4] [-cAb] [-cW] [-cP] [-cC] [-N] [-v] < in_file > out_file
-p file containintg values of parameters controlling the Kuusk canopy reflectance model behaviour (see below for full details).
-skyl If specified, canopy reflectance is calculated with sky radiance. Default is to calculate without.
-sscatt output single-scattered reflectance only
-mscatt output multiple-scattered reflectance only
-soil output soil reflectance only (three components)
-leaf output leaf reflectance only
-price output Price's spectral components of soil reflectance only, interpolated to the specified wavebands (ignores angle info. in in_file).
-prospect output wavelength depdnednt PROSPECT(1) model information, interpolated to the specified wavebands (ignores angle info. in in_file).
-allwb used in conjunction with the -price and -prospect options, this outputs the relevant info. at all wavebands in the model range (i.e. 400-2500 nm).
-all outputs *all* spectral info. used in the Kuusk model i.e. all 4 Price soil components, and 6 PROSPECT(1) parameters, at *all* wavebands in the model range (i.e. 400-2500 nm in 5nm steps) (ignores all info in in_file).
NOTE if more than one of the -price/-prospect/-allwb/-all options are specified, the last one on the command line will be used
-v verbose option - outputs all parameter values prefixed by #, so that the output file can be filtered for parameter info., and then reused as an input file if required e.g. kuusk -skyl -v < in_file | gawk '($1=="#"){for(i=2;i<=NF;i++) printf("%s ",$i); printf("\n");}'.
Input file contains on the first line, the number of angular samples, followed (on the same line) by the number of wavelengths for which reflectance is to be simulated, followed by the wavelengths in nm. The following lines should contain the viewing and illumination angles for each sample in degrees, in the order vzen vaz szen saz. The output is then the same as input, but with the simulated reflectance in each of the specified bands e.g. for 9 samples, at 2 wavelengths (550 and 850nm), with vz varying between -40 and 40 in 10 degree steps, we have an input file as follows
9 2 550 850
-40 0 0 0
-30 0 0 0
-20 0 0 0
-10 0 0 0
0 0 0 0
10 0 0 0
20 0 0 0
30 0 0 0
40 0 0 0
Comments can be used in in_file in the same way as in the parameter file i.e. on a separate line, prefixed by a `#'.
-p specifies a parameter file containing values of parameters which control the kuusk model operation. The format for the model parameter file is relatively flexible. It must start with `kuusk {' on a separate line, and end with `}', also on a separate line. Comments can be placed anywhere in the file, as long as they are on their own lines, starting with a `#'. An example is as follows (coincidentally, these are the default values for the various model parameters):
kuusk {
# kuusk parameter file
th0 = 37.5
phi = 0
bAng = 0.057
L = 1
sl = 0.03
lmbd_z = 0.45
eln = 2.3704
thm = 90
n = 0.9
th2s = 0.0
rsl1 = 0.2
rsl2 = 0.1
rsl3 = 0.03726
rsl4 = -0.002426
cab = 50
cw = 0.005
cp = 0.6e-3
cc = 0.1e-3
N = 1
# end of parameter file
}
As editing a parameter file all the time (or even generating one using a shell-script of some sort) can be a bit tedious, there are command line options to each model parameter i.e. [-sza -phi -bAng -L -sl -clz -eln/-ee -thm -n -saz -rsl1 -rsl2 -rsl3 -rls4 -cAb -cW -cP -cC -N] e.g. using -LAI 3 would specify an LAI of 3 and would override both the default value and any value within a parameter file specified using the -p option. This is perhaps the easiest way to use the model.
The kuusk model parameters are defined as follows:
sza - solar zenith angle [0, 87]
phi - view azimuth (relative to the Sun) [0, 180]
bAng - Angstrom turbidity factor [0, 0.2?]
L - leaf area index [>=0]
sl - relative leaf size [>0]
clumping - Markov (clumping) parameter [0.4?, 1.5?]. If clz is low, there is very little clumping i.e. the scattering facets are distributed evenly within the canopy.
eln - [0, 10] is a function of the eccentricity of the leaf angle distribution : eccentricity (ee) = (1 - exp(-eln).
ee - eccentricity of LAD [0, 1] (if used, will ignore eln i.e. use one or the other).
thm - [0, 90] is the mean leaf angle of the elliptical leaf angle distribution.
n - [0.7, 1.2] is the ratio of refractive indeces of scattering across successive leaf layers.
saz - [0, 87] is the solar azimuth angle
rsli - weights of Price's soil reflectance functions: rsl1 [0.05, 0.4], rsl2 [ - 0.1, 0.1], rsl3 [ - 0.05, 0.05], rsl4 [ - 0.04, 0.04].
cAB - [0, 100] = leaf pigment (chlorophyll a and b) concetration, ug/cm2.
cW - cW [0.000063, 0.04] = leaf water equivalent thickness, cm.
cP - [0.0002, 0.002] = leaf protein content, g/cm2.
cC - [0.0004, 0.008] = leaf cellulose+lignin content, g/cm2.
N - [1.0, 3.6] = the effective number of elementary layers inside a leaf.
'input.dat' : Name of the data set
37.5 0.0 0.057 : th0, phi, bAng
6.97 0.03 1.0 : L, sl, lmbd_z
2.3704 90.0 : eln, thm
0.9 : n_ratio
27.0 0.2249 0.1 0.03726 -0.002426 : th*, rsli
25.0 5e-03 6e-4 1e-4 1.4 : cAB, cW, cP, cC, N
i) kuusk -p param_file -skyl < in_file > out_file
calculates reflectance (at the wavelengths and viewing and illumination angles specified in in_file) with sky radiance switched on, using the values of the model parameters specified in param_file.
ii) kuusk -p param_file -skyl -LAI 2.4 -eln 2.1 -v < in_file > out_file
calculates canopy reflectance using the parameter values specified in param_file but with the LAI and eln values overridden by the values specified on the cmd line. The -v option prints the values of all parameters to out_file.
iii) kuusk -p param_file -skyl -LAI 2.4 -eln 2.1 -prospect -price < in_file > out_file
ignores all options other than the -price option, and prints out Prices soil spectral reflectance component information interpolated to the wavelengths specified in in_file, then exits (i.e. doesn't calculate canopy reflectance).
iv) kuusk -skyl -prospect -allwb < in_file > out_file
prints out PROSPECT parameters at all wavelengths (400-2500nm in 5nm steps).
v) kuusk -badger -skyl -prospect -all < in_file > out_file
prints out all PROSPECT and price components for all wavebands, regardless of any other cmd line options.
vi) gawk 'BEGIN {x = "";for(i=400;i<=2500;i+=5){n++;x = x " " i;}print 1,n,x;print 0,0,0,0}' | kuusk -leafrefl -cAb 0 -cW 0.000063 -cP 0.0002 -cC 0.0004 | gawk '($1!="#"){n++;for(i=1;i<=NF;i++)a[n,i]=$i;}END{for(j=3;j out_file
just creates an input file of 1 sample and 420 wavebands (400 to 2500nm i.e. the complete spectral range of the PROSPECT(1) model) with the angular values being 0 0 0 0. This is piped into kuusk with the -leafrefl option (only output leaf reflectance), with various model parameters set on the command line, and the results are filtered on output, ignoring any comments there may be in the output file (i.e. if the -v option for kuusk was used). The results are a plottable file (e.g. using gnuplot (1) or xvgr (1)) containing the leaf reflectance output by the PROSPECT-redux model. To get the transmittance, use -leaftrans (can't use both). NOTE kuusk uses the PROSPECT-redux model which has the protein, and cellulose/lignin parameters in addition to the basic PROSPECT(1) model.
Price, J. (1990) On the Information Content of Soil Reflectance Spectra, Rem. Sens. Environ. 33:113-121.
Allen W.A., Gausman H.W., Richardson A.J., Thomas J.R. (1969),
Interaction of isotropic ligth with a compact plant leaf, J. Opt. Soc. Am., 59(10):1376-1379.
Jacquemoud S., Baret F. (1990), Prospect: a model of leaf optical properties spectra, Remote Sens. Environ., 34:75-91.
Jacquemoud S., Ustin S.L., Verdebout J., Schmuck G., Andreoli G., Hosgood B. (1995), PROSPECT return, Remote Sens, Environ., in preparation.
Andrees Kuusk
Tartu Observatory
EE2444 Toravere
Estonia
andres@aai.ee.
C interface and options:
Mathias Disney
Remote Sensing Unit
Department of Geography, UCL
Chandler House
2 Wakefield Street
London WC1N 1PG
(C) University College London, 1998
mdisney@geog.ucl.ac.uk