[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:01:13 EDT 2020
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
>
> --
> ________________________________
>
>
> Samuel H. Dupree, Jr. sdupree at speakeasy.net
> 10501 Rising Ridge Road
> Apartment 201
http://users.speakeasy.net/~sdupree/
> Fredericksburg, VA 22407, USA
>
> HOME: 540-693-1240 iPhone: 215-530-8753
FAX: 866-514-9629
>
> "The Greatest Show on Earth" is not on Earth. It's in Space!
>
> ________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/numpy-discussion/attachments/20201019/d14f6318/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rkfn78.pyf
Type: application/octet-stream
Size: 1778 bytes
Desc: not available
URL: <https://mail.python.org/pipermail/numpy-discussion/attachments/20201019/d14f6318/attachment.obj>
More information about the NumPy-Discussion
mailing list