一、IDL写入nc文件
1. 创建nc文件
nc_id = NCDF_CREATE(filepath,/CLOBBER)
;CLOBBER 设置此关键字,并且文件存在,那么在创建新的版本之前直接擦除文件内容;
2. 创建维度
y_id = NCDF_DIMDEF(nc_id,‘solar zenith’,18)
x_id = NCDF_DIMDEF(nc_id,‘view zenith’,11)
z_id = NCDF_DIMDEF(nc_id,‘type’,2)
需注意IDL的次序不同,原数组是【18,11,2】,则x=11、y=18、z=2
3.创建变量
variable_id = NCDF_VARDEF(nc_id,‘variables’,[y_id,x_id,z_id],/float)
注意顺序
4.打开定义模式
NCDF_CONTROL,nc_id, /ENDEF
5.写入数据
NCDF_VARPUT,nc_id,variable_id,dataset
关闭
NCDF_CLOSE,nc_id
二、IDL读取nc文件
1.读取文件的id
nc_id = NCDF_OPEN(filepath,/nowrite)
2.读取变量的id
var _id = NCDF_VARID(nc_id,‘variables’)
3.读取变量值
NCDF_VARGET,nc_id,var _id,dataset
关闭
NCDF_CLOSE,nc_id
读group
若nc文件有两个group,比如下面这种情况
可以在读取文件之后,在读取变量之前读group的ID,读取变量时不需要将nc_id替换成group_id即可
nc_id = NCDF_OPEN(filepath,/nowrite)
group_Id = NCDF_GROUPSINQ(nc_id)
groupName = NCDF_GROUPNAME(group_Id [0])
var _id = NCDF_VARID(group_Id [0],'variables') ;读的是第一个group 'P5'的变量
NCDF_VARGET,group_Id [0],var _id,dataset
var2 _id = NCDF_VARID(group_Id [1],'variables2');读的是第一个group 'P6'的变量
NCDF_VARGET,group_Id [1],var2 _id,dataset
NCDF_CLOSE,nc_id