爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6775|回复: 6

[求助] grads对站点数据创建地图映射文件

[复制链接]

新浪微博达人勋

发表于 2020-5-31 21:19:22 | 显示全部楼层 |阅读模式

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

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

x
这是我写入站点文件的程序
open(2,file='e:\practise\6\b.grd',form='binary')
        do i=1,160
    tim=0.0
    nlev=1
    nflag=1
    write(2) sta(i),jd(i),wd(i),tim,nlev,nflag,b(i)
    end do
    nlev=0
    write(2) sta(160),wd(160),jd(160),tim,nlev,nflag
    close(2)
        end
这是我的ctl文件
dset e:\practise\6\b.grd
dtype station
stnmap e:\practise\6\b.map
title 线性倾向性
undef -99999.9
tdef 1 linear jan1982 1yr
vars 1
a 0 99
endvars
图片是grads的错误,有没有大神指点啊

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

新浪微博达人勋

发表于 2020-5-31 22:55:27 | 显示全部楼层
两点可能:1.第一次write的经纬度写反了,grads判断没有纬度100多的站点,所以说你这不是站点数据;2、站点sta(i)不是字符串格式,这个不确定
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-5-31 23:07:51 | 显示全部楼层
sta(i)确实不是字符串,因为老师给的资料站点就是以整数形式读出来的,我同学把站点以整数形式写进去也可以出图,我把经纬度调整过来还是不行
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-5-31 23:48:43 | 显示全部楼层
GrADS对站点数据有明确的格式要求,站号必须是字符型*8 ,纬度在前,经度在后。你这两个要求都没达到,所以报错很正常。
你的程序变量申明那一部分呢?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-6-1 20:11:20 | 显示全部楼层
你好,这是经过我修改后的整个程序,已经可以生成地图映射文件了,但d  b之后只有地图底图,没有数据,还是很苦恼,还想请您再帮帮我可以吗  
program main
        parameter(m=160,n=25)
      integer t
      character*8 sta(m)
      integer nlev,nflag,tim,st(m)
    real jd(m),wd(m),sumx(160),f0(m,n)
        real sumtt,avex(160),avet,b(160),f(160)
        sumx=0
        sumt=0
    sumtt=0
        sumxx=0
        f=0
!reading data
      open(1,file='e:\practise\6\160zhan-rainfall-summer.txt')
        do I=1,m
        read(1,*) sta(i),jd(i),wd(i),(f0(i,j),j=1,n)
      enddo
      close(1)

    do i=1,160
        do j=1,25
        sumx(i)=sumx(i)+f0(i,j)
    end do
    avex(i)=sumx(i)/25
    end do
    !print*, avex(160)

        do j=1,25
        t=1981+j
        sumtt=sumtt+t*t
        end do

        do i=1,160
        do j=1,25
        t=1981+j
        f(i)=f(i)+f0(i,j)*t
    end do
      b(i)=(f(i)-25*avex(i)*1994)/(sumtt-25*1994*1944)
    end do
   
open(20,file='e:\practise\6\b.grd',form='binary')
    tim=0.0
    nlev=1
    nflag=1
    do 100 i=1,160
        write(20) sta(i),wd(i),jd(i),tim,nlev,nflag,b(i)
100 continue      
    nlev=0
    write(20) sta(i-1),wd(i-1),jd(i-1),tim,nlev,nflag
    close(20)
        end
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-6-1 20:16:13 | 显示全部楼层
b表示的是25年的降水线性倾向值
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-6-1 21:00:29 | 显示全部楼层
问题已经解决了,原来是经纬度读反了,但还是谢谢大神对新人的关注
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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