Table of Contents


runvelfitss07 - frontend to run Spekkens & Sellwood’s 2007 velfit code


runvelfitss07 [parameter=value]


Note this code is deprecated and superseded by diskfit, with a NEMO frontend in rundiskfit(1NEMO) .

runvelfitss07 is a NEMO frontend to velfitss07, and fits a non-parametric non-axisymmetric flow to a planar disk galaxy velocity field. Radial (m=0) flow can be fitted by setting flags(4) , whereas bisymmetric (m=2) or lobsided (m=1) flow with flags(5) (see flags= below). The code is usually not well converging when fitting both. For more details and a full explanation of the parameters, see Spekkens and Sellwood (2007ApJ...664..204S) and the Users Guide on the VELFIT website.


The following parameters are recognized in any order if the keyword is also given:
input velocity field. The first 4 lines are completely ignored, each subsequent data line must be X,Y,V,DV in 4F10.2 format. Note X is positive to the west. Up to 50,000 points can be read in the default compilation. No default.
output model field. No default.
output parameter file. No default.
center of velocity field. Note X is positive to the west [0,0].
systemic velocity [0]
(kinematic) position angle of disk (E of N), the usual convention applies where this means the receding side of the disk [0]
inclination angle of disk [0]
ISM turbulence [0]
Siz flags which to be fitted/done: geom (inc and pa), center, vsys, radial (m=0), lobsides/bisymmetric (m=1,2...), error estimates. [1,1,1,0,0,0]
harmonic order of bar perturbation (1 or 2). [2]
Random Seed [-50]
Number of bootstrap samples if errors (flags(6) set) are calculated. Note using bootstrap will result in a large runtime. [200]
correlation length, in case bootstrap is used [1.0]
Radius beyond which no non-circular rmotions fitted [50]
Ring Radii at which velocity field components are are extracted.
name of VELFITSS07 executable. It will have to be found in the user’s $PATH. Note that although the original name of the SS07 is velfit, this conflicts with velfit(1NEMO) and within NEMO we normally rename the SS07 version fo velfitss07. [velfitss07]


The standard example from the Users Guide can be run as follows (note we are more free to pick a directory):
runvelfitss07 examp.vels examp1.m examp1.p vsys=500 pa=80 inc=60 radii=2.5:50:2.5
of which you can find the results in Figure 7. and the next 3 examples from the Users Guide are run as follows:
runvelfitss07 examp.vels examp2.m examp2.p vsys=500 pa=80 inc=60 radii=2.5:50:2.5
flags=1,1,1,1,0,0 rmsism=2.0 
runvelfitss07 examp.vels examp3.m examp3.p vsys=500 pa=80 inc=60 radii=2.5:50:2.5
flags=1,1,1,1,0,1 rmsism=2.0
runvelfitss07 examp.vels examp4.m examp4.p vsys=500 pa=80 inc=60 radii=2.5:50:2.5
flags=1,1,1,0,1,1 rmsism=2.0
which you can find the output .p parameter files in Figure 9, Figure 11 and Figure 3 resp.


The 4 examples run in the following CPU time on a 2.4GHz i7-3630QM CPU:
1    1.29
2    4.86
3    -
4    -

See Also

rotcur(1NEMO) , velfit(1NEMO) , rotcurshape(1NEMO) , rundiskfit(1NEMO)
2007ApJ...664..204S (Spekkens & Sellwood, 2007)


NEMO/usr/spekkens/velfit    - original SS07 code/examples (see their WEBSITE)
NEMOBIN/velfitss07    - SS07 executable (see also exe=)
NEMO/src/image/rotcur    - NEMO frontend 


The parameter file ( is in the local run directory, and is silently overwritten. This will seriously hamper running the program in parallel.


Below is an example snippet C-shell code to output the table in the format velfitss07 needs:
#! /bin/csh -f
#  create an example input file for velfitss07 from a MIRIAD dataset
#  1) select the inner 40x40 arcsec
#  2) select points where flux mom0 map > 1.0
set region="arcsec,box(-20,-20,20,20)"
set map=mom0a
set vel=mom1a
set sig=mom2a
imtab in=$map region="$region" >
imtab in=$vel region="$region" >
tail -n +3 | grep -v Found >
tail -n +3 | grep -v Found >
#  here’s a simple example of constant errors and only use mom0 and mom1
echo "# input file for velfitss07:  $0" 
echo "#      X          Y       VEL       EVEL"
echo "#     asec       asec    km/s       km/s"
echo "#----------------------------------------"
paste |
  awk ’{ if ($3 > 1.0) printf("%10.2f%10.2f%10.2f%10.2f0,$1,$2,$6,5.0)}’


Peter Teuben

Update History

27-oct-2008    V1.0 : frontend for velfitss07 V1.0 (oct 2008)    PJT
??-???-????    V1.1 : should be compatible with their V1.1 (aug 2009)    PJT
??-???-????    V2.0 : still not implemented    PJT
14-sep-2012    noting this is now deprecated in favor of diskfit    PJT
7-aug-2014    V1_0, V1_1, V2_0 now in a local CVS with NUMREC        PJT

Table of Contents