NetCDF的下载和安装:
官方下载地址:NetCDF-C,截止到本文编辑时,已经发布到4.7.4版本。
这里要下载的内容,其实是NetCDF-C库的一个可执行文件(.exe),如下图所示:
可执行文件的下载位置可以根据自己电脑的位数需要下载。这里的DAP我还不太清楚是什么意思,但我发现官方读取终端ncdump的命令行提示中,提到了DAP版本支持远程读取文件,可以在命令行中直接输入远程nc文件的URL即可读取。
ncdump官方命令行提示下载后的可执行文件如下:
下载完成的exe文件点击后根据提示安装即可,安装路径可以修改为其他盘符,不一定非要装在C盘。
安装完成后如下:
其中ncdump.exe、ncgen.exe以及NetCDF.dll就在bin目录中。
环境变量的配置
1、新建系统变量
变量值为netcdf的安装路径。
新建系统变量netCDF2、将系统变量netCDF添加到Path中
在Path中新建环境变量,内容如下:
添加Path环境变量ncdump.exe和ncgen.exe的使用
终端可以从cmd中启用,类似mysql.exe的终端。注意:这里启动cmd需要“以管理员身份运行”。
进入cmd界面后,输入ncdump即可看到上面说的命令行提示信息。
NetCDF 的储存格式:
NetCDF 在储存的时候大致上分为两个区域,如同前面在讲到 CDL 档案的时候提到的样子。分为:
档头(header):主要用来记录变数名称、个数与型态;dimention名称、个数与型态;以及相关的说明内容。由于这一部分内容并没有用到实际资料储存的空间,所以使用的空间并不会多出来!
资料区(data):这一部分就是实际资料记录的地方啦!由于这一部分的空间有涉及你当初设定的变数型态,假如你的资料为整数,但是你记录的储存格式为倍精倍数,则这个区域的储存空间无形之中会变的很大!
基本上就仅分为这两个部分!所以你在看档案的时候,看前面就知道后面资料的型态!
ncgen:
这个小程式主要是用来将 CDL 档案转成 NetCDF 档案的工作!假设你已经写了一个 CDL 档案,名称为 netcdf.cdl ,你想将此档案转成 NetCDF 档,则只要下达:
# ncgen -o netcdf.ncf netcdf.cdl
就可以了,语法为: ncgen -o [output filename] [input filename]。
而且 ncgen 亦提供一个不错的选项,亦即将你的 netcdf.cdl 档案转成一个 fortran 程式,则你只要将此 程式 编译并执行后,则可以将 netcdf.cdl 转成 NetCDF 档案!
# ncgen -f netcdf.cdl > netcdf.f
上式中 netcdf.f 为 fortran 程式档。不过用此语法需要注意,因为此一语法仅适合比较小的 CDL 档案!
ncdump:
另外一个最有常用到的程式称为 ncdump ,主要的目的在于将 NetCDF 档案资料读成 ASCII 码的资料!由于 NetCDF 储存区分为两段,一个为档头、一个为资料区,若你只想读取资料区的变数使用情况,则可以下达:
# ncdump -h netcdf.ncf
则萤幕上将出现 netcdf.ncf 这个档案的档头资料。而如果你想要将所有的档案都输出成为 ASCII 码资料,则直接下达:
# ncdump netcdf.ncf | more
即可,在上式中, "| more"这个指令作用是将 netcdf.ncf 这个档案以一个画面一个画面的方式展示之意。而如果你想要将画面的资料存成一个 CDL 档案,可以下达:
# ncdump netcdf.ncf > netcdf.cdl
则程式将直接把 netcdf.ncf 档案转存成一个 netcdf.cdl 的 ASCII 码格式的档案!如此则你将看的到裡头的资料囉!
不过使用的时候要小心,因为一个 Models-3 输出档常常是几百 MB 的大小,如果你将 NetCDF 的资料直接存成 ASCII 码的档案,将耗费很多时间与空间!因此上,除非是你在除错或者是档案很小,否则不是很必要将档案转存成 ASCII 格式的档案!
而若你只想察看 netcdf.ncf 档案裡面一个名为 'TEMP' 的变数的话,你可以下达:
# ncdump -v TEMP netcdf.ncf
语法为:ncdump -v [变数名称] [档案名称]。这也是一个常用的参数喔!
内容源自:原内容
ncdump的官方命令行说明:
C:\WINDOWS\system32>ncdump
C: \WINDOWS\system32>ncdump
ncdump [-c|-h] [-v ...] [[-b|-f] [c|f]] [-l len] [-n name] [-p n[,n]] [-k] [-x] [-s] [-t|-i] [-g ...] [-w] [-Ln] file
ncdump[-c |-h][-v…][[-b |-f][c | f]][-l len][-n name][-p n[,n]][-k][-x][-s][-t |-i][-g…][-w][-Ln]文件
[-c] Coordinate variable data and header information
[-c]坐标变量数据和标题信息
[-h] Header information only, no data
[-h]只有标题信息,没有数据
[-v var1[,...]] Data for variable(s) <var1>,... only
[-v var1[,…]]变量的数据<var1>,。。。只有
[-b [c|f]] Brief annotations for C or Fortran indices in data
[-b[c | f]]数据中c或Fortran索引的简要注释
[-f [c|f]] Full annotations for C or Fortran indices in data
[-f[c | f]]数据中c或Fortran索引的完整注释
[-l len] Line length maximum in data section (default 80)
[-l len]数据段中的最大行长度(默认值80)
[-n name] Name for netCDF (default derived from file name)
[-n name]netCDF的名称(默认从文件名派生)
[-p n[,n]] Display floating-point values with less precision
[-p n[,n]]显示精度较低的浮点值
[-k] Output kind of netCDF file
[-k]netCDF文件的输出类型
[-s] Output special (virtual) attributes
[-s]输出特殊(虚拟)属性
[-t] Output time data as date-time strings
[-t]将时间数据输出为日期时间字符串
[-i] Output time data as date-time strings with ISO-8601 'T' separator
[-i]使用ISO-8601“T”分隔符将时间数据输出为日期-时间字符串
[-g grp1[,...]] Data and metadata for group(s) <grp1>,... only
[-g grp1[,…]]组的数据和元数据<grp1>,。。。只有
[-w] With client-side caching of variables for DAP URLs
[-w]带有DAP url变量的客户端缓存
[-x] Output XML (NcML) instead of CDL
[-x]输出XML(NcML)而不是CDL
[-Xp] Unconditionally suppress output of the properties attribute
[-Xp]无条件抑制properties属性的输出
[-Ln] Set log level to n (>= 0); ignore if logging not enabled.
[-Ln]将日志级别设置为n(>=0);如果未启用日志,则忽略。
file Name of netCDF file (or URL if DAP access enabled)
netCDF文件的文件名(如果启用了DAP访问,则为URL)
netcdf library version 4.7.2 of Oct 22 2019 11:54:23 $
netcdf库版本4.7.2,2019年10月22日11:54:23$
网友评论