爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5874|回复: 10

[程序设计] 求助:关于求数据年平均

[复制链接]

新浪微博达人勋

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

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

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

x
以下是我要做年平均的数据 nc数据    经纬度的nc数据我就不在这里显示出来了。。求高手帮我写下求年平均的数据
    time     
           Size:       12x1
           Dimensions: time
           Datatype:   double
           Attributes:
                       standard_name = 'time'
                       long_name     = 'time'
                       bounds        = 'time_bnds'
                       units         = 'days since 0-01-01 00:00:00'
                       calendar      = '365_day'
                       cell_methods  = 'time: mean'
    time_bnds
           Size:       2x12
           Dimensions: nb2,time
           Datatype:   double
           Attributes:
                       units        = 'days since 0-01-01 00:00:00'
                       calendar     = '365_day'
                       cell_methods = 'time: mean'        
   SHF      
           Size:       360x180x12
           Dimensions: lon,lat,time
           Datatype:   single
           Attributes:
                       long_name     = 'Total Surface Heat Flux, Including SW'
                       units         = 'watt/m^2'
                       _FillValue    = 9.97e+36
                       missing_value = 9.97e+36
                       grid_loc      = '2110'
                       cell_methods  = 'time: mean time: mean'

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

新浪微博达人勋

发表于 2014-12-14 04:41:52 | 显示全部楼层
jackykwo 发表于 2014-12-13 17:02
大神 能帮忙具体写一下代码不

比如你的数据存在一个144*90*12的数组里,命名为A, 前两个维度分别代表经纬度,第三维度12代表时间维度,你有12个月的monthly数据,沿第三维求均值就可以用:
avg_value = mean(A,3);
那个3就代表第三维

你的attributes里有一个units:days since 0-01-01......time_bnds代表时间,是用天数表示的,就代表那个月从这个标准时间算起是第几天
31046        31077        31105        31136        31166        31197        31227        31258        31289        31319
31077        31105        31136        31166        31197        31227        31258        31289        31319        31350
这个是我随便找的nc文件里的time_bands,第一列的两个数代表这个月份的第一天和最后一天,从我选的那个nc文件的标准时间1861-01-01 00:00:00 开始算起的天数,第二列就是第二个月份起至天数。。。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2014-12-13 13:03:45 | 显示全部楼层
你这是monthly的数据?直接沿着第三维(时间维度)求均值就可以了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-12-13 13:16:11 | 显示全部楼层
楼上正解。。。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2014-12-13 17:02:16 | 显示全部楼层
烟熏在你眼 发表于 2014-12-13 13:03
你这是monthly的数据?直接沿着第三维(时间维度)求均值就可以了

大神 能帮忙具体写一下代码不
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-12-13 17:12:39 | 显示全部楼层
烟熏在你眼 发表于 2014-12-13 13:03
你这是monthly的数据?直接沿着第三维(时间维度)求均值就可以了

还有 我不太明白time_bnd这个变量的作用 求解释
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-12-14 07:51:15 | 显示全部楼层
楼上完全正确
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-12-14 08:30:22 | 显示全部楼层
烟熏在你眼 发表于 2014-12-14 04:41
比如你的数据存在一个144*90*12的数组里,命名为A, 前两个维度分别代表经纬度,第三维度12代表时间维度, ...

嗯 完全明白了 说的非常清楚。。十分感谢!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-12-14 18:31:44 | 显示全部楼层
一同学习一下!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-8-12 14:01:40 | 显示全部楼层
如果第三维度不是12呢?也就是不止一年的数据,又该怎么根据时间维度求取同一经纬度的年平均值呢?{:eb315:}
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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