爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3562|回复: 0

[混合编程] 【心得体会】【求讨论】在大型IDL工程中,数组的存储,及操作

[复制链接]

新浪微博达人勋

发表于 2013-1-22 21:38:38 | 显示全部楼层 |阅读模式

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

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

x
以前用IDL编的都是小型的程序,可以不管IDL对数组的存储形式及操作,但是最近编的程序比较复杂了,关于数组的存储形式就不得不考虑了,现在以本人程序中的一个两维数组为例,谈谈自己的体会,并希望和各位分享:
    我要处理n=4500多条探空廓线,每条廓线中的温度T共有400层,当需要逐条廓线计算温度直减率时,问题就来了,关于T的数组应该是T[400,4500]呢,还是T[4500,400]?
       由于IDL中,数组的第一维是列,第二维是行,并且数组是按列存储的,这样应该取第一种数组形式,即T[400,4500],一方面,此时对每条廓线而言,400层的温度数据被连续存储,计算温度直减率的过程中可以连续读取,节约计算时间;另一方面,如将数组T[400,4500]保存成txt或者dat文件后,打开文件,第一段就是第一条廓线的所有温度值,这也给检查所读(或者计算得)温度是否符合常理带来了方便!
    PS:以前知道数组如果处理巧妙,可以节约很多资源,但是一直没有体会到,同坐最近的编程,才深刻的体会到,在编程计算中,数组并不是那么简单,如果处理的好,可以大大的节约计算机资源,缩短计算时间!
    上面只是我的一点心得体会,希望和大家交流~

评分

参与人数 2金钱 +20 贡献 +6 体力 +20 收起 理由
topmad + 10 + 3 + 20
mofangbao + 10 + 3

查看全部评分

密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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