麻烦高手帮小弟我将fortran转成C++ 或者帮小弟我写个注释
麻烦高手帮我将fortran转成C++ 或者帮我写个注释
我自己尝试着写了一下,希望各位帮我指正一下,多谢!!
! program mian
! integer deltat,ifh0,nx,ny,nz,nt,idx_map,nvar
! real dx,dy
! integer idx_vars(nvar)
! real var(nx,ny,nz,nt,nvar),xlon(nx,ny),xlat(nx,ny)
!---------------------------
! 调用前需要对()中的变量赋值。
.....
!--------------------------
! call putout1h(filename,deltat,ifh0,nx,ny,nz,nt,nvar,
! + dx,dy,idx_map,xlon,xlat,idx_vars,var)
! end
subroutine putout1h(filename,deltat,ifh0,nx,ny,nz,nt,nvar,
+ dx,dy,idx_map,xlon,xlat,idx_vars,var) //声明函数putout1h
integer deltat,ifh0,nx,ny,nz,nt,idx_map,nvar //声明整形
real dx,dy //浮点型声明
integer idx_vars(nvar) //声明整形数组
real var(nx,ny,nz,nt,nvar),xlon(nx,ny),xlat(nx,ny) //声明三个浮点型数组第一个五维数组
!input
character filename*200 //字符串
!temp
real,allocatable::u1h(:,:,:,:) //应该类似开辟一个内存块吧?这里不清楚了
integer idx_vars0(nvar+2) //声明一个整形数组?
!---------------------------------------------
idx_vars0(1)=1 //类似 int idx_vars0[1] = 1
idx_vars0(2)=2 //类似 int idx_vars0[2] = 2
do iv=1,nvar-2 //类似 for(int iv = 1;iv <nvar-2; i++)
idx_vars0(iv+2)=idx_vars(iv) //类似idx_vars0[iv+2]=idx_vars[iv]
enddo
allocate(u1h(nx,ny,nz,nt)) //这里好像是真的分配内存块吧,搞不灵清了
!-------------------------------------------------
! read head
open(1,file=trim(filename),form='binary') //打开文件
我自己尝试着写了一下,希望各位帮我指正一下,多谢!!
! program mian
! integer deltat,ifh0,nx,ny,nz,nt,idx_map,nvar
! real dx,dy
! integer idx_vars(nvar)
! real var(nx,ny,nz,nt,nvar),xlon(nx,ny),xlat(nx,ny)
!---------------------------
! 调用前需要对()中的变量赋值。
.....
!--------------------------
! call putout1h(filename,deltat,ifh0,nx,ny,nz,nt,nvar,
! + dx,dy,idx_map,xlon,xlat,idx_vars,var)
! end
subroutine putout1h(filename,deltat,ifh0,nx,ny,nz,nt,nvar,
+ dx,dy,idx_map,xlon,xlat,idx_vars,var) //声明函数putout1h
integer deltat,ifh0,nx,ny,nz,nt,idx_map,nvar //声明整形
real dx,dy //浮点型声明
integer idx_vars(nvar) //声明整形数组
real var(nx,ny,nz,nt,nvar),xlon(nx,ny),xlat(nx,ny) //声明三个浮点型数组第一个五维数组
!input
character filename*200 //字符串
!temp
real,allocatable::u1h(:,:,:,:) //应该类似开辟一个内存块吧?这里不清楚了
integer idx_vars0(nvar+2) //声明一个整形数组?
!---------------------------------------------
idx_vars0(1)=1 //类似 int idx_vars0[1] = 1
idx_vars0(2)=2 //类似 int idx_vars0[2] = 2
do iv=1,nvar-2 //类似 for(int iv = 1;iv <nvar-2; i++)
idx_vars0(iv+2)=idx_vars(iv) //类似idx_vars0[iv+2]=idx_vars[iv]
enddo
allocate(u1h(nx,ny,nz,nt)) //这里好像是真的分配内存块吧,搞不灵清了
!-------------------------------------------------
! read head
open(1,file=trim(filename),form='binary') //打开文件