previous up next print clean
Next: WHY FORTRAN90? Up: Clapp & Crawley: Fortran90: Previous: Clapp & Crawley: Fortran90:

INTRODUCTION

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.


previous up next print clean
Next: WHY FORTRAN90? Up: Clapp & Crawley: Fortran90: Previous: Clapp & Crawley: Fortran90:
Stanford Exploration Project
11/12/1997