爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6649|回复: 6

[分享资料] 求如何将站点高空填图转为二进制

[复制链接]

新浪微博达人勋

发表于 2012-11-13 09:08:02 | 显示全部楼层 |阅读模式

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

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

x
求教:如何将站点高空填图转为二进制
本人的思路是:对层循环,比如有1000hpa和925hpa两层,时间固定一个时次
先按照站点、经度、纬度、时间、nlev、flag 、高度值、温度值、温度露点差值、风向值、风速值写完一层;然后再循环一次又按照 站点、经度、纬度、时间、nlev、flag 、高度值、温度值、温度露点差值、风向值、风速值写第二层;

这里的nlev=2 表示2层 。flag =0 表示无地面变量。
最后在结尾处 写8个字节的站、任意一个经度值、任意一个纬度值、时间、nlev、flag  这里nlev=0 表示结束;flag=0;表示没的地面变量

按照这种思路编程(c#语言) 生成的的二进制文件 写一个描述文件
grid12110108.ctl
dset            D:\stationgrads\grid12110108.grd
dtype           station
stnmap          D:\stationgrads\grid12110108.map
undef           -999.0
title          drought index
zdef  2 LEVERLS 1000  925
tdef          1     linear       Jul1951    1mo
vars          5
a1          2  99   drought index
a2         2 99   drought index
a3          2  99   drought index
a4          2  99   drought index
a5          2  99   drought index
endvars
用命令stnmap -i d:\grid12110108.ctl
结果地图map无法生成 总是报错

请问高手们我的错误是什么原因:
会是1.二进制格式写错了?
       2.描述文件写错了?

求高手帮忙啊!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-11-13 10:49:00 | 显示全部楼层
写高空数据我以前有个站点作图的帖子里面也提到过,你看下你的思路对不对
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-11-13 12:25:17 | 显示全部楼层
暂时没有找到清风的那个帖子,有两个相关先看一下http://bbs.06climate.com/forum.p ... p;extra=&page=2

http://bbs.06climate.com/forum.php?mod=viewthread&tid=10006
这里一个是处理高空多层次站点的,一个是处理多时次站点的,希望能有高手能把这些总结在一起吧。并且应该还会有多层次多时次的做法吧。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-11-13 13:26:19 | 显示全部楼层

版主,我没学fortran 所以看不太明白用fortan写的二进制转化 程序代码 所以看不明白思路,能详细介绍下思路吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-11-13 14:25:34 | 显示全部楼层
你看文字描述就行了,GrADS官网也有的

The level-dependent variables are written to file following the surface variables as follows:

level     -- a floating point value giving the Z dimension in world coordinates for this level.
variables -- The level-dependent variables for this level.
Each level dependent group must have all the level dependent variables present, even if they are filled with the missing data value. The group of level dependent variable data must be the same size for all levels and all reports in the file.

After all the reports for one time grouping have been written, a special header (with no data groups -- nlev set to zero) is written to indicate the end of the time group. The next time group may then start immediately after. A time group with no reports would still contain the time group terminator header record (ie, two terminators in a row).
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-11-13 15:16:39 | 显示全部楼层
英文不太好 求中文版解释 谢谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-11-13 15:56:15 | 显示全部楼层
station文件输出
tim=0.0
nlev=LEV
nflag=0
DO i=1,NN
    WRITE(21) station(i).id,station(i).lat,station(i).lon,tim,nlev,nflag
    DO k=1,LEV
    WRITE(21) PRS(k),(station(i).cor(k,j),j=1,6)
    ENDDO
ENDDO
nlev=0
WRITE(21) station(i-1).id,station(i-1).lat,station(i-1).lon,tim,nlev,nflag
CLOSE(21)

请问代码中的 PRS(k) 是什么? 是不是实际层数目比如 PRS(1)=1000  PRS(2)=925 。。。。。
  还是 PRS(1)=1  PRS(1)=2
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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