У меня есть код Fortran, который я бы хотел использовать с Python с f2py. Но я не могу передавать массивы Numpy известной формы через f2py. (Я на Python 2.7.10 и использую gfortran и mingw32 как компиляторы).Передача массивов из Python в Fortran с результатами F2PY error = 2 (связанная с формой)
Вот мой Fortran код:
Subroutine test(nx,ny,mask)
Integer, intent(inout) :: mask(ny,nx)
!f2py intent(in,out) mask
End
Что называется, как это в Python:
from test import test
import numpy as np
nx = 2
ny = 2
mask = np.ones((nx,ny),dtype=int)
maskreturn = test(nx,ny,mask)
Запуск результаты сценария в:
error: (shape(mask,1)==nx) failed for 1st keyword nx: test:nx=2
Я не имею понятия, как чтобы он работал (мне нужна правильная передача сетки для более крупной модели). Есть ли какая-то ужасная ошибка Фортран Нуба?
не знаю, если это имеет значение, но я рекомендую явно объявить nx, ny integer в подпрограмме. – agentp