Computer software programming tools for Windows, Unix, Linux, C, C++, fortran, ada. automatic code generators fortran development tools static source code analysis software test automation test coverage build management systems programming source code analyzers software development lint debuggers MIL-STD-1750A
Software development powerfully simplified

National Center for Atmospheric Research Gains Debug Power with Cleanscape FortranLint

Cleanscape FortranLint Customer Story

"Before we had FortranLint, it might take a week or two to debug a large FORTRAN code ... Now we can spot those errors in minutes with the help of FortranLint."
Dick Valent, Software Engineer
National Center for Atmospheric Research

Introduction

The software engineers at The National Center for Atmospheric Research (NCAR) develop a wide range of programs for atmospheric study and monitoring. The projects are diverse, but the designers share an important asset -- Cleanscape FortranLint, a pre-compile analysis tool. NCAR's Scientific Computing Division (SCD) manages a selection of computers -- including Cray, COMPAQ, IBM and SGI hardware -- for software designers throughout the organization, in NCAR divisions such as Atmospheric Chemistry, Atmospheric Technology, Climate and Global Dynamics and the High Altitude Observatory. This network of software development workstations is outfitted with FortranLint to help the engineers debug their code quickly and effectively.

NCAR Engineers Face FORTRAN Design Challenge

Within the last few years, NCAR software designers have had to address an important issue when writing in FORTRAN. "For many years, FORTRAN programmers got by with mis-typing, because the compilers would not catch it, and because integer and real sizes were the same," explained Dick Valent, a software engineer responsible for troubleshooting SCD's computers. "About four years ago, when type sizes changed, the compilers started causing problems for users of these time-honored but faulty codes." This situation began to cause a variety of new bugs that ranged from annoying to critical, and could easily paralyze an entire project.

NCAR Discovers FortranLint Solution

NCAR had been using FortranLint for almost ten years, and the SCD staff quickly realized that the debugger was now essential to solving this new type of bug. "The key to fixing the code was to use FortranLint to point out where the dummy arguments differed in type from the actual arguments," Valent explained. "I would run FortranLint over the code -- a library of some 350 routines -- and make all the mis-type corrections FortranLint diagnosed. These fixes involved changing the calling sequences of many of the routines."

"I have yet to figure out another way to tackle this problem without FortranLint," Valent said. "To my knowledge, there are no other alternatives. There are other FORTRAN analyzers, but none of them do what we want the most. We were looking for software to replace a utility which produced a concordance of variables belonging to a FORTRAN code. Several of our users depended heavily on these lists, in developing and maintaining large models important to NCAR's mission."

"This utility handled FORTRAN 66 code nicely, but did not work well with FORTRAN 77 code," Valent continued. "We were desperate to replace it as FORTRAN 77 became more popular. When we saw that FortranLint could make a concordance, and do much more -- like check subroutine and function calls -- we knew that general users would be interested."

Now the SCD installs the product on all their FortranLint-licensed computers and makes FortranLint documentation available on the Web to NCAR users so they can analyze their code. Valent uses FortranLint at the help-desk to analyze problem FORTRAN codes of users at NCAR. This code can include specific math libraries, like fast Fourier transforms and spherical harmonic transforms, as well as some models and large applications. The math libraries are used in general applications, and the models are used in climate research.

"We often recommend FortranLint to NCAR FORTRAN users when their initial debug efforts fail," Valent noted. "FortranLint provides a necessary functionality in the software design process at NCAR. It saves user time and computer resources."

"I have found FortranLint to be very useful for its generic, cross-platform diagnostic capabilities."

Vince Wayland, Software Engineer

CCR/PCM Modeling Group, NCAR

FortranLint Significantly Reduces Debug Time

"FortranLint's ability to analyze FORTRAN code is the main benefit to our organization," said Valent. "Before we had FortranLint, it might take a week or two to debug a large FORTRAN code. The typical error was a bad subroutine call, such as not enough arguments or an argument mismatch. Now we can spot those errors in minutes with the help of FortranLint."

The FortranLint product also offers several features that keep the tool in heavy use at NCAR. "I like FortranLint's interface checking, such as checking how subroutine calls are made, actual arguments versus dummy arguments," said Valent. "It is very easy to use, compared to other FORTRAN analyzers, and I like the way the output is laid out. It also interfaces well with UNIX when we 'grep' or otherwise search for strings in FortranLint's output."

"I have found FortranLint to be very helpful in integrating new versions of the sub-models into our Parallel Climate Model (PCM) application," added Vince Wayland, a software engineer in the CCR/PCM Modeling Group. "We are bringing up new versions of the ice and ocean models of the PCM, as well as the flux coupler which allows these components to run together in a coupled mode. FortranLint has been particularly helpful in finding errors between actual argument lists and dummy argument lists. It even diagnoses the mis-typing of actual and dummy argument pairs and detected one instance of attempting to modify a constant actual argument, which would cause a mysterious execution abnormal termination."

"FortranLint has also caused me to take notice of how much the PCM relies on FORTRAN's array structure and conformance in designing service routines," Wayland added. "Typically, these use singly dimensioned arrays and other conventions that we use. In short, I have found FortranLint to be very useful for its generic, cross-platform diagnostic capabilities.

Cleanscape Service Adds Value

When working in a software development environment, the two most important advantages of a tool are reliability and support and NCAR has found both in Cleanscape. "FortranLint works very well, and when we encounter a problem, we get a fast response from the vendor," Valent confirmed. "The few times I have called or emailed, Cleanscape has been helpful."

"We will continue to use FortranLint just as we have been for the past decade," Valent concluded. "And I would like to acknowledge Cleanscape for continuing to support and develop FortranLint, despite the amount of software development going on in other languages. In this time when FORTRAN tools are becoming increasingly rare, I appreciate FortranLint all the more."

About NCAR

The National Center for Atmospheric Research (NCAR) is based in Boulder, Colorado. NCAR's mission is to plan, organize, and conduct atmospheric and related research programs in collaboration with universities and other institutions; to provide state-of-the-art research tools and facilities to the atmospheric sciences community; to support and enhance university atmospheric science education; and to facilitate the transfer of technology to both the public and private sectors. The Center is operated by the University Corporation for Atmospheric Research (UCAR) -- a consortium of 63 universities -- under a cooperative agreement with the National Science Foundation, NCAR's primary sponsor.

> Get more information about the National Center of Atmonspheric Research

Copyright © 2002-2023 Cleanscape Software International
> Make a comment about our web site