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) |