IO参数
表数据相关参数
- IO_HEADER
指定输入/输出的表文件中是否有文件头记录 [false]
可以取 true|false。若值为 true,则等效于使用 -h 选项
- IO_HEADER_MARKER
输入ASCII表文件中文件头记录的标识符 [#%!;”’]
即所有以这些字符开头的行都将被当做文件的头记录。若希望输入和输出数据中使用不同的文件头标识符,则可以使用逗号分隔输入和输出数据的文件头标识符,比如若想要输出时使用冒号作为文件头记录则可以设置为 #%!;”’,:。
注解
最多支持7个字符。
- IO_N_HEADER_RECS
在使用 -h 选项 时,要跳过的文件头记录的数目 [0]
- IO_FIRST_HEADER
当整个数据文件中只有一个数据段时,是否要写这个数据段的文件头记录。默认情况下,只有当这个单独段的头段记录中有额外的内容时才会写该头记录。可选的值包括 always、never 和 maybe [maybe]
- IO_COL_SEPARATOR
GMT输出ASCII表数据时列与列之间的分隔符 [tab]
可以取 tab、space、comma 和 none
- IO_SEGMENT_MARKER
多段数据中每段数据开始的标识符 [>]
见 ASCII 表 中的相关介绍。若希望输入和输出数据中使用不同的数据段标识符,则可以使用逗号分隔输入和输出数据的段标识符,比如 >,:。
有两个特殊的标识符:
B 表示将空行作为数据段开始的标识符
N 表示将一个NaN记录作为数据段开始的标识符
若想要将字符 B 或 N 作为段数据标识符,而不是使用上面提到的特殊含义,则必须使用 B 或 N。
- IO_SEGMENT_BINARY
二进制数据中,某个记录的所有值都是NaN时该如何解释 [2]
默认情况下,当二进制数据中某个记录的值为NaN的列数超过了 IO_SEGMENT_BINARY 的值时,则将该记录解释为二进制数据中的数据段头记录。将该参数赋值为0或off可以关闭这一特性。
网格文件相关参数
- IO_NC4_CHUNK_SIZE
控制写netCDF文件时Y方向和X方向的分块大小 [auto]
分块过大或小于128通常会导致读写低性能,应尽量避免。Y方向和X方向的分块大小用逗号分隔。若取 auto,则GMT会自动在128到256之间选取合适的值。
- IO_NC4_DEFLATION_LEVEL
输出netCDF4格式的数据时所使用的压缩等级 [3]
可以取0到9的整数,0表示不压缩,9表示最大压缩。低压缩率可以提高性能并减少文件尺寸,而高压缩率虽然可以进一步减小文件尺寸,但却需要更多的处理时间。
- IO_GRIDFILE_SHORTHAND
是否支持自动识别网格文件后缀的功能 [false]
GMT中也可以将网格文件的后缀与网格文件格式关联起来这样GMT就可以直接根据文件后缀确定网格文件的格式了。
该特性通过名为
gmt.io
的文件来实现。GMT会依次在当前目录、家目录或 ~/.gmt 目录下寻找gmt.io
。gmt.io
的示例格式如下:# GMT i/o shorthand file # It can have any number of comment lines like this one anywhere # suffix format_id scale offset NaN Comments grd nf - - - Default format b bf - - - Native binary floats i2 bs - - 32767 2-byte integers with NaN value ras rb - - - Sun raster files byte bb - - 255 Native binary 1-byte grids bit bm - - - Native binary 0 or 1 grids mask bm - - 0 Native binary 1 or NaN masks faa bs 0.1 - 32767 Native binary gravity in 0.1 mGal ns ns a a - 16-bit integer netCDF grid with auto-scale and auto-offset
要使用这一特性,需要将参数 IO_GRIDFILE_SHORTHAND 设置为 true。此时,文件名 file.i2 等效于 file.i2=bs///32767,wet.mask 等效于 wet.mask=bm+n0。
- IO_GRIDFILE_FORMAT
GMT默认使用的网格文件格式 [nf]
该参数的取值格式为 ff[+sscale][+ooffset][+ninvalid]。见 网格文件格式 一节。