我有几个文件,我试图提取亮度温度变量BT。我想把所有变量放到一个数组中。这就是我现在所拥有的。我已经打开了所有文件,但我无法弄清楚如何组合所有值。
filelist = FINDFILE(in_path+"ATMS-v11r1_npp_s"+date_str+"*nc",count=nfiles)
FOR i = 0, nfiles -1 DO BEGIN
PE1_fid=NCDF_OPEN(filelist(i))
field = 'BT'
NCDF_VARGET, pe1_fid, field, pe1_data
ENDFOR
答案 0 :(得分:3)
你没有说BT变量的大小/类型。我假设它是一个浮点标量,但如果不是,你会修改下面bt
的定义来匹配。
filelist = file_search(in_path + 'ATMS-v11r1_npp_s' + date_str + '*nc', $
count=nfiles)
bt = fltarr(nfiles)
for i = 0, nfiles - 1 do begin
pe1_fid = ncdf_open(filelist[i])
field = 'BT'
ncdf_varget, pe1_fid, field, e1_data
bt[i] = e1_data
endear
我还更改了一些关于代码的其他内容:
FINDFILE
已过时,请使用FILE_SEARCH
compile_opt strictarr
)。答案 1 :(得分:0)
使用IDL版本8或更高版本,您可以稍微简化一下代码,每个 e1_data 字段包含多少条目:
filelist = FILE_SEARCH(in_path + 'ATMS-v11r1_npp_s' + date_str + '*nc', count=nfiles)
bt = []
FOR i = 0,nfiles-1 DO BEGIN
pe1_fid = = ncdf_open(filelist[i])
field = 'BT'
ncdf_varget, pe1_fid, field, e1_data
bt = [bt, e1_data]
ENDFOR