CURSA provides special facilities for representing columns which contain angles. Usually angular
columns are used to store celestial coordinates such as Right Ascension and Declination, position
angles or small angles such as the great circle distance between neighbouring points or the
angular size of extended objects. However, they can contain any angular measure. The
basis of these facilities is that columns of angles are stored and manipulated internally in
radians, but are automatically displayed by xcatview
(see Section 11) and catview
(see
Section 12) as hours or degrees, minutes or seconds, optionally formatted as a sexagesimal
value.
CURSA recognises a column which is to be treated in this way by a combination of the DTYPE (data type) and UNITS attributes.
RADIANS
’ followed by an angular
format specifier enclosed in curly brackets (‘{}’). The simplest forms of this angular format
specifier are simply ‘HOURS
’ and ‘DEGREES
’ for hours and degrees respectively. Thus,
examples of the UNITS attribute are:
RADIANS{HOURS}
RADIANS{DEGREES}
The angular format specifiers are described in full in the following section.
Incidentally, the external display format attribute of the column, EXFMT, must be set to a valid Fortran 77 format specifier corresponding to the data type of the column, because of the way that CURSA represents catalogues as FITS tables.
It is possible to interactively modify the way that a column of angles is displayed by xcatview
or
catview
. This alteration is achieved by supplying a new UNITS attribute for the column. In practice
it is only the angular format specifier which is changed; the UNITS must still be of the
form
The angular format specifier is described in full below.
The angular format specifier forms part of the UNITS attribute for an angular column. The UNITS attribute for an angular column has the form:
The simplest angular format specifiers are ‘HOURS
’ and ‘DEGREES
’.
HOURS
DEGREES
If the angular format specifier is omitted altogether and the UNITS attribute simply set to ‘RADIANS
’
or ‘RADIANS{}
’ then the angle will be interpreted exactly as though the angular format
specifier had been ‘DEGREES
’. There are additional simple angular format specifiers for
displaying angles as minutes or seconds of arc or time to a specified number of decimal
places:
ARCMIN
.n ARCSEC
.n TIMEMIN
.n TIMESEC
.n .n is the number of decimal places required. If .n is omitted then the value will be displayed as an integer number. Though these angular specifiers can be used to display any angle, obviously they are most likely to be useful for small angles.
These simple angular format specifiers will usually be adequate for representing columns of celestial coordinates. However, sometimes you might wish to specify a different representation for an angle. CURSA accepts angular format specifiers which permit angles to be represented in a number of different formats. These specifiers are constructed from a selection from amongst the following elements:
I B L + Z H D M S T
.n
The meaning of each of the individual elements is as follows.
I
B
L
h
, d
, m
, or s
, as appropriate) to separate hours or degrees, minutes and seconds.
+
Z
H
D
M
M
occurs when either H
or D
is present then it indicates that the hours or degrees are to
be subdivided into sexagesimal minutes. If an M
occurs when neither H
nor D
is present
then it indicates that the units are minutes of either arc or time.
S
S
occurs when an M
is present then it indicates that the minutes are to be subdivided
into sexagesimal seconds (the minutes may be either the actual units or themselves a
sexagesimal subdivision of hours or degrees; see M
above). If an S
occurs when an M
is not
present then it indicates that the units are seconds of arc or time.
T
H
and D
are both absent and either or both of M
and S
are present then T
indicates that the units are minutes or seconds of time. If it is omitted in this case then the
units are minutes or seconds of arc. If either H
or D
is present then T
is ignored.
Any of the items may be omitted, down to and including a completely blank specifier.
The items can occur in any order, except that .n must occur last. However, for human readability I recommend that the items occur in the order:
I
, B
, L
, +
or Z
) (H
or D
) M S T
.n If items are omitted the following defaults apply.
I
, B
nor L
is specified then I
is assumed.
+
is omitted then positive angles are not preceded by a ‘’
sign.
Z
is omitted then leading zeros are omitted in the primary units (hours, degrees,
minutes or seconds), but leading zeros are always included in any sexagesimal
subdivisions.
H
, D
, M
or S
are specified then D
is assumed (that is, the default units are degrees).
H
or D
are present but M
is omitted then the hours or degrees are not subdivided into
minutes.
M
is present but S
is omitted then the minutes are not subdivided into seconds.
S
is present in addition to H
or D
but M
is absent then S
is ignored (this case is technically
illegal).
Table 21 lists a number of examples of angular format specifiers which might be used to represent ‘large’ angles, such as celestial coordinates, together with examples of how they would represent an angle. Table 22 lists a number of examples of angular format specifiers which might be used to represent small angles, such as the great circle distance between two neighbouring objects or the angular size of an extended object, together with examples of how they would represent an angle.
Specifier | Example | Notes |
D | 63 | Integer degrees |
D.2 | 62.86 | Degrees to two places of decimals |
DM | 62:52 | Degrees and integer minutes |
DM.2 | 62:51.58 | Degrees and minutes to two places of decimals |
DMS | 62:51:35 | Degrees, minutes and integer seconds |
DMS.2 | 62:51:34.65 | Degrees, minutes and seconds to two places of decimals |
H | 4 | Integer hours |
H.2 | 4.19 | Hours to two places of decimals |
HM | 4:11 | Hours and integer minutes |
HM.2 | 4:11.44 | Hours and minutes to two places of decimals |
HMS | 4:11:26 | Hours, minutes and integer seconds |
HMS.2 | 4:11:26.31 | Hours, minutes and seconds to two places of decimals |
BHMS.2 | 4 11 26.31 | Space character as separator |
LHMS.2 | 4h11m26.31s | Letter as separator |
ZHMS.2 | 04:11:26.31 | Leading zeros |
+HMS.2 | +4:11:26.31 | Signed value |
L+ZDM.3 | +062d51.577 | Letter separator, leading zeros and signed |
The examples show how the various specifiers would represent an angle of 1.09710742 radians (or ).
Specifier | Example | Notes |
M | 3 | Integer minutes of arc |
M.3 | 3.227 | Minutes of arc to three places of decimals |
MS | 3:14 | Minutes and integer seconds of arc |
MS.3 | 3:13.600 | Minutes and seconds of arc to three places of decimals |
S | 194 | Integer seconds of arc |
S.3 | 193.600 | Seconds of arc to three places of decimals |
MT | 0 | Integer minutes of time |
MT.3 | 0.215 | Minutes of time to three places of decimals |
MST | 0:13 | Minutes and integer seconds of time |
MST.3 | 0:12.907 | Minutes and seconds of time to three places of decimals |
ST | 13 | Integer seconds of time |
ST.3 | 12.907 | Seconds of time to three places of decimals |
BMS | 3 14 | Space character as separator |
LMS | 3m14s | Letter as separator |
ZMS | 03:14 | Leading zeros |
+MS | +3:14 | Signed value |
L+ZMS | +03m14s | Letter separator, leading zeros and signed |
These specifiers might typically be used to represent the great circle distance between neighbouring objects or the angular size of an extended object. There is no reason why they should not be used to represent ‘large’ angles such as celestial coordinates, though the output would look a bit odd. The examples show how the various specifiers would represent an angle of 9.3860x10 radians (or ).
The simple angular format specifiers, ‘HOURS
’, ‘DEGREES
’, ‘ARCMIN
’, ‘ARCSEC
’, ‘TIMEMIN
’ and ‘TIMESEC
’
are just synonyms for particular cases of the general specifiers. They are listed, together with the
equivalent full specification in Table 23.
Simple Specifier | Equivalent Full Specifier | Example | Notes |
HOURS | IHMS.1 | 14:11:26.3 | 1 |
DEGREES | IDMS | 62:51:35 | 1 |
ARCMIN | M | 3 | 2 |
ARCSEC | S | 194 | 2 |
TIMEMIN | MT | 0 | 2 |
TIMESEC | ST | 13 | 2 |
ARCMIN.3 | M.3 | 3.227 | 3 |
ARCSEC.3 | S.3 | 193.600 | 3 |
TIMEMIN.3 | MT.3 | 0.215 | 3 |
TIMESEC.3 | ST.3 | 12.907 | 3 |
Notes
The example for the first two specifiers is an angle of 1.09710742 radians; for the remaining specifiers the example is an angle of 9.3860x10 radians.
23DOUBLE PRECISION is more common in practice because REAL numbers are insufficiently accurate to represent an angle to a precision of a second of arc or better.