def __init__(self): super(AstrometryEcliptic, self).__init__() self.add_param( AngleParameter( name="ELONG", units="deg", description="Ecliptic longitude", aliases=["LAMBDA"], ) ) self.add_param( AngleParameter( name="ELAT", units="deg", description="Ecliptic latitude", aliases=["BETA"], ) ) self.add_param( floatParameter( name="PMELONG", units="mas/year", value=0.0, description="Proper motion in ecliptic longitude", aliases=["PMLAMBDA"], ) ) self.add_param( floatParameter( name="PMELAT", units="mas/year", value=0.0, description="Proper motion in ecliptic latitude", aliases=["PMBETA"], ) ) self.add_param( strParameter( name="ECL", value="IERS2010", description="Obliquity of the ecliptic (reference)", ) ) self.set_special_params(["ELONG", "ELAT", "PMELONG", "PMELAT"]) for param in ["ELAT", "ELONG", "PMELAT", "PMELONG"]: deriv_func_name = "d_delay_astrometry_d_" + param func = getattr(self, deriv_func_name) self.register_deriv_funcs(func, param)
def __init__(self, name="", components=[]): if not isinstance(name, str): raise ValueError( "First parameter should be the model name, was {!r}".format( name)) self.name = name self.introduces_correlated_errors = False self.component_types = [] self.top_level_params = [] self.add_param_from_top( strParameter(name="PSR", description="Source name", aliases=["PSRJ", "PSRB"]), "", ) self.add_param_from_top( strParameter(name="TRACK", description="Tracking Information"), "") self.add_param_from_top( strParameter(name="EPHEM", description="Ephemeris to use"), "") self.add_param_from_top( strParameter(name="UNITS", description="Units (TDB assumed)"), "") self.setup_components(components)
def __init__(self): super(AbsPhase, self).__init__() self.add_param( MJDParameter(name="TZRMJD", description="Epoch of the zero phase.")) self.add_param( strParameter( name="TZRSITE", description="Observatory of the zero phase measured.")) self.add_param( floatParameter( name="TZRFRQ", units=u.MHz, description="The frequency of the zero phase mearsured.", ))
def test_parameter_setting(type_, set_value, value): p = type_(name="TEST") if isinstance(value, type(Exception)) and issubclass(value, Exception): with pytest.raises(value): p.value = set_value else: p.value = set_value assert p.value == value @pytest.mark.parametrize( "p", [ boolParameter(name="FISH"), intParameter(name="FISH"), strParameter(name="FISH") ], ) def test_set_uncertainty_bogus_raises(p): with pytest.raises(NotImplementedError): p.uncertainty = 7.0 def test_compare_key_value(): par1 = maskParameter(name="Test1", key="-k1", key_value="kv1") par2 = maskParameter(name="Test2", key="-k1", key_value="kv1") par3 = maskParameter(name="Test3", key="-k2", key_value="kv1") par4 = maskParameter(name="Test4", key="-k1", key_value="kv2") assert par1.compare_key_value(par2) assert par2.compare_key_value(par1) assert not par1.compare_key_value(par3)