:py:mod:`tile_sky`
==================
.. py:module:: tile_sky
Module Contents
---------------
Classes
~~~~~~~
.. autoapisummary::
tile_sky.Celpos
tile_sky.TwoFloats
Functions
~~~~~~~~~
.. autoapisummary::
tile_sky.arg_init
tile_sky.prefix
tile_sky.parset_init
tile_sky.main
Attributes
~~~~~~~~~~
.. autoapisummary::
tile_sky.ster_to_sqdeg
tile_sky.explanation
tile_sky.description
tile_sky.label_help
tile_sky.interleave_help
tile_sky.script_name
tile_sky.FORMAT_FILE
tile_sky.FORMAT_CONSOLE
tile_sky.formatter_console
tile_sky.formatter_file
tile_sky.timestr
tile_sky.console
.. py:data:: ster_to_sqdeg
.. py:data:: explanation
:value: Multiline-String
.. raw:: html
Show Value
.. code-block:: python
"""
Script tile_sky
===============
This places observing tiles on the celestial sphere to optimise uniformity of sky coverage for a set of ASKAP
observations. The following options are supported:
1. The whole sky is tiled in the fashion described by Aaron Robotham (UWA): (i) tiles are arranged along small circles
over a latitude band spanning the equator, and (ii) the polar regions are tiled using the same scheme but the small
circles are centred on poles shifted to the equator of the nominated coordinate system.
2. The whole-sky tiling can be masked by a user-supplied polygon: tiles wholly outside the polygon are excluded.
3. Tiles can be placed only over a region defined by a user-defined polygon; in some cases, this method gives a more
efficient distribution of tiles than the second option.
In all cases, tiles north of the telescope's northern limit are excluded.
For the 2nd and 3rd options, several polygons can be given. No check is made for overlap, which could result in
duplicates using option 3.
INPUTS
------
The tiling is controlled with these inputs:
1. -m lat1,lat2 the latitude margins of the small-circle section - (default values [-72,72])
2. -c {J2000,GALAC,MAGEL} specifies the coordinate frame - (default is J2000)
3. -r Origin of the tiling in the chosen coordinates (lon,lat) - (default is [0.0,0.0]
4. -p the beam spacing (pitch) - (default is 0.9 deg)
5. -n the name of the footprint - (default is square_6x6)
User supplied polygons must be presented in a text file with each line corresponding to one polygon described by a
coordinate pair (lon lat) for each vertex. For example, a strip survey along the equator could be:
-40.0 -3.0, 40.0 -3.0, 40.0 3.0, -40.0 3.0
Pairs are separated by commas; longitude and latitude are separated by spaces; values are decimal degrees in the
coordinate system specified by the -c option.
The script writes an observing parset file that holds the specifications of each tile wit positions given in J2000
coordinates suitable for ASKAP's control system. However, the script can perform the tiling in other coordinate frames:
currently the supported coordinates are equatorial ("J2000"), Galactic ("GALAC") or Magellanic ("MAGEL")
(for Magellanic coordinates see http://adsabs.harvard.edu/abs/2008ApJ...679..432N).
OUTPUTS
-------
The script produces results in several files:
-
.. py:data:: description
:value: Multiline-String
.. raw:: html
Show Value
.. code-block:: python
"""
This tiles the sky with tiles arranged along small circles over a declination band
within user-specified limits. Outside this, a polar-cap uses the same scheme but centred on the SCP
and limited in extent to minimise overlap with the dec-band section.
"""
.. raw:: html
.. py:data:: label_help
:value: Multiline-String
.. raw:: html
Show Value
.. code-block:: python
"""
Name of region being tiled. This is used to name all auxilliary output files:
kvis annotations file .ann
plot file .png;
Shell script for running footprint-plan.py on all tiles _footprint.sh;
Observing parset .parset (can be overridden with the -o option).
The label is also used in naming fields in the parset.
"""
.. raw:: html
.. py:data:: interleave_help
:value: Multiline-String
.. raw:: html
Show Value
.. code-block:: python
"""
If interleaving is selected (the default), each primary tile will be accompanied by
one or two additional tiles that place beam centres in the minima of the primary tile.
These interleaved tiles are also interleaved in the observing parset. So for a square
footprint, even numbered sources will be the primary 'A' position and odd numbered
the 'B'. For hexagonal patterns there are two additional tiles for each primary:
'B' and 'C'.
"""
.. raw:: html
.. py:data:: script_name
:value: 'tile_sky'
.. py:data:: FORMAT_FILE
:value: '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
.. py:data:: FORMAT_CONSOLE
:value: '%(name)s - %(levelname)s - %(message)s'
.. py:data:: formatter_console
.. py:data:: formatter_file
.. py:data:: timestr
.. py:data:: console
.. py:function:: arg_init()
.. py:class:: Celpos(option_strings, dest, nargs=None, **kwargs)
Bases: :py:obj:`argparse.Action`
Information about how to convert command line strings to Python objects.
Action objects are used by an ArgumentParser to represent the information
needed to parse a single argument from one or more strings from the
command line. The keyword arguments to the Action constructor are also
all attributes of Action instances.
Keyword Arguments:
- option_strings -- A list of command-line option strings which
should be associated with this action.
- dest -- The name of the attribute to hold the created object(s)
- nargs -- The number of command-line arguments that should be
consumed. By default, one argument will be consumed and a single
value will be produced. Other values include:
- N (an integer) consumes N arguments (and produces a list)
- '?' consumes zero or one arguments
- '*' consumes zero or more arguments (and produces a list)
- '+' consumes one or more arguments (and produces a list)
Note that the difference between the default and nargs=1 is that
with the default, a single value will be produced, while with
nargs=1, a list containing a single value will be produced.
- const -- The value to be produced if the option is specified and the
option uses an action that takes no values.
- default -- The value to be produced if the option is not specified.
- type -- A callable that accepts a single string argument, and
returns the converted value. The standard Python types str, int,
float, and complex are useful examples of such callables. If None,
str is used.
- choices -- A container of values that should be allowed. If not None,
after a command-line argument has been converted to the appropriate
type, an exception will be raised if it is not a member of this
collection.
- required -- True if the action must always be specified at the
command line. This is only meaningful for optional command-line
arguments.
- help -- The help string describing the argument.
- metavar -- The name to be used for the option's argument with the
help string. If None, the 'dest' value will be used as the name.
.. py:method:: __call__(parser, namespace, values, option_string=None)
.. py:class:: TwoFloats(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)
Bases: :py:obj:`argparse.Action`
Information about how to convert command line strings to Python objects.
Action objects are used by an ArgumentParser to represent the information
needed to parse a single argument from one or more strings from the
command line. The keyword arguments to the Action constructor are also
all attributes of Action instances.
Keyword Arguments:
- option_strings -- A list of command-line option strings which
should be associated with this action.
- dest -- The name of the attribute to hold the created object(s)
- nargs -- The number of command-line arguments that should be
consumed. By default, one argument will be consumed and a single
value will be produced. Other values include:
- N (an integer) consumes N arguments (and produces a list)
- '?' consumes zero or one arguments
- '*' consumes zero or more arguments (and produces a list)
- '+' consumes one or more arguments (and produces a list)
Note that the difference between the default and nargs=1 is that
with the default, a single value will be produced, while with
nargs=1, a list containing a single value will be produced.
- const -- The value to be produced if the option is specified and the
option uses an action that takes no values.
- default -- The value to be produced if the option is not specified.
- type -- A callable that accepts a single string argument, and
returns the converted value. The standard Python types str, int,
float, and complex are useful examples of such callables. If None,
str is used.
- choices -- A container of values that should be allowed. If not None,
after a command-line argument has been converted to the appropriate
type, an exception will be raised if it is not a member of this
collection.
- required -- True if the action must always be specified at the
command line. This is only meaningful for optional command-line
arguments.
- help -- The help string describing the argument.
- metavar -- The name to be used for the option's argument with the
help string. If None, the 'dest' value will be used as the name.
.. py:method:: __call__(parser, namespace, values, option_string=None)
.. py:function:: prefix(word, pfx)
.. py:function:: parset_init(fp, beamform_pa)
.. py:function:: main()