jameskermode / f90wrap

F90 to Python interface generator with derived type support
GNU Lesser General Public License v3.0
242 stars 80 forks source link

need help for f90warp command #146

Open uturuncoglu opened 3 years ago

uturuncoglu commented 3 years ago

I just wonder about why f90warp creates only interfaces for certain subroutines. I am trying to create wrapper for following file

https://github.com/esmf-org/esmf/blob/develop/src/Superstructure/ESMFMod/src/ESMF_Init.F90

using f90wrap -m init ESMF_Init.F90 but it only creates interface for esmf_frameworkinternalinit. Maybe I am missing something in here and you could help me. BTW, I tried to provide other source codes that has type definitions for ESMF_CalKind_Flag and ESMF_LogKind_Flag but it is same.

Also, is there any way to create interface for just selected subroutines. I tired to use --only option (i.e. --only ESMF_Initialize) but I am getting following error in that case,

Traceback (most recent call last):
  File "/glade/u/home/turuncu/.local/bin/f90wrap", line 211, in main
    only = args.only.lower()
AttributeError: 'list' object has no attribute 'lower'
f90wrap: AttributeError("'list' object has no attribute 'lower'")
         for help use --help
uturuncoglu commented 3 years ago

Just to update the --only error can be fixed by replacing only = args.only.lower() with only = [o.lower() for o in args.only] but again it does not create interface for ESMF_Initialize call which I don't know why. Any hint can be helpful at this point.