NCL作为一门气象类专业的编程语言,在处理气象领域常用的资料时有着卓越的优势。虽然NCAR已经宣布停止对NCL的更新和维护,但在目前,其仍然是气象工作和科研领域中最主流的语言之一。在家园论坛,也积累了超多的经验贴。今天,先从如何使用NCL读写文件开始学习吧!
1.读取
1.1 读取气象数据
NCL (NCAR Command Language)是由Ncar专门为处理气象数据所开发的语言,所以其支持一键读取多种格式的气象资料,包括但不限于:NetCdf文件(.nc .cdf)、HDF4(.hd .hdf)、HDF4-EOS(.hdfeos)、GRID-1/GRIB-2(.grb.grib)、CCMHistory Tape(.ecm)等。
因此,在处理气象数据时,其使用十分简洁,只需要输入:
a = addfile("filename","r")
需要读取的文件就已经存在于a这个变量里了。
之后:
print(a)
就可以看到文件里各个变量的存储名称,这里给出一个nc文件的示例:
之后再根据需要,将变量取出来,如:
prec = a->precip (:,:,:) ; 读取降水量
此时,降水量就会按照上图框框内的显示,按照时间、lat维、lon维的顺序被读入。
恭喜你!至此已经完成了文件读取部分的内容,之后就可以按照自己的需要进行数据处理。
1.2 读取txt等格式数据
针对站点的CSV、TXT等数据文件,addfile则不能对其进行处理,最常用到的读取文件函数是asciiread、创建文件则常用asciiwrite。
在读取时,要注意设定读入数据的行列数和数据类型,例如按照72行,128列的维数读入浮点型数据,则输入:
data = asciiread("filename.txt",(/72,18/),"float")
针对二进制文件,最常使用的三个函数为:
直接访问:
data = fbindirread(path,rec,dim,type)
顺序访问:
data = fbindirread(path,rec,dim,type)
使用NCL模块写入的二进制:
data = cbinread(path,dim,type)
其中,path为文件路径,rec为从第几位开始读取(注意Ncl从0开始计数),dim为设定读入后的行列维数,type为数据类型。
到这里,NCL里大部分读取文件的基础操作你已经学会啦!还有疑问?NCL官网已经专门预报好了文件读写操作板块:
http: