gmtsph-regional 是一个 shell 脚本,基于 GMT5 在球坐标系下绘制区域网格数据。它的设计目的是让你能够快速浏览一个 .nc.grid 文件的整体面貌,省去每次都要敲一长串 GMT 命令的麻烦。对于更精细、定制化的需求,仍然需要自行编写脚本。

安装

将脚本 dispOptions.shgmtsph-regional.sh 复制(或软链接)到任意一个位于 $PATH 中的目录,然后重新打开终端即可使用。

下载 gmtsph-regional.zip

Setup 配置

请打开 gmtsph-regional.sh 文件末尾,你会看到类似下面的行:

imgcat $jpgfile #open the output file in terminal, this requires the iTerm.app and imgcat.sh
open $jpgfile #'open' is a command in-build within MacOS

可按你的环境选用其中一种。若使用 Ubuntu,可以用命令 see;其他 Linux 发行版对应的命令需自行确认。思路都是一样的。

用法

gmtsph-regional -i<grid-data> [-r<xmin>/<xmax>/<ymin>/<ymax>] [-u<unit>] [-c<cpt-file>] [-a<x-label>,<y-label>] [-t<x-tick>,<y-tick>] [-v<c-tick>] [-l<size>] [-g] [-G<grad-data>] [-b] [-n] [-p]

选项说明

唯一必须输入的参数是网格文件名,即可快速查看文件面貌。若想细致调整,可使用以下选项:

  • -i:输入网格文件名。最好使用 .nc 文件,不过 GMT5 也支持 Surfer 的网格格式。注意数据范围不应跨越赤道,否则 GMT5 的 -JL 投影会触发内部错误。基于这一点,你也可以很方便地修改脚本中 grdimage 命令的 -J 选项来改用其他投影。
  • -r:输入网格数据的范围,默认使用全部数据范围;使用此选项可强制自定义绘图范围。
  • -u:输入数据的单位。特殊情况下,若数据单位为米而想用 km 标注色标,可将参数设为 km+Uk 以开启该功能。
  • -c:用于生成数据专属 cpt 文件的输入 cpt 文件。默认使用 GMT 的 grd2cpt 命令;若想直接使用输入 cpt 文件,需用 -n 选项禁用 grd2cpt
  • -a:用逗号分隔的坐标轴标签。
  • -t:手动设置坐标轴标注的间隔。
  • -v:手动设置色标标注的间隔。
  • -l:从预定义类型 exsmallsmallmiddlelarge 中选择页面布局,各类型的具体数值见脚本内部。
  • -b:绘制海岸线。
  • -g:额外叠加一层地形阴影,使输出图像具有 3D 质感,默认使用输入网格数据。
  • -G:用另一个网格文件绘制地形阴影,注意该文件范围应等于或大于数据网格。
  • -n:禁用 grd2cpt
  • -p:反转 -c 选项指定的颜色模式;若使用了 -n 选项则此选项无效。

示例

用以下命令绘制 example.nc。输出文件名取自输入网格文件名,脚本会同时输出一张 png(无背景)和一张 eps 文件:

gmtsph-regional -i example.nc

输出效果如下:

gmtsph-regional 示例图