Porting Scientific and Engineering Programs to Linux

You can port nuclear engineering programs written in FORTRAN and C to Linux easily and efficiently.
Library of Numerical Routines for g77 Under Linux

A free collection of routines written in FORTRAN 77 is SLATEC. This collection includes over 1400 mathematical and statistical subroutines that are very well documented with comment lines in a standard format at the head of each piece of source code. In order for this collection to be efficiently used by a work group sharing a workstation, it was found that the creation of a library archive was most appropriate. The more, head, and grep commands with some occasional awking have proven most adequate for finding the subroutine desired and reviewing the documentation integrated in the source code collection.

The SLATEC Version 4.1 library was complied and created using g77 under Linux, and none of the sources required patching. There is one hitch: some of the routines call user supplied subroutines, and therefore, cannot be included in the library. These routines are bvder, bvpor, bvsup, dbvder, dbvpor, dbvsup, dexbvp, drkfab, exbvp and rkfab. The library was created by placing the script in Listing 3 along with all of the .f sources in the directory /usr/local/src/slatec and executing the script.

Listing 3

Shell Script to Create the SLATEC Library

The resulting library, libslatec.a, is placed in /usr/local/lib and can be accessed at compile time by any user, assuming /usr/local/lib is in their library path, with a command like:

g77 -o somefile somefile.f -lslatec
Conclusions

We have demonstrated that with a little work g77 can be used to compile very significant FORTRAN code packages. With the addition of two simple C routines, g77 was used to compile MCNP, and with no source code modification at all, it compiled the vast mathematical source collection know as SLATEC. g77 has proven to be a FORTRAN compiler that can truly make Linux on Intel hardware, a workstation option for the engineer and scientist, especially one on a budget.

More information about Charles' and Gary's computational endeavors is available at www.csn.net/~ckelsey.

Charles Kelsey (ckelsey@devcg.denver.co.us) is a Radiological Engineer at the Rocky Flats Environmental Technology Site. Charles' duties include general health physics, some heavy number crunching and supplemental care and feeding of the department's UNIX workstations. He tries to stay away from VMS. These guys are so weird that they even write nuclear engineering applications for the HP48 calculator.

Gary Masters (gmasters@devcg.denver.co.us) is a Radiological Engineer at the Rocky Flats Environmental Technology Site. Gary's duties include general health physics, some light number crunching and the care and feeding of the department's UNIX workstations and DEC Alpha database server that runs VMS (yuck). Comments are welcome, and subject to being funneled to /dev/null.

______________________

Webcast
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers

Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.

Learn More

Sponsored by AMD

White Paper
Red Hat White Paper: Using an Open Source Framework to Catch the Bad Guy

Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6

Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.

Learn more about catching the bad guy in this free white paper.

Learn More

Sponsored by DLT Solutions