- 积分
- 416
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2013-2-27
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2014-6-13 12:57:15
|
显示全部楼层
非常感谢!自己基础不扎实,查询了一下语句中的函数的相关用法,然后应该算是运行成功了吧!非常感谢!这里稍微总结了一下,希望惠及有需要的童鞋~没人看我就当自己做笔记l了~
1、正确的编写ctl文件
ctl文件中的TDEF参数之前一直没关注过,因为用的都是单一时次的数据,所以觉得没有啥影响。但是如果需要用subwrd函数提取数据文件的时间数据,这个参数就必须好好设定:
TDEF:number LINEAR star-time increment
number----数据文件中的总时次数,整型(以2000年8月的小时平均气温数据为例,下同,则 number=24*31=744)
star-time-----数据起始日期/时间,用GrADS绝对事件表示法,格式为:hh:mmZddmmmyyyy 其中hh为两位的小时,mm为两位的分钟,dd为一位或两位的日期,mmm为月份英文的前三个字母,yyyy为四位的年份。hh缺省值为00,mm为00,dd为1,月、年值不可缺省。时间字符串可以掐头去尾,但中间不能缺或者空格(例:00:00Z1Aug2000,或者00Z1Aug2000,或者Aug2000,三者等价)
increment-----数据时间增量,格式为vvkk。vv为一位或两位的增量值,整型。kk为两位的增量类型,mm为分钟,hr为小时,dy为天,mo为月,yr为年(例:1hr,表示1小时)
编辑好ctl文件后,在grads下输入命令:
open filename.ctl
可以看到时间字符串:
Time value set: 2000:8:1:0 2000:8:31:23
输入命令:
q time
可以看到具体的时间信息字符串:
=00Z01AUG2000 to 23Z31AUG2000 Tue to Thu
2、gs文件中的时间信息提取命令
我写的是:
'q time'
tt=subwrd(result,3)
*时间信息time中第三个字符串(加粗部分)是我们需要的
'enable print .\gmf\dem500-'tt'.gmf'
即输出文件:dem00-23Z31AUG2000.gmf
写完~撒花~
菜鸟基于所用的小小总结~如果大神们偶尔路过看到偶的小总结,欢迎点平纠正~ |
|