title: Opening Binary Files in Fortran: Status, Form, Access
body: <p>I have been working with Fortran for years, but the file I/O is still hazy to me. My understanding of <code>status</code>, <code>form</code>, <code>access</code>, <code>recl</code> is limited, because I only <i>needed</i> certain use-cases in grad school.<br>
  I know that Fortran binary files have extra information at the top of the file that describe the size of the file. But that has never been an issue for me before because I have only had to deal with Fortran files in Fortran code, where the extra information is necessary, but invisible.</p>
  
  <p><b>But how do I open a flat, binary file in Fortran?</b></p>
  
  <p>In the past, I might open a Fortran binary using Fortran by doing something like this:</p>
  
  <pre><code>open(id,file=file_name,status='old',
       +     form='unformatted',access='direct',recl=4,iostat=ok)
        if (ok .ne. 0) then
          write(1,20) id,ok,file_name
                  else
          write(1,21) id,file_name
  </code></pre>
  
  <p>But how does this change for a flat, binary file that doesn't have the Fortran header information?  More importantly, where is a good link to describe these terms in greater detail: <code>status</code>, <code>form</code>, <code>access</code>, <code>recl</code>?</p>