APPENDIX B 



I. Program Name: DYFIT 



n. System Name: DYFIT 



in. Purpose: The DYFIT program calculates the average geostrophic velocity field from 

 randomly located dynamic depth anomaly data. 



IV. History: The DYFIT program was written by K. A. Mooney for the CDC 3300 computer 

 in the summer of 1978. Due to lack of memory and slow processing speed of the CDC, this 

 version was unpractical for production use. The IBM 360 version was written by K. A. Mooney 

 in the spring of 1979. This version was used to study currents in the Southern California, Gulf 

 of Mexico, and Hawaii regions. This version searched a large sequential file (created by XTRACT 

 or XTEMP) for suitable dynamic depth anomaly data. This program was highly 1/0 bound 

 because it only used about 0.5% of the records that it has to read. The current version of DYFIT 

 was written by Bob Stark in the summer of 1980. This version utilizes a COBOL subroutine 

 which reads small sections of an indexed sequential file. This reduced the I/O time required to 

 run the program. The XTRACT and XTEMP programs were rewritten and the CREATE and 

 DUPFIX programs written to build indexed sequential files for this version. 



V. Machine: IBM 360/65 



VI. Language: 



a. Languages Used 



1. IBM 'H' level FORTRAN (Optimized) 



2. IBM version 4 ANSI COBOL (Optimized) 



b. Details of FORTRAN-COBOL Unkage 



1. Compilation 



The COBOL modules (DYFIT and SETKEY/READER) are compiled in separate 

 runs of the COBOL compiler. The object module produced by the first run (ddname = SYSLIN) 

 is passed on to the second run. All of the FORTRAN subroutines are compiled in a single run of 

 the FORTRAN compiler and placed in the same data set as the COBOL object modules (SYSLIN). 

 The linkage editor is then run to link all of the object modules into a load module and store it on 

 disk. The details of this process may be seen in tlie cataloged procedure K198PDFT, which is 

 used to put the DYFIT program to disk. 



Transfer of control from main program to subroutine and back is accomplished 

 by the DYFIT program, which calls a ILBOSTPO (a library subroutine) to initialize the sub- 

 routine communications save area. This assures that all routines called by DYFIT, or called by 



Bl 



