爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 33392|回复: 29

[作图] NCL 时间-经度 剖面图 时间转换

[复制链接]

新浪微博达人勋

发表于 2015-10-27 09:07:04 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 朝夕木兰 于 2015-10-27 09:16 编辑

ncl 画时间-经度图,大家可能会和我一样碰到时间坐标转换的问题。将时间转换,并且显示在图上,主要需要两部分命令。
一是加载  load "$NCARG_ROOT/lib/ncarg/nclscripts/contrib/time_axis_labels.ncl"
二是坐标轴转换
restick = True
restick@ttmFormat = "%Y"
restick@ttmAxis   = "YL"
restick@ttmMajorStride = 30
time_axis_labels( var&time,  res, restick )
代码贴出来供大家参考。
  1. ; ===========================================
  2. ; hov.ncl
  3. ; ===========================================
  4. load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
  5. load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
  6. load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
  7. load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
  8. load "$NCARG_ROOT/lib/ncarg/nclscripts/contrib/time_axis_labels.ncl"
  9. ; ===========================================
  10. begin
  11. f     = addfile("sst_ff.nc", "r")
  12. var   = f->sst(:,10,:)         
  13. ;time  =  cd_calendar(f->time,-1)
  14. ;print (time)
  15. ;==============================================
  16. ; create color plot
  17. ;=============================================
  18. wks  = gsn_open_wks ("x11", "sst" )            ; open ps file
  19. gsn_define_colormap(wks,"BlWhRe")              ; choose colormap
  20. res                      = True                ; plot mods desired
  21. res@cnFillOn             = True               ; turn on color fill
  22. res@trYReverse           = True                ; reverses y-axis
  23. ;------------------time convert for axis-----------------
  24. restick = True
  25. restick@ttmFormat = "%Y"
  26. restick@ttmAxis   = "YL"
  27. restick@ttmMajorStride = 30
  28. time_axis_labels( var&time,  res, restick )
  29. ;---------------- modulate details -----------------------
  30. res@gsnStringFont = "helvetica"
  31. res@tmXBLabelFont = "helvetica"
  32. res@tmYLLabelFont = "helvetica"

  33. res@gsnSpreadColors      = True               ; use full range of colors

  34. res@lbOrientation        = "vertical"
  35. res@lbLabelFont          = "helvetica"
  36. res@lbLabelFontHeightF   = 0.02

  37. res@tiYAxisString = "Year"
  38. res@tiYAxisFont   = "helvetica"
  39. ;-----------------------plot-----------------------------
  40. plot = gsn_csm_hov(wks, var, res)
  41. end
复制代码

评分

参与人数 2金钱 +11 贡献 +2 收起 理由
cyccyc + 1 很给力!
mofangbao + 10 + 2

查看全部评分

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

新浪微博达人勋

 楼主| 发表于 2015-10-27 09:10:22 | 显示全部楼层

出图

本帖最后由 朝夕木兰 于 2015-10-27 09:14 编辑

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

新浪微博达人勋

发表于 2015-10-27 09:20:56 | 显示全部楼层
把时间序列倒过来是不是更好一些?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-10-27 11:19:58 | 显示全部楼层
tsl08 发表于 2015-10-27 09:20
把时间序列倒过来是不是更好一些?

我自己的分析需要,就用res@trYReverse           = True                ; reverses y-axis   把时间倒过来了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-11-17 13:28:01 | 显示全部楼层
赞  赞  正需要  
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-11-28 10:52:38 | 显示全部楼层
谢谢楼主呀~~~~~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-11-30 09:22:30 | 显示全部楼层
不错,学习学习
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-1-17 14:34:29 | 显示全部楼层
学习学习谢谢楼主
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-1-17 14:40:52 | 显示全部楼层
楼主,如果纬度不是确定的一个,而是一段范围怎么设置呢?求教
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-3-31 20:19:13 | 显示全部楼层
subtropical 发表于 2016-1-17 14:40
楼主,如果纬度不是确定的一个,而是一段范围怎么设置呢?求教

抱歉,现在才看到。
一般时间-经度剖面图是针对某一个纬度的。比如想要南纬45度的,就把十二行改成:
var1  = f->sst(:,{-45},:)
你说的一个纬度范围,应当是要对这个范围内的数据作处理再呈现其剖面图(比如之后再平均)
var2  = f->sst(:,{-45:-60},:)选定了南纬45~60度范围
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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