- 积分
- 252
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-11-16
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
想把MICAPS欧洲中心细网格第四类格点数据转换为grads格点数据(多时次,多层次,多变量),写了一个Fortran程序,第一个变量转换为grads数据文件是能够正确转换的,但第二个和第三个变量在数据转换过程中,高度层次有问题,求论坛里的各位大侠指教!!!
program main
integer,parameter::x=361,y=281,z=7,g=25
real u(x,y,z,g),v(x,y,z,g),t(x,y,z,g)
character(8)::day
character(4)::cen(z)
character(4)::hour(g)
character(6)::typ(4)
data cen/'1000','925','850','700','500','200','100'/
data hour/'.000','.006','.012','.018','.024','.030','.036','.042','.048','.054','.060','.066','.072','.078','.084','.090','.096','.102','.108',&
'.114','.120','.126','.132','.138','.144'/
data typ/'U','V','T','R'/
print*,'输入日期(格式:yymmddhh,15012820)'
read(*,*)day
! print*,day
print*,'输入文件数(1-25)'
read(*,*)gg
! print*,g
do k=1,z
do l=1,gg
open(10,file='H:\ecmwf_thin\'//trim(typ(1))//'\'//trim(cen(k))//'\'//day//hour(l),status='old')
read(10,*)
read(10,*)
read(10,*)
do i=1,y
read(10,*) (u(j,i,k,l),j=1,x)
enddo
close(10)
open(10,file='H:\ecmwf_thin\'//trim(typ(2))//'\'//trim(cen(k))//'\'//day//hour(l),status='old')
read(10,*)
read(10,*)
read(10,*)
do i=1,y
read(10,*) (v(j,i,k,l),j=1,x)
enddo
close(10)
open(10,file='H:\ecmwf_thin\'//trim(typ(3))//'\'//trim(cen(k))//'\'//day//hour(l),status='old')
read(10,*)
read(10,*)
read(10,*)
do i=1,y
read(10,*) (t(j,i,k,l),j=1,x)
enddo
close(10)
enddo
enddo
open(12,file='D:\ectin\d\'//day//'.grd',status='unknown',form='binary')
do l=1,gg
do k=1,z
do i=y,1,-1
write(12) (u(j,i,k,l),j=1,x)
enddo
do i=y,1,-1
write(12) (v(j,i,k,l),j=1,x)
enddo
do i=y,1,-1
write(12) (t(j,i,k,l),j=1,x)
enddo
enddo
enddo
close(12)
end
|
|