CIFER®-MATLAB Interfaces: Development and ... - Cal Poly
CIFER®-MATLAB Interfaces: Development and ... - Cal Poly
CIFER®-MATLAB Interfaces: Development and ... - Cal Poly
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