爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 25520|回复: 45

[分享资料] GrADS中闰年判断及标准差的计算

  [复制链接]

新浪微博达人勋

发表于 2012-4-22 15:27:19 | 显示全部楼层 |阅读模式

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

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

x
    前言:好些日子没发帖了。。。近来,论坛上提问数大大增多呀,真正愿意分享的却不多了,就连以前找到的好书、好资料分享也少了。。。。
    其实,一些帖子问的都是非常基础的,只要稍微搜索一下或者看一下manul什么的都能搞定。
    这种风气可能成了一种恶性循环,有些人一见大家都是来问问题的,本来愿意分享的也不敢了,怕被人拍砖挑刺。
    作为陪着论坛一路走来的老人吧,我觉得大家还是多多交流多多讨论,而不是简单的抛出个问题,让别人帮着做。或者一些隐藏的高手们呀,拿出来自己的藏家之宝吧。
    为了鼓励交流、分享、讨论等学术上的优良品质,我就抛砖引玉吧,希望大家挑刺猛拍。

    4月22日更新:源代码经过兰溪@兰溪之水,清风@mofangbao 等指点,改写成如下形式,简洁很多,特此致谢。并且取消隐藏设置,直接贴出代码了。



     事情起源于@黎大页子提供了一些数据,要用GrADS来画出数据的标准差图。数据的ctl如下,是26年9496天的逐日通量数据,希望画出逐年的标准差图:

  1. dset D:\sd\26_eof.dat
  2. title daily mean surface sensible heat flux
  3. undef 32766
  4. xdef 61 linear 119.5 1.0
  5. ydef 67 linear -15.5 1.0
  6. tdef 9496 linear 00Z01JAN1985 1dy
  7. zdef 1 linear 0 1
  8. vars 1
  9. shtfl=>shtfl 0 99 eof mod of daily mean surface sensible heat
  10. endvars


   最后的图选一张吧,给大家看看,gs见下:
1988.png
  1. *********************************************************************
  2. *  |variables uesd in this script:
  3. *  |yr:     Every year
  4. *  |mean:   Mean value of the variable shtfl.
  5. *  |sd:     Standard deviation of one year.
  6. *  |4213:  This is meant for Li.
  7. *----------------------------------------------------------
  8. *Author: Wayne Huai @ SYSU
  9. *Based on Liye's data.
  10. *Last updated: Apr 22, 2012
  11. *Special thanks to h t t p ://b bs.06climate.com/forum.php
  12. ******************************************

  13. 'reinit'
  14. 'open D:\sd\26_eof.ctl'
  15. 'set mpdset hires'
  16. yr=1985
  17. while(yr<=2010)

  18. *******************************************************
  19. *Standard deviation will be caculated
  20. 'set lat 0 50.5'
  21. 'set lon 119.5 179.5'

  22. *shtfl means surface latent heat flux
  23. 'define mean=ave(shtfl,time=00Z01JAN'yr',time=00Z31DEC'yr')'
  24. 'define sd=sqrt(ave(pow(shtfl-mean,2),time=00Z01JAN'yr',time=00Z31DEC'yr'))'

  25. *********************************************************
  26. *This is a skill to plot a shaded map with contour on it
  27. 'set grads off'
  28. 'set gxout shaded'
  29. 'd sd'
  30. 'cbarn'
  31. 'set gxout contour'
  32. 'set cthick 5'
  33. 'd sd'
  34. 'draw title Standard Deviation of 'yr' '
  35. 'printim D:\sd\4213\'yr'.png x1000 y800 white'
  36. 'c'
  37. yr=yr+1
  38. endwhile
  39. ;

评分

参与人数 1金钱 +5 收起 理由
南瓜是我 + 5 很给力!

查看全部评分

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

新浪微博达人勋

发表于 2012-4-22 16:03:18 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 19710
发表于 2012-4-22 16:20:42 | 显示全部楼层
A帮妹纸就有作品出了啊~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-4-22 16:23:48 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 19710
发表于 2012-4-22 16:25:32 | 显示全部楼层
刚看了A的大作,花了1个金钱,看来A花了不少力气,不想打击A,不过还是提点意见,其实你可以直接设置时间,这样可以避开闰年的判断~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-4-22 16:32:39 | 显示全部楼层
兰溪之水 发表于 2012-4-22 16:25
刚看了A的大作,花了1个金钱,看来A花了不少力气,不想打击A,不过还是提点意见,其实你可以直接设置时间, ...

我只听过options里面有这个设置,不过我在手册上没找到,你在documentation上看的吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-4-22 16:34:19 | 显示全部楼层
兰溪之水 发表于 2012-4-22 16:25
刚看了A的大作,花了1个金钱,看来A花了不少力气,不想打击A,不过还是提点意见,其实你可以直接设置时间, ...

你是说用%y4的那种吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 19710
发表于 2012-4-22 16:38:10 | 显示全部楼层
artmunich 发表于 2012-4-22 16:32
我只听过options里面有这个设置,不过我在手册上没找到,你在documentation上看的吗?

类比摸索+实践证明的啦,不是有set lon .., set lat ..., set lev ...,那推理应该就有set time ... 你有看我之前发的帖子就知道我经常会这样用,看,不够给力吧,都不看兰溪哥哥的帖子的~@管理员 @审核员 @版主 @超级版主
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-4-22 16:40:18 | 显示全部楼层
当然有 set time了啊。。。A的精神可嘉啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 19710
发表于 2012-4-22 16:40:43 | 显示全部楼层
黎大页子 发表于 2012-4-22 16:34
你是说用%y4的那种吗?

比如'define mean=ave(shtfl,t='idyb',t='idye')'这句
你可直接用'define mean=ave(shtfl,time=00Z01JAN'yr',time=00Z31DEC'yr')'
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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