爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11041|回复: 10

[其他] 批量读入数据后,选取其中一段时间的数据,求得其最大值?

[复制链接]
发表于 2014-11-23 15:01:25 | 显示全部楼层 |阅读模式

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

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

x
批量读入nc数据后,选取某一时间段,求这时间段内数据的最大值,已完成的脚本如下:
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"

begin                              
all_files = systemfunc ("ls /home/chenyg/ncl/air.*.nc")
fall      = addfiles (all_files, "r")   ;读入的数据个数为2
ListSetType (fall, "join")
T    = fall[:]->air  
tt =T(:,0:89,{20:70},{30:130})
???
end
;选取每个数据前90天,这样得到的tt维数表现为(2,90,26,54),我想求出各个格点上这180天(2*90)中的最大值?
我的想法是把前两个维数合并,但是实现不了,还请大神指点!
密码修改失败请联系微信:mofangbao
发表于 2014-11-23 15:08:13 | 显示全部楼层
你新定义一个数组第一维是180,分别把前后各90天的数组放进去就好了~
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-11-23 15:13:07 | 显示全部楼层
sun_shine_Xia 发表于 2014-11-23 15:08
你新定义一个数组第一维是180,分别把前后各90天的数组放进去就好了~

谢谢你哈!只有这一种办法吗?有没有什么函数可以实现呢
密码修改失败请联系微信:mofangbao
发表于 2014-11-23 15:18:25 | 显示全部楼层
有的吧,你试试dim_max_n,我还没用过这个函数,不知道能不能实现~
密码修改失败请联系微信:mofangbao
发表于 2014-11-23 15:20:13 | 显示全部楼层
上面那个函数是可以直接找最大值,reshape这个函数可以调整数组维数~
密码修改失败请联系微信:mofangbao
发表于 2014-11-24 21:25:33 | 显示全部楼层
{:5_213:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

发表于 2014-11-24 23:22:15 | 显示全部楼层
tt(2,90,26,54)前两维最大值
dim_max_n(tt, (/0, 1/))
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-11-26 10:06:21 | 显示全部楼层
longlivehj 发表于 2014-11-24 23:22
tt(2,90,26,54)前两维最大值
dim_max_n(tt, (/0, 1/))

多谢多谢大神!
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-11-26 10:06:50 | 显示全部楼层
sun_shine_Xia 发表于 2014-11-23 15:20
上面那个函数是可以直接找最大值,reshape这个函数可以调整数组维数~

好的,我试试,多谢啦
密码修改失败请联系微信:mofangbao
发表于 2014-11-26 10:45:13 | 显示全部楼层
也可以分别读两个数组,再把两个数组拼在一起,然后用dim_max_n_Wrap
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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