To enable efficient reduction of large data sets such as is done in the AVIRIS project at the Jet Propulsion Laboratory (JPL), a high-performance version of Modtran is essential. This project focuses on implementation of an efficient parallel version of Modtran on parallel systems. The sequential Modtran is a 40,000-line Fortran computer code designed to determine atmospheric transmission and radiance and developed by the Geophysics Division of the Air Force Phillips Laboratory.
In order to design an efficient parallel version of Modtran, it was necessary to understand the data structures, the I/O, and the algorithm. Since the sequential code has been used for more than 20 years and by thousands of users, maintaining the original coding style and keeping changes to a minimum was also a priority for Modtran users. After some experiments, a final parallel version of Modtran was designed using MPI (a message passing library) and domain decomposition techniques. The frequency data array in Modtran was chosen as the domain decomposition array so that the message passing will be minimized and more than 95 percent of the code will be parallely executed on parallel systems.
An efficient parallel Modtran has been implemented on distributed-memory systems by using domain decomposition techniques and the MPI communication software. It currently runs on the Intel Paragon, the CRAY T3E, the HP/Convex SPP2000, and the Beowulf-class cluster system, and can be easily ported to other distributed memory systems. The code has been tested for different input data. The numerical results of the parallel version are identical to the sequential numerical results, but the total CPU time is significantly reduced. Figure 1 gives the real time comparison with the original Modtran, and Figure 2 shows the speedup of the parallel Modtran code on the CRAY T3E and the Beowulf system. The Beowulf system gives better performance data than the CRAY T3E. This is because each node of the Beowulf system has its own I/O system to deal with the heavy I/O parts of Modtran, which appear in many places of the code, but the CRAY T3E has limits on I/O parts and also has multiple users.
![]() Figure 1. Modtran on parallel systems. |
![]() Figure 2. Speedup of parallel Modtran. |
Parallel Modtran is the first parallel version implemented at JPL, although the sequential version of Modtran has existed for many years. The parallel implementation gives significant speed-up, which will dramatically reduce the total data processing time for the AVIRIS project at JPL. Applications include atmosphere science, environmental hazards, military, ecology, geology, and some other fields. Release of the parallel Modtran to the public will have significant implications in the atmospheric transmission models community.
The parallel code has been tested with various input data, and the results illustrated here clearly demonstrate the great potential for applying this approach. A full implementation of the AVIRIS data reduction chain on a Beowulf-class cluster computer is under investigation. The parallel Modtran will be used for the AVIRIS data processing at JPL and has also been submitted to the HPCC program software exchange.
Ping Wang
NASA Jet Propulsion Laboratory
wangp@rockymt.jpl.nasa.gov
818-393-1941