netcdf数据可视化(二)——Panoply简要使用说明
Panoply是由NASA开发的一款Netcdf浏览与绘图免费软件,支持多种系统平台。绘图效果还蛮不错的,可以方便地获得高质量的图件。 下载安装 下载Panoply 使用说明 Youtube使用教程 Youku使用教程
Panoply是由NASA开发的一款Netcdf浏览与绘图免费软件,支持多种系统平台。绘图效果还蛮不错的,可以方便地获得高质量的图件。 下载安装 下载Panoply 使用说明 Youtube使用教程 Youku使用教程
gmtsph-JA 是一个 shell 脚本,基于 GMT5 使用方位等距投影(azimuthal equidistant projection)绘制全球网格数据,用于快速浏览 .nc 或 .grid 文件的整体面貌。对于更精细、定制化的需求,仍然需要自行编写脚本。 安装 将脚本 dispOptions.sh 和 gmtsph-JA.sh 复制(或软链接)到任意一个位于 $PATH 中的目录,然后重新打开终端即可使用。 下载 gmtsph-JA.zip Setup 配置 请打开 gmtsph-JA.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-JA -i<grid-data> [-r<xmin>/<xmax>/<ymin>/<ymax>] [-l<clon>/<clat>/<horizon>] [-u<unit>] [-c<cpt-file>] [-a<x-label>,<y-label>] [-v<c-tick>] [-g] [-s] [-G<grad-data>] [-p<polygon-file>] 选项说明 -i:输入网格文件名。最好使用 .nc 文件,不过 GMT5 也支持 Surfer 的网格格式。注意数据范围应覆盖整个地球。 -r:输入网格数据的范围,默认使用全部数据范围;使用此选项可强制自定义绘图范围。 -l:设置投影中心经纬度与图上显示的角度范围。 -u:输入数据的单位。特殊情况下,若数据单位为米而想用 km 标注色标,可将参数设为 km+Uk 以开启该功能。 -c:用于生成数据专属 cpt 文件的输入 cpt 文件。默认使用 GMT 的 grd2cpt 命令;若想直接使用输入 cpt 文件,需用 -n 选项禁用 grd2cpt。 -a:用逗号分隔的坐标轴标签。 -v:手动设置色标标注的间隔。 -g:额外叠加一层地形阴影,使输出图像具有 3D 质感,默认使用输入网格数据。 -G:用另一个网格文件绘制地形阴影,注意该文件范围应等于或大于数据网格。 -s:绘制昼夜分界线。 -p:读取并绘制多边形边界。 示例 用以下命令绘制 example.nc。输出文件名取自输入网格文件名,脚本会同时输出一张 png(无背景)和一张 eps 文件: ...
简介与安装 ncview是由Dr. David W. Pierce编写的一款netcdf可视化工具。我们可以使用它来快速浏览netcdf格式的数据,切割获取剖面数据。ncview原生运行于类UNIX平台,运行依靠X11或者R4窗口平台。本文主要介绍如何在Mac OS和Ubuntu系统下如何安装ncview,以及基本的使用方法。 Mac OS系统下安装ncview最简单的方法是通过Homebrew进行安装,运行以下命令安装ncview: brew cask install xquartz brew install ncview Ubuntu系统下一般已经预先安装X11环境。因此,我们只需要直接安装ncview就行了: sudo apt-get ncview 界面与基本操作 安装完成以后,使用ncview浏览netcdf文件非常的简单。因为ncview运行于X11环境,因此我们需要从终端启动它。将netcdf文件的名称提供给ncview就可以开启软件,即ncview <netcdf-file>。以下是Mac OS下的终端截图,ncview将在终端显示当前的运行环境。 以下是ncview的默认显示界面,包含一个控制面板和数据显示窗口。控制面板从上至下可以分为五个部分,最上方显示当前浏览数据的一些基本信息。包括数据名称,显示中数据的最大与最小值,鼠标指示位置的坐标与数值。值得注意的两点是数据名称不等同于netcdf文件的名称,因为一个netcdf文件可能包含多个数据体(我们可以通过控制面板下方Var选项卡选择想要浏览的数据),这里显示是当前数据窗口的数据信息。第二点是为了获取更好的显示效果,ncview默认不显示超出数据正态分布部分的数值。因此在默认窗口下显示的数据最大与最小值并非数据的真实范围。如果需要,我们需要右键单击Range选项来显示全部数据。如果要快速查看某个数据点的值,我们只需要将鼠标移动到数据显示窗口的对应位置即可。 数据信息窗口下是ncview的功能按键区域。其中,第一行动画显示控制(仅在netcdf文件中包含随时间变化数据的情况下有效)。第二行为数据显示控制按键,从左至右依次为切换色标文件、反转纵坐标、反转色标、缩放显示窗口、切换色标显示方式、切换数据显示范围、切换是否使用插值显示和打印。注意使用鼠标左右键点按这些按键时分别代表向前和向后选择。 按键区域下方分别是色标显示区域,以及数据选择区域。当有多个数据体可供选择时,我们可以通过它选择需要查看的数据。控制面板最下方显示坐标轴范围与对应的坐标轴名称,我们可以通过改变横纵坐标轴所对应的数据坐标轴对数据显示进行旋转。下面本文将就部分选项进行说明。 更改色标文件 通过鼠标左右键点击色标切换按钮,我们可以向前和向后切换使用的色标文件(如下图所示),色标按键将显示当前使用的色标文件名称。色标使用的顺序可以在设置选项中进行调整。 选项卡 点击Option按键打开选项卡(如下图所示)。主要包含三个部分:显示边界线(仅在坐标轴为经纬度时可用)、数据统计方法选择和色标文件选项。我们可以开启和关闭对应色标文件和对色标文件的使用顺序进行排列。 数据编辑 点击Edit按键我们可以数据值进行人工设置,或者点击Dump Data将数据到出为文本格式。 剖面显示 点击数据显示窗口的相应位置我们可以对数据剖面进行查看,单个窗口默认最多显示5条剖面。选择窗口中X Axis对应的数据坐标轴来控制剖面显示的横坐标轴。 通过设置剖面显示窗口中X Range与Y Range值,ncview可以显示部分剖面数值。 打印数据到文件 最后,通过Print功能,我们可以将数据打印到一个PS文件(如下图),图件包含数据的一些基本信息,我们可以通过其他工具(如imagemagick)将其转换为多种图片格式,方便使用。
sh2xyz 是一个 C++ 命令行工具,利用球谐系数正演计算地形或重力数据。程序支持并行计算。 安装(编译) 需使用源码包中的 makefile 编译生成可执行文件 sh2xyz。请将 makefile 中的变量 CC 改为你使用的编译器。并行计算通过 -fopenmp 标志开启,若不需要并行可删除该标志: CC = g++-8 -fopenmp 若尚未安装 gcc: Mac OS 用户可通过 Homebrew 安装: brew install gcc Linux 用户可通过 apt 安装: apt-get install gcc 安装 gcc 后,执行 make 编译程序,再将可执行文件 sh2xyz 移动到(或软链接到)$PATH 中的任意目录,例如 /usr/local/bin。 下载 sh2xyz.zip 用法 sph2xyz -t<table> -r<lonmin>/<lonmax>/<latmin>/<latmax>[/<altitude>] -i<dlon>/<dlat> -d<type> -f<ln>/<lm>/<hn>/<hm> [-p<loc-file>] [-s<refr>/<refR>] [-g<GM>/<R>] [-n<type>] [-c<col1>,<col2>,<col3>,<col4>] [-z<alti-file>[+d<col1>,<col2>,<col3>]] [-h] > out-file 选项说明 -t:系数输入文件名。 -r:设置观测点范围,观测点的海拔可选(未设置则默认为 0)。 -i:观测点间隔。 -d:正演计算类型。 -f:用于计算的起始/结束阶次与度数。 -p:将正演结果插值到从文件读取的球面位置。 -s:参考坐标系的短半轴与长半轴。 -g:重力模型参数。若计算重力数据则必须设置此选项。 -n:连带勒让德函数的归一化类型。 -c:选择系数的输入列。 -z:从输入文件设置观测点的海拔。 -h:显示帮助信息。 示例 对最大阶数与度数均为 360 的 example.SHcoeffs 进行正演计算: ...
gmtsph-profile 是一个 shell 脚本,基于 GMT5 在极坐标系下绘制 2D 网格数据的垂直剖面图,用于快速浏览 .nc 或 .grid 文件。对于更精细、定制化的需求,仍然需要自行编写脚本。 安装 将脚本 dispOptions.sh 和 gmtsph-profile.sh 复制(或软链接)到任意一个位于 $PATH 中的目录,然后重新打开终端即可使用。 下载 gmtsph-profile.zip Setup 配置 请打开 gmtsph-profile.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-profile -i<grid-data> [-r<start-deg>/<end-deg>/<r>/<R>] [-u<unit>] [-c<cpt-file>] [-a<x-label>;<y-label>] [-f<offset>] [-h] 选项说明 -i:输入网格文件名。最好使用 .nc 文件,不过 GMT5 也支持 Surfer 的网格格式。 -r:输入网格数据的范围,默认使用全部数据范围;使用此选项可强制自定义绘图范围。 -u:输入数据的单位。 -c:用于生成数据专属 cpt 文件的输入 cpt 文件,默认使用 GMT 的 grd2cpt 命令。 -a:用分号分隔的坐标轴标签。 -f:剖面的偏移角度,默认使用 x 范围的平均值,这样会把 x 的平均值置于绘图中心。 -h:显示帮助信息。 示例 用以下命令绘制 example.nc。输出文件名取自输入网格文件名,脚本会同时输出一张 png(无背景)和一张 eps 文件: ...
gmtxy-image 是一个 shell 脚本,基于 GMT5 在直角坐标系下将 2D 网格数据绘制为图像,用于快速浏览 .nc 或 .grid 文件。对于更精细、定制化的需求,仍然需要自行编写脚本。 安装 将脚本 dispOptions.sh 和 gmtxy-image.sh 复制(或软链接)到任意一个位于 $PATH 中的目录,然后重新打开终端即可使用。 下载 gmtxy-image.zip Setup 配置 请打开 gmtxy-image.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 发行版对应的命令需自行确认。 用法 gmtxy-image.sh -i<grid-data> [-r<xmin>/<xmax>/<ymin>/<ymax>] [-u<unit>] [-c<cpt-file>] [-a<x-label>,<y-label>] [-g] [-h] 选项说明 -i:输入网格文件名。最好使用 .nc 文件,不过 GMT5 也支持 Surfer 的网格格式。 -r:输入网格数据的范围,默认使用全部数据范围;使用此选项可强制自定义绘图范围。 -u:输入数据的单位。特殊情况下,若数据单位为米而想用 km 标注色标,可将参数设为 km+Uk 以开启该功能。 -c:用于生成数据专属 cpt 文件的输入 cpt 文件,默认使用 GMT 的 grd2cpt 命令。 -a:用逗号分隔的坐标轴标签。 -g:额外叠加一层地形阴影,使输出图像具有 3D 质感,默认使用输入网格数据。 -h:显示帮助信息。 示例 用以下命令绘制 example.nc。输出文件名取自输入网格文件名,脚本会同时输出一张 png(无背景)和一张 eps 文件: ...
Gmsh是一个跨平台三维有限元网络生成与可视化软件。我们可以使用它进行三维有限元网络的前(建模)后(可视化)处理。期间需要使用到的文件即为其网格文件(后缀为.msh),建模中使用的文件格式为.geo文件,其具体格式请参见Gmsh说明文档。Gmsh网格文件主要包含对三维网络中顶点(Nodes)、几何元素(Elements)、顶点数据(NodeData)、和元素数据(ElementData)的描述。同时还可以包含对几何元素或物理元素组的定义。Gmsh定义的网络文件格式分为相对较为简单的2.0版本和Gmsh4开始使用的4.0版本。本文主要包含对Gmsh说明文档中两个版本网络文件格式部分的翻译说明,以及简单的示例文件。本文所设计的网络文件均为ASCII码文件,相应的二进制文件格式请参见Gmsh说明文档。 Gmsh2网格文件格式 文件预览 我们首先给出一个Gmsh2版本的立方体网格文件(cube.msh),使用Gmsh查看效果如下所示: 使用文本编辑器打开cube.msh,内容如下所示: $MeshFormat 2.2 0 8 $EndMeshFormat $Nodes 8 1 0.0 0.0 0.0 2 1.0 0.0 0.0 3 1.0 1.0 0.0 4 0.0 1.0 0.0 5 0.0 0.0 1.0 6 1.0 0.0 1.0 7 1.0 1.0 1.0 8 0.0 1.0 1.0 $EndNodes $Elements 1 1 5 1 10 1 2 3 4 5 6 7 8 $EndElements $NodeData 1 "node data" 1 0.0 3 0 1 8 1 0.1 2 0.1 3 0.1 4 0.1 5 1.0 6 1.0 7 1.0 8 1.0 $EndNodeData $ElementData 1 "element data" 1 0.0 3 0 1 1 1 2 $EndElementData 格式说明 $MeshFormat与$EndMeshFormat关键字其间定义了网络文件的版本(2.2)与必要信息,包括文件类型(对于ASCII码文件,其值为0)和浮点类型长度值(一般为8)。 ...
pymail 是一个 Python3 脚本,用于在终端中发送邮件,主要使用 smtplib 库。在日常科研工作中,有时一个程序要运行好几天才能出结果,我使用这个脚本在进程结束后把数据发送到自己的笔记本上,节省了大量等待时间。使用方式很简单:把脚本复制到任意目录,并软链接到 $PATH 中的目录(如 /usr/local/bin),重新打开终端即可使用。 配置 首先,可能需要将脚本第一行修改为你的 python3 所在目录。然后按如下方式修改默认设置: userName = 'username of your mail box' passWord = 'application specific password of your mail box' toAddress = ['default receiving e-mail address'] subJect = 'default subject' textMsg = 'default message.' 用法 pymail [-a<to_address>,<to_address>,...|-A<address-file>] [-s<subject>] [-t<text>|-T<text-file>] [-f<attached_file>,<attached_file>,...] [-h] [-d] 选项说明 -a / –to-address:收件地址,用逗号分隔。 -A / –ads-file:从文件读取收件地址,文件中地址也用逗号分隔。 -s / –subject:邮件主题。 -t / –text:邮件正文。 -T / –text-file:从文件读取正文。 -f / –att-file:附件文件名,用逗号分隔。 -h / –help:显示帮助信息。 -d / –defaults:显示默认设置。 下载 pymail.zip
gmtsph-regional 是一个 shell 脚本,基于 GMT5 在球坐标系下绘制区域网格数据。它的设计目的是让你能够快速浏览一个 .nc 或 .grid 文件的整体面貌,省去每次都要敲一长串 GMT 命令的麻烦。对于更精细、定制化的需求,仍然需要自行编写脚本。 安装 将脚本 dispOptions.sh 和 gmtsph-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:从预定义类型 exsmall、small、middle、large 中选择页面布局,各类型的具体数值见脚本内部。 -b:绘制海岸线。 -g:额外叠加一层地形阴影,使输出图像具有 3D 质感,默认使用输入网格数据。 -G:用另一个网格文件绘制地形阴影,注意该文件范围应等于或大于数据网格。 -n:禁用 grd2cpt。 -p:反转 -c 选项指定的颜色模式;若使用了 -n 选项则此选项无效。 示例 用以下命令绘制 example.nc。输出文件名取自输入网格文件名,脚本会同时输出一张 png(无背景)和一张 eps 文件: ...
postToBlog / post2blog 是 shell 脚本,用于在终端将 Markdown 文件发布到基于 Jekyll 的 GitHub Pages 个人博客。 其中 post2blog 是 postToBlog 的升级版:主要区别在于 post2blog 能自动处理链接的本地文件(如图片、文档)。注意脚本只会复制本地文件到你的 github.io,以 http 或 https 开头的超链接不会被处理。 安装 postToBlog:将 dispOptions.sh 与 postToBlog.sh 复制到任意 $PATH 中的目录,重新打开终端即可。 post2blog:将 post2blog.sh 复制到任意目录,并软链接到 $PATH 中的目录(如 /usr/local/bin),重新打开终端即可。 下载 post2blog.zip(含两代脚本) 配置 打开脚本并按提示修改。以 post2blog.sh 为例: 修改 _my_repository_addresses 为你的博客仓库目录,通常命名为 <YourGithubCount>.github.io,脚本默认使用第一个。 _my_repository_addresses=("Directory to your github.io" "Directory to your github.io") 修改 _posts_address 与 _posts_sub_address 为文章目录的相对路径。通常 _posts_address 为 _posts/ 无需改动,_posts_sub_address 用于将文件归入默认子目录。 _posts_address="_posts/" _posts_sub_address=`date +"%Y-%m/"` #classify your files by yyyy-mm for instance 修改 _assets_address 为资源目录相对路径。脚本会在该目录下按 yyyy-mm 建子目录对图片/文档按月归类,并将文件重命名为超链接的键值,例如键值 [This is a test name] 对应的输出文件名为 This-is-a-test-name。 _assets_address="assets/" #directory of your assets 通过 _mfile 指定默认输入文件名。 设置 Jekyll 需要的头部信息,_layout 的值必须在 Jekyll 样式中定义。 _layout='post' #using the layout named post _categories='Command Line Tools' #example category _tags='shell,git,jekyll' #example tags 用法 post2blog [-i<markdown-file>] [-l<layout>] [-T<title>] [-c<categories>] [-t<tags>] [-s<sub-directory>] [-S] [-V] [-r] [-h] 配置正确时,多数情况无需任何参数即可运行。需要时可用以下选项: ...