C file: signatures.f subroutine gridloop2(a, xcoor, ycoor, nx, ny, func1) Cf2py intent(c) gridloop2 integer nx, ny Cf2py intent(c) nx,ny real*8 a(0:nx-1,0:ny-1), xcoor(0:nx-1), ycoor(0:ny-1), func1 external func1 Cf2py intent(c, out) a Cf2py intent(in) xcoor, ycoor Cf2py depend(nx,ny) a C sample call of callback function: real*8 x, y, r real*8 func1 Cf2py intent(c) x, y, r, func1 x = 1 y = 1.51981721222 r = func1(x, y) end