s.semivar - Semivariogram modeling for GRASS

Darrell McCauley mccauley at ecn.purdue.edu
Sat Jul 31 15:51:11 EDT 1993


s.semivar is a GRASS sites program for exploratory analysis
and semivariogram modeling of one variable in R^2. I am
still soliciting for beta testers. If you are interested,
drop me a note (so I can keep you informed of changes)
and grab the source code from the location given below
my signature.

--Darrell

James Darrell McCauley            Dept of Ag Engineering, Purdue Univ
internet: mccauley at ecn.purdue.edu West Lafayette, Indiana 47907-1146, USA
bitnet: mccauley%ecn at purccvm      UUCP: pur-ee!mccauley

[Disclaimer - a few of the features below are not fully
implemented though work has been started. Information
written below is just to give you a feel for what s.semivar
is about.]

s.semivar is a GRASS sites program for exploratory analysis
and semivariogram modeling of one variable in R^2. It also
doubles as the only freely available* C source library for
this purpose that I know in "netland."

It has curses-based menus and uses the GRASS graphics
monitor for grapical output. Hardcopy output of any
graph is also possible.

It was designed for scattered data (gridded data works,
too) and can compute semivariance both omnidirectionally
(with tolerances on lag distance) and directionally (with
tolerances on both lag distance and azimuth angle).  It
contains code for the following Variogram Estimators:

 Classical
 Cressie's Mean Fourth Root
 Cressie's Median Fourth Root
 Madogram (mean absolute difference)
 Rodogram (root of difference)

as well as a weighted least squares routine for fitting
any of the following models

  1   Linear
  2   Spherical                                             
  3   Exponential                                          
  4   Gaussian                                            
  5   Quadratic                                          
  6   Hole Effect
  7   Power

for a given range (or exponent, in the case of the power model).
[s.semivar does not yet do nested models - sorry]

The logic behind s.semivar lies in the author's "list"
concept.  The first list is the "SITES LIST," that is, the
list of (x, y, Z(x,y)) data.  Since often in semivariogram
modeling it is useful to examine individual pairs of
samples (head/tail combinations in the lingo of
Deutsch/Journel), a "RAW LIST" is defined as ||h||,
azimuth, and [Z(x1,y1) - Z(x2,y2)]^2.  This is convenient
(since so many semivariogram estimators use this last term)
in defining the "WORKING LIST", which consists of ||h|| and
semivariance.

User's may view, edit, and/or save any of these lists. 
Additionally, for working lists, users may:
  o   Trim semivariance values > threshold,
  o   Trim top __% semivariance values within each lag, and
  o   Plot
      - sample semivariogram (and model, if fitted) or
      - histogram showing number of pairs for each lag;
for raw lists, users may:                                                  
  o   Trim squared difference values > threshold and
  o   Plot
      - h-Scatterplot [ Z(t+h) vs. Z(h) ] or
      - Rose diagram showing anisotropy;
for sites lists, users may:
  o   Compute univariate stats,
  o   Remove sample points > or < threshold,
  o   Perform a median polish,
  o   Natural logarithm transform,
  o   Create indicator variables, and
  o   Plot
      - Location of sample points,
      - Indicator map of sample points, or
      - Histogram of sample points.

All plots are done in the GRASS graphics monitor. After each
plot is made, the option of saving the instruction file and 
data file are given.  The plotting engine is GNUPLOT, which 
implies that plots may be transformed to PostScript, LaTeX,
or whatever your heart desires.

It is available via anonymous ftp from
pasture.ecn.purdue.edu [128.46.175.85, 128.46.133.85,
128.46.161.85] in pub/mccauley/grass/semivar.tar.Z.  A
users'/programmers' manual is also included.  All flames,
suggestions, and bug reports/fixes should be sent to
mccauley at ecn.purdue.edu.

--

* though code is freely available, it may not be sold 
  or distributed with commercial software without prior
  consent of the author.



More information about the grass-user mailing list