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