爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4767|回复: 2

Grads在绘制站点资料时提示invalid station hdr found in station binary file

[复制链接]

新浪微博达人勋

发表于 2018-2-23 22:15:12 | 显示全部楼层 |阅读模式
GrADS
系统平台: win7
问题截图:
问题概况: 各位大神,遇到一个问题,我利用清风大神之前贴出来的《Fortran+Grads站点作图详解》,想自己绘制一个站点资料的数据,数据格式已经按照站点资料的写好了,但grads没法生成map文件,MeteInfo也没法画图,不知道是哪里出问题了,请各位帮我查查。
我看过提问的智慧: 看过
自己思考时长(天): 3

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

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

x
各位大神,遇到一个问题,我利用清风大神之前贴出来的《Fortran+Grads站点作图详解》,想自己绘制一个站点资料的数据,数据格式已经按照站点资料的写好了,但grads没法生成map文件,MeteInfo也没法画图,不知道是哪里出问题了,请各位帮我查查。
以下是程序:
Fortran:
program main
  implicit none
  !=======================<<变量说明>>=====================================
  !    该数据总共有498行
  !    i是循环变量
  !    数据第一列为站号station,第二列为经度lon,第三列为纬度lat,第四列为年平均降水量rain_year
  !        第五列为≥0.1mm降水日数,第六列为≥10.mm降水日数,第七列为≥25.0mm降水日数
  !        第八列为≥10.0mm降水频率,第九列为≥25.0mm降水频率
  !================================================================================
  integer,parameter:: N=498   !N表示站点个数(数据行数)
  integer i,nlev,flag    !i表示循环变量;nlev表示总层次,地面变量为1层,如果为0表示该时次结束;flag表示地面数据,有为1,无为0
  real station(N),lon(N),lat(N),rain_year(N),rain_1(N),rain_10(N),rain_25(N),pec_10(N),pec_25(N),climate(N)
  real tim    !tim是时间偏移量,也可以说是时间步长
  tim=0.0
  nlev=1
  flag=1
  open(10,file='D:\Climatetest\station.txt',form='formatted')
    do i=1,N
      read(10,*) station(i),lon(i),lat(i),rain_year(i),rain_1(i),rain_10(i),rain_25(i),pec_10(i),pec_25(i)
    end do
  close(10)
  
  !资料质量控制
  do i=1,N
    if(lon(i)>360 .OR. lat(i)>90) then
      lon(i)=48.0
      lat(i)=107.0
      climate=999.99
    endif
  enddo


  !计算阈值数   年降水量≥600毫米,日降水10mm频率20%对应值0.6726,日降水25mm频率20%对应值0.0618
  do i=1,N
      if(rain_year(i)>6000 .AND. pec_10(i)>0.6726 .AND. pec_25(i)>0.0618) then
        climate(i)=1
      elseif(rain_year(i)>6000 .AND. pec_10(i)>0.6726 .AND. pec_25(i)<0.0618) then
        climate(i)=2
      elseif(rain_year(i)>6000 .AND. pec_10(i)<0.6726 .AND. pec_25(i)>0.0618) then
        climate(i)=3
      elseif(rain_year(i)>6000 .AND. pec_10(i)<0.6726 .AND. pec_25(i)<0.0618) then
        climate(i)=4
      else
        climate(i)=0
      endif
   enddo


  !将数据写入二进制文件
  open(20,file='D:\Climatetest\climate.grd',form='binary')
  open(30,file='D:\Climatetest\climate.txt',form='formatted')
    do i=1,N
      write(20) station(i),lat(i),lon(i),tim,nlev,flag,climate(i)
      write(30,*) station(i),lat(i),lon(i),tim,nlev,flag,climate(i)
    end do
      nlev=0
      write(20) station(i-1),lat(i-1),lon(i-1),tim,nlev,flag
!      write(30,*) station(i-1),lat(i-1),lon(i-1),tim,nlev,flag
  close(20)
  close(30)
  end



以下是CTL:
dset D:/Climatetest/climate.grd
dtype station
stnmap D:/Climatetest/dbzmap.map
undef 999
title Station Data
tdef 1 linear Jan2018 1mo
vars  1
C  0  99    climate data
endvars

然后错误提示:
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






请各位大神救救我┭┮﹏┭┮
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-2-24 00:57:36 | 显示全部楼层
你没仔细看清风的教程吧,再仔细看看站点数据写成二进制的那个程序
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-2-24 08:59:14 | 显示全部楼层
感谢你的分享,对我有很大帮助
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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