Question

Je suis en train de lire des fichiers SMPS avec python, et a trouvé une application Fortran, donc je pensais que je donnerais f2py un coup de feu. Le problème est que je n'ai aucune expérience avec Fortran.

Je l'ai installé avec succès gfortran et f2py sur ma boîte Linux et a couru l'exemple à la page Thew de f2py, mais j'ai quelques problèmes la compilation et l'exécution du vaste programme. Il y a deux fichiers, l'un avec un emballage de lecteur de fichiers et une avec toute la logique. Ils semblent appeler les uns des autres, mais quand je compile et un lien ou d'essayer f2py, je reçois des erreurs qu'ils peuvent en quelque sorte pas trouver quelqu'un d'autre:

f95 -c FILEWR~1.F
f95 -c SMPSREAD.F90 
f95 -o smpsread SMPSREAD.o FILEWR~1.o 

FILEWR~1.o In function `file_wrapper_'
FILEWR~1.F(.text+0x3d) undefined reference to `chopen_'
usrlibgcci486-linux-gnu4.4.1libgfortranbegin.a(fmain.o) In function `main'
(.text+0x27) undefined reference to `MAIN__'
collect2 ld returned 1 exit status  

J'ai aussi essayé de changer le nom de FILE_WRAPPER.F, mais cela n'a pas aidé.

Avec f2py j'ai découvert que je devais inclure un commentaire pour l'obtenir pour accepter le format libre, et enregistré cela comme un nouveau fichier et essayé:

f2py -c -m smpsread smpsread.f90

Je reçois beaucoup de la production et des avertissements, mais l'erreur semble être celui-ci:

getctype: No C-type found in "{'typespec': 'type', 'attrspec': ['allocatable'],  'typename': 'node', 'dimension': [':']}", assuming void.

Le lecteur Fortran 90 SPMS se trouve ici .

Toute aide ou suggestion apprécié.

Était-ce utile?

La solution

Je suggère sauter l'entreprise tout à fait Fortran.

http://myweb.dal.ca/gassmann/smps2.htm

La mise en page d'enregistrement MPS est décrit ici, et semble relativement simple à prendre part en Python.

http://myweb.dal.ca/gassmann/smps2.htm#CoreMPSline

Vous devrez définir des classes Python appropriées (ou namedtuples) pour toutes les données de toute façon.

Je ne pense pas que le Fortran aide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top