miércoles, 3 de noviembre de 2010

¿Cómo unir FORTRAN y PYTHON?

Para poder introducir programas FORTRAN dentro de PYTHON primero hay que añadir el paquete de "numpy", ya que contiene el ejecutable 'f2py'.
Ahora hay que seguir los siguientes tres pasos:

Crear el archivo FORTRAN "hola.f" (u "hola.f90" si prefierec usar FORTRAN90, aunque revisa el programa para que no incluya 'allocatables' ya que no los maneja bien):

Ejemplo:
C File hola.f
       subroutine foo (a)
       integer a
       print*, "Hello from Fortran!"
       print*, "a=",a
       end
Ahora ejecuta el comando:
"f2py -c -m hola hola.f"
Con esto se construirá en el directorio un módulo de extensión "hola.so" (u "hola.pyd", etc. dependiendo del S.O.).

Ahora en python:
>>> import hola
>>> print hola.__doc__
>>> print hola.foo.__doc__
>>> hola.foo(4)
Hello from Fortran!
a= 4
>>>
En definitiva, se importa el módulo del programa FORTRAN, y se ejecuta como es habitual en python.

alternativamente puedes poner:
>>> import hola
>>> from hola import *
>>> foo(5)
Hello from Fortran!
a= 5
>>>

Y te ahorras el "hola." en las llamadas a las funciones.

No hay comentarios:

Publicar un comentario