MSc Remote Sensing
Vegetation Science: Practical 2b
Theoretical Vegetation Scattering Model
Dr Paul Saich
Remote Sensing Unit
UCL Geography
1 Purpose
The aim of this part of the practical is to investigate the properties
of a theoretical model for microwave scattering.
1.1 Model and Input Data
The scattering model that will be used is called "rt2". The simplest way
to gain access to it is to use an alias, e.g.
venice% alias rt2 /data/leiden/scat_software/rt2
If you type this command, then it will assign the executable to the
command "rt2". If you now type "rt2" you should get the following:-
venice% rt2
BAE SYSTEMS
RT2 version 3.3
Enter name of input file >
At this point, the model requires you to enter the name of an input
file. Some examples of these are contained in the directory /home/psaich/data2/MScII/Model/
The
names of the input files all have the form "name.rt". Copy these example
files into your local directory.
WARNING: if you get the error message:
ld.so.1: /data/leiden/scat_software/rt2:
fatal: libF77.so.3: open failed: No such file or directory
Then the required FORTRAN library files are not present on the machine
you are on. Let the system manager know about this, but log on to a different
machine for now (e.g. london).
2 Familiarising Yourself
2.1 Surface Scattering
Look at the contents of the input file ground.rt. The file contains
some header information including wavenumber, k (=2 pi / wavelength) and
incident angle (along with some additional pieces of information (algo,
etc) which you should ignore). The next section of the file refers to the
ground properties, and begins with the name of the surface scattering approximation
used. Whenever you use the model for L- and P-band, the hashed line should
read "#spm_g" but for C-band you should change this to "#ksp_g". The two
models referred to here are the Small Perturbation Model (SPM) and the
Kirchhoff Stationary Phase approximation (KSP), and their validity depends
on the relative wavelength and roughness. If the model is not valid, you'll
get a message to the screen during execution to this effect.
The remaining information in the "ground" section of the file includes
roughness (ls and sigmah), the way in which moisture content is related
to soil permittivity (a model called "Hallik" based on a paper by Hallikainen
et al 1985) and then the volumetric moisture content, sand content (%)
and clay content (%). The latter two of these relate to the soil texture
(sand + clay + silt = 100%).The only parameter you need be concerned with
here is the volumetric moisture content, mv, (which varies between 0 and
1).
Try executing rt2 with this input file. The results are written to the
screen and also to a file called "ground.out".
2.2 Predictions as a function of an independent variable
Now make the following modifications to the input file:-
-
add in two new lines before the wavenumber - the first of these should
be "runs 10" and the second should be "range0 5. 75."
-
change the incident angle line to read "theta (variable0)"
The header to the file should now look like this:-
rt
runs 10
range0 5. 75.
k 26.0
theta (variable0)
alg0 std
loops 5.0e3
tol 1.0e-5
alg1 fresnel
Now try executing rt2 again. You should find this time that the output
is a set of predictions as a function of incident angle. Note that there
are ten incident angles ("runs") in the range 5 to 75 degrees ("range0").
Also notice that in the input file, the value of the incident angle has
been replaced with "(variable0)" to tell the model that it is this which
varies over range0.
You can look at variations in most of the other parameters (or even
several parameters at once). An example of this is given below.
2.2 Vegetation Scattering
Now look at the contents of the file "needle.rt". This file contains similar
header information to the previous exercise, and a similar set of data
for the ground. However, it now also contains a new set of data relating
to "layer0". (Additional layers can be built on top of this one, see the
following section.) The first piece of information in the layer section
must be the thickness of the layer (called "height"). Thereafter, any number
of scatterer types can be included within the layer. In "needle.rt" there
is only one type of scatterer - the file will simulate the scattering from
a single layer of thin needles.
"len" is actually the half-length of the scatterer types - i.e. half-length
of the needles, or half-thickness in the case of discs. For needles and
discs you can use the Generalised Rayleigh-Gans approximation ("#needle_rg"
or "#disc_rg"). For both these cases you must include rad1 and rad2 (the
semi-major and semi-minor radii) even if these are the same. You will see
later that you can also model cylindrical scatterers using the finite cylinder
approximation ("#cylinder"). This is generally better over a wide range
of wavelengths (especially for short wavelengths) and in this case, you
need only give a single radius value (see next section).
Try running rt2 with the input file "needle.rt" and then look also at
"needle_var1.rt" and "needle_var2.rt". For these files, rt2 will give predictions
as a function of (i) soil moisture content, and (ii) needle moisture content.
Make sure you understand the formats of the input and output files, and
the ways in which the two files "needle_var1.rt" and "needle_var2.rt" are
different from the original "needle.rt" file.
2.3 Contributions to the Total Backscattering Coefficient
When you run rt2, the output data are written into the file "name.out".
A binary file called "name.mul" is also created which contains the contributions
to the total scattering arising from ground scattering, vegetation scattering,
and interactions between vegetation and ground. In order to view the contents
of this file, you need to run a program called "rw". Again, the best way
is to first set up an alias:-
venice% alias rw /data/leiden/scat_software/rw
When you execute rw, the contributions are all written into the file
"name.out" (and if this file already exists, then it is overwritten). As
an exampe, run rt2 using "needle_var1.rt". This will give the backscattering
coefficients as a function of soil moisture (and the total backscattering
coefficients are in the file "needle_var1.out"). Now execute rw in the
following way:-
venice% rw needle_var1.mul
The output from this is in the file needle_var1.out". Look at the contents
of this file and check that you understand them.
2.4 The Other Input Files
Look at the contents of the other files (those with "forest" in the name).
These are (approximately) representative of 20 yr old Pine Trees at the
Landes forest in France (and have been taken from a European Space Agency
contract report by Le Toan et al 1992). Check the location of the incident
angle and wavenumber in the files. Make sure that you understand the location
of the definitions for each scatterer type, and for the ground. Also make
sure you understand how these files control whether the program will make
a single set of polarimetric predictions, or whether it will give predictions
as a function of one (or more!) of the independent parameters. (Notice
that in "forest_var2.rt" the predictions will be made as a function of
four variables. These are actually the gravimetric moisture contents of
the four scatterer types - trunks in the lower layer, trunks in the upper
layer, branches in the upper layer and leaves in the upper layer. The moisture
contents have been set so that they vary over the range 0.4 to 0.9, but
always remain equal.)
3. Simulations
Copy the shell /home/plewis/public_html/rt2/processMe
and the awk program /home/plewis/public_html/rt2/SUGBEET.awk.
Running the shell processMe allows you to loop over:
-
soil volumetric moisture content
-
wavenumber
-
leaf gravimetric moisture content
-
canopy height (metres)
-
number density (number of leaves per unit volume)
-
radius 1; radius 2 of an elliptical disc
within rt2, and produce comprehensible files of backscatter (dB).
The leaf angle distribution is assume spherical in the shell for a single
layer canopy. Note that soil texture (sand,clay) and roughness properties
(length scale ls and height RMS sigmah) are set in the program SUGARBEET.awk.
The disc thickness is set to 3.000e-4 m.
Modify this shell to create a set of experiments,
e.g., examining wavelength dependence of scattering for a given set of
variables. Examine also, e.g. leaf moisture effects, say for a high and
a low number density.
Try to relate the results to the theoretical
understanding developed through the lecture material and any reading around
the subject. The sort of questions you may wish to investigate
could include:-
-
What is the variation in backscattering coefficient
for a collection of small, thin needles as a function of incident angle
?
-
What is the effect on the contribution from soil
scattering, when changing the depth of the needle layer ?
-
What are the effects of changing number density,
gravimetric moisture content, length and radius ?
-
How are the above modified in different wavebands
(e.g. P-, L- C-bands) ?
-
Are there any polarisation effects ?
-
How do the scattering properties change if you
introduce vertical cylinders into the needle layer (eg tree trunks) ?
-
What are the dominant contributions to the backscattering
coefficient of a forest stand at different wavelengths (and for different
polarisations) ?
Finally, the most important aspects we wish
to address with the theoretical model:-
-
How might this type of theoretical model be used
to model the backscatter vs biomass relationships?
-
How could you use the model to help in defining
a forest biomass retrieval algorithm ?
In order to answer these questions, it may help to
think about how you would calculate the "total biomass density" of a stand
(in tons/ha or kg/m2) from input data such as above.
4. Notes
Any write-up should focus mostly on Parts 2 and 3 but a better paper would
also contain some of the material from Part 1 (properties of the data).