EXTERNL int
nc_open(const char *path, int mode, int *ncidp);
打开nc文件的函数接口
这里注意:返回值 ncidp 这个是后面所有读取函数的传入参数。相当于文件句柄
就是后面经常填写的参数“ncid”
打开对应有一个关闭函数:
EXTERNL int
nc_close(int ncid);
调用的句柄就是 ncidp
获取要读取的变量句柄:
EXTERNL int
nc_inq_varid(int ncid, const char *name, int *varidp);
这里name填入的就是要读取字段的名称,例如“ccl”或者“lat”等
返回值 varidp 就是这个变量的ID,或者叫遍历句柄。
这个值就是后面读取时经常填入的参数“varid”
下面是读取多维数据的函数:
1.读取一个值:
/* Read one value. */
EXTERNL int
nc_get_var1(int ncid, int varid, const size_t *indexp, void *ip);
前两个参数通过之前的函数获取,
indexp这个是维度的定位坐标,比如
indexp[4]={0,0,0,0} 这个就是一个思维的起始点time\level\lat\lon
又或者
indexp[2] = {20,30} 这个是2维中索引在20,30位置上的点
ip就是取出的这一个值的地址。
2.读取多个值
EXTERNL int
nc_get_vara_double(int ncid, int varid, const size_t *startp,
const size_t *startp, double *ip);
读取的起始位置:startp
读取的数量:startp
来源:oschina
链接:https://my.oschina.net/u/4383327/blog/4285811