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

Melissa Mendonça melissawm at gmail.com
Mon Oct 19 13:53:03 EDT 2020


The documentation for f2py is not very complete, I'm afraid. I'll try to
work on that front in the next few months. For now, you can find it here:
https://numpy.org/doc/stable/f2py

Cheers,

Melissa

On Mon, Oct 19, 2020 at 2:35 PM Samuel Dupree <sdupree at speakeasy.net> wrote:

> 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>
> 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>
> 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
> >> https://mail.python.org/mailman/listinfo/numpy-discussion
> >
> >
> > _______________________________________________
> > NumPy-Discussion mailing list
> > NumPy-Discussion at python.org
> > 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/d68d27f0/attachment.html>


More information about the NumPy-Discussion mailing list