爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 16489|回复: 18

[作图] NCL画OLR随时间的变化趋势图

[复制链接]

新浪微博达人勋

发表于 2014-4-24 10:26:42 | 显示全部楼层 |阅读模式

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

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

x
beijing.000001.png 请教各位大神,我用ncl画OLR随时间的变化趋势图,怎么在图上添加趋势线呢?
下面是我的脚本和画出的图
各位大神帮忙看一下呀

load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/skewt_func.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/wind_rose.ncl"
begin
f=addfile("/yhhome/home/wangchendi/olr/olr.day.mean.nc","r")
print(f)
lat   = f->lat                                 
  lon   = f->lon                                   
  time  = f->time  
tt = time/24/365  
olr  = f->olr
olr1 = olr*0.01+327.65                  
copy_VarCoords(olr,olr1)               
printMinMax(olr1,False)                 
wtype = "png"
wtype@wkWidth = 3000
wtype@wkHeight = 3000
wks = gsn_open_wks(wtype,"beijing")
gsn_define_colormap(wks,"rainbow")
res = True
res@trYMinF= -34000
res@trYMaxF= -2000
res@trXMinF= min(tt)
res@trXMaxF= max(tt)
res@vpWidthF= 0.7
res@vpHeightF= 0.5
res@tmXBMode="Explicit"
res@tmXBValues= (/2004.0,2006.0,2008.0,2010.0,2012.0,2014.0/)
res@tmXBLabels= ispan(2004,2014,2)
res@tiMainString= "Variation of the OLR in Beijing"
res@tiXAxisString= "year"
res@tiYAxisString= "OLR (w/m^2)"
plot = gsn_csm_xy(wks,tt,olr(:,{39.9},{116.3}),res)

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

新浪微博达人勋

发表于 2014-4-25 15:25:37 | 显示全部楼层
清晨迪声 发表于 2014-4-24 21:50
olr  = f->olr
olr1 = olr*0.01+327.65                  
copy_VarCoords(olr,olr1)                 ...

这个不是改数据型,是把olr的数据属性赋给olr1,读进来是数据都是有个类型的,转数据型是这种函数:short2flt为例的同类转换函数,你自己官网找找,再思考看看~~
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2014-4-24 12:00:35 | 显示全部楼层
坐等高手解答
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-24 12:08:55 | 显示全部楼层
本帖最后由 longlivehj 于 2014-4-24 12:28 编辑

用regline做线性回归。先得到回归系数,然后做polyline趋势线。regline的用法看官网帮助,上面还有示例。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-24 14:01:55 | 显示全部楼层
longlivehj 发表于 2014-4-24 12:08
用regline做线性回归。先得到回归系数,然后做polyline趋势线。regline的用法看官网帮助,上面还有示例。

我有一个疑问,在NCL里面,regline可以做趋势线,dtrend也可以做,那这两个做出来的有什么区别么?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-24 20:45:28 | 显示全部楼层
我想说,亲,你的这个olr值貌似有点异常吧?读文件的时候要改下数据型吧?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-24 21:35:12 | 显示全部楼层
本帖最后由 沙颖凯 于 2014-4-24 21:37 编辑

如果是日值的OLR在100 W/m^2已经很大了,而且为什么LZ的值全是负的,有点奇怪
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-24 21:42:51 | 显示全部楼层
deeli 发表于 2014-4-24 20:45
我想说,亲,你的这个olr值貌似有点异常吧?读文件的时候要改下数据型吧?

好像已经改了吧
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-24 21:43:29 | 显示全部楼层
沙颖凯 发表于 2014-4-24 21:35
如果是日值的OLR在100 W/m^2已经很大了,而且为什么LZ的值全是负的,有点奇怪

我也觉得挺奇怪的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-24 21:50:42 | 显示全部楼层
deeli 发表于 2014-4-24 20:45
我想说,亲,你的这个olr值貌似有点异常吧?读文件的时候要改下数据型吧?

olr  = f->olr
olr1 = olr*0.01+327.65                  
copy_VarCoords(olr,olr1)               
printMinMax(olr1,False)   
这个不是在改数据类型么?
刚刚接触这个,有点不懂唉
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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