add -G option

This commit is contained in:
张壹 2018-07-08 13:36:39 -07:00
parent ed59e9f37f
commit ed1082c1b6

View File

@ -4,6 +4,7 @@
#GMT显示平面数据脚本输入文件为网格文件没有包含网格化语句因为网格化过程中的情况多样化建议在其他脚本中个别添加再调用此脚本
# 初始化参数
data='null'
gridData='null'
unit='m'
color='rainbow'
range='null'
@ -12,7 +13,7 @@ overwrite=0
labels=("x (m)" "y (m)")
plotgrad=0
# 从命令行获取参数
while getopts "hi:r:u:c:a:g" arg
while getopts "hi:r:u:c:a:G:g" arg
do
case $arg in
h)
@ -25,6 +26,7 @@ For futher explanations, please look for GMT's manuscripts.\nAuthor: Yi Zhang (z
printf "%s\t%s\n" "-c" "color cpt. The default is rainbow."
printf "%s\t%s\n" "-a" "axis labels. The deafults are x (m) and y (m)."
printf "%s\t%s\n" "-g" "use grdgradient. The default is false."
printf "%s\t%s\n" "-G" "provide a different input grid data for the use of grdgradient. This should be used with the '-g' option at the same time"
exit 0;;
i)
data=$OPTARG;;
@ -39,6 +41,8 @@ For futher explanations, please look for GMT's manuscripts.\nAuthor: Yi Zhang (z
labels=(${OPTARG//,/ });;
g)
plotgrad=1;;
G)
gridData=$OPTARG;;
?)
printf "error: unknow argument\nuse -h option to see help information\n"
exit 1;;
@ -70,10 +74,14 @@ else
MAP_FRAME_AXES=WeSnZ \
MAP_LABEL_OFFSET=4p
gmt grd2cpt ${data} -C${color} -Z -D > $cptfile
gmt grd2cpt ${data} -C${color} -R${range} -Z -D > $cptfile
if [[ $plotgrad == 1 ]]; then
gradfile=usergradient.nc
gradfile=${data%.*}Grad.nc
if [[ $gridData == 'null' ]]; then
gmt grdgradient ${data} -G${gradfile} -Nt -A0/45
else
gmt grdgradient ${gridData} -G${gradfile} -Nt -A0/45
fi
gmt grdimage ${data} -R${range} -C${cptfile} -I${gradfile} -Bxag+l"${labels[0]}" -Byag+l"${labels[1]}" -JX3i -K -P > $psfile
else
gmt grdimage ${data} -R${range} -C${cptfile} -Bxag+l"${labels[0]}" -Byag+l"${labels[1]}" -JX3i -K -P > $psfile