Coverage for /wheeldirectory/casa-6.7.0-12-py3.10.el8/lib/py/lib/python3.10/site-packages/casatasks/listobs.py: 100%
27 statements
« prev ^ index » next coverage.py v7.6.4, created at 2024-11-01 07:19 +0000
« prev ^ index » next coverage.py v7.6.4, created at 2024-11-01 07:19 +0000
1##################### generated by xml-casa (v2) from listobs.xml ###################
2##################### cc0cfcd467ffdd3243f66208fc9312dd ##############################
3from __future__ import absolute_import
4import numpy
5from casatools.typecheck import CasaValidator as _val_ctor
6_pc = _val_ctor( )
7from casatools.coercetype import coerce as _coerce
8from casatools.errors import create_error_string
9from .private.task_listobs import listobs as _listobs_t
10from casatasks.private.task_logging import start_log as _start_log
11from casatasks.private.task_logging import end_log as _end_log
12from casatasks.private.task_logging import except_log as _except_log
14class _listobs:
15 """
16 listobs ---- Get the summary of a MeasurementSet and list it in the logger or in a file
19 List the summary information of a data set in the logger or in a file, based on
20 a data selection. Only rows can be selected and printed. No in-row selection is
21 possible (channel or correlation).
23 Lists the following properties of a measurement set:
24 scan list, field list, spectral window list with
25 correlators, antenna locations, ms table information.
28 --------- parameter descriptions ---------------------------------------------
30 vis Name of input visibility file (MS)
31 selectdata Data selection parameters
32 spw Selection based on spectral-window/frequency/channel.
33 field Selection based on field names or field index numbers. Default is all.
34 antenna Selection based on antenna/baselines. Default is all.
35 uvrange Selection based on uv range. Default: entire range. Default units: meters.
36 timerange Selection based on time range. Default is entire range.
37 correlation Selection based on correlation. Default is all.
38 scan Selection based on scan numbers. Default is all.
39 intent Selection based on observation intent. Default is all.
40 feed Selection based on multi-feed numbers: Not yet implemented
41 array Selection based on (sub)array numbers. Default is all.
42 observation Selection based on observation ID. Default is all.
43 verbose Controls level of information detail reported. True reports more than False.
44 listfile Name of disk file to write output. Default is none (output is written to logger only).
45 listunfl List unflagged row counts? If true, it can have significant negative performance impact.
46 cachesize EXPERIMENTAL. Maximum size in megabytes of cache in which data structures can be held.
47 overwrite If True, tacitly overwrite listfile if it exists.
48 [1;42mRETURNS[1;m void
50 --------- examples -----------------------------------------------------------
54 List the summary information of a data set in the logger or in a file, based on
55 a data selection. Only rows can be selected and printed. No in-row selection is
56 possible (channel or correlation). Refer to the task listvis to list visibilites.
58 Lists the following properties of a measurement set:
59 scan list, field list, spectral window list with
60 correlators, antenna locations, ms table information.
62 Keyword arguments:
63 vis -- Name of input visibility file
64 default: none. example: vis='ngc5921.ms'
66 selectdata -- Select a subset of data for flagging
67 default: False
68 options: True,False
69 The summary listing will only apply to the specified selection.
71 antenna -- Select data based on baseline
72 default: '' (all); example: antenna='5&6' baseline 5-6
73 antenna='5&6;7&8' #baseline 5-6 and 7-8
74 antenna='5' # all cross-correlation baselines between antenna 5 and all other available
75 antennas
76 antenna='5,6' # all baselines with antennas 5 and 6
77 antenna='1&&1' # only the auto-correlation baselines for antenna 1
78 antenna='1&&*' # cross and auto-correlation baselines between antenna 1
79 and all other available antennas
80 antenna='1~7&&&' # only the auto-correlation baselines for antennas in range 1~7
81 spw -- Select data based on spectral window and channels
82 default: '' (all); example: spw='1'
83 spw='<2' #spectral windows less than 2
84 spw='>1' #spectral windows greater than 1
85 correlation -- Correlation types
86 default: '' (all);
87 example: correlation='RR LL'
88 field -- Select data based on field id(s) or name(s)
89 default: '' (all); example: field='1'
90 field='0~2' # field ids inclusive from 0 to 2
91 field='3C*' # all field names starting with 3C
92 uvrange -- Select data within uvrange (default units meters)
93 default: '' (all); example:
94 uvrange='0~1000klambda'; uvrange from 0-1000 kilo-lamgda
95 uvrange='>4klamda';uvranges greater than 4 kilo-lambda
96 uvrange='0~1000km'; uvrange in kilometers
97 timerange -- Select data based on time range:
98 default = '' (all); example,
99 timerange = 'YYYY/MM/DD/hh:mm:ss~YYYY/MM/DD/hh:mm:ss'
100 Note: YYYY/MM/DD can be dropped as needed:
101 timerange='09:14:0~09:54:0' # this time range
102 timerange='09:44:00' # data within one integration of time
103 timerange='>10:24:00' # data after this time
104 timerange='09:44:00+00:13:00' #data 13 minutes after time
105 scan -- Select data based on scan number
106 default: '' (all); example: scan='>3'
107 intent -- Select data based on observation intent
108 default: '' (all); example: intent='*CAL*,*BAND*'
109 feed -- Selection based on the feed - NOT IMPLEMENTED YET
110 array -- Selection based on the antenna array
111 observation -- Selection based on the observation ID
112 default: '' (all); example: observation='1' or observation=1
115 verbose -- level of detail
116 verbose=True: (default); scan and antenna lists
117 verbose=False: less information
119 listfile -- name of disk file to write output.
120 default: None. Example: listfile='list.txt'
122 listunfl -- List unflagged row counts? If true, it can have significant negative performance impact.
124 cachesize -- maximum size of the memory cache in megabytes in which data structures can be
125 stored. For very large datasets this can be increased for possibly better performance.
126 THIS IS ONLY EXPERIEMENTAL FOR NOW, AND INCREASING THE VALUE OF THIS PARAMETER DOES NOT GUARANTEE INCREASED
127 SPEED. DEPENDING ON ITS (LACK OF) USEFULNESS, IT MAY BE REMOVED IN THE FUTURE.
130 The 'Int (s)' column is the average of the MS's INTERVAL column
131 for each scan, so in a time-averaged MS 'Int' = 9.83s more likely
132 means 5 10s integrations and 1 9s integration (timebin) than 6
133 9.83s integrations.
135 DESCRIPTION OF ALGORITHM TO CALCULATE THE NUMBER OF UNFLAGGED ROWS
136 The number of unflagged rows are only computed if listunfl=True. Computing these quantity
137 can have a negative performance impact, especially for large datasets.
138 The number of unflagged rows (the nUnflRows columns in the scans and fields portions of the listing) is
139 calculated by summing the fractional unflagged bandwidth for each row (and hence why the number of unflagged
140 rows, in general, is not an integer). Thus a row which has half of its
141 total bandwidth flagged contributes 0.5 rows to the unflagged row count. A row with 20 of 32 channels of
142 homogeneous width contributes 20/32 = 0.625 rows to the unflagged row count. A row with a value of False
143 in the FLAG_ROW column is not counted in the number of unflagged rows.
147 """
149 _info_group_ = """information"""
150 _info_desc_ = """Get the summary of a MeasurementSet and list it in the logger or in a file"""
152 def __call__( self, vis='', selectdata=True, spw='', field='', antenna='', uvrange='', timerange='', correlation='', scan='', intent='', feed='', array='', observation='', verbose=True, listfile='', listunfl=False, cachesize=float(50), overwrite=False ):
153 schema = {'vis': {'type': 'cReqPath', 'coerce': _coerce.expand_path}, 'selectdata': {'type': 'cBool'}, 'spw': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cStrVec', 'coerce': [_coerce.to_list,_coerce.to_strvec]}]}, 'field': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cStrVec', 'coerce': [_coerce.to_list,_coerce.to_strvec]}]}, 'antenna': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cStrVec', 'coerce': [_coerce.to_list,_coerce.to_strvec]}]}, 'uvrange': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cStrVec', 'coerce': [_coerce.to_list,_coerce.to_strvec]}]}, 'timerange': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cStrVec', 'coerce': [_coerce.to_list,_coerce.to_strvec]}]}, 'correlation': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cStrVec', 'coerce': [_coerce.to_list,_coerce.to_strvec]}]}, 'scan': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cStrVec', 'coerce': [_coerce.to_list,_coerce.to_strvec]}]}, 'intent': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cStrVec', 'coerce': [_coerce.to_list,_coerce.to_strvec]}]}, 'feed': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cStrVec', 'coerce': [_coerce.to_list,_coerce.to_strvec]}]}, 'array': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cStrVec', 'coerce': [_coerce.to_list,_coerce.to_strvec]}]}, 'observation': {'anyof': [{'type': 'cStr', 'coerce': _coerce.to_str}, {'type': 'cInt'}]}, 'verbose': {'type': 'cBool'}, 'listfile': {'type': 'cStr', 'coerce': _coerce.to_str}, 'listunfl': {'type': 'cBool'}, 'cachesize': {'type': 'cFloat', 'coerce': _coerce.to_float}, 'overwrite': {'type': 'cBool'}}
154 doc = {'vis': vis, 'selectdata': selectdata, 'spw': spw, 'field': field, 'antenna': antenna, 'uvrange': uvrange, 'timerange': timerange, 'correlation': correlation, 'scan': scan, 'intent': intent, 'feed': feed, 'array': array, 'observation': observation, 'verbose': verbose, 'listfile': listfile, 'listunfl': listunfl, 'cachesize': cachesize, 'overwrite': overwrite}
155 assert _pc.validate(doc,schema), create_error_string(_pc.errors)
156 _logging_state_ = _start_log( 'listobs', [ 'vis=' + repr(_pc.document['vis']), 'selectdata=' + repr(_pc.document['selectdata']), 'spw=' + repr(_pc.document['spw']), 'field=' + repr(_pc.document['field']), 'antenna=' + repr(_pc.document['antenna']), 'uvrange=' + repr(_pc.document['uvrange']), 'timerange=' + repr(_pc.document['timerange']), 'correlation=' + repr(_pc.document['correlation']), 'scan=' + repr(_pc.document['scan']), 'intent=' + repr(_pc.document['intent']), 'feed=' + repr(_pc.document['feed']), 'array=' + repr(_pc.document['array']), 'observation=' + repr(_pc.document['observation']), 'verbose=' + repr(_pc.document['verbose']), 'listfile=' + repr(_pc.document['listfile']), 'listunfl=' + repr(_pc.document['listunfl']), 'cachesize=' + repr(_pc.document['cachesize']), 'overwrite=' + repr(_pc.document['overwrite']) ] )
157 task_result = None
158 try:
159 task_result = _listobs_t( _pc.document['vis'], _pc.document['selectdata'], _pc.document['spw'], _pc.document['field'], _pc.document['antenna'], _pc.document['uvrange'], _pc.document['timerange'], _pc.document['correlation'], _pc.document['scan'], _pc.document['intent'], _pc.document['feed'], _pc.document['array'], _pc.document['observation'], _pc.document['verbose'], _pc.document['listfile'], _pc.document['listunfl'], _pc.document['cachesize'], _pc.document['overwrite'] )
160 except Exception as exc:
161 _except_log('listobs', exc)
162 raise
163 finally:
164 task_result = _end_log( _logging_state_, 'listobs', task_result )
165 return task_result
167listobs = _listobs( )