#!/usr/bin/env bash # GMT modern mode bash template # Date: 2024-10-01 #Purpose: quickly generate basic GMT plot #Author: #Dependencies: GNUPlot, GMT v6 #Written for: GNU/Linux if [ $# -lt 1 ]; then more < 0 " | bc` == 1 ] && [ ` echo "$vmax > 1 " | bc` == 1 ]; then echo "1" export cmin=`echo | gmt grdinfo $grdfile | grep 'v_min' | awk '{print $5/$3 } '` export max_num=`echo "scale=6; 1/$vmax" | bc ` export min_num=`echo "$max_num*$vmin" | bc ` gmt makecpt -C$color_file -T$vmin/$vmax/0.01 -G$cmin/1 -Z >1.cpt elif [ ` echo "$flag < 0 " | bc` == 1 ] && [ ` echo "$vmin < -1 " | bc` == 1 ]; then echo "2" export cmax=`echo | gmt grdinfo $grdfile | grep 'v_min' | awk '{print $3/$5*-1} '` export min_num=`echo "scale=6; 1/$vmin" | bc` export max_num=`echo "$min_num*$vmax" | bc` gmt makecpt -C$color_file -T$vmin/$vmax/0.01 -G-1/$cmax -Z >1.cpt elif [ `echo " $flag > 0 " | bc` == 1 ] && [ ` echo "$vmax < 1 " | bc` == 1 ]; then echo "3" if [ ` echo "$vmax < 0.1 " | bc` == 1 ]; then export vmin1=$(echo "scale=2; $vmin*10" | bc) export vmax1=$(echo "scale=2; $vmax*10" | bc) gmt makecpt -C$color_file -G$vmin1/$vmax1 -T$vmin/$vmax/0.01 -Z >1.cpt else gmt makecpt -C$color_file -G$vmin/$vmax -T$vmin/$vmax/0.01 -Z >1.cpt fi elif [ ` echo "$flag < 0 " | bc` == 1 ] && [ ` echo "$vmin > -1 " | bc` == 1 ]; then if [ ` echo "$vmin >-0.1 " | bc` == 1 ]; then echo "4" export vmin1=$(awk "BEGIN{print($vmin*10)}") export vmax1=$(awk "BEGIN{print($vmax*10)}") gmt makecpt -C$color_file -G$vmin1/$vmax1 -T$vmin/$vmax/0.01 -Z >1.cpt else gmt makecpt -C$color_file -G$vmin/$vmax -T$vmin/$vmax/0.01 -Z >1.cpt fi else echo "5" gmt makecpt -C$color_file -T$vmin/$vmax/0.01 -Z >1.cpt fi gmt begin ${gmt_basename} png gmt grdimage $grdfile -C1.cpt -JM7.3c -Bxa1 -Bya1 -BWSen -R$region gmt colorbar -Dx3.5/-1c+w6c/0.25c+jBC+h -Bxa0.2f0.1 -C1.cpt gmt end show