# Input Arrays ary_dict('uvw', (3,'ntime','na'), 'ft', default=0, test=rand_uvw), ary_dict('antenna1', ('ntime', 'nbl'), np.int32, default=lambda slvr, ary: slvr.default_ant_pairs()[0], test=lambda slvr, ary: slvr.default_ant_pairs()[0]), ary_dict('antenna2', ('ntime', 'nbl'), np.int32, default=lambda slvr, ary: slvr.default_ant_pairs()[1], test=lambda slvr, ary: slvr.default_ant_pairs()[1]), ary_dict('lm', (2,'nsrc'), 'ft', default=0, test=lambda slvr, ary: (rary(ary)-0.5)*1e-1), ary_dict('brightness', (5,'ntime','nsrc'), 'ft', default=np.array([1,0,0,1,0.8])[:,np.newaxis,np.newaxis], test=lambda slvr, ary: (rary(ary))), ary_dict('gauss_shape', (3, 'ngsrc'), 'ft', default=np.array([0,0,1])[:,np.newaxis], test=rand_gauss_shape), ary_dict('sersic_shape', (3, 'nssrc'), 'ft', default=np.array([0,0,0])[:,np.newaxis], test=rand_sersic_shape), ary_dict('wavelength', ('nchan',), 'ft', default=lambda slvr, ary: montblanc.constants.C / \
Classifier.E_BEAM_INPUT, Classifier.EKB_SQRT_INPUT, Classifier.COHERENCIES_INPUT]), default=lambda slvr, ary: np.linspace(1e9, 2e9, slvr.dim_local_size('nchan')), test=lambda slvr, ary: np.linspace(1e9, 2e9, slvr.dim_local_size('nchan'))), ary_dict('ref_frequency', ('nchan',), 'ft', classifiers=frozenset([Classifier.B_SQRT_INPUT]), default=1.4e9, test=1.4e9), # Reference antenna parallactic angle at each timestep ary_dict('parallactic_angles', ('ntime', 'na'), 'ft', classifiers=frozenset([Classifier.E_BEAM_INPUT]), default=0, test=lambda s, a: rary(a)*np.pi), # Holographic Beam ary_dict('point_errors', ('ntime','na','nchan',2), 'ft', classifiers=frozenset([Classifier.E_BEAM_INPUT]), default=0, test=lambda slvr, ary: (rary(ary) - 0.5)*1e-2), ary_dict('antenna_scaling', ('na','nchan',2), 'ft', classifiers=frozenset([Classifier.E_BEAM_INPUT]), default=1, test=lambda slvr, ary: rary(ary)), ary_dict('E_beam', ('beam_lw', 'beam_mh', 'beam_nud', 4), 'ct', classifiers=frozenset([Classifier.E_BEAM_INPUT]), default=np.array([1,0,0,1])[np.newaxis,np.newaxis,np.newaxis,:],
default=lambda slvr, ary: np.linspace( 1e9, 2e9, slvr.dim_local_size('nchan')), test=lambda slvr, ary: np.linspace(1e9, 2e9, slvr.dim_local_size('nchan'))), ary_dict('ref_frequency', ('nchan', ), 'ft', classifiers=frozenset([Classifier.B_SQRT_INPUT]), default=1.4e9, test=1.4e9), # Reference antenna parallactic angle at each timestep ary_dict('parallactic_angles', ('ntime', 'na'), 'ft', classifiers=frozenset([Classifier.E_BEAM_INPUT]), default=0, test=lambda s, a: rary(a) * np.pi), # Holographic Beam ary_dict('point_errors', ('ntime', 'na', 'nchan', 2), 'ft', classifiers=frozenset([Classifier.E_BEAM_INPUT]), default=0, test=lambda slvr, ary: (rary(ary) - 0.5) * 1e-2), ary_dict('antenna_scaling', ('na', 'nchan', 2), 'ft', classifiers=frozenset([Classifier.E_BEAM_INPUT]), default=1, test=lambda slvr, ary: rary(ary)), ary_dict('E_beam', ('beam_lw', 'beam_mh', 'beam_nud', 4), 'ct', classifiers=frozenset([Classifier.E_BEAM_INPUT]),