United States

Department of

Agriculture

Forest Service

Southern

Research Station

General Technical

Report SRS–67

A Simulation Algorithm to

Approximate the Area of

Mapped Forest Inventory Plots

William A. Bechtold, Naser E. Heravi,

and Matthew E. Kinkenon
The Authors

July 2003

Southern Research Station

P.O. Box 2680

Asheville, NC 28802

William A. Bechtold, Research Forester, USDA Forest Service, Southern Research

Station, Asheville, NC 28802; Naser E. Heravi, Professor, Community College of

Southern Nevada, Henderson, NV 89015; and Matthew E. Kinkenon, Database

System Consultant, University of Nevada Las Vegas, Harry Reid Center, Las Vegas,

NV 89154-4009.
1

A Simulation Algorithm to Approximate

the Area of Mapped Forest Inventory Plots

William A. Bechtold, Naser E. Heravi, and Matthew E. Kinkenon

Abstract

Calculating the area of polygons associated with mapped forest inventory

plots can be mathematically cumbersome, especially when computing

change between inventories. We developed a simulation technique that

utilizes a computer-generated dot grid and geometry to estimate the area of

mapped polygons within any size circle. The technique also yields a matrix

of change in mapped-plot area between two points in time.

Keywords: Area transition matrix, condition class, forest inventory,

mapped plots, plot area calculation.

Introduction

The U.S. Department of Agriculture, Forest Service, Forest

Inventory and Analysis (FIA) Program utilizes a mapped,

fixed-plot design as part of their national core sampling

protocols (Hahn and others 1995). Each ground plot

contains a cluster of four points spaced 120 feet apart. Each

point is surrounded by a 24-foot fixed-radius subplot where

trees 5.0-inches diameter at breast height (d.b.h.) and larger

are measured. Data are also gathered about the area, or

setting in which the trees are located. To enhance analysis, it

is important that the tree data recorded on these plots are

properly associated with the area classifications. To

accomplish this, plots are mapped by “condition class” (U.S.

Forest Service 2000).1

 Field crews assign an arbitrary

number, usually 1, to the first condition class encountered

on a plot. This number is then characterized by a series of

predetermined variables attached to it (e.g., forest type,

stand size, and stand age). Additional condition classes are

identified if there is a distinct change in any of the

condition-class variables on the plot.

Sometimes a plot straddles two or more distinct conditions.

Boundaries usually occur between the subplots, but

occasionally bisect the subplots, in which case they are

mapped. When mapping a subplot, field crews first specify

and define (if not previously defined) the condition class at

subplot center. If a subplot straddles two or more conditions,

they specify the condition class that contrasts with the

condition at subplot center. Standing at subplot center and

facing the contrasting condition, they then record the two

azimuths where the boundary crosses the subplot perimeter.

A third azimuth, with a distance, is permissible if the

boundary contains a sharp curve or a corner. All trees tallied

are then assigned to the condition class in which they occur.

Figure 1 shows the data elements recorded for each subplot

boundary: center condition number, contrasting condition

number, left azimuth, right azimuth, and corner azimuth and

distance. By convention, left and right azimuths are always

assigned from the crew’s perspective at subplot center (i.e.,

left to right is always clockwise on the subplot perimeter),

the maximum angle between left and right is 180o

 (unless a

corner point has been identified), and boundary lines are not

permitted to cross. Corner azimuths and distances are

optional.

Given the available boundary data, the area in each resulting

polygon can be computed mathematically (Scott and

Bechtold 1995). However, when subplot maps from two

different points in time are overlaid for the purpose of

computing change in area among forest conditions (i.e.,

transition matrices), the mathematics can become unwieldy.

This paper describes a simulation technique that

approximates the area of all polygons mapped within any

size circle, as well as the transition matrix between two

points in time.

1 U.S. Department of Agriculture, Forest Service. 2000. Forest inventory

and analysis national core field guide, volume 1: field data collection

procedures for phase 2 plots, vers. 1.4. Washington Office. Internal

report. On file with: U.S. Department of Agriculture, Forest Service,

Forest Inventory and Analysis, 201 14th St., Washington, D.C. 20250.

htttp://fia.fs.fed.us/library.htm#manuals. [Date accessed: April 22, 2003].

Figure 1—Using azimuths to reference a boundary between condition 1

and condition 2 to subplot center.
2

Methods

A. A uniform dot grid of a specified number of points (e.g.,

100,000) is superimposed on a unit circle. The density of

grid points depends on the precision and computer speed

required by the user.

B. All boundary data recorded in the field are converted to

Polar and Cartesian coordinates on a unit circle.

C. Each contrasting condition class (i.e., mapped polygon)

is associated with the boundary segments that surround it

(e.g., its arc on the perimeter plus one boundary line if it

has no corner; or its arc on the perimeter plus two

boundary lines if it has a corner).

D. Rays are projected horizontally in one direction from

each simulated grid point to the perimeter of the unit

circle. Logic is used to assign each grid point to a

condition class based on the number of times its projected ray crosses a boundary segment.

E. The number of grid points associated with each condition is then tallied, yielding percentages by condition

class after all grid points are counted.

Generating the Dot Grid

The dot grid is generated by first calculating the distance

( ) D between grid points on a unit-circle with a radius of 1:

(1)

where

n = the number of grid points to be generated.

Grid points ( ) Gp can then be created two to four at a time

using symmetry in a loop as in the fragment of code shown

below:

G1 = ( ) 0 0, ; * assign grid-point 1 to origin;

p = 2; * initialize grid-point counter;

x = 0; y = 0; * initialize x and y coordinates;

Loop from 1 to n;

xxD = + ;

if x y 2 2 + > 1 then do; * check for edge of circle,

restart grid on y-axis;

yyD = + ; x = 0;

end;

if y > 1 then end loop; * check for end of loop at

top of y-axis;

if y = 0 then do; * generate grid points 2 at a time

on x-axis;

G xy p p p = ( ) ,; ; = +1

G xy p p p = -( ) ,; ; = +1

end;

if x = 0 then do; * generate grid points 2 at a time

on y-axis;

G xy p p p = ( ) ,; ; = +1

G x yp p p = - ( ) ,; ; = +1

end;

if ( x 0 π ) and ( y 0 π ) then do; * generate grid points

4 at a time off axes;

G xy p p p = ( ) ,; ; = +1

G x yp p p = - ( ) ,; ; = +1

G xy p p p = -( ) ,; ; = +1

G x yp p p =- - ( ) ,; ; = +1

end;

End Loop;

p p = -1; * final grid-point count.

Note that grid points only have to be generated once. After a

suitable grid density is established, the same array of grid

points can be stored and used for boundary checks on any

subplot.

Boundary Coordinates

The azimuths used to map FIA plots do not conform to

conventional geometry. FIA boundaries are referenced to

azimuth readings where 0o is due north, with angles of

increasing degrees proceeding in a clockwise direction. In

the geometric polar system the 0o mark is at due east, with

angles of increasing degrees proceeding in a counterclockwise direction (fig. 2).

In order to apply conventional geometry techniques to FIA

boundaries, FIA azimuths are converted to the geometric

polar system. The following equation can be used to

accomplish the conversion:

 

 (2)

D

n = p

q q = -+- 360 90 F Q
3

The Cartesian coordinates of boundary points associated

with a corner point are

x C= ¢( ) cosq , and

y C= ¢( ) sinq ,

where

C CR ¢ = / .

All discussion hereafter is based on polar and Cartesian

coordinates in terms of a unit circle.

Establishing Boundary Segments

Each contrasting condition class is associated with the two

or three boundary segments that border it: its arc on the

perimeter plus one boundary line (if no corner present), or

its arc on the perimeter plus two boundary lines (if corner

present).

The boundary arc—The range of the boundary arc on the

subplot perimeter of a unit circle includes all coordinate

points between ( ) q L and ( ) q R . For contrasting condition 2

in figure 3, the boundary arc includes all points on the arc

q q L R 2 2 .

Boundary line without corner—The range of a boundary

line with no corner point includes all points that lie along

the line segment with endpoints( ) q L and ( ) q R . For

contrasting condition 2 in figure 3, the boundary line

includes all points on the line segment q q L R 2 2 .

Boundary line with corner—A boundary with a corner

point implies two boundary lines. The range of each is

computed in the same manner as the single boundary (with

no corner) as described above, except that both are truncated

at the point of intersection (i.e., the corner):

Figure 2—FIA azimuth readings and the geometric polar system.

where

q =the polar angle,

q F = the FIA azimuth, and

Q = 360 if q F £ 90; 0 otherwise.

The points at which the left and right boundary azimuths

cross the arc of the subplot are thus defined as the polar

coordinates R L ( ) ,q and R R ( ) , , q and the location of the

boundary corner point, if any, is defined as C C ( ) , . q

where

q L = the polar left angle,

q R = the polar right angle,

qC = the polar corner angle,

R = the subplot radius, and

C = the corner distance.

Cartesian ( ) x y, coordinates are easily obtained from the

polar coordinates

x R = ( ) cos , q and

y R = ( ) sin . q

Note that most computer trigonometric functions require the

argument to be specified in radians, so q may need to be

converted to radians before applying sin and cos computer

functions (i.e., multiply by

When placed on a unit-circle basis, the Cartesian

coordinates of FIA boundary points on the perimeter of the

circle are

x = 1 ( ) cosq , and

y = 1 ( ) sin . q

p / ). 180
4

Segment 1 has end points ( ) q L and C C ( ) ¢, . q

Segment 2 has end points ( ) q R and C C ( ) ¢, . q

For contrasting condition 2 in figure 4, segment 1 includes

all points on line segment q q L C 2 22 ( ) C¢ , , and segment 2

includes all points on line segment q q R C 2 22 ( ) C¢ , .

Projecting Rays

After the range of each boundary segment associated with a

contrasting condition class has been established, rays are

projected horizontally in one direction (to the right) from

each superimposed grid point to the circle perimeter. The

following logic is then applied:

• If the ray projected from a grid point crosses the boundary

segments (line or arc) of a contrasting condition class an

odd number of times, then that point must be located

within the contrasting condition.

• If the ray crosses the boundary segments an even number

of times (or not at all), then that point cannot be located

within that contrasting condition class.

• If the point is not located within any contrasting condition

class, it is associated with the center condition class.

Figure 3 shows a center condition class bounded on either

side by two contrasting condition classes. This situation is

common when a road crosses a subplot. The boundary

segments associated with contrasting condition 2 are line

segment q q L R 2 2 and arcq q L R 2 2 . The boundary segments

associated with contrasting condition 3 are line segment

q q L R 3 3 and arc q q L R 3 3 . The horizontal ray projected from

grid-point G1 crosses boundary segments of condition 3

once (line segment q q L R 3 3), so grid-point G1 is assigned to

condition 3. The horizontal ray projected from grid-point G2

Figure 3—Projecting grid-point rays across a center condition

bordered by two contrasting conditions.

Figure 4—Projecting grid-point rays across a contrasting condition

with a corner point.

crosses boundary segments of condition 2 twice (line

segment q q L R 2 2 and arc q q L R 2 2), so grid-point G2 is not

assigned to condition 2 (or any other contrasting condition).

Grid-point G2 is thus assigned to the center condition class

(condition 1) by default. Grid-point G4 is also assigned to

the center condition class because its projected ray crosses

no contrasting-condition boundary segments. The horizontal

ray projected from grid-point G3 crosses boundary segments

of condition 2 once (arc q q L R 2 2), so grid-point G3 is

assigned to condition 2.

The boundary segments associated with contrasting

condition 2 in figure 4 are line segment q q L C 2 22 ( ) C¢ , , line

segment q q R C 2 22 ( ) C¢ , , and arc q q L R 2 2 . The horizontal ray

projected from grid-point G1 crosses boundary segments of

condition 2 once (line segment so grid-point

G1 is assigned to condition 2. The horizontal ray projected

from grid-point G2 crosses boundary segments of condition

2 twice (line segments q q L C 2 22 ( ) C¢ , ,and so

grid-point G2 is not assigned to condition 2 or any other

contrasting condition. Grid-point G2 is therefore assigned to

center condition 1 by default. Grid-point G3 is also assigned

to the center condition because its projected ray crosses no

contrasting-condition boundary segments.

Rather than assigning grid points to the center condition by

default, the center condition could be actively defined by the

lines and arcs that encompass it. The same logic used to

assign grid points to contrasting conditions would then

apply to center conditions. This provides some measure of

safety by enabling checks for programming errors resulting

in the failure to assign a grid point to any polygon.

However, because center conditions are not actively defined

in the field, identification of the lines and arcs that contain

them is difficult, which increases the complexity of the

algorithm and adds another potential source of error.

q q R C 2 22 ( ) C¢ , ),

q q R C 2 22 ( ) C¢ , ),
5

Nested Boundary Segments

It is possible for one contrasting condition to be completely

nested within another. Figure 5 shows a case where

contrasting condition 2 (bounded by line segment q q L R 2 2

and arc q q L R 2 2) contains contrasting condition 3 (bounded

by line segment q q L C 3 33 ( ) C¢ , , line segment q q R C 3 33 ( ) C¢ , ,

and arc q q L R 3 3)). When contrasting conditions are nested,

rays projected from a grid point inside the nested condition

result in assignment of that point to both the nested

condition and the larger condition surrounding it. A check

must therefore be made to determine if contrasting

conditions are nested. If so, then any grid points located in

both are assigned only to the smaller, nested condition.

Transition Matrix

Change matrices are necessary to quantify changes in area

by condition class, and to enable the partitioning of growth,

removals and mortality by condition-class parameters at

either the initial or terminal inventory of a measurement

cycle. Visually, a condition-class transition matrix is

produced by overlaying a map of each subplot at time t with

a similar map of the same subplot at time t+1 (fig. 6).

Actually, the area associated with the intersection of all

combinations of condition classes is calculated by

simultaneously solving each simulated grid point for time t

and time t+1. For each cell of the intersection matrix, an

observation is created that includes area percent, as well as

all of the condition-class variables at both time t and time

t + 1. Note that it is not necessary for field crews to retain

specific condition-class numbers over time. Numbers

assigned to conditions remain arbitrary and are defined by

the series of condition-class variables attached to them.

Algorithm Details

The algorithm used to perform the required logic checks at a

given point in time consists of three main parts:

A. Determine if a ray projected from a grid point intersects

a boundary arc.

B. Determine if a ray projected from a grid point intersects

a boundary line segment.

C. Determine if a contrasting condition class is nested

within another contrasting condition class.

There are a variety of ways these checks can be

accomplished with polar coordinates and/or Cartesian

coordinates. One method for each check is explained below.

Figure 6—Example of condition classes at time t, time t + 1, and associated transition matrix.

Figure 5—Example of a nested contrasting condition class (condition

3 within condition 2).
6

Keep in mind that the left and right boundary points on the

circle perimeter are always recorded from left to right in a

clockwise direction, the maximum arc between two

boundary points on the circle perimeter is 180o (unless

associated with a corner point) and boundary line segments

are not permitted to cross.

Determine if a projected ray intersects a boundary arc—

Given:

q L = the left polar angle of the contrasting condition class.

q R = the right polar angle of the contrasting condition class.

qC = the corner polar angle of the contrasting condition

class, if any.

X YL L ( ) , = the Cartesian coordinates of the left boundary

point on a unit circle.

X Y R R ( ) , = the Cartesian coordinates of the right boundary

point on a unit circle.

X Y C C ( ) , = the Cartesian coordinates of the corner boundary

point on a unit circle.

X Y G G ( ) , = the Cartesian coordinates of the grid point to be

checked.

Problem:

Determine if a ray (with 0 slope) projected to the right of

grid point X Y G G ( ) , intersects the arc on a unit circle between

boundary points X YL L ( ) , and X Y R R ( ) , .

Solution:

A. Determine if the arc q qL R £ 180o.

Field protocols require that the arc between

q L and q R must be £ 180o

 unless a corner point is

involved. Additional checks are necessary if the arc

exceeds 180o

. Arc q qL R can be checked as follows:

1. arc qq q q LR L R = - .

2. if arc q qL R < 0 then arc q qL R = arc q qL R +360 (to

correct for quadrant).

3. if arc q qL R >180, go to step C.

B. Check for grid-point ray and arc intersection if arc

q qL R £180.

If XL < 0 and XR < 0 the arc originates and terminates on

the left side of the circle, and the projected ray cannot cross

the arc. However, if XL ≥ 0 or XR ≥ 0, the following

additional checks must be made.

A ray with 0 slope projected to the right of grid point (XG,

YG) intersects the circle at the point on the y axis where y =

YG. To determine if YG is contained within the boundary arc,

Ymax and Ymin must be identified,

where

Ymax = the maximum y-value of the boundary arc on the

right half of the circle.

Ymin = the minimum y-value of the boundary arc on the right

half of the circle.

The following logic is used to establish Ymax and Ymin and

check for intersection:

1. if XL £ 0 and XR ≥ 0 (i.e., boundary arc originates

on the left side and terminates on the right side of the

circle) then

Ymax = 1 (i.e., the arc includes the top of the circle);

and

Ymin = YR.

2. if XL ≥ 0 (i.e., boundary arc originates on right side

of circle) then Ymax = YL; and

a. if XR £ 0 then Ymin = -1 (i.e., the arc includes the

bottom of the circle); or

b. if XR ≥ 0 then Ymin = YR.

3. After Ymax and Ymin are established, the following

logic completes the check: if Ymin < YG < Ymax then

the grid-point ray intersects a boundary arc on the

right half of the circle; otherwise it does not.

C. Check for grid-point ray and arc intersection if arc

q qL R >180.

If a boundary arc exceeds 180o (due to a corner point), it is

possible for a contrasting condition to have two separate

arcs on the right side of the circle. For example, arc q q L R 2 2

in figure 7 is greater than 180o, resulting in arcs q R 2 90

andq L 2270 on the right side.

1. If XL ≥ 0 and XR ≥ 0 (i.e., boundary arc originates

and terminates on the right side of the circle), then

there are two arcs associated with the condition. Both

arcs must then be checked as described in step B3

above, after establishing their maximum and

minimum y values:

Ymax1 = YL ;
7

Ymin1 = -1 (i.e., the arc includes the bottom of the

circle);

Ymax2 = 1 (i.e., the arc includes the top of the circle);

and

Ymin2 = YR .

2. If XL ≥ 0 and XR £ 0 (i.e. boundary arc originates

on the right side of the circle and terminates on the

left), only one arc needs to be checked, where

Ymax = YL ; and

Ymin = -1 (i.e., the arc includes the bottom of the

circle).

3. If XL £ 0 and (i.e., boundary arc originates

on the left side of the circle and terminates on the

right), only one arc needs to be checked, where

Ymax = 1 (i.e., the arc includes the top of the circle);

and

Ymin = YR .

 4. If XL £ 0 and (i.e., the arc originates and

terminates on the left side of the circle), the

boundary arc encompasses the entire right side of

the circle, so

Ymax = 1; and

Ymin = -1.

 5. The same logic specified in step B3 above is used to

check for ray and arc intersection. If a boundary

results in two arcs, both must be checked.

Determine if a projected ray intersects a boundary line

segment—

Given:

X YL L ( ) , = the Cartesian coordinates of the left boundary

point on a unit circle.

X Y R R ( ) , = the Cartesian coordinates of the right boundary

point on a unit circle.

X Y C C ( ) , = the Cartesian coordinates of the corner point, if

any, on a unit circle.

X Y G G ( ) , = the Cartesian coordinates of the grid point to be

checked.

Problem:

Determine if a horizontal ray projected to the right of grid

point X Y G G ( ) , intersects the boundary line segment between

boundary X YL L ( ) , and X Y R R ( ) , .

Note: if the boundary line is a segment involving a corner

point, then X Y C C ( ) , would be substituted for X YL L ( ) , and

X Y R R ( ) , as appropriate.

Solution:

The equation of a line with slope m and intercept k is

y mx k = + . In terms of Cartesian coordinates, the slope of

a boundary line segment is

 (3)

Once m is obtained, the intercept can be found by solving

k for either pair of ( ) x y, coordinates

 (4)

The x-coordinate of the intersection of any two lines ( ) Xi is

defined by the equation

 (5)

where

k1

 = the intercept of line 1,

m1 = the slope of line 1,

k2 = the intercept of line 2, and

m2 = the slope of line 2.

Figure 7—Example of a contrasting condition class where arc

q q L R 2 2 > 180o

, resulting in two arcs on the right side.

m

Y Y

X X

L R

L R

= -

-

k Y mX = -L L

Xi = -

-

k k

m m

2 1

1 2

XR £ 0

XR £ 0
8

The y-coordinate of the point of intersection of two lines

( ) Yi is defined by the equation

 (6)

The problem can then be solved as follows:

A. Establish the maximum and minimum y-coordinates for

the boundary line segment:

Ymax = maximum Y YL R ( ) ,

Ymin = minimum Y YL R ( ) , .

B. Determine the x-coordinate for the point of intersection

( ) Xi between the boundary line and the horizontal line

generated from the grid point X Y G G ( ) , . Xi is obtained

by substituting the following values into equation (5):

k1 = 

the intercept of the boundary line,

m1 = the slope of the boundary line,

k Y 2 = G (the intercept of the horizontal line through the

grid point), and

m2 = 0 (the slope of the horizontal line through the grid

point).

C. Apply the following logic to determine if XG is to the

left of the boundary line, and within the range of the yvalues of the boundary line segment:

if X X G i £ and Ymin < YG < Ymax, then the ray

extending to the right of X Y G G ( ) , and the boundary line

segment intersect. Otherwise, they do not.

Note that equations (5) and (6) can also be used to ensure

that two boundary line segments do not intersect within the

unit circle:

if - < 1 1 < Xi and -< < 1 1 Yi , then the boundary line

segments intersect inside the circle and there is an error in

the field data.

Determine if contrasting condition classes are nested—

Nesting can be identified by checking the arcs of contrasting

conditions on the circle perimeter.

Given:

q L = the left polar angle of the contrasting condition class

with the longer arc on a unit circle.

q R = the right polar angle of the contrasting condition class

with the longer arc on a unit circle.

q¢

L= the left polar angle of the contrasting condition class

with the shorter arc on a unit circle.

q¢

R = the right polar angle of the contrasting condition class

with the shorter arc on a unit circle.

Problem:

Determine if the arc q qL R contains the arc q q¢ ¢ L R.

Solution:

A. if q q L R < 

then q q L L = + 360 (to correct for

quadrant).

B. if q q ¢<¢ L R then q q ¢ ¢ L = L + 360 (to correct for

quadrant).

C. if qq q q L L ≥ ¢ ¢ > R R ≥ then the arc q qL R contains the

arc q q¢ ¢ L R,and the conditions are nested. Otherwise,

they are not.

Additional considerations—It is possible that a boundary

line segment recorded in the field produces a vertical line

with an undefined slope (i.e., X X L R = ). This problem can

be circumvented by adding 5o to all azimuths recorded for

all boundary segments, which has the effect of slightly

rotating the subplot without changing the relative area

assigned to each condition class. For any given subplot, axes

must be rotated similarly at both time t and time t+1 when

computing change matrices.

Conclusions

A variety of mathematical and simulation techniques can be

used to compute the area of mapped-plot polygons. The

advantage of the simulation approach outlined here is that it

can be applied to any polygon defined by a series of lines

and arcs, without regard to polygon shape. This feature is

especially useful when computing change, since an infinite

number of shapes are possible when a subplot mapped at

time t is overlaid with its counterpart at time t+1.

Literature Citations

Hahn, J.T.; MacLean, C.D.; Arner, S.L.; Bechtold, W.A. 1995. Procedures

to handle inventory cluster plots that straddle two or more conditions.

Forest Science Monograph. 31: 12–25.

Scott, C.T.; Bechtold, W.A. 1995. Techniques and computations for

mapping plot clusters that straddle stand boundaries. Forest Science

Monograph. 31: 46–61.

Yi

mk m k

m m = -

-

12 21

1 2
Bechtold, William A.; Heravi, Naser E.; Kinkenon, Matthew E. 2003. A

simulation algorithm to approximate the area of mapped forest inventory

plots. Gen. Tech. Rep. SRS–67. Asheville, NC: U.S. Department of

Agriculture, Forest Service, Southern Research Station. 8 p.

Calculating the area of polygons associated with mapped forest inventory plots

can be mathematically cumbersome, especially when computing change

between inventories. We developed a simulation technique that utilizes a

computer-generated dot grid and geometry to estimate the area of mapped

polygons within any size circle. The technique also yields a matrix of change in

mapped-plot area between two points in time.

Keywords: Area transition matrix, condition class, forest inventory, mapped

plots, plot area calculation.
The Forest Service, United States Department of

Agriculture (USDA), is dedicated to the principle of

multiple use management of the Nation’s forest resources

for sustained yields of wood, water, forage, wildlife, and recreation.

Through forestry research, cooperation with the States and private

forest owners, and management of the National Forests and

National Grasslands, it strives—as directed by Congress—to

provide increasingly greater service to a growing Nation.

The USDA prohibits discrimination in all its programs and activities

on the basis of race, color, national origin, sex, religion, age,

disability, political beliefs, sexual orientation, or marital or family

status. (Not all prohibited bases apply to all programs.) Persons

with disabilities who require alternative means for communication

of program information (Braille, large print, audiotape, etc.) should

contact USDA's TARGET Center at (202) 720-2600 (voice and

TDD).

To file a complaint of discrimination, write USDA, Director, Office

of Civil Rights, Room 326-W, Whitten Building, 1400

Independence Avenue, SW, Washington, D.C. 20250-9410 or call

(202) 720-5964 (voice and TDD). USDA is an equal opportunity

provider and employer.