Interpolation Methodology
Spatial interpolation was conducted using an operator called the Contourer (Gridder?). It uses a table of latitude, longitude, and concentration values to create a concentration grid for a specified region. The Contourer allows the user to set the radius of influence, the minimum number of stations to be used in the interpolation, the maximum number of sites for use in the interpolation, and the type of distance weighing. The radius of influence used was 0.1 radians (~500 km). It was chosen so large so that it did not play a factor in the interpolation. The minimum number of sites was set constant at one. The weighing type and maximum number of sites were chosen as variables in the testing. The weighing types used were 1/r (inverse distance), 1/r2 (inverse square distance), 1/r3, and 1/r4. The dependence on the maximum number of sites and not the radius setting meant that the actual radius of influence varied; locations with a high station density had a small radius while areas with a low station density had a large radius.
The Contourer allows the user to select whether the output be a full X by Y grid of contoured values or a table of contoured values for specific locations. In this analysis the output was both the grid and table formats. The pseudocode below describes the details of the contouring algorithm.
Contour
Functionality: transform data from table format into grid format
Input: Table - a set of data points
WeightFunc - distance weight function
Radius - distance constraint
MinPoints - minimum required number of data points within Radius
MaxPoints - maximum number of data points used in calculation of a grid cell
Output: Grid - uniformly distributed set of data points
function Contour(out Grid, in Table, in WeightFunc, in Radius, in MinPoints, in MaxPoints)
{
for each Cell in Grid
CalcCell
}
CalcCell
Functionality: calculate value of a grid cell given a table of data points around it
function CalcCell(in out Cell, in Table, in WeightFunc, in Radius, in MinPoints, in MaxPoints)
{
PointList = an empty list of table points
for each point in Table that is not null
if the distance between the point and the cell is less than Radius then
add point to the PointList, sorted by distance
Cell value = Interpolate PointList
}
Interpolate
Functionality: interpolate over a sorted list of data points
function Interpolate(in PointList, in WeightFunc, in MinPoints, in MaxPoints)
{
if number of points in PointList < MinPoints return null value
TotalWeight = 0
Sum = 0
WeightExp = 0 if WeightFunc = 1
1 if WeightFunc = 1/r
2 if WeightFunc = 1/r2, etc
for first MaxPoints in PointList
Dist = point distance from cell
Weight = 1 / (Dist^WeightExp)
TotalWeight = TotalWeight + Weight
Sum = Sum + Weight * point value
if TotalWeight = 0 return null value
Sum = Sum / TotalWeight
return Sum
}
Back to Contents
Testing Methodology
The AIRS network provided an adequate station density for most parts of the United States for an interpolation process performance testing based on the monitored data. By removing approximately ten percent of the sites from the data set, the interpolation can be conducted and interpolated values checked at those ten percent locations to see how well the interpolation matches monitored values. Figure 1 illustrates the entire interpolation scheme. Both maps and tables are produced. The maps are used to spatially illustrate the interpolation results while the tables provide the statistics of the interpolation performance. The original PM10 data the region in question is submitted to the 10/90 operator which randomly selects 10% of the data and places it in a separate table from the remaining 90%. In the case of map production, the 90% table is sent to the Gridder to produce a gird based on the 90% data. The grid is subsequently passed to an operator called Map Edit which displays the grid with the Southern California map overlaid. For statistical purposes, these 10% and 90% tables are passed to the Contourer (a.k.a. Gridder) where contouring is conducted at the 10% table locations based on the 90% data. The resulting table containing the contoured concentrations is then placed in excel where a scattergram is created along with the respective correlation statistics.

