- 积分
- 41
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-7-24
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
前提:
1.nc文件是通过遍历的方式获取的未知文件,如:
- dataFileList = systemfunc("ls " + dataFilePath + "*.nc")
- nFileList = dimsizes(dataFileList)
- ;*************************定义数据目录**************************
-
- ;*************************循环读取nc文件************************
- do i = 0,nFileList - 1
-
- currentFilePath = dataFileList(i)
- currentFile = addfile(currentFilePath, "r")
-
复制代码
2.变量也是通过遍历的方式获取的未知变量,如:
- ;***********************解析文件变量**************************
- varNames = getfilevarnames (currentFile) ; 获取nc文件中所有变量的名称
- nNames = dimsizes (varNames) ; 获取nc文件中变量的数量
- ;***********************解析文件变量**************************
-
- do n = 0,nNames - 1 currentVar = currentFile->$varNames(n) ;将变量数据读取到currentVar,
复制代码
3.通过如下方式获取变量维数:
- currentVarCount = dimsizes(currentVar) ;获取变量自身维度
- currentVarAttrsCount = dimsizes(currentVarCount) ;获取变量内部结构数据的个数
-
- ;**************************数据维数为3的绘图**********************************
- if(currentVarAttrsCount .eq. 3) then
复制代码
问题出现了:
读取的变量可能存在如下情况:
1)T(time,lon,lat)
2)P(time,lat,lon)
3)Q(isocc,lat,lon)
4)MV(bbcic,lon,lat)
当我想用:
tempVar = currentVar(time|:,lat|:,lon|:)
对变量进行排序时发现有的数据不是我想要的,所以要通过判断的方式捡出来。
由于刚刚接触ncl,这个可能比较简单,不过我确实google很久没有查到,请高手赐教,不胜感激。
|
|