[Numpy-discussion] Attempting to wrap a Fortran-77 subroutine using f2py but I haven't been able to understand what is causing the error

Samuel Dupree sdupree at speakeasy.net
Mon Oct 19 13:35:04 EDT 2020


One more question. Where can I find a documentation on f2py that covers 
issues like assumed shaped arrays, and issues such as the one discussed 
in this post?

Sam Dupree.


On October/19/2020 13:01:13, Melissa Mendonça wrote:
> Sure, you can use assume-shape arrays, but if you generate a signature 
> file using
>
> $ f2py rkfn78.for -m rkfn78 -h rkfn78.pyf
>
> you can see that f2py correctly determines n to be the length of the 
> array Y, but since YP also depends on n, that's what generated the 
> error you saw the first time.
>
> If you change the .pyf signature file to the one attached to this 
> message, delete your original cf2py lines in the .for file and compile 
> it all using
>
> $ f2py -c rkfn78.pyf rkfn78.for --fcompiler=gfortran --f77flags="-c -O 
> -Wall" -m rkfn78
>
> then you'll have no trouble with assumed-shape arrays.
>
> Cheers,
>
> Melissa
>
> On Mon, Oct 19, 2020 at 1:03 PM Samuel Dupree <sdupree at speakeasy.net 
> <mailto:sdupree at speakeasy.net>> wrote:
> >
> > Melissa,
> >
> > Thank you for answering my post. I made the changes you recommended 
> and the code compiles successfully. But I do have one question. The 
> arrays being passed in the CALL to FCN were treated as assumed shaped 
> arrays in the called subroutine. Are assumed shaped arrays a problem 
> for f2py?
> >
> > Sam Dupree.
> >
> >
> > On October/19/2020 09:16:02, Melissa Mendonça wrote:
> >
> > Hello, Sam, sorry for taking so long to answer!
> >
> > The problem seems to be that you are using
> >
> > cf2py depend(in) Y, YP
> >
> > instead of
> >
> > cf2py depend(n) Y, YP <- (note that there was a spurious i in that 
> depend expression)
> >
> > and that the callback FCN needs the dimension n as an argument. I 
> was able to compile your code correctly after making these changes.
> >
> > If you have any further questions let me know, I hope this helps.
> >
> > Cheers,
> >
> > Melissa
> >
> >
> > On Wed, Oct 14, 2020 at 4:03 AM Samuel Dupree <sdupree at speakeasy.net 
> <mailto:sdupree at speakeasy.net>> wrote:
> >>
> >> I'm attempting to wrap a Fortran-77 source member using f2py. I'm
> >> running he Anaconda distribution for Python 3.7.6 on a Mac Pro (2019)
> >> under Mac OS X Catalina (ver. 10.15.6). The version of NumPy I'm 
> running
> >> is 1.18.3.
> >>
> >> I've attached a copy of the Fortran source code to this note (see
> >> rkfn78.for). The command I'm using to wrap this code is
> >>
> >> f2py3 -c rkfn78.for --fcompiler=gfortran --f77flags="-c -O -Wall" 
> -m rkfn78
> >>
> >> The output I get is captured in the file rkfn78_build_output.txt.
> >>
> >> I don't understand the cause behind the error message I get, so any
> >> advice would be welcomed.
> >>
> >> Sam Dupree.
> >> _______________________________________________
> >> NumPy-Discussion mailing list
> >> NumPy-Discussion at python.org <mailto:NumPy-Discussion at python.org>
> >> https://mail.python.org/mailman/listinfo/numpy-discussion 
> <https://mail.python.org/mailman/listinfo/numpy-discussion>
> >
> >
> > _______________________________________________
> > NumPy-Discussion mailing list
> > NumPy-Discussion at python.org <mailto:NumPy-Discussion at python.org>
> > https://mail.python.org/mailman/listinfo/numpy-discussion 
> <https://mail.python.org/mailman/listinfo/numpy-discussion>
> >

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/numpy-discussion/attachments/20201019/bcbac6c2/attachment-0001.html>


More information about the NumPy-Discussion mailing list