Coverage for /wheeldirectory/casa-6.7.0-12-py3.10.el8/lib/py/lib/python3.10/site-packages/casatasks/gencal.py: 100%
27 statements
« prev ^ index » next coverage.py v7.6.4, created at 2024-10-31 19:10 +0000
« prev ^ index » next coverage.py v7.6.4, created at 2024-10-31 19:10 +0000
1##################### generated by xml-casa (v2) from gencal.xml ####################
2##################### c1c8e47ed65e84953105bd45e8a50894 ##############################
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_gencal import gencal as _gencal_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 _gencal:
15 """
16 gencal ---- Specify Calibration Values of Various Types
19 The gencal task provides a means of specifying antenna-based
20 calibration values manually. The values are put in designated tables
21 and applied to the data using applycal. Several specialized
22 calibrations are also generated with gencal.
24 Current antenna-based gencal options (caltype) are:
26 - 'amp'= amplitude correction
27 - 'ph' = phase correction
28 - 'sbd'= single-band delay (phase-frequency slope for each spw)
29 - 'mbd'= multi-band delay (phase-frequency slope over all spw)
30 - 'antpos' = ITRF antenna position corrections
31 - 'antposvla' = VLA-centric antenna position corrections
32 - 'tsys' = Tsys from the SYSCAL table (ALMA)
33 - 'swpow' = EVLA switched-power gains (experimental)
34 - ?swpwts? = EVLA switched-power for weights only, no temperature rescaling
35 - 'evlagain' (='swpow') (this syntax will deprecate)
36 - 'rq' = EVLA requantizer gains _only_
37 - 'swp/rq' = EVLA switched-power gains divided by requantizer gain
38 - 'opac' = Tropospheric opacity
39 - 'gc' = Gain curve (zenith-angle-dependent gain) (VLA only)
40 - 'eff' = Antenna efficiency (sqrt(K/Jy)) (VLA only)
41 - 'gceff' = Gain curve and efficiency (VLA only)
42 - 'tecim' = Time-dep TEC image specified in infile
43 - 'jyperk'= Jy/K factor via Jy/K DB Web API
44 - 'eop' = EOP corrections
46 --------- parameter descriptions ---------------------------------------------
48 vis Name of input visibility file
49 Default: none
51 Example: vis='ngc5921.ms'
52 caltable Name of input calibration table
54 Default: none
56 If a calibration table does not exist, it will be
57 created. Specifying an existing table will result
58 in the parameters being applied
59 cumulatively. Only a single time-stamp for all
60 calibrations are supported, currently. Do not
61 use a caltable created by gaincal, bandpass,
62 etc.
64 Example: caltable='test.G'
65 caltype The calibration parameter type being specified
66 Default: none
67 Options: 'amp', 'ph', 'sbd', 'mbd', 'antpos',
68 'antposvla', 'tsys', 'evlagain', 'opac', 'gc',
69 'gceff', 'eff', 'tecim', 'jyperk', 'eop'
71 - 'amp' = gain (G) amplitude (1 real parameter
72 per pol, antenna, spw)
73 - 'ph' = gain (G) phase (deg) (1 real parameter
74 per pol, antenna, spw)
75 - 'sbd' = single-band delays (nsec) (1 real
76 parameter per pol, antenna, spw)
77 - 'mbd' = multi-band delay (nsec) (1 real
78 parameter per pol, antenna, spw)
79 - 'antpos' = antenna position corrections (m) (3
80 real ITRF offset parameters per antenna; spw,
81 pol selection will be ignored)
82 With antenna='', this triggers an automated
83 lookup of antenna positions for EVLA. For ALMA
84 an input file generated with getantposalma task
85 can be input in paramter infile.
86 - 'antposvla' = antenna position corrections (m)
87 specified in the old VLA-centric coordinate
88 system
89 - 'tsys' = Tsys from the SYSCAL table (ALMA)
90 - ?swpwts? = EVLA switched-power weights
91 - 'evlagain' = EVLA switched-power gains
92 (experimental)
93 - 'opac' = Tropospheric opacity (1 real parameter
94 per antenna, spw)
95 - 'gc' = Antenna zenith-angle dependent gain
96 curve (auto-lookup)
97 - 'gceff' = Gain curve and efficiency
98 (auto-lookup)
99 - 'eff' = Antenna efficiency (auto-lookup)
100 - 'jyperk' = Jy/K factor via Jy/K DB Web API
101 - 'eop' = EOP corrections
103 Example: caltype='ph'
104 infile Input ancilliary file
105 Subparameter of caltype='antpos|gc|gceff|tecim|jyperk'
106 Default: none
108 The format of the file in case of 'antpos' is JSON.
109 The file contains the information about the antenna
110 positions as well as some metadata. As a reference,
111 this code snippet would create the most minimal JSON file
112 that can be used by **gencal**
114 ::
115 import json
116 ...
117 with open("outfile.json", "w") as f:
118 json.dump({"data":{"ANT1" : [500000, 500000, 500000]}, "metadata" : {"product_code": "antposalma"} }, f)
119 endpoint Input endpoint of the Jy/K DB Web API.
120 Subparameter of caltype='jyperk'
121 Default: 'asdm'
122 Options: 'asdm', 'model-fit', 'interpolation'
124 The 'interpolation' option may not work for the data after 2019.
125 timeout Maximum waiting time [sec] for the Web API access.
126 Subparameter of caltype='jyperk'
127 Default: 180
128 retry Number of retry when the Web API access fails.
129 Subparameter of caltype='jyperk'
130 Default: 3
131 retry_wait_time Waiting time [sec] until next query, when the Web API access fails.
132 Subparameter of caltype='jyperk'
133 Default: 5
134 ant_pos_time_limit Maximum number of days beyond the observation for which a
135 correction should be included in the final offset. This subparameter has only
136 an effect on VLA data.
137 Subparameter of caltype='antpos'
138 Default: 0
139 spw Select spectral window/channels
140 Default: '' (all spectral windows and channels)
142 Examples: spw='0~2,4'; spectral windows 0,1,2,4 (all channels) spw='<2'; spectral windows less than 2 (i.e. 0,1) spw='0:5~61'; spw 0, channels 5 to 61 spw='0,10,3:3~45'; spw 0,10 all channels, spw
143 3 - chans 3 to 45. spw='0~2:2~6'; spw 0,1,2 with channels 2
144 through 6 in each.
145 spw = '\*:3~64' channels 3 through 64 for all sp id's
146 spw = ' :3~64' will NOT work.
147 antenna Select data based on antenna/baseline
148 Subparameter of selectdata=True
149 Default: '' (all)
151 If antenna string is a non-negative integer, it
152 is assumed an antenna index, otherwise, it is
153 assumed as an antenna name
155 Examples:
156 antenna='5&6'; baseline between antenna
157 index 5 and index 6.
158 antenna='VA05&VA06'; baseline between VLA
159 antenna 5 and 6.
160 antenna='5&6;7&8'; baselines with
161 indices 5-6 and 7-8
162 antenna='5'; all baselines with antenna index
163 5
164 antenna='05'; all baselines with antenna
165 number 05 (VLA old name)
166 antenna='5,6,10'; all baselines with antennas
167 5,6,10 index numbers
168 pol Polarization selection for specified parameters
169 Default: pol='' (specified parameters apply to
170 all polarizations)
172 Example: pol='R' (specified parameters to
173 apply to R only)
174 parameter The calibration values
176 The calibration parameters, specified as a list,
177 to store in the caltable for the spw, antenna,
178 and pol selection. The required length of the
179 list is determined by the caltype and the spw,
180 antenna, pol selection. One "set" of parameters
181 (e.g., one value for 'amp', 'ph', etc., three
182 values for 'antpos') specified the same value for
183 all indicated spw, antenna, and pol.
184 OR,
185 When specifying a long list of calibration
186 parameter values, these should be ordered first
187 (fastest) by pol (if pol!=''), then by antenna
188 (if antenna!=''), and finally (sloweset) by spw
189 (if spw!=''). Unspecified selection axes must
190 not be enumerated in the parameter list
191 uniform Assume uniform calibration values across the array
192 Subparameter of caltype='tsys'
193 Default: True
194 Options: True|False
195 [1;42mRETURNS[1;m void
197 --------- examples -----------------------------------------------------------
200 FOR MORE INFORMATION, SEE THE TASK PAGES OF GENCAL IN CASA DOCS:
201 https://casa.nrao.edu/casadocs/
204 """
206 _info_group_ = """calibration"""
207 _info_desc_ = """Specify Calibration Values of Various Types"""
209 def __call__( self, vis='', caltable='', caltype='', infile='', endpoint='asdm', timeout=int(180), retry=int(3), retry_wait_time=int(5), ant_pos_time_limit=int(0), spw='', antenna='', pol='', parameter=[ ], uniform=True ):
210 schema = {'vis': {'type': 'cReqPath', 'coerce': _coerce.expand_path}, 'caltable': {'type': 'cStr', 'coerce': _coerce.to_str}, 'caltype': {'type': 'cStr', 'coerce': _coerce.to_str, 'allowed': [ 'eff', 'antposvla', 'swpwts', 'mbd', 'opac', 'gc', 'antpos', 'tsys', 'swp/rq', 'swpow', 'amp', 'tecim', 'gceff', 'jyperk', 'eop', 'ph', 'rq', 'evlagain', 'sbd' ]}, 'infile': {'type': 'cStr', 'coerce': _coerce.to_str}, 'endpoint': {'type': 'cStr', 'coerce': _coerce.to_str}, 'timeout': {'type': 'cInt'}, 'retry': {'type': 'cInt'}, 'retry_wait_time': {'type': 'cInt'}, 'ant_pos_time_limit': {'type': 'cInt'}, 'spw': {'type': 'cStr', 'coerce': _coerce.to_str}, 'antenna': {'type': 'cStr', 'coerce': _coerce.to_str}, 'pol': {'type': 'cStr', 'coerce': _coerce.to_str}, 'parameter': {'type': 'cFloatVec', 'coerce': [_coerce.to_list,_coerce.to_floatvec]}, 'uniform': {'type': 'cBool'}}
211 doc = {'vis': vis, 'caltable': caltable, 'caltype': caltype, 'infile': infile, 'endpoint': endpoint, 'timeout': timeout, 'retry': retry, 'retry_wait_time': retry_wait_time, 'ant_pos_time_limit': ant_pos_time_limit, 'spw': spw, 'antenna': antenna, 'pol': pol, 'parameter': parameter, 'uniform': uniform}
212 assert _pc.validate(doc,schema), create_error_string(_pc.errors)
213 _logging_state_ = _start_log( 'gencal', [ 'vis=' + repr(_pc.document['vis']), 'caltable=' + repr(_pc.document['caltable']), 'caltype=' + repr(_pc.document['caltype']), 'infile=' + repr(_pc.document['infile']), 'endpoint=' + repr(_pc.document['endpoint']), 'timeout=' + repr(_pc.document['timeout']), 'retry=' + repr(_pc.document['retry']), 'retry_wait_time=' + repr(_pc.document['retry_wait_time']), 'ant_pos_time_limit=' + repr(_pc.document['ant_pos_time_limit']), 'spw=' + repr(_pc.document['spw']), 'antenna=' + repr(_pc.document['antenna']), 'pol=' + repr(_pc.document['pol']), 'parameter=' + repr(_pc.document['parameter']), 'uniform=' + repr(_pc.document['uniform']) ] )
214 task_result = None
215 try:
216 task_result = _gencal_t( _pc.document['vis'], _pc.document['caltable'], _pc.document['caltype'], _pc.document['infile'], _pc.document['endpoint'], _pc.document['timeout'], _pc.document['retry'], _pc.document['retry_wait_time'], _pc.document['ant_pos_time_limit'], _pc.document['spw'], _pc.document['antenna'], _pc.document['pol'], _pc.document['parameter'], _pc.document['uniform'] )
217 except Exception as exc:
218 _except_log('gencal', exc)
219 raise
220 finally:
221 task_result = _end_log( _logging_state_, 'gencal', task_result )
222 return task_result
224gencal = _gencal( )