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.5 $ 7 Max.WL Z@-max@- $ 1.5p,#000000 $ --- $ --- $ --- |Z'@-m@-|=k@-0@--h@-0@- $ 1.5p,#000000,3_3:0 $ C0.2 $ #ffffff $ 1.5p,#000000 Selected value $ --- $ C0.3 $ #000000 $ --- EOT awk -f awk_klegend.awk _inp_legend.txt > _legend.txt # *********************************** # Data for pstext # *********************************** cat << EOT > _text.awk BEGIN{FS=","} NR==4{x1=\$1;y1=\$2;} NR==5{for(i=3;i<=12;i++)s[i-3]=\$i} {for(i=3;i<=12;i++)y[i-3]=\$i} END{ for(i=0;i<=9;i++){ s[i]="D=" s[i] sub(/[ ]+/ ,"",s[i]) printf "%10.3f %10.3f 10p,Helvetica 0 ML %s\n",6.05,y[i],s[i] } printf "%10.3f %10.3f 10p,Helvetica 0 BL Target Z@-m@-=%dm\n",x1+0.2,y1+2,y1 } EOT awk -f _text.awk $inp > _d.txt # *********************************** # GMT drawing # *********************************** gmt set FONT_LABEL 12p gmt set MAP_TICK_LENGTH_PRIMARY -0.1c source _bc.txt xlabel="Port Diameter (m)" ylabel="Max.W.L Z@-max@-(m), Head difference k@-0@--h@-0@- (m)" gmt psbasemap -R$range -JX$scale -Bx$xga+l"$xlabel" -By$yga+l"$ylabel" -BSWne+g#ffffff -P -K > $fig awk 'BEGIN{FS=","}6<=NR{print $1,$2}' $inp | gmt psxy -R -J -W1.5p,#000000,3_3:0 -O -K >> $fig awk 'BEGIN{FS=","}6<=NR{print $1,$2}' $inp | gmt psxy -R -J -SC0.2 -G#ffffff -W1.5p,#000000 -O -K >> $fig awk 'BEGIN{FS=","}6<=NR{print $1,$3}' $inp | gmt psxy -R -J -W1.5p,#000000 -O -K >> $fig awk 'BEGIN{FS=","}6<=NR{print $1,$4}' $inp | gmt psxy -R -J -W1.5p,#000000 -O -K >> $fig awk 'BEGIN{FS=","}6<=NR{print $1,$5}' $inp | gmt psxy -R -J -W1.5p,#000000 -O -K >> $fig awk 'BEGIN{FS=","}6<=NR{print $1,$6}' $inp | gmt psxy -R -J -W1.5p,#000000 -O -K >> $fig awk 'BEGIN{FS=","}6<=NR{print $1,$7}' $inp | gmt psxy -R -J -W1.5p,#000000 -O -K >> $fig awk 'BEGIN{FS=","}6<=NR{print $1,$8}' $inp | gmt psxy -R -J -W1.5p,#000000 -O -K >> $fig awk 'BEGIN{FS=","}6<=NR{print $1,$9}' $inp | gmt psxy -R -J -W1.5p,#000000 -O -K >> $fig awk 'BEGIN{FS=","}6<=NR{print $1,$10}' $inp | gmt psxy -R -J -W1.5p,#000000 -O -K >> $fig awk 'BEGIN{FS=","}6<=NR{print $1,$11}' $inp | gmt psxy -R -J -W1.5p,#000000 -O -K >> $fig awk 'BEGIN{FS=","}6<=NR{print $1,$12}' $inp | gmt psxy -R -J -W1.5p,#000000 -O -K >> $fig awk 'BEGIN{FS=","}NR==3{print $1,$2}' $inp | gmt psxy -R -J -SC0.3 -G#000000 -O -K >> $fig awk 'BEGIN{FS=","}NR==4{print $1,$2,$3,$4}' $inp | gmt psxy -R -J -Sv0.05+s -W1.5,#777777,10_3_3_3:0 -O -K >> $fig gmt pstext _d.txt -R -J -F+f+a+j -N -O -K >> $fig source _legend.txt