inp=$1 fig=$2 # *********************************** # Basic condition for GMT drawing # *********************************** cat << EOT > _bc.awk BEGIN{FS=","} NR==1{xmin=\$1;xmax=\$2;dx=\$3;} NR==2{ymin=\$1;ymax=\$2;dy=\$3;} END{ printf "range=%d/%d/%d/%d\n",xmin,xmax,ymin,ymax printf "scale=12/10\n" printf "xga=a%.1fg%.1f\n",dx,dx printf "yga=a%.1fg%.1f\n",dy,dy } EOT awk -f _bc.awk $inp > _bc.txt # *********************************** # Legend for GMT drawing # *********************************** cat << EOT > _inp_legend.txt 12 $ 10 $ tl $ 0.3 $ 0.3 10 $ 0.45 $ 7 D@-req@- > D@-1@- (dynamic stability) $ 1.5p,#000000,3_3:0 $ --- $ --- $ --- D@-req@- > D@-2@- (dynamic stability) $ 1.5p,#000000 $ --- $ --- $ --- D@-req@- < D@-3@- (critical discharge) $ 1.5p,#000000,5_5:0 $ --- $ --- $ --- EOT awk -f awk_klegend.awk _inp_legend.txt > _legend.txt # *********************************** # Data for pstext # *********************************** cat << EOT > _text.awk BEGIN{FS=","} NR==3{xc=\$1;yc=\$2;zm=\$3;DS=\$4;} END{ printf "%10.3f %10.3f 10p,Helvetica 0 BL %.3fm (Target Z@-m@-=%.1fm)\n",0.1,DS+0.2,DS,zm printf "%10.3f %10.3f 12p,Helvetica 0 BL %.1fm\n",0.1,yc,yc printf "%10.3f %10.3f 12p,Helvetica 90 TL %.1fm\n",xc,0.5,xc printf "%10.3f %10.3f 12p,Helvetica 0 BC Selected\n",xc,yc+0.5 } EOT awk -f _text.awk $inp > _d.txt # *********************************** # Data for assistant line for selected value # *********************************** cat << EOT > _al.awk BEGIN{FS=","} NR==3{xc=\$1;yc=\$2;zm=\$3;DS=\$4;} END{ printf "%10.3f %10.3f %10.3f %10.3f\n",0,yc,xc,yc printf "%10.3f %10.3f %10.3f %10.3f\n",xc,0,xc,yc } EOT awk -f _al.awk $inp > _al.txt # *********************************** # GMT drawing # *********************************** gmt set FONT_LABEL 12p gmt set MAP_TICK_LENGTH_PRIMARY -0.1c source _bc.txt xlabel="Port Diameter (m)" ylabel="Shaft Diameter (m)" gmt psbasemap -R$range -JX$scale -Bx$xga+l"$xlabel" -By$yga+l"$ylabel" -BSWne+g#ffffff -P -K > $fig awk 'BEGIN{FS=","}5<=NR{print $1,$3}' $inp | gmt psxy -R -J -W1.5p,#000000,3_3:0 -O -K >> $fig awk 'BEGIN{FS=","}5<=NR{print $1,$4}' $inp | gmt psxy -R -J -W1.5p,#000000 -O -K >> $fig awk 'BEGIN{FS=","}5<=NR{print $1,$5}' $inp | gmt psxy -R -J -W1.5p,#000000,5_5:0 -O -K >> $fig awk 'BEGIN{FS=","}NR==3{print $1,$2}' $inp | gmt psxy -R -J -SC0.3 -G#000000 -O -K >> $fig gmt psxy _al.txt -R -J -Sv0.05+s -W0.75,#777777 -O -K >> $fig gmt pstext _d.txt -R -J -F+f+a+j -N -O -K >> $fig source _legend.txt