©The Rothwell Group, L. P.  2016.  All rights reserved.

PaleoRun™ for PaleoGIS

The Rothwell Group, L. P.

PaleoRun User’s Manual

Version 4.3

Table of Contents

Introduction

Installation and Activation

PaleoRun

Other Dependencies

Getting Started with PaleoRun

Basic Syntax

Options and Arguments

Logging

PaleoRun XML Schema

PaleoGIS Jobs in PaleoRun

Optional PaleoGIS Job Parameters

Reconstruction Jobs

Single Age Reconstructions

Multiple Age Reconstructions

Layers to be Reconstructed

Master Output

Other Reconstruction Output Information

Reconstruction Symbology

Azimuth and Rate vs. Time and Point Path Visualization Jobs

Instantaneous Motion

Misc. Jobs in PaleoRun

Add Layer to MXD and Symbolize

Modify Metadata

Product Support

Introduction

PaleoRun is a command line executable that provides users with a means of running one or more PaleoGIS jobs and some additional utility functions in series from the command line.  With PaleoRun, users can:

A single batch script can include one or more of any of the above job types. For example, a user could create a batch script that includes three reconstructions and and several instantaneous motion jobs.  PaleoRun will prove particularly useful when users need to execute a large number of jobs, say dozens of reconstructions when new plate model data is received, or when they need to run one or more long-running jobs. Because it is a command line executable, PaleoRun can be scheduled through the Windows Task Scheduler to kick off jobs.

Please note that this application has no GUI; all of its functionality is executed at the DOS command line.

Some of the advantages of using PaleoRun include the ability to:


Installation and Activation

PaleoRun

  1. Download and run the PaleoRun.exe installer.  PaleoRun installs by default at %PROGRAM FILES (x86)%\Rothwell\PaleoRun.
  2. You will be provided with a PaleoRun license file (.licx) after purchasing.  Place this license file in the PaleoRun installation directory to activate PaleoRun.
  3. Open a command prompt and follow the instructions below in Getting Started with PaleoRun.

Other Dependencies

To execute jobs with PaleoRun 4.3, PaleoGIS version 4.3.x must be installed and licensed on the computer being used.  The PaleoGIS license will be held for the duration of the batch job in order to prevent failure part way through the run due to the inability to obtain the license.

Additionally, users must have ArcMap version 10.3 or 10.3.1 installed and licensed in order to run PaleoRun 4.3.

Getting Started with PaleoRun

PaleoRun can be launched either from the command line or by double clicking on the PaleoRun.exe file. When running from the command line, the XML file can be in any location and have any name, and the path to the XML file must be specified as a command line argument.  When running by double clicking on the file, the XML file must be named PaleoRun.xml and it must be in the same directory as PaleoRun.exe.

Basic Syntax

paleorun <path to XML file>        Executes PaleoRun using the specified XML file

paleorun        Executes PaleoRun using PaleoRun.xml located in the same directory as the executable

Options and Arguments

When running a job or set of jobs, PaleoRun takes only one parameter: the name of the XML file that contains the job details. Additionally, PaleoRun has several options, such as --help and --version, which provide information to the user.

Note that the details for how each job is to be run are specified in the XML file, rather than at the command prompt.

Options

Arguments

Description

<path to XML file>

The path to the PaleoRun XML configuration file with the job(s) and job parameters. I.E. C:\Temp\MultiJob.xml.

--help

“Help.” Opens the PaleoRun help documentation in a web browser.

--version

“Version.” Returns the PaleoRun version number.

--proxy

“Proxy Settings.” View or update proxy settings

--write

  --ipaddress= <ip address>

  --port= <port number>

  --username= <username>

  --password= <password>

  [--disable --bypassexpect]

Writes proxy settings to a file with the provided parameters. The --disable and --bypassexpect arguments are optional. Example:

--proxy --write --ipaddress=127.0.0.1 --port=80 --username=jsmith --password=p@$$w0rd --bypassexpect

--read

Reads proxy settings from file

--clear

Clears the proxy settings file

--disable

Switches the disable setting and writes the new setting to the log file.

--bypassexpect

Switches the bypass expect 100 setting and writes the new setting to the log file.

Logging

Error, warning and information messages are written to either a log file that is specified by the user or to a default log file location.  In all job types, the log file path and name can be specified using the <LogFileLocation> parameter (e.g., <LogFileLocation>C:\Temp\BatchLog.txt</LogFileLocation>).  If this parameter is missing from the job XML or is empty, messages by default will be written to:

C:\Users\username*\AppData\Roaming\Rothwell\PaleoRun\Logs\PaleoRun.log

*username is the user’s computer user name

PaleoRun XML Schema

The PaleoRun XML format can accommodate one to n jobs within one file. Within the <Jobs> parent node, one or more <Job> nodes may be listed. Each Job has a <JobType> such as Reconstruction or Animation and a set of <JobParameters> that provide the details of how that job is to be run. It follows this basic format:

<JobXml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<Jobs>

                <Job>

                        <JobType>Reconstruction</JobType>

                        <JobParameters>

                        </JobParameters>

                <Job>

                        Another job

                </Job>

                <Job>

Another job

</Job>        

        </Jobs>

</JobXml>


PaleoGIS Jobs in PaleoRun

For PaleoGIS jobs, PaleoRun provides batch processing capabilities for a variety of scenarios, and multiple jobs of different types can be chained together within one batch XML script.

Optional PaleoGIS Job Parameters

All PaleoGIS jobs use the parameters listed below, however these parameters are optional in each job XML script and PaleoRun will use a default value for each parameter if a value isn’t specified in the XML:

          <JobParameters>

            <SettingsTableName>T_PaleoGIS_Settings</SettingsTableName> <!-- OPTIONAL -->

            <TimescaleTableName>T_PaleoGIS_Timescales</TimescaleTableName> <!-- OPTIONAL -->

            <ModelsTableName>T_PaleoGIS_Models</ModelsTableName> <!-- OPTIONAL -->

                <LogFileLocation>C:\Temp\BatchLog.txt</LogFileLocation> <!-- OPTIONAL -->        

<AppSettingsLocation>C:\Temp\PaleoGIS_Settings.mdb</AppSettingsLocation> <!-- OPTIONAL -->

                        </JobParameters>

The parameters <SettingsTableName>,<TimescaleTableName> and <ModelsTableName> have their default values set in the PaleoRun.exe.config file. Including any of these optional parameters in the job XML will override their respective default values in PaleoRun.exe.config for only that specific job. The <LogFileLocation> parameter operates as described in the Logging section.   If the <AppSettingsLocation> parameter is missing from the job XML or is empty, the settings path will default to:

C:\Users\username*\AppData\Roaming\Rothwell\PaleoGIS\Settings\PaleoGIS_Settings.MDB

*username is the user’s computer user name

which is the settings path for PaleoGIS installations.  If you want to copy the settings file to a different location for use in PaleoRun, you will need to specify that path using the <AppSettingsLocation> parameter.

For clarity, none of these optional parameters are shown in the examples in the following sections, but be aware that you can add one or more of them to the <JobParameters> section in any of the PaleoGIS job types.  Most job types will have additional optional parameters that will be explained in the pertinent sections.


Reconstruction Jobs

Single- and multiple-age reconstruction jobs are supported (see the Single Age Reconstructions and Multiple Age Reconstructions sections for more information), and both vector and raster layers can be reconstructed (as described in the Layers to be Reconstructed section).

This XML for a sample reconstruction job reconstructs three layers (two vector and one raster) to 82.2 Ma using the UTIG demo plate model with no fixed plate. This example demonstrates the use of a variety of input and output types such as file and personal geodatabases, shapefiles.  The XML comments (in red), contain additional information about the usage for each parameter.

<JobXml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

        <Jobs>

                <Job>

                        <JobType>Reconstruction</JobType>

                        <JobParameters>

                                <ReconstructionAge>82.2</ReconstructionAge>  <!-- Must be a NUMERIC age or ages (in Ma), not a geologic age -->

                                <FixedPlateId>0</FixedPlateId> <!-- Plate ID for the fixed reference frame.  Set to 0 for spin axis reference frame -->

<CachePath>C:\Temp\cache.gdb</CachePath> <!-- This is a temporary file geodatabase used by PaleoRun for the job -->

<Timescale>Berggeren, 2005</Timescale> <!-- OPTIONAL.  Only use if you are converting between timescales.  IF YOU ARE NOT

                                                                                         CONVERTING BETWEEN TIMESCALES, DELETE THIS ROW -->

<PlateModel>Demo UTIG PLATES Model</PlateModel>  <!-- Use the registered plate model name from PaleoGIS not the model .mdb file

name -->

                                <MasterOutput>C:\Temp\PaleoRunOutputs.gdb</MasterOutput> <!--OPTIONAL, but if not included each layer must specify an <Output>-->

                                <AddAgeDirectories>true</AddAgeDirectories> <!-- OPTIONAL. Will default to “false” if missing -->

<Layers> <!-- Layers to be reconstructed.  See “Layers to be Reconstructed” section below for more information. -->

                                        <Layer>  <!-- Example vector Layer -->

                                                <Name>Subduction Margins</Name> <!-- OPTIONAL. Will default to the <Input> file name if missing or empty -->

                                                <Input>C:\MyData\DataPDB.mdb\Margins</Input>

                                                <Output>C:\Temp\Outputs\margin_recon_output.gdb</Output>  <!-- Will be ignored if a <MasterOutput> is specified.-->

                                        </Layer>

                                        <Layer>  <!-- Example raster Layer -->

                                                <Name>SouthAtlanticGravity</Name> 

                                                <Input>C:\RasterData\DemoData.gdb\gravity</Input>

                                                <Output>C:\Temp\Outputs\RasterOutput</Output>

                                                <SamplePercent>50</SamplePercent> <!-- Required for rasters only.-->

                                        </Layer>

                                        <Layer>

<Input>Z:\CompanyData\OSR.shp</Input>

                                                <Output>C:\Temp\Outputs\source_rock_recon_output.mdb</Output>

                                        </Layer>

                                </Layers>

                        </JobParameters>

</Job>

                <Job>

                        Another job

                </Job>

                <Job>

Another job

</Job>        

        </Jobs>

</JobXml>

Single Age Reconstructions

For reconstructions to a single age, the <ReconstructionAge> field should contain a single number specifying the age in Ma as shown in the example XML above.  All of the layers in the job will be reconstructed to the specified age.

Multiple Age Reconstructions

For reconstructions to multiple ages, there are two options for specifying the reconstruction ages:

 For reconstructions to randomly spaced age intervals, the <ReconstructionAge> field should contain a comma separated list of the reconstruction ages in Ma (e.g., 40.5,63.7,96,103.2).  Note:  Do not put spaces after the commas in the list. 

For reconstructions to ages spaced at regular intervals, the ages should be entered as Start Age (inclusive, except for 0), End Age (inclusive): Step Interval (e.g., 0,50:10).  Note:  Do not put spaces between any characters.  Reconstructions to Age = 0 will be skipped, so for 0,50:10, reconstructions will be performed for 10, 20, 30, 40 and 50 Ma.  All of the layers in the job will be reconstructed to each age.  

Layers to be Reconstructed

Both vector and raster layers can be reconstructed.  Multiple vector layers can be included in any given reconstruction job, but due to memory constraints, only one raster can be reconstructed in a particular job.  If more than one raster is included in a reconstruction job, only the first raster will be reconstructed, and all subsequent raster layers will be skipped.  Note that a single raster can be reconstructed to multiple ages in a given job.

For each <Layer>:

  1. The <Name> parameter is optional.  If this parameter is missing or empty, the output feature class will be given the name of the input feature class.
  2. The <Input> parameter contains the path to the input feature class or raster.  Feature classes can be in a personal or file geodatabase or they can be shapefiles.  Rasters can be in a personal or file geodatabase or they can be standalone rasters (i.e., .tif, .img, etc).
  3.  The  <Output> parameter specifies the path to the desired output location for the reconstructed layer.  This parameter is optional, however, if it is missing or empty a <MasterOutput> path must instead be included as a job parameter as described below.
  1. For vector layers, the output location can be a directory or a file or personal geodatabase.  If the output location is a directory (as determined by the lack of a .gdb or .mdb extension in the output path), the output will be saved as a shapefile.  
  2. For raster layers, the output will always be saved in .img format in a folder even if a geodatabase is specified as the output location.  For example, if the output path is specified as C:\Temp\myOutput.gdb for a raster, the reconstructed output will be saved in .img format in the directory C:\Temp\myOutput\.
  1. The <SamplePercent> parameter is required for raster layers (it is not used at all for vector layers).  The raster reconstruction algorithm resamples the input raster and then converts the resampled values to point features for reconstruction.  The <SamplePercent> parameter sets the resampled cell area as a percentage (from <1% to 100%) of the original cell area, where a higher percentage will given higher resolution results, while a lower percentage will improve reconstruction performance.

Master Output

An <Output> does not have to be provided for each layer if a <MasterOutput> is included as a job parameter.  If a <MasterOutput> path is provided, any <Output> paths for individual layers will be ignored and reconstruction results for all layers will go to the specified <MasterOutput> location.  The <MasterOutput> output location can be a directory or a file or personal geodatabase, just as with individual <Output> paths.  However, for rasters, even if a geodatabase is specified for the output location, reconstructed rasters will be saved in a directory with the name and location of the specified geodatabase.  For example, if the <MasterOutput> path is specified as C:\Temp\myOutput.gdb, reconstructed rasters will be saved in .img format in the directory C:\Temp\myOutput\.  

Other Reconstruction Output Information

All reconstruction output files will have the reconstruction age appended to the end of the file name, e.g., myReconstructedData_13Ma.  Note that for decimal ages an underscore will be used instead of a decimal point in the file name, e.g., for a reconstruction 13.4 Ma, _13_4Ma will be appended to the file name.

If the output location (<MasterOutput> or <Output>) is a directory, you have the option to organize the output files by age by setting the <AddAgeDirectories> parameter to “true”.  For vector layers, if the output is specified to be a geodatabase, this option will be ignored even if it is set to “true”.  Since rasters are always written to a directory even if the output is specified to be a geodatabase, this option is always available for rasters.   If this parameter is missing in the XML, it will default to false; however, if it is included in the XML it cannot be empty - it must be set to true or false.

Example:\

        Input = a layer called “zinc”

Output = C:\Temp\zincOutput

AddAgeDirectories = true

Reconstruction ages =  40.5, 63.7, 96, 103.2

The following directory structure will be created to contain the output shapefile from each reconstruction:

C:\Temp\zincOutput\40.5Ma\zinc_40_5Ma.shp

C:\Temp\zincOutput\63.7Ma\zinc_63_7Ma.shp

C:\Temp\zincOutput\96Ma\zinc_96Ma.shp

C:\Temp\zincOutput\103.2Ma\zinc_103_2Ma.shp

Reconstruction Symbology

You can provide symbology (.lyr files) with input vector or raster layers, and the .lyr files will be copied to the output location, renamed to match the output file names and linked to the reconstructed data.  For shapefiles and standalone rasters being reconstructed, the .lyr file must have the same name as the input data (e.g., gravity.tif and gravity.lyr) must be contained in the same directory. For input vector and rasters contained in a geodatabase, the  .lyr file must have the same name as the input data and must be contained in the same directory as the geodatabase.  

If the output location for a reconstruction is a directory (i.e., the output will be shapefiles or rasters), the .lyr file will be copied to the same output directory location.  If the output location for a reconstruction is a geodatabase, the .lyr file will be copied to the same directory as the output geodatabase.

Azimuth and Rate vs. Time and Point Path Visualization Jobs

The Azimuth & Rate vs. Time analysis graphically shows the speed and direction of movement for a single point on a single plate over a specified time range at specified step intervals. The position, azimuth and speed of the point is calculated for each step interval from present to past.  Point Path Visualization generates a shapefile showing the path of the point over the specified time period, and the width of the path indicates the speed of the point at different times.

This sample Azimuth and Rate vs. Time and Point Path Visualization job calculates the speed and direction of movement of a point (latitude = 23.88, longitude = 78.43) from 40 Ma to the present day in 5 million year steps using the UTIG demo plate model with no fixed plate.  The XML comments (in red), contain additional information about the usage for each parameter.

<JobXml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<Jobs>

<Job>

<JobType>AzimuthRatePathVsTime</JobType>

<JobParameters>

<PlateModel>Demo UTIG PLATES Model</PlateModel> <!-- Use the registered plate model name from PaleoGIS not the model .mdb file

name -->

<FixedPlateId>0</FixedPlateId> <!-- Plate ID for the fixed reference frame.  Set to 0 for spin axis reference frame -->

<SelectedPlateId>501</SelectedPlateId> <!-- The plate ID for the plate that contains the point -->

<HalfRateMethod>False</HalfRateMethod>  <!-- The half rate method calculates motion relative to a spreading ridge.  Refer to the

PaleoGIS manual for more information. -->

<LatitudeOfCenter>23.88</LatitudeOfCenter> <!-- Latitude of the point of interest (not necessarily its center)  -->

<LongitudeOfCenter>78.43</LongitudeOfCenter> <!-- Longitude of the point of interest (not necessarily its center) -->

<StartAge>40</StartAge> <!-- Start age for the analysis in Ma.  The end age will always be 0 (i.e., the present day) -->

<StepInterval>5</StepInterval> <!-- Analysis step interval in millions of years -->

<ImageWidth>900</ImageWidth>  <!-- Width of the output azimuth and rate graphs in pixels -->

<ImageHeight>400</ImageHeight>   <!-- Height of the output azimuth and rate graphs in pixels -->

<AzimuthGraphImage>C:\Temp\Outputs\Azimuth.bmp</AzimuthGraphImage>  <!-- Output path and name for the azimuth graph -->

<RateGraphImage>C:\Temp\Outputs\Rate.bmp</RateGraphImage> <!-- Output path and name for the rate graph -->

<PathShapefile>C:\Temp\Outputs\PointPathVisualization.shp</PathShapefile> <!-- Output path & name for the point path shapefile-->

<PathLayerfile>C:\LayerFiles\PointPathVisualization.lyr</PathLayerfile> <!-- OPTIONAL. This is the symbology to be used with

the point path shapefile.  The .lyr file will be copied to the shapefile output location.

Will default to the symbology provided with PaleoGIS if missing or empty. -->

</JobParameters>

</Job>

</Jobs>

</JobXml>

Instantaneous Motion

The Instantaneous Motion tool draws a regularly-spaced grid of arrows on a reconstructed map to show the speed and direction of motion for the location under each arrow at that time.

The following script creates an Instantaneous Motion job for  using the UTIG_demo plate model with no fixed plate and a grid increment of 4 degrees over the entire globe. To specify an extent, use <UseAoi>true</UseAoi> and coordinates in the <Extent>.

<JobXml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<Jobs>

<Job>

<JobType>InstantMotion</JobType>

<JobParameters>

<PlateModel>Demo UTIG PLATES Model</PlateModel> <!-- Use the registered plate model name from PaleoGIS not the model .mdb file

name -->

<CachePath>C:\Temp\BatchTestData\cache.gdb</CachePath> <!-- This is a temporary file geodatabase used by PaleoRun for the job -->

<ReconstructionAge>98</ReconstructionAge> <!-- Must be a single NUMERIC age (in Ma), not a geologic age -->

<FixedPlateId>0</FixedPlateId> <!-- Plate ID for the fixed reference frame.  Set to 0 for spin axis reference frame -->

<Delta>0.1</Delta> <!-- Time delta in millions of years for the analysis. Refer to the PaleoGIS manual for more information. -->

<GridIncrement>4.0</GridIncrement> <!-- Output grid spacing in decimal degrees -->

<UseAoi>false</UseAoi> <!-- Set to true if you only want to run the analysis over a limited map area.  Set extent below -->

<Extent> <!-- Area of interest extent in decimal degrees. These values are ignored if <UseAoi> = false -->

<Xmax>41.356</Xmax>

<Xmin>-71.987</Xmin>

<Ymax>24.812</Ymax>

<Ymin>-58.443</Ymin>

</Extent>

<InstantMotionShapefile>C:\Temp\Outputs\InstantaneousMotion.shp</InstantMotionShapefile> <!-- Output path & name for the

instantaneous motion shapefile-->

<InstantMotionLayerfile>C:\LayerFiles\InstantaneousMotion.lyr</InstantMotionLayerfile> <!-- OPTIONAL. This is the symbology to be

used with the instantaneous motion shapefile.  The .lyr file will be copied to the shapefile output  

location. Will default to the symbology provided with PaleoGIS if missing or empty. -->

</JobParameters>

</Job>

</Jobs>

</JobXml>


Misc. Jobs in PaleoRun

Add Layer to MXD and Symbolize

This job type adds one or more layers to a map document in ArcMap. For each layer to be added to the MXD, an <MXDLayer> group must be added to the XML in the <MXDLayers> section. (See example below.)  Each <MXDLayer> group must contain all of the XML fields even if they are not needed.  Unused fields should be left empty.  The <PathToMXD>, <DataToAddAsFullPath>, and <DataFrameToAddLayerTo> fields must always contain valid data.  If <NameOfLayerInTOC> is left blank, the layer will be automatically named “New Data Layer” in the Table of Contents.  If multiple unnamed layers are added, they will be named “New Data Layer” , “New Data Layer2”, “New Data Layer3” , etc.

This XML sample adds a shapefile called WellData.shp to the North America\Data\Wells group layer of the Well Map data frame in WellMap.mxd .The layer will be called My Wells Data Layer in the table of contents and will be symbolized using the wellDataSym.lyr layer file.

<JobXml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

        <Jobs>

                <Job>

                        <JobType>AddLayerToMXDAndSymbolize</JobType>

                        <JobParameters>

                                <PathToMXD>%temp%\WellMap.mxd</PathToMXD>  <!-- If the document doesn’t already exist, PaleoRun will create it. -->

                                <MXDLayers>

                                        <MXDLayer>

                                                <DataToAddAsFullPath>C:\Temp\WellData.shp</DataToAddAsFullPath>

<DataFrameToAddLayerTo>Well Map</DataFrameToAddLayerTo>

                                                <NameOfLayerInTOC>My Wells Data Layer</NameOfLayerInTOC>

                                                <PathToLayerFile>C:\LayerFiles\wellDataSym.lyr</PathToLayerFile>

                                                <GroupLayerPath>North America\Data\Wells</GroupLayerPath>

                                        </MXDLayer>

                                        <MXDLayer>

                                                Another layer

                                        </MXDLayer>

                                        <MXDLayer>

                                                Another layer

                                        </MXDLayer>

</MXDLayers>

                        </JobParameters>

                </Job>

        </Jobs>

</JobXml>

Modify Metadata

The Modify Metadata job type replaces or appends the value of a metadata element.  The Modify Metadata job type works for feature classes and layer files. It also works for rasters if stored in file or personal geodatabase.

To replace the existing value use <ActionUpdateOrReplace>REPLACE</ActionUpdateOrReplace>.

To append to the existing value use <ActionUpdateOrReplace>UPDATE</ActionUpdateOrReplace>.  

This sample Modify Metadata job will replace the value of a metadata element named idinfo/descript/purpose in the PLATES000 feature of the Lausanne_2011 personal geodatabase.

<JobXml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<Jobs>

<Job>

<JobType>ModifyMetadata</JobType>

<JobParameters>

<FileLocation>c:\work\Lausanne_2011.mdb</FileLocation>

<NameofFiletoModifyMetadata>PLATES000</NameofFiletoModifyMetadata>

<ElementNameToUpdate>idinfo/descript/purpose</ElementNameToUpdate>

<NewValue>NO_CACHE;NO_DELETE_AFTER_RECONSTRUCTION;TIMESLICE_APPEARANCE=000;TIMESLICE_DISAPPEARANCE=-001;</NewValue>

<ActionUpdateOrReplace>REPLACE</ActionUpdateOrReplace>

</JobParameters>

</Job>

</Jobs>

</JobXml>

Product Support

The Rothwell Group, L. P. provides PaleoRun product support for all users. For any questions concerning PaleoRun, please contact us:

www.paleogis.com/support

support@rothwellgroup.com 

                        

The Rothwell Group, L.P.        www.paleogis.com