TECHNICAL ARTICLE
An
Open
Geographic
Modeling
Environment
Thomas Maxwell Robert Costanza
University
of Maryland
Institute for
Ecological
EconomicsSolomons,
MD maxwell @ kabir.cbl.cees.eduDeveloping
thecomplex
computer
models that are necessaryfor effectively managing
human
affairs through
the nextcentury
requires
newinfrastructure supporting high
performance
collaborativemodeling.
In this paper we describe ourOpen
Geographic
Modeling
Environment,
whichsupports:
(1)
modular,
hierarchical model construction andarchiving/linking of
simulationmodules,
(2) graphical,
icon-based modelconstruction,
(3)
transparent
distributedcomputing,
and(4)
integrating multiple
space-time representations.
Thisenvironment,
whichtransparently
links icon-basedmodeling
environments with advancedcomputing
resources, allows usersto
develop
models in auser-friendly,
graphical
environment,
requiring
very littleknowledge
of computers
orcomputer
programming.
Themodeling
environmentimposes
the constraintsof modularity
andhierarchy
in programdesign,
andsupports
archiving
of
reusable modules in ourModular
Modeling Language
(MML).
An associatedlibrary of
"modulewrappers"
willfacilitate
theincorporation
of legacy
simulation models into the environment.Keywords: Landscape modeling,
distributed modular
simulation,
spatial
modeling, Everglades
1. Introduction
Ecological
systems
play a
fundamental role insupporting
life on Earth at all hierarchical scales.They
form thelife-support
system
without which economicactivity
would not bepossible.
There aremany
signs
that the collectiveglobal
economicactivity
isdramatically altering
theself-repairing
aspects
of theglobal
ecosystem.
Ourability
tochange
economic and
ecological
systems,
and the rate ofspread
of theimpacts
of thesechanges,
far exceedsour
ability
topredict
the full extent of theseimpacts.
Protecting
andpreserving
our naturallife-support
systems
requires
theability
to understand the direct and indirect effects of human activities overlong
periods
of time and overlarge
areas.Computer
simulations are now
becoming
important
tools toinvestigate
these interactions.Spatial (geographic) modeling
ofecosystems
is essential if one’smodeling goals
includedeveloping
a
relatively
realisticdescription
ofpast
behavior andpredictions
of theimpacts
of alternativemanagement
policies
on futureecosystem
behavior[1-3].
Develop-ment of these models has been limited in the
past
by
thelarge
amount ofinput
datarequired,
thediffi-culty
of evenlarge
mainframe serialcomputers
indealing
withlarge
spatial
arrays, and theconceptual
complexity
involved inwriting, debugging,
andcalibrating
verylarge
simulation programs. These limitations havebegun
to erode with theincreasing
availability
of remotesensing
data and GISsystems
Figure
1. The basic structure of aspatial
ecosystem model. Each cell has a(variable)
habitat type, which is used toparameterize
the unit model for that cell. The unit model simulates ecosystemdynamics
for that cell in the above-sedimentand below-sediment
subsystems.
Nutrients andsuspended
materials in the surface water and saturated sediment water are fluxed between cells in the domain of thespatial
model.computer systems.
Although
theimportance
of advances in theparallel processing
field have beenrecognized
in the field ofspatial modeling
[4],
theconceptual complexity
involved inbuilding complex
models in a distributedcomputational
environment remains amajor
barrier to the utilization of thesesystems
in the environmental sciences. We proposeto address this issue
through
thedevelopment
of aspatial
modeling
environment tosupport
ecological/
economic
(or
other,
e.g.,biological/social/physical)
modeldevelopment
for state-of-the-artparallel
and serialcomputer
systems.
Thissystem,
which linksgraphical
tools fordeveloping
self-containedcompo-nent models with module databases and
parallel
codegenerators,
willsupport
modular,
reusable modeldevelopment,
and allow scientists to utilize state-of-the-artparallel
processing
architectures withoutinvesting
unnecessary time incomputer
programming.
2.
Spatial Ecosystem Modeling
We define a
dynamic spatial
model as anyformula-tion that describes the
changes
in aspatial
pattern
from time t to a new
spatial
pattern
at time t + 1, such thatwhere
X(t)
is thespatial
pattern
at time t andY(t)
is aset of array, vector, or scalar variables that may affect
the transition.
Although
many forms ofdynamic
spatial
modeling
are utilized within the broad field ofecology
[3],
and thespatial modeling
tools described here areapplicable
to a wide range ofmodeling
tasksin the
biological,
social, economic,
andphysical
sciences, our
primary
focus in this paper is onFigure
2. STELLAdiagram
of the unit model used for the CELSSlandscape
model.simulate
spatial
structureby
firstcompartmentaliz-ing
thelandscape
into somegeometric
design
andthen
describing
flows withincompartments
andspatial
processes betweencompartments
according
to
location-specific algorithms;
seeFigure
1.Ex-amples
ofprocess-based, spatially
articulate land-scape models include wetland models[2, 5-9],
oceanicplankton
models[10],
coral reefgrowth
models[11],
and fireecosystem
models[12].
One
example
of aprocess-based spatial
simulationmodel is the
Everglades Landscape
Model(ELM),
discussed in Section 3. Anotherexample
is the CoastalEcological Landscape Spatial
Simulation(CELSS)
model,
which consists of 2,479 intercon-nectedcells,
eachrepresenting
1km2,
constructed for theAtchafalaya/ Terrebonne
marsh/ estuarine
complex
in south Louisiana[2, 5].
Each 1 km2 cell inthe CELSS model contains a
dynamic,
nonlinearecosystem
simulation model with seven statevari-ables,
similar to the one shown inFigure
2. Themodel is
generic
in structure and canrepresent
one ofsix habitat
types
by
assigning unique
parameter
settings.
Each cell ispotentially
connected to eachadjacent
cellby
theexchange
of water and materials. This model is several years old and is muchsimpler
than many models in usetoday.
The
original
CELSS model took fourpeople
about four years(sixteen
person-years)
tofully
develop
andimplement
using
asupercomputer.
The model hasproved
to be very effective athelping
us understandcomplex
ecosystem
behavior andguiding policy
and research[2, 5].
We are now concerned withreducing
the time involved for bothdeveloping
andrunning
thistype
ofmodel,
andmoving
themodeling
tosmaller,
lessexpensive
computers.
Toward thatend,
3.
Everglades Landscape
ModelThe
Everglades
Landscape
Model(ELM)
[13]
has beendeveloped by
researchers at theUniversity
ofMaryland
using
theSpatial Modeling
Environment,Version 1; see Section 6. The ELM is
designed
to beone of the
principal
tools in asystematic
analysis
ofthe
varying options
inmanaging
the distribution ofwater and nutrients in the
Everglades.
Central tothese
objectives
is theprediction
ofvegetation
change
under different scenarios. Waterquantity,
and the associatedhydroperiod,
has been a central issue inunderstanding changes
tovegetation
of theEver-glades
[14, 15].
Nutrients fromagricultural
areas alsoappear to be
important
inunderstanding
vegetation
succession
[16]
in thishistorically oligotrophic
system
[17].
The interaction of thesefactors,
includ-ing
thefrequency
andseverity
offires,
appears todrive the succession of the
plant
communities in theEverglades
[15,18,19].
Thus,
thissystem
hasmyriad
indirect interactions, constraints, and feedbacks that result incomplex
ecosystem
structure(biotic
and abioticcomponents
and their flowpathways)
and function(the
modes of interaction and theirrates).
For this reason, it is critical todevelop
asystems
viewpoint
towardunderstanding
thedynamics
inherent in thatecosystem
structure and function. Part of this process is thedevelopment
of adynamic
spatial
simulation model. The ELM is thatanalytic
tool.In this
model,
theimportant
ecosystem
processes thatshape plant
communities are simulated withinthe
varying
habitats distributedthroughout
thelandscape.
Theprincipal dynamics
within the modelare
plant growth
in response to availablesunlight,
temperature,
nutrients, and water; flow of waterplus
dissolved nutrients in three
dimensions;
fire initia-tion andpropagation;
and succession in theplant
community
in response to the environment.Using
a mass balanceapproach
inincorporating
process-based data of a
reasonably high
resolution within theentire
Everglades landscape, changing spatial
patterns
and processes can beanalyzed
within the context of alteredmanagement
strategies.
Only by
incorporating
spatial
articulation can anecological
modelrealisti-cally
addresslarge-scale
management
issues within the vast,heterogeneous
system
of theEverglades.
For the
spatially explicit
ELM, the modeled land-scape ispartitioned
into aspatial
grid
of10,178
square unit
cells,
eachhaving
1 km2 surface area. TheELM is hierarchical in structure,
incorporating
anecosystem-level &dquo;unit&dquo;
model[20]
that isreplicated
in each of the unit cellsrepresenting
theEverglades
landscape.
The unit model itself is divided into a setof model sectors that simulate the
important
ecologi-cal
(including physical)
dynamics
using
aprocess-oriented,
mass balanceapproach.
While the unit model simulatesecological
processes within a unitcell,
horizontal fluxes across thelandscape
occurwithin the domain of the SME. Within this
spatial
context, the water fluxes between cells carry dis-solvednutrients,
determining
waterquantity
andquality
in thelandscape.
4.Conceptual Complexity
and Model
Development
Development
ofecosystem
models ingeneral
has been limitedby
theability
of anysingle
team of researchers to deal with theconceptual complexity
offormulating, building, calibrating,
anddebugging
complex
models. The need for collaborative modelbuilding
has beenrecognized
in the environmental sciences[21, 22].
Realisticecosystem
models arebecoming
much toocomplex
for anysingle
group of researchers toimplement single-handedly,
requiring
collaboration between
species
specialists,
hydrolo-gists,
chemists,
land managers, economists,ecolo-gists,
and others. The currentgeneration
of models tends to beidiosyncratic
monoliths that arecompre-hensible
only
to the builders[22].
Communicating
the structure of the model to others can become aninsurmountable obstacle to collaboration and accep-tance of the model.
Policy
makers areunlikely
to trust a modelthey
do not understand.A
well-recognized
method forreducing
programcomplexity
involvesstructuring
the model as a set of distinct modules with well-defined interfaces[21-26].
Modular,
hierarchical modelstructuring
is welldeveloped
in the context of discrete-eventmodeling
[27, 28],
but has receivedcomparatively
littledevel-opment
in the realm of continuousmodeling
[21,
26,
29]. Ecosystem
models with a modular hierarchicalstructure should be closer to natural
ecosystem
structure than
procedural
models[21, 26],
since thecomponent
populations
ofecosystems
are themselvescomplex
hierarchicalsystems
with their own internaldynamics.
Modulardesign
facilitates collaborative model construction, since teams ofspecialists
canwork
independently
on different modules withminimal risk of interference. Modules can be
archived in distributed libraries to serve as a set of
templates
tospeed
futuredevelopment.
Theinherit-ance
property
ofobject-oriented languages
allows theproperties
ofobject-modules
to be utilized and modified withoutediting
the archivedobject.
Amodeling
environment thatsupports
modularity
couldprovide
a universalmodeling language
tomodule is
represented diagramatically,
so that new users canrecognize
themajor
interactions at aglance.
Scientists with little or no
programming experience
canbegin building
andrunning
models almostimmediately.
Inherent constraints make it much easier togenerate
bug-free
models. Built-in tools fordisplay
andanalysis
facilitateunderstanding,
debug-ging,
and calibration of the moduledynamics.
Onemajor advantage
of thisgraphical approach
tomodeling
is that the process ofmodeling
can becomea
consensus-building
tool. Thegraphical
representa-tion of the model can serve as a blackboard for group
brainstorming, allowing policy
makers,
scientists,and stake-holders to all be involved in the
modeling
process. New ideas can be tested and scenariosinvestigated using
the model within the context of group discussion as the model growsthrough
acollaborative process of
exploration.
Whenapplied
inthis manner, the process of
creating
a model may be more valuable than the finishedproduct.
5.
Computational Complexity
and ParallelProcessing
Tremendous
computational
resources arerequired
tointegrate
theequations
of alarge spatial
model in areasonable amount of
computer
time.Large
modelstypically
require
supercomputers
for efficientexecu-tion. This class of models is a near-ideal
application
for
parallel
processing
since atypical
model consists of alarge
number of cells that can be simulatedsemi-independently.
Each processor can beassigned
adifferent subset of
cells,
and mostinterprocessor
communication is
nearest-neighbor only.
Despite
theirgreat
promise
andincreasing
availability,
parallel
architectures have not found much usage in the life sciences. Themajor
barrier to wideacceptance
of thesetechniques
has been thedifficulty
ofpro-gramming
anddebugging large parallel
programs, and reluctance on thepart
of scientists to invest time inlearning
newlanguages
and architectures.High-performance
computing
must betransparent
in order to begenerally
accessible. The user shouldnot be concerned with the details: on what
platform
the simulation is
running
or how the simulation isbeing
farmed out to different processors. Thesedetails are handled
automatically by
the environmentwithout the user’s
knowledge
or intervention.Supporting
transparent
distributedcomputing
forspatial modeling,
however,
requires
infrastructuredevelopment,
as described later in this paper.6.
Geographic Modeling
EnvironmentIn an
attempt
to address theconceptual
and compu-tationalcomplexity
barriers todynamic
geographic
model
development,
we havedeveloped
theSpatial
modeling
environment(SME),
which links icon-basedgraphical modeling
environments withparallel
supercomputers
and ageneric
object
database[30,
31].
Thissystem
will allow users to create and sharemodular,
reusable modelcomponents,
and utilize advancedparallel
computer
architectures withouthaving
to invest unnecessary time incomputer
programming
orlearning
newsystems.
Thefollow-ing
sectionsgive
a briefdescription
of the currentdesign
of the SME. A more detaileddescription
canbe found in the web page
[31].
The SME
design
has arisen from the need tosupport
collaborative modelbuilding
among alarge,
distributed network of scientists involved in
creating
a
global-scale ecological/economic
model. Itsdesign
should
eventually
begeneral enough
tosupport
mostlarge-scale modeling
tasks within thebiological/
environmental sciences. In the interest ofmaximizing
accessibility
to a distributed network ofcollaborators,
the
system
isdesigned
tosupport
a range ofplat-forms,
both in the front-enddevelopment
environ-ment and in the back-end distributed network of
platforms.
Since ourgoal
is tosupport
modularity
in modeldesign
andseparate
theimplementation
of the modeldynamics
from the details of simulation codedevelopment,
it has been necessary to abstract the module libraries from both the front-end and the back-end environments. We are thus led to the formulation of athree-part
ModelBase-View-Driverarchitecture;
seeFigure
3. The threecomponents
aredescribed below.
6.1 View
The View
component
of the SME is used tographi-cally
construct,calibrate,
and testbiological/ecologi-cal modules. This
component
isrepresented by
anoff-the-shelf
graphical modeling
environment such asSTELLA, Simulab,
or Extend.6.2 ModelBase
In the next
step
towardconstructing
aspatial
model,
the Module Constructor translates the View
ecosys-tem
component
modules into Moduleobjects
defined in our text-based ModularModeling
Language
(MML).
The MMLobjects
can then be archived in theModelBase to be accessed
by
otherresearchers,
and/
or usedimmediately
to construct aworking spatial
simulation.
Many
MMLobjects
can be combinedhierarchically
in the MML. This MMLhierarchy
canthen be converted
by
the Code Generator into a C++object hierarchy
within theSpatial
Modeling
Environ-ment
(SME),
where it can drive aspatial
simulation.The MML is
designed
tocapture
only
the relevantdynamics
of the simulation modulebeing
constructed,
Figure
3. Overview of the ModelBase-View-Driver architectureFor
example,
the features that can berepresented
inthe MML include
dynamics
ofgrowth,
death,
and transformation ofbiological/ecological
entities,
fluxes of water, nutrients,pollutants,
etc., and the internal decision andlearning
processes ofbiological
agents.
The features that are notrepresented
in the MML include thespatio-temporal implementation
of themodel,
input
andoutput
of modeldata,
and the distribution of the model over a set of processors.These features are
implemented by
the CodeGenera-tor and the simulation
drivers;
see the next sections. 6.3 Code GeneratorsThe Code Generators convert an MML
object
hierar-chy
into a C++object hierarchy
that isincorporated
into the simulation driver
application
to create aspatial
simulation. The user customizes the set ofobjects generated by
entering
information into a setof
configuration
files that areinitially generated by
the Code Generator. In the final version a
menu-driven interface will be
provided
to facilitate thisconfiguration
step.
During
theconfiguration
step
the userspecifies
theadditional information that is
required
to transform the MMLobject
into adynamic
simulationobject.
The information entered falls into several
general
categories:
(1)
Space-Time
Implementation.
In thisstep,
each MMLobject
is associated with aframe,
whichspecifies
its
space-time
implementation.
A frame is a C++object
thatspecifies
thetopology
of thespatial
implementation
of themodule,
methods forinteracting
with andtransferring
data to otherframes,
andtemporal
methods forhandling
thepassing
of time. The drivergeometry
object
(Figure
6)
maintains acatalog
of available frames.Examples
of available frames includetwo-dimensional
grids (e.g.,
forlandscapes),
graphs
and networks(e.g.,
for river,canal,
or neuralnetworks),
andagents
(e.g.,
for individualagents
moving
about in thelandscape).
The userspecifies
aframe
type
as well as a(set of)
GISmap(s)
that theframe will read at runtime to
configure
itself.(2) Input/Output Configuration.
In thisstep
the userconfigures
input
to the simulation from thebiological/ ecological
databases and GIS.Input
configuration
must be done at codegeneration
time because the Code Generator uses thisinformation
(together
with the variabledepen-dency graph)
to determine variabletypes.
Output
configuration
is done at runtime,although
default values can bespecified
in the CGconfiguration
files. 6.4 PointGridLibrary
The PointGrid
Library (PGL)
is a set of C++ distributedobjects designed
tosupport
computation
onirregular,
distributed networks and
grids.
It contains the core setof
objects
on which the SME Driver is constructed. ThePGL
object
structure is a directmapping
of anearly
Figure
4. Structure of the SME.2 simulation driver as discussed in the web page[31].
The PGL buildsspatial
representations
from sets ofPoint
objects
(see below)
with links. Ittransparently
handles:(1)
creation anddecomposition
(over
processors)
ofPointSets,
(2)
mapping
of data overand between
PointSets,
(3)
iteration over PointSetsand Point
Sub-Sets,
(4)
data access andupdate
ateach Point, and
(5)
swapping
of variable-sized PointSetboundary (ghost)
regions.
Some of theimportant
ML classes are listed below.. point:
Corresponds
to a cell in a GISlayer.
aggregates
Point:Corresponds
to a cell in a coarserresolution GIS
layer.
· PointSet: A set of Points with links
(grid
ornetwork).
· DistributedPointSet: A PointSet distributed over
processors with variable-sized
boundary (ghost)
layers.
· Coverage:
Mapping
from a DistributedPointSet tothe set of floats.
6.5 Driver
The SME Driver
(Figure
4)
is a distributedobject-oriented simulation environment that
incorporates
the set of code modules thatactually perform
thespatial
simulation on thetargeted platform.
It isimplemented
as a set of distributed C++objects
linkedby
messagepassing.
Of all theobjects
shown inFigure
4,only
the interfaceobject
is visible to theuser; the rest will
perform
their tasksautomatically
andinvisibly.
Themajor
drivercomponents
includethe
following.
· Application Object:
Handlesgeneral
process of simulation execution and coordination andsched-uling
of the other SMEobjects.
· Imported Objects
and Data: This is the set ofobjects
and data that is createdby
the Code Generator andimported
into the driver. Theobjects
are C++implementations
of the ModelBase modules. Theimported
object
structure is described in moredetail below.
· Geometry
Object:
Maintains thecatalog
of frames(see
Section7.3)
and handles all tasksrelating
tothe
spatial configuration
of thesimulation,
such astranslating/
transferring
data between frames and the networkobject.
. Network
Object:
Handles communication between processors and the simulation host. It isimplemented
using
the MPI messagepassing
interface standard[33].
· Interface Object:
Menu-driver interfacefacilitating
user control of the simulation and real-time
display
of simulation
output.
Provides the user with asingle
familiar environment in which to interact with simulationsrunning
on any one of a numberof
parallel
or serialcomputers.
- File
Object:
Handlesarchiving
of simulationoutput
in HDF format. Later versions willactively
The
imported
objects
are built upon thefollowing
classes:
. Module Class: The CodeGenerator
Application
converts each module in the MML model
descrip-tion into a Module
Object
in the Driver. Each ModuleObject
has a set of VariableObjects
and aFrame
Object.
It also has a set of methods forresponding
to simulation events such as &dquo;Initialize&dquo;and
&dquo;Update.&dquo;
· Frame Class: A Frame
Object
is a driverobject
that
specifies
thetopology
of thespatial
implemen-tation of a ModuleObject, including
methods forinteracting
with andtransferring
data to other frames. A frame has a list of PointObjects
(POs),
with each PO
corresponding
to a cell in the frame’smap
region,
which includes apartition
of thestudy
area handledby
the current processorplus
acommunication buffer zone. The driver maintains a
catalog
of availableframes,
which includestwo-dimensional
grids (e.g.,
forlandscapes), graphs
and networks(e.g.,
for river,canal,
or neuralnetworks),
areas(e.g.,
for embeddedlumped-parameter
models),
andpoint
collections(e.g.,
for individualagents
moving
about in thelandscape).
. Variable Class: The CodeGeneratorApplication
converts each variable declared in the MML model
description
into a VariableObject
in the Driver.The Variable class is a
specialization
of theCover-age
class,
whichencapsulates
amapping
from theset of Point
Objects
ownedby
the Module’s FrameObject
into the set offloating
point
numbers.6.6 User
Interface
The SME user
interface,
which iscurrently
underdevelopment
using
theTcl/Tk
scripting
language
[34],
willprovide
the user with asingle
familiarenvironment in which to build and run simulations on any one of a number of
parallel/
distributed orserial
computers.
Thisuser-friendly
environment, withhierarchically
structured interactionlevels,
will allow users withwidely
varying
goals
andback-ground knowledge
(from
scientists and students topolicy makers)
tobuild,
configure,
and runspatial
simulations,
and togenerate
graphical
output
in a mannerappropriate
to their level ofexpertise.
The lowest level of interface to the SME isexpedited by
atcl shell. In the
SME/ tcl
shell environment the user can create newprojects,
customize theSME,
and runthe various SME
subapplications.
Three menu-driventcl/tk
applications
arebeing developed
for(1)
config-uring
the Driver and codegenerators,
(2)
controlling
the simulation andvisualizing
the simulationoutput,
and
(3)
building
models in MML.6.6.1 Simulation
Configuration Interface.
All simulation IO isaccomplished using &dquo;pipe&dquo; objects,
e.g., the real-time screendisplay
of a variable’sspatial
data is renderedby
configuring
apipe
object
to connect thespatial
variable with a map animationobject.
Theuser interface
provides
a menu-driven tool forconfiguring
pipes
for(1)
mapinput
fromGIS,
(2)
parameter
input
from relationaldatabases,
(3)
mapoutput
to GIS,(4)
assorted datainput/output
to/
from diskarchives,
and(5)
varioustypes
of real-timedisplay, including
map animations,graphs,
and tables. This interface also allows the user toconfigure
variousparameters
associated with each simulationobject.
6.6.2 Simulation
Object
Browser and Viewer. Aseparate
tcl/ tk
application
allows the user to browsethrough
theobjects
in apaused
simulation and view eachobject’s
internal data structures in a convenient format. The browser alsoprovides
a menu of eachobject’s dependent objects,
so users canquickly
traverse the
dependency
tree whilesearching
for anomalies in the simulationoutput.
Thisapplication
incorporates
the viewers that are used for real-timedisplay
of simulationoutput.
6.6.3 Icon-Based Model
Development Interface.
A third interfacecomponent
is underdevelopment
topro-vide an icon-based interface to the ModelBase
component
of the SME, to facilitate simulation moduledevelopment
andlinking/ archiving
in the ModularModeling
Language (MML).
This interfaceprovides
agraphical
mapping
of eachcomponent
ofthe MML
language, allowing
modelers to createMML modules in a
user-friendly,
visualenviron-ment. The environment enforces proper MML
syntax
and modeldesign, provides
a blackboard forcollabo-rative model
development,
and alsoprovides
on-linehelp
screens to document eachcomponent
of the MMLlanguage.
6.7
Linking Existing
Simulation Code with the SME In order to create a new module in the SME, onemust
develop
it in the Viewgraphical modeling
environment or the MML. There is a wealth ofcomplex
simulation code in existence in the worldtoday,
writtenmainly
in FORTRAN orC,
that wouldbe too difficult to
completely
rewrite in the MML or aView-supported language (although
thismight
be theoptimal
approach,
manpowerpermitting).
Therefore,
we aredeveloping
a stand-alone version of the networkobject displayed
inFigure
4 that will form the core of an &dquo;SMEwrapper.&dquo;
This&dquo;wrapper&dquo;
is a
library
of FORTRAN or C functions that acode to
give
it theability
to interact andexchange
data with the SME over the Internet. Once thewrapper is
incorporated
into thelegacy
simulationcode,
then SME variables can be linked withlegacy
variables
using
simple configuration
commands. The SME and thelegacy
code can be runsimulta-neously
and can feed information back and forth across the Internet. Forexample,
an SMElandscape
simulation
might
wish to link with anexisting
hydrodynamics
simulation to handle thehydrody-namics of the watershed.
7. Simulation
Development
in the SMERealistic
spatial
models areextremely complex,
requiring
large
quantities
ofdata,
so thatdesigning,
calibrating,
andvalidating
these models is a difficulttask. The
development
of aspatial
simulation occursin three
stages:
(1)
non-spatial
moduledevelopment,
(2)
non-spatial
modeldevelopment (linking
mod-ules),
and(3) spatial
modeldevelopment.
7.1 Simulation
Design
The simulation
design
process occursprimarily
in the Viewcomponent,
where the simulation unit modulesare created.
Thus,
the vastmajority
of thedesign
work occurs in thenon-spatial
regime,
involving
concepts
and processes that are familiar to mostmodelers.
Typically
a group of modelers will worktogether
on a set ofclosely
relatedmodules,
withprior
agreement
on the set of availableoutputs
from each module. Oncedeveloped
and tested in the Viewenvironment, the modules are then linked in the
View or ModelBase environment for a further round
of tests.
Implementing
thespatial
interactions can occurby designing
these interactions in the MMLlanguage,
orby linking predefined
methods from theSME Driver libraries. Libraries have been
developed
to
implement
commonhydrologic
scenarios,includ-ing
movement of water and constituents over andunder the
landscape
surface. Thespatial dynamics
are tested in the SME Driver environment. 7.2 Calibration and
Verification
The simulation calibration and verification process involves three
phases:
. Phase 1: The unit modules are calibrated
individu-ally
andnon-spatially
in the View environment. . Phase 2: The assembled unit model is calibrated andverified
non-spatially
in either the View or theDriver environment.
. Phase 3: The full unit model is calibrated and verified
spatially
in the Driver environment. The finalstage
of calibration involvesonly
thespatial
aspects
of thesimulation;
all calibration that can beaccomplished
without reference to thespatial
nature of the
system
iscompleted
inphases
1 and 2. Due to data limitation, most calibration and verification inphase
3 isaccomplished using
sets of&dquo;integrators,&dquo;
i.e., localizedquantities
whosedynam-ics
depend
on a number ofspatial
processes. Forexample,
river flux rate and nutrient concentrations may be measured at a number of stationsalong
ariver. These data
play a
major
role incalibrating
andverifying
a number ofspatial
processes that influencethe movement of water and nutrients across the
landscape
and into the river.8. Conclusions
Parallel
computer
hardware and software are nowwell
developed enough
to allow their use inlarge-scale
biological
and environmentalmodeling.
Parallelsystems
areparticularly
well suited tospatial
model-ing,
allowing relatively complex
unit models to be executed over arelatively high-resolution spatial
array at reasonable cost and
speed.
When linked with icon-basedgraphical
modeldevelopment
tools andGIS/database
tools,
one has apowerful
yet
easy-to-usespatial modeling
environment.In
addition,
thewidespread
use ofobject-based
modeling
environments linkedtransparently
tostate-of-the-art distributed
computing
resources couldresult in a fundamental
paradigm
shift incomplex
systems
modeling.
Themodeling
formalismimposes
the constraints ofmodularity
andhierarchy
in programdesign.
Generaladoption
of thisparadigm
willsupport
thedevelopment
of libraries of modulesrepresenting
reusable modelcomponents
that areglobally
available to modelbuilders,
as well as makeadvanced
computing
architectures available to userswith little
computer
knowledge.
We believe that
effectively
managing
human affairsthrough
the nextcentury
willrequire
ex-tremely complex
and reliablecomputer
models.Widespread
utilization ofmodeling
environments9.
References
[1] Risser, P.G., Karr, J.R., and Forman, R.T.T. 1984.
Landscape
Ecology:
Directions andApproaches.
IllinoisNatural
History Survey,
Champaign,
IL.[2]
Costanza, R., Sklar, F.H., and White, M.L. 1990."Mod-eling
coastallandscape dynamics."
BioScience vol. 40,pp. 91-107.
[3]
Sklar, F.H. and Costanza, R. 1991. "Thedevelopment
ofdynamic spatial
models forlandscape ecology."
Quantitative Methods in
Landscape Ecology.
Turner, M.G.,and Gardner, R., eds. New York:
Springer-Verlag.
[4] Casey,
R.M. and Jameson, D.A. 1988. "Parallel andvector
processing
inlandscape dynamics."
Applied
Mathematics andComputation
vol. 27, pp. 3-22.[5]
Sklar, F.H., Costanza, R., andDay,
J.W.J. 1985."Dy-namic
spatial
simulationmodeling
of coastal wetland habitat succession."Ecological Modeling
vol. 29, pp. 261-281.[6]
Costanza, R., Sklar, F.H., andDay,
J.W. 1986."Model-ing
spatial
andtemporal
succession in theAtchafalaya/
Terrebonne
marsh/estuarine complex
in South Louisi-ana." EstuarineVariability.
Wolfe, D.A., ed., New York: Academic Press.[7]
Kadlec, R.H. and Hammer, D.E. 1988."Modeling
nutrient behavior in wetlands."Ecological Modeling
vol.40, pp. 37-66.
[8] Boumans, R.M.J. and Sklar, F.H. 1991. "A
polygon-based
spatial
model forsimulating landscape change."
Landscape
Ecology
vol. 4, pp. 83-97.[9] White, M.,
Day,
D., Maxwell, T., Costanza, R., andSklar, F. 1992.
"Ecosystem modeling Utilizing desktop
parallel
computertechnology."
Hydraulic
and Environ-mentalModeling:
Estuarine and River Waters. Falconer, R.,ed.
Ashgate.
[10]
Show, LT., Jr. 1979. "Planktoncommunity
andphysical
environment simulation for the Gulf of Mexicoregion." Proceedings of
the 1979 SummerComputer
Simulation
Conference.
TheSociety
forComputer
Simulation International. pp. 432-439.
[11] Maguire,
L.A. and Porter, J.W. 1977. "Aspatial
model ofgrowth
andcompetition strategies
in coral communi-ties."Ecological Modeling
vol. 3, pp. 249-271.[12] Kessell, S.R. 1977. "Gradient
modeling:
A newapproach
to firemodeling
and resourcemanagement."
Ecosystem Modeling
inTheory
and Practice. Hall, C.A.S. andDay,
J.W.J., eds. New York:Wiley-Interscience.
[13]
Fitz, H.C., Costanza, R., andReyes,
E. 1993. TheEverglades Landscape
Model(ELM).
South Florida WaterManagement
District,Everglades
Research Division.[14]
Davis, S.M. 1994."Phosphorus inputs
andvegetation
sensitivity
in theEverglades." Everglades:
TheEcosystem
and Its Restoration. Davis, S.M. andOgden,
J.C., eds.Delray
Beach, FL: St. Lucie Press.[15]
White, P.S. 1994."Synthesis:
Vegetation
pattern and process in theEverglades ecosystem." Everglades:
theEcosystem
and Its Restoration. Davis, S.M., ed.Delray
Beach, FL: St. Lucie Press.[16]
Davis, S.M., 1991. "Growth,decomposition
andnutrient retention of cladium
jamaicense
crantz andtypha domingensis
pers. in the FloridaEverglades."
Aquatic Botany
vol. 40, pp. 203-224.[17]
Steward, K.K. and Ornes, W.H. 1975. "Theautecology
of sawgrass in the FloridaEverglades." Ecology
vol. 56,pp. 162-171.
[18] Duever, M.J. 1984. "Environmental factors
controlling
plant
communities of theBig Cypress Swamp."
Environmentsof
South Florida: Present and Past. Gleason,P.J., ed. Miami, FL: Miami
Geological
Society.
[19]
Gunderson, L.H. 1989. "Historicalhydropatterns
in wetland communities ofEverglades
National Park."Freshwater Wetlands and
Wildlife
vol. 61, pp. 1099-1111.[20]
Fitz, H.C., DeBellevue, E., Costanza, R., Boumans, R., Maxwell, T., andWainger,
L. 1995."Development
of ageneral
ecosystem model(GEM)
for a range of scalesand
ecosystems." Ecological Modeling
vol. 88, pp.263-297.
[21]
Goodall, D.W. 1974. The HierarchicalApproach
to ModelBuilding.
Wageningen:
Center forAgricultural
Publish-ing
and Documentation.[22]
Acock, B. andReynolds,
J.F. 1990. "Model structureand data base
development."
ProcessModeling of
Forest GrowthResponses
to Environmental Stress. Dixon, R.K., Meldahl, R.S., Ruark, G.A., and Warren, W.G., eds.Portland, OR: Timber Press.
[23] Gauthier, R.L. and Ponto, S.D. 1970.
Designing
Systems
Programs. Englewood
Cliffs, NJ: Prentice-Hall.[24]
Tichenor, L.H. 1989. "Modular simulation of the staticportions
of the leafbudget.
SIMULATION vol. 55, pp. 345.[25]
Hodges,
T., Johnson, S.L., and Johnson, B.S. 1992. "A modular structure for crop simulation models."Agronomy
Journal vol. 84, pp. 911-915.[26] Silvert, W. 1993.
"Object-oriented
ecosystemmodel-ing." Ecological Modeling
vol. 68, pp. 91-118.[27]
Zeigler,
B.P. 1976.Theory
of Modeling
and Simulation. New York: JohnWiley
& Sons.[28]
Zeigler,
B.P. 1990.Object-Oriented
Simulation withHierarchical, Modular Models. New York: Academic Press.
[29]
Cellier, F.E. 1991. ContinuousSystem
Modeling.
New York:Springer-Verlag.
[30]
Maxwell, T. and Costanza, R. 1995. "Distributedmodular
spatial
ecosystemmodelling."
InternationalJournal
of
Computer
Simulation:Special
Issue on AdvancedSimulation
Methodologies
vol. 5, no. 3, pp. 247-262.[31]
SME2:Spatial Modeling
Environment, version 2alpha.
1995. URL:http://kabir.umd.edu
/SMP/MVD/
SME2.html.[32] OGIS: The
OpenGIS
Guide. 1996. URL:http://ogis.org/
guide/ guidel.htm.
[33] MPI:
Message
Passing Interface.
1995. URL:http://
www.mcs.anl.gov/mpi/index.html.
THOMAS P. MAXWELL received his Master’s
degree
inPhysics, focusing
on chaostheory
and nonlineardynamics,
in 1983, and his PhD in
Physics,
focusing
on neuralnetworks,
parallel
processing,
and artificialintelligence,
in1988. He has
developed
neural network architectures forimage processing,
patternrecognition,
adaptive
control,associative memory, and artificial
intelligence
applications.
For the last five years he has beendeveloping
spatial
ecosystem models and simulation environments for the International Institute for
Ecological
Economics. Amajor
focus of this work has been the
development
of collaborative tools to support modularspatiotemporal
modeling
in distributedcomputational
environments. Hehas worked as a consultant for NASA, several of NASA’s
contractors, the
University
of Louisiana, and theUniversity
of Illinois.ROBERT COSTANZA is Director of the
University
ofMaryland’s
International Institute forEcological
Economics, and a
professor
in the Center for Environmental and Estuarine Studies,University
ofMaryland System,
Solomons, MD. He is also Director ofthe
complex
systems research program atBeijer
International Institute of
Ecological
Economics, TheRoyal
SwedishAcademy
of Sciences, Stockholm, Sweden. He received his PhD from theUniversity
of Florida inSystems
Ecology
with a minor in Economics. He is cofounder andpresident
of the InternationalSociety
forEcological
Economics(ISEE)
and chief editor of theSociety’s journal:
Ecological
Economics. In 1992 he was awarded theSociety
for Conservation
Biology
Distinguished
Achievement Award, and in 1993 he was selected as a Pew Scholar in Conservation and the Environment.Dr. Costanza’s research has focused on the interface
between
ecological
and economic systems,particularly
atlarger temporal
andspatial
scales. This includeslandscape
level