爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3981|回复: 6

[求助] grads站点资料插值到格点绘图使用出现问题

[复制链接]

新浪微博达人勋

发表于 2016-5-5 23:10:49 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
按照南信大grads书上的方法结合嘟嘟鱼的帖子,数据只有江苏省13个站,结果显示站点小于2个,没有数值。。。。。球大神帮忙,万分感谢
图片1.png
图片2.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-5-6 09:48:13 | 显示全部楼层
第一次发帖木有经验见谅,先将站点资料处理成二进制文件,站点的经纬度和数据存放在txt中,其实也不算严格的站点资料,就是各个市的中心经纬度
32.04  118.78  1.145
34.26  117.20  0.372
34.59  119.16  0.222
32.01  120.86  0.561
31.32  120.62  1.450
31.59  120.29  1.660
31.79  119.95  0.961
33.96  118.30  0.190
33.50  119.15  0.204
33.38  120.13  0.195
32.08  121.05  0.561
32.39  119.42  0.475
34.49  119.90  0.497
之后使用fortran程序将其转换为二进制数据,所用程序如下
!----------------------------------------------------------
! This program is used to change the format of ascii data
! into the form of binary ,which is supported by the GrADS
!----------------------------------------------------------      

program main
      
real, dimension(13) :: lat,lon,ind
      open(1,file='e:\expojj.txt',status='old')
      do i=1,13
      read(1,*) lat(i),lon(i),ind(i)
enddo
close(1)

      call stntogrd(ind)
      end


      subroutine stntogrd(x)
character*8 stid(13)
real, dimension(13) :: x,lat,lon
      do i=1,13
    stid(i)=char(i)
enddo

      open(3,file='e:\expojj.grd',form='binary')
      tim=0.0
nlev=1
nflag=1
do i=1,13
    write(3) stid(i),lat(i),lon(i),tim,nlev,nflag,x(i)
enddo
      nlev=0
write(3) stid(i-1),lat(i-1),lon(i-1),tim,nlev,nflag
close(3)
return
end
之后写数据描述文件
dset      e:/expojj.grd
dtype     station
stnmap    e:/expojj.map
undef     -999.0
title     economic exposure index
tdef      1     linear       jul1951    1mo
vars      1
ind       0     99     economic exposure index
endvars
然后利用命令! stnmap生成站点映射文件
之后利用fortran程序生成格点文件,程序如下
Program  key
           parameter(nx=61, ny=61)
           real     lat(ny), lon(nx)
           real     s(nx,ny)
           open(1, file= 'e:/grid.grd', form='binary')
           lat(1)=25.0
           lon(1)=110.0
           do j=1,ny-1
                lat(j+1)=lat(j)+0.25
           enddo
           do i=1,nx-1
                lon(i+1)=lon(i)+0.25
           enddo

            do i=1,nx
                 do j=1,ny
                       s(i,j)= 1
                 enddo
            enddo
            write(1)    s
            end
写对应的描述文件
dset   e:/grid.grd
undef        -999.0
title        Grid data
xdef          61          linear     110  0.25
ydef          61          linear     25   0.25
zdef           1           linear     500    1
tdef           1          linear      jul1951     1mo
vars  1
g       0        99         grid data
endvars
最后的gs文件
'open e:/grid.ctl'
'open e:/expojj.ctl'

'set lon 112.5 122.5'
'set lat 22.5 37.5'
'set mpdset hires  cnworld'
'define   a=oacres(g,ind.2,0.2)'
'set gxout shaded'
'set gxout contour'
'd a'
'gxprint e:/expojj.png white'

'reinit'
            
以上就是所有的程序,万分感谢~
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2016-5-5 23:35:18 | 显示全部楼层
QAQ,根本看不清那个gs啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-5-6 08:06:07 | 显示全部楼层
无论哪个环节有问题,都可能出现这个问题,你能把问题详细的说说清楚吗?你是怎么做的,用到的程序都在哪?格点文件和站点文件的ctl 在哪?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-5-6 09:50:11 | 显示全部楼层
非浅 发表于 2016-5-5 23:35
QAQ,根本看不清那个gs啊

所有的步骤和程序都重新贴了一下,球帮助~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-5-6 09:51:18 | 显示全部楼层
river 发表于 2016-5-6 08:06
无论哪个环节有问题,都可能出现这个问题,你能把问题详细的说说清楚吗?你是怎么做的,用到的程序都在哪? ...

实在不好意思,我把所有的程序和步骤都贴上来了,可以帮忙看一下么,万分感谢~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-5-6 21:40:58 | 显示全部楼层
M虞凌秋M 发表于 2016-5-6 09:51
实在不好意思,我把所有的程序和步骤都贴上来了,可以帮忙看一下么,万分感谢~

实在没看出来那个图片提示的是少于两个站点······我看着生成.map文件貌似是正常的啊。
你把格点的描述文件里面这句 zdef   1   linear  500  1改成 zdef  1   linear  1 1试试
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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