HTML automatically generated with rman
Table of Contents
ccdvel - create a velocity field; grid or retrace
ccdvel creates a model velocity field
for a disk with material in circular orbits. The user supplies the program
with a table of a rotation curve (see also rotcurshape(3NEMO)
approach) with a set of radii and rotation velocities. The position angle
and inclination of each ’ring’ can also be varied to simulate geometrical
Two gridding methods exist:
retracing: the GIPSY method retraces
each pixel in the sky plane to its (smallest) radius in the (warped) galactic
disk: its ring parameters (velocity, position angle, and inclination)
are then (linearly) interpolated from the input arrays, and that point
is appropriately projected into that pixel ( bug? it might still wind up
in the next pixel)
gridding: the NEMO method places particles in rings,
as prescribed by the input values, and computes a properly intensity weighted
(number of particles in this case) mean velocity per pixel. This may however
results in a ’meaningless’ mean velocity in areas where rings are projected
on top of each other. Note: This mode, originally the only one, merely
served as a shortcut between the various N-body creators, followed by subsequent
gridding with snapgrid. It may not work anymore, since it is not well
The center coordinates and systemic velocity are currently fixed
for all rings.
Using keywords mexp= and phexp= a circular orbit can have
its expansion velocity modulated:
instead of a constant vexp (i.e. mexp=0), where phi is measured from the
major axis in the plane of the disk (check!). This only works for the retracing
method though. Although the rotation speed has a similar modulation implemented,
it is not a good idea to use that. Instead, it will probably be better to
re-define this as
though this would suggest the local velocity ellipsoid to be isotropic
(cf. Binney & Tremaine ....)
The following parameters are recognized
in order; they may be given in any order if the keyword is also given. Use
--help to confirm this man page is up to date.
A velocity field
in a file map1 is fitted with rotcur, starting at the outskirts of the
galaxy, 100", and working on inwards to 10", the table is commented to
feed it into ccdvel (note the numeric sort) and compute a model velocity
field, after which that is subtracted from the observations (only in points
were both model and observations are not undefined, i.e. 0.0):
- Output velocity
field map, will be in image(5NEMO)
format. No default.
(arcsec). Note they must be sorted by increasing radius. The default is taken
from the rotcur_table table below, or from this keyword.
of rotation velocities, one for each radius, If less than the number of
radii is given, the trailing ones are filled with the last supplied value.
The default values from the rotcur_table table below can be also be overridden
with this keyword.
- Array of expansion velocities, one for each
radius. If less than the number of radii is given, the trailing ones are
filled with the last supplied value. Default: 0
- Array of inclinations
(degrees), one for each radius. The default values from the rotcur_table
table below can be also be overridden with this keyword.
of position angles (degrees), one for each radius. The default values from
the rotcur_table table below can be also be overridden with this keyword.
- Array of rotation phase angles (degrees), one for each
radius. Don’t use this right now. Default: 0
- Array of expansion
phase angles (degrees), one for each radius, for the modulation of the
- Fourier mode for the rotation speed modulation.
Currently not a good idea to use this, since we would modulate the whole
rotation, not a tiny bit on top of rotation. Use mexp=,phexp=. Default: 0
- Fourier mode for the expansion speed modulation. Default: 0
- Size of map, up to two numbers. If one number supplied, the map will be
square. Note that in NEMO (0-based) coordinates, the center of rotation
will be at ((nx-1)/2,(ny-1)/2). [Default: 128].
- Cell size, up to
two numbers. If one number supplied, the cells will be square. [Default:
- Rotation center (grids with lower left corner being 0,0).
Default: center of map if rotcur_table is not used, else the center_ring
entry from the rotcur_table.
- Lower left corner of the grid.
- Systemic velocity. Default: 0 if rotcur_table is
not used, else the center_ring entry from the rotcur_table.
- All ring parameters can also be read from this table, that is normally
output by rotcur(1NEMO)
’s tab= keyword. That table needs to be commented
- Ring number (1..Nring), from the
rotcur_table, of which the center (vsys, center) is used. If 0 is used,
they must have been given by the appropriate keywords. If a large number
is given, the last table entry is used.
- Dispersion of the
gaussian noise added to the map. Default: 0
- If set to true (or 1)
it will create an amplitude (surface brightness) map, instead of a velocity
field. In this case, the rotation speed is taken as the amplitude of the
density map. See also ccdgen(1NEMO)
. Default: false
- Initial seed
for random number generator. See xrandom(3NEMO)
for defaults. Default: 0
- Template (2d)
image to provide the WCS for a cube. (deprecated)
- Interpolation method used for rings in retrace method.
For linear each computed galactic radius has linearly interpolated values
for the rotation curve, inclincation, position angle etc., whereas for constant
the starting value of ring is used. Default: linear.
verbiage added to the output image [Default: none].
1% rotcur in=map1 radii=100:10:-5 vrot=100 pa=20 inc=45 vsys=1200 \
center=100,110 fixed=center,vsys,inc tab=map1.tmp units=arcsec
2% tabcomment map1.rotcur - | sort -n > map1.rotcur
3% ccdvel out=map1.model rotcurfit=map1.rotcur
4% ccdmath in=map1,map1.model out=map1.diff \
One can also use ccdvel to create a surface brightness. Creating a functional
form for the density can be done using tabmath(1NEMO)
. E.g. the following
example creates an exponential surface density profile:
5% set rad=‘nemoinp 0:100:5‘
6% set den=‘nemoinp 0:100:5 | tabmath - - "exp(-%1/20)" all‘
7% ccdvel out=map1.den radii="$rad" vrot="$den" pa=30 inc=60 amp=t
8% nemoinp 0:100:5 > map1.radt
9% nemoinp 0:100:5 | tabmath - - "exp(-%1/20)" all > map1.dent
10% ccdvel out=map1.den email@example.com firstname.lastname@example.org pa=30 inc=60 amp=t
Now one can create a velocity field in a simular way,
11% nemoinp 0:100:5 | tabmath - - "%1/sqrt(40+%1*%1)" all > map1.velt
12% ccdvel out=map1.vel email@example.com firstname.lastname@example.org pa=30 inc=60
and with simulated beamsmearing create a beam smeared velocity field:
13% ccdsmooth map1.den map1.dens 4
13% ccdmath map1.den,map1.vel - "%1*%2" | ccdsmooth - map1.dvels 4
14% ccdmath map1.den,map1.dvels map1.vels "%2/%1"
Note however that this method of beamsmearing is only approximate, and
ignores the internal velocity dispersion, which can be very important in
areas of large velocity gradients.
The table rotcurfit assumes
the radius, systemic velocity, rotation velocity, position angle, inclination,
x center and y center are in columns 1, 2, 4, 6, 8, 10 and 12 resp.
output map is patched with the undefined value 0.0 where-ever no information
is requested for these pixels.
The gridding method is currently not available.
The retracing (GIPSY) method will be used.
Different versions of rotcur
exist (NEMO, Gipsy) that use different columns, so the rotcurfit= tables
should be used with caution.
20-may-91 original program PJT
31-jul-92 V1.3 new rotcurfit=; rings are now radii PJT
3-aug-92 (b) fixed mapsize bug; override center= PJT
12-aug-92 (d) added headline= PJT
oct-99 doc additions PJT
apr-01 V1.5b added in=, but deprecated it PJT
1-may-01 V1.6 added amp= for CARMA simulations PJT/LGM
3-may-01 V1.7 added vexp= PJT
29-jun-02 V1.8 added blc= keyword (Joshua Simon) PJT
6-feb-03 V2.0 modulated orbits (mexp,phexp,mrot,phrot) PJT
11-sep-03 V2.1 added intpol= PJT
Table of Contents