爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3067|回复: 6

[分享资料] 站点插值问题:使用oacres命令总提示错误,但将两个ctl颠倒顺序就能画出

[复制链接]

新浪微博达人勋

发表于 2014-3-19 21:06:01 | 显示全部楼层 |阅读模式

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

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

x
问题如题,单独画站点都能正常显示,一旦使用oacres命令画插值等值线就报错。但是前几天还能正常画图,今天只是增加了几个变量,就频繁报错,可是如果将gs中ctl文件的读取顺序颠倒一下,就能绘出图。可是感觉图还是有问题,请大家多多指教!
fortran程序如下:

              real lat(50000),lon(50000),tim
            real t(50000),td(50000),dmb(24),fx(50000),fs(50000),u(50000),v(50000),r(50000),p(50000)
            character*8 stid(50000)
        integer lev,flag,i,j,n

        character*100 fname
        character*100 fname1
         character*100 sourcename
!**********read stid,lon,lat****************
        open(10,file='../aws/plot/filename.lst',form='formatted')


!input the file       

888     read(10,*,err=999,end=999) sourcename

        close(11)

        open(11,file='../aws/plot/'//sourcename)
        write(*,*) 'input filename:sourcename=',sourcename

            sourcename=trim(sourcename)
                k=len_trim(sourcename)

!output the file
        write(fname,*) sourcename(:k-4),'.dat'
                write(fname1,*) sourcename(:k-4),'.ctl'

                open(21,file='../aws/p-grd/'//fname(2:15),form='binary')

                write(*,*) 'output filename:fname=',fname
!---------------------------------------------------------------
!read the first useless lines
            read(11,*)
            read(11,*)
!read the station data
             n=0
      DO i=1,50000
                     READ(11,*,END=5,ERR=5) dmb   
                n=n+1
            lon(i)=dmb(2)
            lat(i)=dmb(3)
            fx(i)=DMB(7)
                fs(i)=DMB(8)
                        p(i)=DMB(9)
                r(i)=DMB(13)
            td(i)=DMB(17)
            t(i)=DMB(20)
5           continue      
      enddo
            write(*,*) n

!--------------------------------------------------------------------------      

       do i=1,n
              stid(i)=char(i)
           enddo

        tim=0.0
        flag=1
        lev=1
      do i=1,n

        if(fs(i)/=9999.and.fx(i)/=9999) then
              u(i)=fs(i)*sin((fx(i)-180)*3.14159/180)
              v(i)=fs(i)*cos((fx(i)-180)*3.14159/180)
              write(21) stid(i),lat(i),lon(i),tim,lev,flag,t(i),td(i),u(i),v(i),p(i),r(i)
             endif
       enddo
            lev=0
                     write(21)stid(i-1),lat(i-1),lon(i-1),tim,lev,flag
!---------------------------------------------------------------------------
!write the ctl files

      open(22,file='../aws/ctl/'//fname1(2:15))
      write(22,'(a5,a46)')'dset','e:/work/station/aws/p-grd/'//fname(2:15)
      write(22,'(a15)')'dtype   station'
      write(22,'(a40)')'stnmap e:/work/station/aws/ctl/map.map'
      write(22,'(a12)')'undef   9999'
      write(22,'(a24)')'title   station 1hr data'
!----------------------------------------------------------------------     
      write(22,'(a30)')'tdef 1 linear oct2009 1hr'
      write(22,'(a18)')'zdef  1 linear 1 1'
      write(22,'(a9)')'vars    6'
      write(22,'(a11)')'t  0  99  t'
      write(22,'(a11)')'td  0  99  td'
      write(22,'(a11)')'u  0  99  u'
      write(22,'(a11)')'v  0  99  v'
      write(22,'(a11)')'p  0  99  p'
      write(22,'(a12)')'r1 0  99  r1'
      write(22,'(a7)')'ENDVARS'
!-----------------------------------------------------------------------------
       close(21)
       close(22)

900 goto 888
999 close(10)       
        END




gs文件如下:

'reinit'
'open e:\work\station\09aws\ctl\grid.ctl'               !grid 是1*1的
'open e:\work\station\09aws\ctl\09103120.ctl'
'set lon 110 119'
'set lat 35 45'
'set mpdset cnworld'
'd oacres(g,t.2,1,10,7,4,2,1)'
'printim e:\work\station\aws\ctl\aws.png white'
;

标红色的地方如果按照这个顺序,就会提示错误:Warning from OACRES:Less than two stations
QQ图片20140319205017.jpg

但是如果将这两行颠倒一下,'d oacres(g,t.2,1,10,7,4,2,1)'改为'd oacres(g.2,t.1,1,10,7,4,2,1)'就能画图,但也会有一个提示:Data Request Warning:Request is completely outside file limits
QQ图片20140319204927.jpg
用这个方法如果插值到0.1*0.1的话,图形完全不对
aws-t1.png

密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2014-3-20 08:35:56 | 显示全部楼层
楼主对文件打开顺序以及小圆点的作用、set命令作用的对象有点搞不清哈  建议多看官方文档 多在论坛搜索相关帖子对比  上面的Fortran太长了 别人会懒得看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-3-20 08:11:36 | 显示全部楼层
论坛里有好多站点插值作图的例子,楼主搜索一下,对比看看你的问题在哪
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-3-22 19:13:11 | 显示全部楼层

多谢提点 谢谢! 我再研究研究
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-28 12:36:45 | 显示全部楼层
我在做这个时也出现和楼主一样的问题,后来楼主如何解决的?求指教,谢谢!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-29 19:39:32 | 显示全部楼层
求指教,差值画图真的好难
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-2-12 22:32:00 | 显示全部楼层
我现在就是遇到这个问题,请问楼主是怎么解决的?希望共享一下解决方案
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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