1.Fortran子程序是自己写的双线性插值程序。程序参数如下:

2. 写完Fortran程序后,利用f2py将Fortran程序编译成python可以调用的函数。命令如下:f2py -m interp2d -c main.F90。生成如图所示的文件:

3. python调用部分如下:

关于变量及参数顺序的说明:
Python和Fortran中数组的维度是相同的,与单独写两种语言不同。
在调用子程序的时候参数的顺序需要变化,当只是数据时,Fortran和python下的参数顺序是一致的,当涉及到数组以及数组维度时,python在调用Fortran程序的时候参数的顺序需要调节。
|
Fortran子程序参数顺序 |
Python调用时参数顺序 |
参数说明 |
|
a,b,c |
a,b,c |
a=a+b |
|
nx,lon |
lon,nx |
lon(nx) |
|
x,nx,lon |
x,lon,nx |
x,lon(nx) |
|
nx,ny,temp |
temp,nx,ny |
temp(ny,nx) |
|
nx,ny,lon,temp |
lon,temp,nx,ny |
lon(nx),temp(ny,nx) |
|
x,y,nx,ny,lon,temp |
x,y,lon,temp,nx,ny |
x,y,lon(nx),temp(ny,nx) |
|
x,y,nx,ny,lon,lat,temp |
x,y,lon,lat,temp,nx,ny |
x,y,lon(nx),lat(ny),temp(ny,nx) |
本文介绍了如何使用Fortran编写双线性插值程序,并通过f2py将其转换为Python可调用的函数。重点讨论了Python调用Fortran子程序时,尤其是涉及数组和维度时参数顺序的变化。
672





