[cig-commits] r7909 - mc/1D/hc/trunk

becker at geodynamics.org becker at geodynamics.org
Wed Aug 29 14:02:31 PDT 2007


Author: becker
Date: 2007-08-29 14:02:31 -0700 (Wed, 29 Aug 2007)
New Revision: 7909

Added:
   mc/1D/hc/trunk/calc_vel_and_plot
Modified:
   mc/1D/hc/trunk/.gmtcommands
Log:
Forgot to add this file.



Modified: mc/1D/hc/trunk/.gmtcommands
===================================================================
--- mc/1D/hc/trunk/.gmtcommands	2007-08-29 20:55:12 UTC (rev 7908)
+++ mc/1D/hc/trunk/.gmtcommands	2007-08-29 21:02:31 UTC (rev 7909)
@@ -1,7 +1,7 @@
 # GMT common arguments shelf
 -B1/:v at -r@- [cm/yr]:
--JH180/7
--JX7/3.5
+-JH180/7i
+-JX7/3.5i
 -R0/360/-90/90
 EOF
 EOF

Added: mc/1D/hc/trunk/calc_vel_and_plot
===================================================================
--- mc/1D/hc/trunk/calc_vel_and_plot	2007-08-29 20:55:12 UTC (rev 7908)
+++ mc/1D/hc/trunk/calc_vel_and_plot	2007-08-29 21:02:31 UTC (rev 7909)
@@ -0,0 +1,156 @@
+#!/bin/bash
+#
+# example script to compute and plot mantle velocities
+#
+
+compute=${1-1}			# produce a new solution
+plots=${2-"1 2"}		# plot output modes
+                                # 1: geoid
+                                # 2: plate velocities
+
+#
+# options
+#
+#
+# density options
+#
+dfac=0.25			# density scaling factor, needs to be specified
+dt=-dshs			# SH type "": new -dshs: Becker & Boschi (2002)
+dm=example_data/smean.31.m.ab   # density model, needs to be specified
+#
+# boundary conditions
+#
+tbc=-fs                	# -fs: free slip
+#tbc="-pvel example_data/pvel.sh.dat"         # empty: plates, or specific plate velocity file
+
+#
+# viscosity file
+#
+vf=example_data/visc.C2			# file name
+#vf=example_data/visc.dat			# file name
+
+verb=-vvv			# verbosity level
+
+
+#
+# for temporary files
+#
+tmpn=/tmp/$USER.$HOST.$$
+trap "rm -f $tmpn.* ; exit" 0 1 2 15
+
+
+
+if [ $compute -eq 1 ];then
+    rm vel.sol.bin 2> /dev/null
+    hc $verb -dens $dm $dt -ds $dfac $tbc -vf $vf 2> hc.log
+    cat hc.log
+    if [ ! -s vel.sol.bin ];then
+	echo $0: error, no output produced
+	exit
+    fi
+fi
+
+
+for plot in $plots;do
+
+
+    #
+    # take care of GMT crap
+    #
+    if [ -s $HOME/.gmtdefaults ];then
+	gf=$HOME/.gmtdefaults
+    elif [ -s $HOME/.gmtdefaults4 ];then
+	gf=$HOME/.gmtdefaults4
+    elif [ -s .gmtdefaults4 ];then
+	gf=.gmtdefaults4
+    elif [ -s .gmtdefaults ];then
+	gf=.gmtdefaults
+    fi
+    if [ -s $gf ];then
+	old_media=`grep PAPER_MEDIA $gf | gawk '{print($3)}'`
+    fi
+    
+    gmtset PAPER_MEDIA letter+
+
+
+
+#
+# plotting setting
+#
+    inc=1;greg=-R0/359/-89.5/89.5	# grid range
+    proj=-JH180/7i;preg=-R0/360/-90/90 # plotting range
+
+    if [ $plot -eq 1 ];then		# plot the geoid
+	
+	ofile=geoid.ps
+	
+	echo $0: plotting geoid to $ofile
+	
+	
+	makecpt -T-120/120/10 -Chaxby > $tmpn.cpt
+	cat geoid.ab | sh_syn 0 0 $inc 2> /dev/null | \
+	    xyz2grd $greg -I$inc -G$tmpn.grd 
+	grdimage $tmpn.grd $preg $proj -P \
+	    -C$tmpn.cpt -K > $ofile
+	pscoast $proj $preg -A70000 -K -O -Dc -W2 >> $ofile
+	psscale -D50 -D3.5i/-.3i/3i/.25ih -E -C$tmpn.cpt \
+	    -B100/:"[m]": -O >> $ofile
+	
+    elif [ $plot -eq 2 ];then	# plot velocities
+	
+        # extract all depths 
+	hc_extract_sh_layer vel.sol.bin 2 4 | gawk '{print($2)}' > vdepth.dat
+	nl=`wc -l vdepth.dat | gawk '{print($1)}'`
+
+        # colormaps for radial flow
+	makecpt -T-1.5/1.5/.125 -Chaxby > $tmpn.cpt
+	
+	# vector spacing
+	vinc=10;vreg=-R0/350/-85/85
+
+	# loop through some layers
+	layer=2
+	while [ $layer -le $nl ];do
+
+	    # extract depth
+	    z=`gawk '{if(NR==l)print($1)}' l=$layer vdepth.dat `
+	    
+	    ofile=vel.$layer.ps	# output file name
+
+	    echo $0: plotting velocities at $z to $ofile
+	#
+	# extract radial velocity of this layer
+	#
+	    hc_extract_sh_layer vel.sol.bin $layer 1 0 | sh_syn 0 0 $inc 2> /dev/null | \
+		xyz2grd $greg -I$inc -G$tmpn.grd
+	#
+	# extract vx and vy velocities
+	    hc_extract_sh_layer vel.sol.bin $layer  2 0 | sh_syn 0 0 $vinc 2> /dev/null > $tmpn.dat
+	    gawk '{print($1,$2,$4)}' $tmpn.dat | xyz2grd  -G$tmpn.vx.grd $vreg -I$vinc # vx = vphi
+	    gawk '{print($1,$2,-$3)}' $tmpn.dat | xyz2grd -G$tmpn.vy.grd $vreg -I$vinc # vy = -vtheta
+
+	    # actually plot velocities
+	    
+	    grdimage $tmpn.grd $preg $proj -P -C$tmpn.cpt -K > $ofile
+	    pscoast $proj $preg -A70000 -K -O -Dc -W2 >> $ofile
+	    echo 0.05 0 14 0 0 ML "z = $z km" | pstext -O -K -N -R0/1/0/1 -JX7/3.5i >> $ofile
+	    grdvector $tmpn.vx.grd  $tmpn.vy.grd \
+		-T $reg $proj  -Q0.015i/0.12i/0.045in.2 -S15 -O -K -G128/0/0 -W0.5 >> $ofile
+	    psscale -D50 -D3.5i/-.3i/3i/.25ih -E -C$tmpn.cpt \
+		-B1/:"v at -r@- [cm/yr]": -O >> $ofile
+
+	    
+
+	    ((layer=layer+6))
+	done
+
+
+
+    fi
+    if [ -s $gf ];then		# resset GMT 
+	gmtset PAPER_MEDIA $old_media
+
+    fi
+
+
+done


Property changes on: mc/1D/hc/trunk/calc_vel_and_plot
___________________________________________________________________
Name: svn:executable
   + *



More information about the cig-commits mailing list