GARP improvements and further implemenation
The GARP pipeline needs to be extended to include the entire workflow from start
to finish. This has been prototyped but not implemented. also need to modify
the garp actors so that the inputs and outputs are more intuitive and use
streams instead of filenames.
expose garp params
(look at desktop garp)
--develop xml schema for the internal garp data rep. (cellset and ruleset xml files)
--get dave's and ricardo's garp code integrated with the kepler garp code (use a
--standardize IO file format
#3 Updated by Chad Berkley about 15 years ago
This is a list of the actors that need to be implemented to complete the
preprocessing of the GARP pipeline. These are actors that would be needed to
take a raw DiGIR query and get it into the form needed to submit to the current
--DiGIRQuery: actor to query DiGIR for a set of species. This should probably
be done via the ecogrid.
--EnvLayerMetadatExtractor: extracts the metadata from the env layers needed to
get user input. the user's input includes: scaleValue, minSampleSizeThreshold,
SubSampleMethod (choose from medians, quartiles, infinite or manual),
numberOfReplicates (how many times to run the garp algorithm).
--RescaleValues: This actor rescales the presence data values from their current
form to a value between 1 and 254. 0 and 255 are reserved and not used. this
could probably be implemented in java, though i'm not sure of the heterogeneity
of the input files....it might be better to use a gis system if there are a
variety of input formats.
--Clipping: For each species, this actor creates a minimum convex polygon of the
species plots (lats/longs). It then buffers the polygon to n times the area of
the polygon. the environmental layers are then clipped to the size of the new
polygon. This should probably be implemented in a GIS system.
--Sampling: take in a list of species and occurance data. randomly sample the
data into two sets: intrinsic data and extrinsic data. the intrinsic data is
used in the actual garp pipeline, the extrinsic data is used to test the garp
output for ommission and commission error.
--Rescale (general binning utility): Take in a spatial file and rescale to a
specific scale. this probably needs to be implemented in a gis...possibly could
write java to do it.
--SpeciesOccuranceCount: take in a list of species with occurance data that is
adjusted to the same scale. output a vector of species and counts.
--SpeciesSelection: rescale a list of species coverages to a single scale.
select the species that have an occurance count greater than a user defined
threshold. this should output a list of rescaled species (with occurance data)
that have an occurance rate greater than the threshold. This can probably be
implemented in a composite actor using existing (or soon to exist) actors.
#4 Updated by Chad Berkley about 15 years ago
I have decided to implement the GRASS functionality needed by garp in web
services because of the difficulty in getting grass to work on multiple
platforms. I have created web services for the following grass functions:
s.in.ascii, s.info, r.in.arc, r.info, s.hull, v.info, v.support, v.to.rast,
r.mapcal, r.out.arc. I have produced a shell script which makes use of these
services to correctly clip a convex hull as described by Town at the SEV
meeting. I now need to implement this as a workflow in kepler, but I am waiting
for the web service actor to be extended to allow for the returning of objects.
The web services are currently running on trestles and the wsdl is available at
http://trestles.nceas.ucsb.edu:8004/seek/grass.wsdl. I am running the services
on the GLUE server, but could switch over to AXIS if needed.
#5 Updated by Chad Berkley about 15 years ago
Here is a list of the web service method names and the grass executable that
WS method GRASS exe