Hi all.<div><br></div><div>Thanks for the speedy responses! I&#39;ll try to respond to all...</div><div><br></div><div>The first idea is to split up the routine into two -- one to compute the final size of the arrays, and the second to fill them in. I might end up doing this, because it is simplest, but it means creating the initial conditions twice, throwing them away the first time. Not a huge deal because this setup is not that big (a few minutes), but it will take twice as long.</div>

<div><br></div><div>Sturla, this is valid Fortran, but I agree it might just be a bad idea. The Fortran 90/95 Explained book mentions this in the allocatable dummy arguments section and has an example using an array with allocatable, intent(out) in a subrountine. You can also see this in the PDF linked from <a href="http://fortranwiki.org/fortran/show/Allocatable+enhancements">http://fortranwiki.org/fortran/show/Allocatable+enhancements</a>. I have never used array pointers in Fortran, but I might give this a shot. Are there any problems returning pointers to arrays back to python though?</div>

<div><br></div><div>As for storing the arrays in the module data block, I would like to avoid that approach if possible. It doesn&#39;t make sense for these to be module level components when the size and values depend on the input to a subroutine in the module.</div>

<div><br></div><div>Best,</div><div>Casey</div><div><br><br><div class="gmail_quote">On Tue, Jul 3, 2012 at 10:24 AM, Pearu Peterson <span dir="ltr">&lt;<a href="mailto:pearu.peterson@gmail.com" target="_blank">pearu.peterson@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br><br><div class="gmail_quote"><div class="im">On Tue, Jul 3, 2012 at 5:20 PM, Sturla Molden <span dir="ltr">&lt;<a href="mailto:sturla@molden.no" target="_blank">sturla@molden.no</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
As for f2py: Allocatable arrays are local variables for internal use,<br>
and they are not a part of the subroutine&#39;s calling interface. f2py only<br>
needs to know about the interface, not the local variables.<br>
<span></span></blockquote></div><div><br>One can have allocatable arrays in module data block, for instance, where<br>they a global. f2py supports wrapping these allocatable arrays to python.<br>See, for example,<br>
<br>  <a href="http://cens.ioc.ee/projects/f2py2e/usersguide/index.html#allocatable-arrays" target="_blank">http://cens.ioc.ee/projects/f2py2e/usersguide/index.html#allocatable-arrays</a><span class="HOEnZb"><font color="#888888"><br>

<br>Pearu<br><br></font></span></div></div>
<br>_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
<br></blockquote></div><br></div>