Передаю массив NumPy в подпрограмму на Фортране через f2py. Массив создан как обычно, np.zeros((n, m)), то есть в C-порядке. Фортран хочет, чтобы подряд лежали столбцы. f2py это знает и для обычного входного аргумента без единого слова делает поэлементную копию в нужном порядке. Никакого предупреждения. Работает, числа верные. Просто каждый вызов в цикле копирует матрицу.
С intent(inout) хуже, но честнее. Копия там проглотила бы изменения, поэтому f2py требует правильно расположенный массив, а иначе бросает исключение. Лечится через order='F' при создании или один вызов np.asfortranarray до цикла.
Старая история про порядок по столбцам, только на этот раз на стыке двух языков, и платишь за неё копией на каждом вызове.
Раздражает. Лучше бы уж предупреждение.