Next: WHY FORTRAN90?
Up: Clapp & Crawley: Fortran90:
Previous: Clapp & Crawley: Fortran90:
In the last several years numerous attempts have been made to move geophysical
processing into an object oriented structure. There have been some
successes, notably the Rice Inversion Project.
SEP also has attempted to move towards an object oriented programming
style (1993,1994),
but these efforts have met with only limited success.
There are three notable reasons why SEP's attempts did not reach fruition.
First, C++, the object oriented language of choice, has a steep learning
curve, which is
especially problematic since SEPers have traditionally been Fortran 77
programmers. Second C++ contains pointers that make successful parallel
programming difficult. And finally it is only recently that SEP has moved
into 3-D processing where the benefits of the object oriented approach
are magnified.
The introduction of SEP90Biondi et al. (1996)
and loan from SGI of a 16 node power
challenge has made the time ripe for a new venture into object oriented
programming using Fortran90.
Fortran90, offers an attractive
alternative that addresses many of the shortcomings of C++.
It does not suffer from the pointer problem of C++, so is
easily parallelizable. Finally, Fortran90's basic structure is very similar to Fortran 77 which
makes it easily accessible to all of SEP.
What we propose is a Fortran90 framework that
mirrors the general data structure of SEPlib90, but provides ease of use
and freedom from much of the overhead coding that SEPlib90's relatively
complex data structure necessitates.
The paper will be broken up into five parts. The first portion will cover
some of the basic features of Fortran90 and our reason for choosing it
at as our object oriented language. We will then look into our
SEP data structure and our routines to create and destroy them.
The next section will cover data I/O and our accessors.
The fourth portion will describe our philosophy on operators and solvers,
and some of the operators that we have currently implemented.
We will conclude with our future plans for an object oriented programming
environment and our conclusions on its usefulness.
Next: WHY FORTRAN90?
Up: Clapp & Crawley: Fortran90:
Previous: Clapp & Crawley: Fortran90:
Stanford Exploration Project
11/12/1997