ncatted可以编辑netCDF文件的属性。ncatted可以添加,创建,删除,更改和重写属性。ncatted可以将每个操作应用到文件中的每个变量。ncatted主要用于写属性。如果仅是读取属性信息,
可以使用ncks -m -M。
因为ncatted会重复使用,所以可能会增加history全局属性的大小,可以使用-h选项放置将操作记录自动添加到输出文件的history全局属性。
当使用ncatted改变_FillValue属性时,会改变相应的缺失值。如果文件内部缺失值为浮点数形式,比如1.0e36,在不同的机器之间,可能会产生不兼容的缺失值。这使得ncatted从不同的机器改
变文件中的缺失值时能够将文件联系起来而不会损失信息。更过信息见Missing Values。
为了使用ncatted,必须要理解描述属性变化的结构的含义。att_dsc是-a选项的参数,每个att_dsc都包含了5个元素,即att_dsc = att_nm, var_nm, mode, att_type, att_val
att_nm:属性名,从V4.5.1开始,接受正则表达式。var_nm:变量名,也接受正则表达式,global和group也有各自的含义。mode:编辑模式缩略名a:添加,如果不存在,则创建c:创建,如果不存在,则创建,否则,不改变已存在的属性d:删除,如果不存在,则不执行删除操作。如果att_nm留空,和指定变量相关的所有属性都将被删除。当选择了删除模式时,att_type和att_val将是多余的,可以留空。m:更改,如果有,则更改,没有,则不执行更改操作。n:如果存在,则添加到已有属性值之后,否则,不指定操作。o:重写,默认模式。
att_type:属性类型缩略名f:浮点数,即netCDF的NC_FLOAT类型d:双精度浮点数,NC_DOUBLEi, l:整数,NC_INTs:短整型,NC_SHORTc:字符,NC_CHARb:字节,NC_BYTEub:无符号字节,NC_UBYTEus:无符号短整型,NC_USHORTu, ui, ul:无符号整型,NC_UINTll, int64:整型,NC_INT64ull, uint64:无符号整型,NC_UINT64sng, string:字符串,NC_STRING
att_val:属性值
示例
| |
删除指定全局属性
1ncatted -a global_att,global,d,, filename从一个文件拷贝全局属性
1ncks -A -x one_file another_file重命名全局属性
1ncrename -a .global@.Convention,Conventions in.nc
参考链接
- https://sourceforge.net/p/nco/discussion/9830/thread/c42c68fc/
- https://linux.die.net/man/1/ncatted
- http://nco.sourceforge.net/nco.html#xmp_att_glb_cpy
- http://nco.sourceforge.net/nco.html#ncrename-netCDF-Renamer
更新记录
2019.04.12 初版
2020.01.17 添加更多操作

