示例#1
0
    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)
示例#2
0
    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)
示例#3
0
 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.",
         ))
示例#4
0
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)