爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: Sylvia

[分享资料] 关于站点数据多时次处理和插值保存问题

  [复制链接]

新浪微博达人勋

发表于 2012-9-20 09:59:16 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-9-22 23:48:50 | 显示全部楼层
真好,谢谢楼主无私分享。学习了!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-10-25 16:13:18 | 显示全部楼层
楼主很强大,支持!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-11-7 14:43:53 | 显示全部楼层
最近也要把降水插值场写出来,就用了lz的方法,结果每个时次的图和直接插值画出来的都不一样,后来就还是很简单的
'set gxout fwrite'
'set fwrite ave.grd'
i=1
while (i<=62)
画出来了。

同意楼主说的个人电脑和grads不一样所以可能结果不一样,还是要自己不断摸索调试。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-15 10:25:10 | 显示全部楼层
为什么是x(j,i),而不是x(i,j)呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-15 10:53:59 | 显示全部楼层
还有x(i,j)除了在write(9)id(j),lat(j),lon(j),tim,nlev,nflag,x(j,i)ccccccccccccccccccccccccccc单时次为x(i)即可
这一行出现过外,还在哪里出现过呢?那个ave(i)后面就没有出现过了?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-15 11:04:49 | 显示全部楼层
通道9的文件好像没有找到
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-15 14:32:29 | 显示全部楼层
write(9)id(j-1),lat(j-1),lon(j-1),tim,nlev,nflag
这里J的循环已经结束了,为啥还有(j-1)在这里出现呢?感觉整个程序看得好混乱呐!!!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-15 16:41:15 | 显示全部楼层
偶依样画葫芦试了一下,于是出现了很多问题,如下:
偶需要用多个时次的站点插值成格点资料画图,fortran如下:
program main
implicit none
integer,parameter :: nt=12,tt=144
character*3 stid(nt,tt)
real:: lat(nt,tt),lon(nt,tt),uwnd(nt,tt),vwnd(nt,tt),tim
integer :: i,j
integer nflag,nlev
open(11,file='d:/wang/new/sta_speed.txt',status='old')
open(40,file='d:/wang/new/Sta_uwnd.dat',form='binary',access='sequential',status='replace')
open(50,file='d:/wang/new/Sta_vwnd.dat',form='binary',access='sequential',status='replace')
do j=1,tt
do i=1,nt
read(11,'(a3,5x,f5.2,5x,f6.2,5x,f10.5,5x,f10.5)') stid(i,j),lat(i,j),lon(i,j),uwnd(i,j),vwnd(i,j)
end do
end do
close(11)
do j=1,2
do i=1,nt
write(*,'(a3,5x,f5.2,5x,f6.2,5x,f10.5,5x,f10.5)') stid(i,j),lat(i,j),lon(i,j),uwnd(i,j),vwnd(i,j)
end do  
end do
!======write station file======!
!!!!!!!!=====uwnd=======!!!!!!!!
do j=1,tt
tim=0.0
do i=1,nt
nlev=1
nflag=1
write(40) stid(i,j),lat(i,j),lon(i,j),tim,nlev,nflag,uwnd(i,j)
end do
nlev=0
write(40) stid(nt,j),lat(nt,j),lon(nt,j),tim,nlev,nflag
!write(40) stid,lat,lon,tim,nlev,nflag
end do
close(40)
!!!!!!!!=====vwnd=======!!!!!!!!
do j=1,tt
tim=0.0
do i=1,nt
nlev=1
nflag=1
write(50) stid(i,j),lat(i,j),lon(i,j),tim,nlev,nflag,vwnd(i,j)
end do
nlev=0
write(50) stid(nt,j),lat(nt,j),lon(nt,j),tim,nlev,nflag
end do
close(50)


stop
end
然后其中sta_uwnd.dat的ctl文件如下:
dset d:/wang/new/Sta_uwnd.dat
dtype station
stnmap d:/wang/new/Sta_uwnd.map
undef -99.9
title daily sta
tdef 144 linear 00Z01Jul2012 1hr
vars 1
uwnd 0 99 stapoint data
endvars
然后在grads输入!stnmap -i d:/wang/new/sta_uwnd.ctl,grads里面就提示如下:
Name of binary data set:d:/wang/new/Sta_uwnd.dat
Number of times in the data set: 144
Number of surface variables: 1
Number of level dependent variables: 0
Starting scan of station data binary file.
Binary data file open: d:/wang/new/Sta_uwnd.dat
Processing time step 1
Invalid station hdr found in station binary file
Possible causes: Invalid level count in hdr
                  Descriptor file mismatch
                  File not station data
                  Invalid relative time
   levs = -50331648  flag = 1379892243  time = 2.35099e=33

请教各位这个问题该怎么解决呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-12-16 10:45:16 | 显示全部楼层
姚小娟 发表于 2012-12-15 16:41
偶依样画葫芦试了一下,于是出现了很多问题,如下:
偶需要用多个时次的站点插值成格点资料画图,fortran如 ...

Fortran程序有问题哈,所以数据处理地不对,grads画不出图。时间应该是外循环吧
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表