爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 69480|回复: 92

[分享资料] ltrend命令:求线性趋势

  [复制链接]

新浪微博达人勋

发表于 2014-12-8 19:28:13 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 刷牙 于 2014-12-8 19:32 编辑

以前求线性趋势都是编程来解决,这两天看到论坛有关于ltrend的帖子http://bbs.06climate.com/forum.p ... 5576&extra=page%3D1

于是就想对比一下ltrend和matlab的结果
gradslin.png matlablin.png

从图可以看出两个结果完美match,是不是很惊喜,以后想求线性趋势就容易多了

为了节约大家的金币我就把原始下载地址贴一下
http://www.atmos.umd.edu/~bguan/grads/GrADS_Scripts.html
打开以后下载
ltrend.gs和qdims.gsf两个文件就可以了
下面是官方的解释
Usage: ltrend <input> [<output> [<slope> [<rmse>]]]
          <input>: input field. Can be any GrADS expression.                                     *输入的数据
          <output>: output field, i.e., the fitted trend. Default=<input>.
          <slope>: slope of the fitted trend, i.e., change of <input> per time step.     *线性趋势
          <rmse>: root mean square error.

但是比较遗憾的是ltrend命令没有给出用于显著性检验的相关系数(我目前没发现,希望发现的人给补充一下)

ltrend具体用法:
ctl gs
dset yearmean.dattitle 4x daily NMC reanalysis
UNDEF  -9.99e8
XDEF 43 LINEAR  72 1.5
YDEF 28 LINEAR  15 1.5
ZDEF 1 linear 0 1
TDEF 34 LINEAR 00Z01jan1979 1yr
vars 1
hgt     0   99   tropopause height
ENDVARS


'reinit''open yearmean.ctl'
'set fwrite liner.grd'  
'set gxout fwrite'   
'set lon 72 135'         
'set lat 15 55.5'
'set t 1 34'
'ltrend hgt output slope rmse'


*将线性趋势存入liner.grd文件中
'd slope'         
'disable fwrite'   
;




到这里线性趋势已经求出来了
下面再写个ctl文件和gs文件就可以出图了

ctl gs
dset liner.grd   title 4x daily NMC reanalysis            
UNDEF  -9.99e8                                 

XDEF 43 LINEAR  72 1.5           
YDEF 28 LINEAR  15 1.5         
ZDEF 1 linear 0 1
TDEF 1 LINEAR 00Z01jan1979 1yr  
vars 1                                                     
lin 0 99 tropopause height liner
ENDVARS

'reinit'
'open liner.ctl'
'set grads off'
'set grid off'
*画长江黄河
'set mpdset cnriver'
'set map 1 1 5'
*设置坐标轴的颜色线宽和字符大小
'set xlopts 1 5 0.21'
'set ylopts 1 5 0.21'

'set lat 15 55.5'
'set lon 72 135'

*设置字符串中字符的大小
'set strsiz 0.3'
'set string 1 c 6'
'draw string 3 8.1 (a) GRADS'
*设置等值线标记的颜色
'set clopts 1 5 0.18'
*设置样条插值光滑开关
'set cterp on'
*设置是否将网格值重新插值              
'set csmooth on'


'set clskip 2'
'set gxout shaded'

*'colormap blueyellowred'
'd smth9(lin)'
*等值线用黑色
'set gxout contour'
'set ccolor 1'
'd smth9(lin)'
*'cnbasemap std'
*'set mpdset hires'
'gxprint gradslin.pdf white'
'gxprint gradslin.eps white'
'gxprint gradslin.png white'
;


大功告成有木有第一次分享,有点乱,请大家将就一下{:soso_e121:}




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

新浪微博达人勋

发表于 2014-12-10 09:03:38 | 显示全部楼层
谢谢,很便捷。希望有显著性检验早日出现,要不然是不是还得用MATLAB计算呀
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2017-6-5 21:42:23 | 显示全部楼层
请问楼主,matlab当中是如何计算的线性趋势呢?
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2014-12-10 18:38:54 | 显示全部楼层
jchao99 发表于 2014-12-10 09:03
谢谢,很便捷。希望有显著性检验早日出现,要不然是不是还得用MATLAB计算呀

显著性检验估计还是得编程计算,不过可以拿来对比一下自己编程的正确性,对于我来说不用自己再想办法检验程序的正确性了,比较省事
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2014-12-10 19:13:28 | 显示全部楼层
感谢楼主分享,之前总是用程序求出之后在作图,技能get!
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2014-12-8 19:54:13 | 显示全部楼层
感谢分享,很不错哦
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-12-8 20:43:07 | 显示全部楼层
river 发表于 2014-12-8 19:54
感谢分享,很不错哦

经常得到大家的照顾,也希望分享一些自己的知识给大家
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-12-8 21:25:26 | 显示全部楼层
谢谢分享,
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-12-8 22:09:12 | 显示全部楼层
很久没用GrADS了,居然已经有了这么多的脚本,真是好啊!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-12-8 23:29:56 | 显示全部楼层
图好漂亮啊!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-12-9 10:01:09 | 显示全部楼层

我一直觉得我没什么审美细胞,谢谢你的鼓励
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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