- 积分
- 3375
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-5-21
- 最后登录
- 1970-1-1

|

楼主 |
发表于 2014-1-21 09:05:58
|
显示全部楼层
本帖最后由 两米阳光 于 2014-1-22 15:13 编辑
river 发表于 2014-1-21 07:27
错误提示?还有你是把什么样的资料怎么写成grads格式的,ctl 又是怎么写的?
我觉得好好整理一下,这样方便 ...
您好~我想弱弱的问一下,这个命令的使用对象是不是应该是站点资料呢?因为普通格式不行,我网上搜那个指令,发现后边都写着站点资料。然后我就想把数据转成二进制的站点资料需要的形式,找人帮忙改了下程序,但是在使用!stnmap -i *******.ctl时出现的时间只到89,我的时间维是1~108的。。下面是我的ctl文件dset D:\analysis\wind.dat
dtype station
stnmap wind.map
undef 9999.0
title wind
tdef 108 linear 00:00Z09Sep2013 12hr
vars 2
u 0 99 *u wind
v 0 99 *v wind
endvars
对了,我的数据是108个txt文件,每个文件的内容都是一个时次的数据,我是想把108个时次的数据写到一个二进制文件里方便画图用的。下面是我的fortran程序,
program file
implicit none
integer,parameter::t=108,n=112
integer::i,j,k,m24,q,m48,m72,irec
real,dimension(4,73)::aa
real,dimension(t)::u,v
character(len=20),dimension(73)::tim
character(len=20),dimension(t)::id
character(len=8)::stn
real:: tim2
integer::nlev,nflag
real::lat=20,lon=120
open(3,file='d:\analysis\mulu1.txt',status='old')
do i=1,t
read(3,*),id(i)
enddo
close(3)
do k=1,t
open(2,file='d:\analysis\'//id(k)//'.txt',form='formatted',access='sequential')
read(2,*)
read(2,*),tim
do i=1,4
read(2,*),(aa(i,j),j=1,73)
u(k)=aa(1,25)
v(k)=aa(2,25)
enddo
close(2)
enddo
open(12,file='d:\analysis\wind.dat',form='binary')
do i=1,t
write(stn,'(a8)'),1
tim2=0.0;nlev=1;nflag=1
write(12),stn,lat,lon,tim2,nlev,nflag,u(i),v(i)
nlev=0
write(12),stn,lat,lon,tim2,nlev,nflag
end do
close(12)
end |
|