22.06.2015 Views

CIFER®-MATLAB Interfaces: Development and ... - Cal Poly

CIFER®-MATLAB Interfaces: Development and ... - Cal Poly

CIFER®-MATLAB Interfaces: Development and ... - Cal Poly

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

egions of low coherence where less weight would be assigned to the results, regardless of small<br />

numeric error. The short-term solution was to document the existence of the issue as a warning to<br />

users.<br />

3.1.2.2 Retaining Structure of Code<br />

A major concern of the project was to create new code that would be relatively easy to maintain<br />

<strong>and</strong> modify. In order for the functions created for the <strong>MATLAB</strong>-CIFER ®<br />

interface to be<br />

maintainable by CIFER ® lead programmers, the code was written to mimic existing Fortran code<br />

wherever possible. In other cases, such as the <strong>MATLAB</strong> M-files, code was made uniform both in<br />

structure <strong>and</strong> in naming conventions so as to facilitate both ease of use <strong>and</strong> ease of maintenance.<br />

Several specific methods were employed in this endeavor. First, in dealing with the Fortran mex<br />

files, the names of variables transferring data from <strong>MATLAB</strong> into the CIFER ® common blocks<br />

were made identical to the common block variables but with an ‘x’ appended on the end. This<br />

notation would allow easy identification of variables by programmers already familiar with the<br />

old Fortran code. Second, the variables were renamed when they were passed into the <strong>MATLAB</strong><br />

workspace because the Fortran variables have names suited to programming that may not be<br />

meaningful to an engineering user. Last, the various Makefiles which create the Fortran mex files<br />

were condensed <strong>and</strong> grouped according to the utilities <strong>and</strong> programs they created. Thus, all the<br />

functions that facilitate FRESPID use are created using a single Makefile.<br />

CIFER ® programs <strong>and</strong> utilities vary slightly in their method of interfacing with the user, as<br />

described in Chapter 2. Some use a screen interface where the user fills in fields <strong>and</strong> advances<br />

using the function keys. When the end of the screens is reached, the screen programs may call<br />

additional programs that send information to be processed by CIFER ® . Other programs use a<br />

26

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!