<div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
You&#39;re half wrong.  FortranFile can read arrays written as above, but it sees them as a single real array.  So, with the attached Fortran program::<br>
<br>
In [1]: from fortranfile import FortranFile<br>
<br>
In [2]: f = FortranFile(&#39;uxuyp.bin&#39;, endian=&#39;&lt;&#39;) # Original bug was incorrect byte order<br>
<br>
In [3]: u = f.readReals()<br>
<br>
In [4]: u.shape<br>
Out[4]: (20,)<br>
<br>
In [5]: u<br>
Out[5]:<br>
array([ 101.,  111.,  102.,  112.,  103.,  113.,  104.,  114.,  105.,<br>
        115.,  201.,  211.,  202.,  212.,  203.,  213.,  204.,  214.,<br>
        205.,  215.], dtype=float32)<br>
<br>
In [6]: ux = u[:10].reshape(2,5); uy = u[10:].reshape(2,5)<br>
<br>
In [7]: p = f.readReals().reshape(2,5)<br>
<br>
In [8]: ux, uy, p<br>
Out[8]:<br>
(array([[ 101.,  111.,  102.,  112.,  103.],<br>
       [ 113.,  104.,  114.,  105.,  115.]], dtype=float32),<br>
 array([[ 201.,  211.,  202.,  212.,  203.],<br>
       [ 213.,  204.,  214.,  205.,  215.]], dtype=float32),<br>
 array([[ 301.,  311.,  302.,  312.,  303.],<br>
       [ 313.,  304.,  314.,  305.,  315.]], dtype=float32))</blockquote><div><br>ok! That&#39;s exactlly what I was looking for, thank you.<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Awesome!  The thoughts banging around in my head right now are that some sort of mini-language that encapsulates the content of the declarations and the write statements should allow one to tease out exactly which struct call will unpack the right information.  f2py has some fortran parsing capabilities, so you might be able to use the fortran itself as the mini-language.  Something like<br>

<br>
spec = fortranfile.OutputSpecification(\<br>
&quot;&quot;&quot;real(4),dimension(2,5):: ux,uy<br>
write(11) ux,uy&quot;&quot;&quot;)<br>
ux, uy = fortranfile.FortranFile(&#39;uxuyp.bin&#39;).readSpec(spec)<br>
</blockquote></div><br>whouhou, I&#39;m really enthusiastic, I love this solution!!! I begin to code it... I&#39;ll give news around 1 june, (somethings to finish before).<br><br>One more time, thanks for this help!<br><br>
best,<br><br>David<br>