Hassan A. Karimi
North Carolina
Supercomputing Center
3021 Cornwallis
Road
Research Triangle
Park, NC 27709
Tel: (919) 248-9249;
Fax: (919) 248-1101
E-mail:
karimi@mcnc.org
ABSTRACT
The two possible
strategies for integrating environmental models with GISs are the loosely-coupled
approach and the tightly-coupled approach. The loose coupling of environmental
models with a GIS, which relies on the transfer of data files between the
GIS and the external modeling programs, though it is the simplest of the
two approaches, is inefficient. The tight coupling of environmental models
with a GIS, which facilitates means of building the environmental programs
within the GIS or building the GIS within the environmental programs, is
currently very difficult. Taking a tightly-coupled approach is highly desired
by environmental modelers who intend to take full advantage of GISs. This
is because through tight coupling, modelers can improve their efforts in
building models and in applying their models to real-world problems. Taking
a tightly-coupled approach requires that environmental modelers develop
their models using GIS programming languages. Programming in a GIS language
consists primarily of scripting GIS functions and commands in series. In
some instances these GIS languages in GISs can simplify code requirements,
but often offer no real advantage to the modeler from a modeling point
of view. The effort in developing environmental models generally focuses
on limiting the required GIS knowledge of the model user; and on creating
a customized, menu driven display environment. Unlike the loosely-coupled
approach, in tightly-coupled models no file conversions or intermediate
file editing are necessary to run the model. The two primary inhibiting
factors in developing tightly-coupled models within GISs are a) translating
existing modeling codes into (generally) more restrictive GIS languages
and b ) the inability of GIS languages to support the same capabilities
in more traditional programming languages to accomplish processing tasks.
As modeling needs change or expand, modelers may require access to different
types of solutions. If new or separate models are needed, the tightly-coupled
approach requires the additional investment of writing and developing each
new model. Existing numerical routines in environmental models often rely
on algorithms designed for the structure of parent languages and are incompatible
with GIS languages. Attempts to perform complex environmental modeling
have met with little success due to the inability of GIS languages to handle
complex algorithms and iterative processes. Despite many advances in programming
languages (e.g., C and C++) Fortran remains the preferred programming language
by many modelers to develop numerically-oriented models. Compared with
the Fortran routine which could process hundreds of iterations almost instantaneously,
the GIS routine takes longer to process each iteration. One reason for
such performance discrepancy is that GIS programming languages are interpreters.
A compiled GIS programming language in lieu of the slower interpreted programming
language could improve processing efficiency. Environmental modelers should
have the freedom to develop models in whatever language they feel most
comfortable and are most skilled. GIS programmers should be able to take
working statistical or numerical codes and incorporate them into systems
for environmental modeling without translation. For modelers to integrate
with a GIS the integration must be open to multiple data types and formats.
Using the GIS as the pre- and post- processor on the model can improve
efficiency in developing the integration method and in managing the data
. The custom file formatting capabilities in a GIS are typically not capable
of handling the necessary preparation so modelers are left supporting a
third platform to facilitate the integration. Still, programmers can create
GIS applications which run models with the appearance of never leaving
the GIS. Data in the GIS must be readily converted into required formats
for model input and incorporated easily with non-spatial information. This
can currently only be easily accomplished with external programming and
only if the model uses ASCII file input. In order to fully integrate with
GISs, modelers should be able to build model input data sets and perform
simple file editing tasks without leaving the GIS environment. Interoperable
GISs can overcome these problems and allow tightly coupling of environmental
models with GIS functionalities. Interoperable GISs should support such
features as high-speed of data transfer, non-GIS-specificity, and high-level
of integration. Speed of data transfer is important as typically many diverse
sets of data need to be transferred between GIS functions and models. GIS-specificity
refers to the dependency of the integrated outcome on a specific GIS; GIS-specific
means that the strategy can work only with a specific GIS, whereas non-GIS-specific
means that the integrated outcome can work with different GISs. Level of
integration is the degree of synergism between all modules, GIS functions
and models. The primary goals of interoperable GISs are to facilitate application
development (environmental modeling) activities by providing easy-to-use
and flexible tools and to support similar capabilities that are available
with programming languages familiar to modelers. For example, the availability
of an embedded multi-language, perhaps within an object-oriented environment,
will greatly enhance model development efforts. Interoperable GISs will
help modelers to better utilize GISs and optimize modeling effort.