225 lines
8.5 KiB
Bash
225 lines
8.5 KiB
Bash
|
#! /bin/sh
|
||
|
|
||
|
#script to create the angular mask for the 100k release of the 2dF Redshift Survey
|
||
|
#see http://www.mso.anu.edu.au/2dFGRS/ for more about the survey.
|
||
|
#USAGE: 2df100k.sh
|
||
|
|
||
|
if [ "$MANGLEBINDIR" = "" ] ; then
|
||
|
MANGLEBINDIR="../../bin"
|
||
|
fi
|
||
|
if [ "$MANGLESCRIPTSDIR" = "" ] ; then
|
||
|
MANGLESCRIPTSDIR="../../scripts"
|
||
|
fi
|
||
|
if [ "$MANGLEDATADIR" = "" ] ; then
|
||
|
MANGLEDATADIR="../../masks"
|
||
|
fi
|
||
|
|
||
|
user=`whoami`
|
||
|
names=`finger $user | fgrep "ame:" | sed 's/.*: *\([^ ]*\)[^:]*/\1/'`
|
||
|
for name in ${names}; do break; done
|
||
|
echo "Hello $name, watch me make the angular mask for the 2dF 100k survey."
|
||
|
|
||
|
#to pixelize dynamically
|
||
|
#pix=
|
||
|
#restag=
|
||
|
#to pixelize everything to fixed resolution
|
||
|
scheme="s"
|
||
|
res=4
|
||
|
pix="-P${scheme}0,${res}"
|
||
|
restag="_res${res}${scheme}"
|
||
|
|
||
|
# to make verbose
|
||
|
quiet=
|
||
|
# to make quiet
|
||
|
#quiet=-q
|
||
|
|
||
|
# snap tolerances
|
||
|
snaptols="-a2 -b2 -t2"
|
||
|
|
||
|
#multiple intersection tolerance
|
||
|
mtol="-m1e-5"
|
||
|
|
||
|
# maximum harmonic number
|
||
|
lmax=20
|
||
|
|
||
|
# North
|
||
|
|
||
|
if [ -z "$quiet" ]; then
|
||
|
echo "===========================================";
|
||
|
echo " NORTH ";
|
||
|
fi
|
||
|
|
||
|
# name of output file to contain 2dF 100k North polygons
|
||
|
npol="2df100k_north${restag}.pol"
|
||
|
|
||
|
# -vo says to use old polygon ids, which are field numbers
|
||
|
echo "$MANGLEBINDIR/pixelize $quiet $mtol $pix -vo ngp_fields.dat jnfp"
|
||
|
$MANGLEBINDIR/pixelize $quiet $mtol $pix -vo ngp_fields.dat jnfp || exit
|
||
|
echo "$MANGLEBINDIR/pixelize $quiet $mtol $pix -vo ngpholes.dat jnhp"
|
||
|
$MANGLEBINDIR/pixelize $quiet $mtol $pix -vo ngpholes.dat jnhp || exit
|
||
|
echo "$MANGLEBINDIR/pixelize $quiet $mtol $pix -vo centres.ngp jncp"
|
||
|
$MANGLEBINDIR/pixelize $quiet $mtol $pix -vo centres.ngp jncp || exit
|
||
|
echo "$MANGLEBINDIR/snap $quiet $snaptols $mtol -vo jnfp jnf"
|
||
|
$MANGLEBINDIR/snap $quiet $snaptols $mtol -vo jnfp jnf || exit
|
||
|
echo "$MANGLEBINDIR/snap $quiet $snaptols $mtol -vo jnhp jnh"
|
||
|
$MANGLEBINDIR/snap $quiet $snaptols $mtol -vo jnhp jnh || exit
|
||
|
echo "$MANGLEBINDIR/snap $quiet $snaptols $mtol -vo jncp jnc"
|
||
|
$MANGLEBINDIR/snap $quiet $snaptols $mtol -vo jncp jnc || exit
|
||
|
# -n intersects holes with their parent fields
|
||
|
echo "$MANGLEBINDIR/poly2poly $quiet $mtol -n jnh jnf jnhf"
|
||
|
$MANGLEBINDIR/poly2poly $quiet $mtol -n jnh jnf jnhf || exit
|
||
|
echo "$MANGLEBINDIR/balkanize $quiet $mtol jnc jnhf jnb"
|
||
|
$MANGLEBINDIR/balkanize $quiet $mtol jnc jnhf jnb || exit
|
||
|
echo "$MANGLEBINDIR/weight $quiet $mtol -z2dF100k jnb jnw"
|
||
|
$MANGLEBINDIR/weight $quiet $mtol -z2dF100k jnb jnw || exit
|
||
|
echo "$MANGLEBINDIR/unify $quiet $mtol jnw $npol"
|
||
|
$MANGLEBINDIR/unify $quiet $mtol jnw $npol || exit
|
||
|
echo "Polygons for 2dF 100k North are in $npol"
|
||
|
|
||
|
# South
|
||
|
|
||
|
if [ -z "$quiet" ]; then
|
||
|
echo "===========================================";
|
||
|
echo " SOUTH ";
|
||
|
fi
|
||
|
|
||
|
# name of output file to contain 2dF 100k South polygons
|
||
|
spol="2df100k_south${restag}.pol"
|
||
|
|
||
|
# -vo says to use old polygon ids, which are field numbers
|
||
|
echo "$MANGLEBINDIR/pixelize $quiet $mtol $pix -vo sgp_fields.dat jsfp"
|
||
|
$MANGLEBINDIR/pixelize $quiet $mtol $pix -vo sgp_fields.dat jsfp || exit
|
||
|
echo "$MANGLEBINDIR/pixelize $quiet $mtol $pix -vo sgpholes.dat jshp"
|
||
|
$MANGLEBINDIR/pixelize $quiet $mtol $pix -vo sgpholes.dat jshp || exit
|
||
|
echo "$MANGLEBINDIR/pixelize $quiet $mtol $pix -vo centres.sgp jscp"
|
||
|
$MANGLEBINDIR/pixelize $quiet $mtol $pix -vo centres.sgp jscp || exit
|
||
|
echo "$MANGLEBINDIR/pixelize $quiet $mtol $pix -vo centres.ran jrcp"
|
||
|
$MANGLEBINDIR/pixelize $quiet $mtol $pix -vo centres.ran jrcp || exit
|
||
|
echo "$MANGLEBINDIR/snap $quiet $snaptols $mtol -vo jsfp jsf"
|
||
|
$MANGLEBINDIR/snap $quiet $snaptols $mtol -vo jsfp jsf || exit
|
||
|
echo "$MANGLEBINDIR/snap $quiet $snaptols $mtol -vo jshp jsh"
|
||
|
$MANGLEBINDIR/snap $quiet $snaptols $mtol -vo jshp jsh || exit
|
||
|
echo "$MANGLEBINDIR/snap $quiet $snaptols $mtol -vo jscp jsc"
|
||
|
$MANGLEBINDIR/snap $quiet $snaptols $mtol -vo jscp jsc || exit
|
||
|
echo "$MANGLEBINDIR/snap $quiet $snaptols $mtol -vo jrcp jrc"
|
||
|
$MANGLEBINDIR/snap $quiet $snaptols $mtol -vo jrcp jrc || exit
|
||
|
# -n intersects holes with their parent fields
|
||
|
echo "$MANGLEBINDIR/poly2poly $quiet $mtol -n jsh jsf jshf"
|
||
|
$MANGLEBINDIR/poly2poly $quiet $mtol -n jsh jsf jshf || exit
|
||
|
echo "$MANGLEBINDIR/balkanize $quiet $mtol centres.sgp centres.ran jshf jsb"
|
||
|
$MANGLEBINDIR/balkanize $quiet $mtol jsc jrc jshf jsb || exit
|
||
|
echo "$MANGLEBINDIR/weight $quiet $mtol -z2dF100k jsb jsw"
|
||
|
$MANGLEBINDIR/weight $quiet $mtol -z2dF100k jsb jsw || exit
|
||
|
echo "$MANGLEBINDIR/unify $quiet $mtol jsw $spol"
|
||
|
$MANGLEBINDIR/unify $quiet $mtol jsw $spol || exit
|
||
|
echo "Polygons for 2dF 100k South are in $spol"
|
||
|
|
||
|
# Harmonics
|
||
|
|
||
|
if [ -z "$quiet" ]; then
|
||
|
echo "===========================================";
|
||
|
echo " THE WORLD ";
|
||
|
fi
|
||
|
|
||
|
# name of output file to contain harmonics
|
||
|
wlm="2df100k${restag}.wlm"
|
||
|
|
||
|
echo "$MANGLEBINDIR/harmonize $quiet $mtol -l$lmax $npol $spol $wlm"
|
||
|
$MANGLEBINDIR/harmonize $quiet $mtol -l$lmax $npol $spol $wlm || exit
|
||
|
echo "Harmonics for 2dF 100k mask up to l = $lmax are in $wlm"
|
||
|
|
||
|
# Map
|
||
|
|
||
|
# name of output file to contain map
|
||
|
map="2df100k${restag}.map"
|
||
|
|
||
|
echo "$MANGLEBINDIR/map $quiet -w$wlm azel.dat $map"
|
||
|
$MANGLEBINDIR/map $quiet -w$wlm azel.dat $map || exit
|
||
|
echo "Map of 2dF 100k mask up to l = $lmax is in $map"
|
||
|
|
||
|
# Vertices
|
||
|
|
||
|
# name of output file to contain vertices
|
||
|
vert="2df100k${restag}.vrt"
|
||
|
|
||
|
echo "$MANGLEBINDIR/poly2poly -ov $mtol $quiet $npol $spol $vert"
|
||
|
$MANGLEBINDIR/poly2poly -ov $quiet $mtol $npol $spol $vert || exit
|
||
|
echo "Vertices of 2dF 100k mask are in $vert"
|
||
|
|
||
|
# Graphics
|
||
|
|
||
|
# name of output file to contain graphics
|
||
|
grph="2df100k${restag}.grph"
|
||
|
|
||
|
# number of points per (2 pi) along each edge of a polygon
|
||
|
pts_per_twopi=30
|
||
|
|
||
|
echo "$MANGLEBINDIR/poly2poly -og$pts_per_twopi $quiet $mtol $npol $spol $grph"
|
||
|
$MANGLEBINDIR/poly2poly -og$pts_per_twopi $quiet $mtol $npol $spol $grph || exit
|
||
|
echo "Data suitable for plotting polygons of the 2dF 100k mask are in $grph:"
|
||
|
echo "each line is a sequence of az, el points delineating the perimeter of a polygon."
|
||
|
|
||
|
# for plotting with the matlab script
|
||
|
|
||
|
eps="2df100k${restag}.eps"
|
||
|
neps="2df100k_north${restag}.eps"
|
||
|
seps="2df100k_south${restag}.eps"
|
||
|
|
||
|
if which matlab >/dev/null 2>&1 ; then
|
||
|
# name of output file to contain matlab graphics
|
||
|
list="2df100k${restag}.list"
|
||
|
|
||
|
echo "$MANGLEBINDIR/poly2poly -ol$pts_per_twopi $quiet $npol $spol $list"
|
||
|
$MANGLEBINDIR/poly2poly -ol$pts_per_twopi $quiet $mtol $npol $spol $list || exit
|
||
|
echo "Data for plotting polygons of the 2dF 100k mask in Matlab are in $list."
|
||
|
echo "Using Matlab to plot the 2dF 100k mask ..."
|
||
|
$MANGLESCRIPTSDIR/graphmask.sh $list $eps 0 0 0 0 "Completeness mask for 2dF 100k"
|
||
|
if [ $? -eq 0 ]; then
|
||
|
$MANGLESCRIPTSDIR/graphmask.sh $list $neps 145 223 -7 6 "Completeness mask for 2dF 100k north"
|
||
|
$MANGLESCRIPTSDIR/graphmask.sh $list $seps -50 81 -52 -7 "Completeness mask for 2dF 100k south"
|
||
|
echo "Made figures illustrating the 2dF 100k mask:"
|
||
|
echo "$eps, $neps, $seps"
|
||
|
echo "Type \"ggv $eps\" or \"gv $eps\" to view the figures."
|
||
|
elif which sm >/dev/null 2>&1 ; then
|
||
|
echo "Using Supermongo to plot the 2dF 100k mask:"
|
||
|
$MANGLESCRIPTSDIR/graphmasksm.sh $grph $eps 0 0 0 0 "Completeness mask for 2dF 100k"
|
||
|
if [ $? -eq 0 ]; then
|
||
|
echo "Made a figure illustrating the 2dF 100k mask: $eps"
|
||
|
echo "Type \"ggv $eps\" or \"gv $eps\" to view the figure."
|
||
|
echo "A script is also available to plot mangle files Matlab (with the mapping toolbox),"
|
||
|
echo "or you can plot $grph using your own favorite plotting tool."
|
||
|
fi
|
||
|
else
|
||
|
echo "Scripts are available for plotting mangle polygons in Matlab"
|
||
|
echo "(with the mapping toolbox) or Supermongo, or you can plot $grph"
|
||
|
echo "using your own favorite plotting tool."
|
||
|
fi
|
||
|
elif which sm >/dev/null 2>&1 ; then
|
||
|
echo "Using Supermongo to plot the 2dF 100k mask:"
|
||
|
$MANGLESCRIPTSDIR/graphmasksm.sh $grph $eps 0 0 0 0 "Completeness mask for 2dF 100k"
|
||
|
if [ $? -eq 0 ]; then
|
||
|
echo "Made a figure illustrating the 2dF 100k mask: $eps"
|
||
|
echo "Type \"ggv $eps\" or \"gv $eps\" to view the figure."
|
||
|
echo "A script is also available to plot mangle files Matlab (with the mapping toolbox),"
|
||
|
echo "or you can plot $grph using your own favorite plotting tool."
|
||
|
fi
|
||
|
else
|
||
|
echo "Scripts are available for plotting mangle polygons in Matlab"
|
||
|
echo "(with the mapping toolbox) or Supermongo, or you can plot $grph"
|
||
|
echo "using your own favorite plotting tool."
|
||
|
fi
|
||
|
|
||
|
# remove temporary files
|
||
|
rm j[nsr]*
|
||
|
|
||
|
if [ -z "$quiet" ]; then
|
||
|
echo "===========================================";
|
||
|
echo "the universe?"
|
||
|
fi
|
||
|
|
||
|
if [ "$quiet" ]; then
|
||
|
echo ""
|
||
|
echo "If you'd like to repeat that with the sound on,"
|
||
|
echo "please turn off the quiet button in 2df100k.sh and try again."
|
||
|
fi
|