def test_dict_to_skymodels(): filename = get_pkg_data_filename("data/examples.yaml") models_data = read_yaml(filename) models = Models.from_dict(models_data) assert len(models) == 5 model0 = models[0] assert isinstance(model0, BackgroundModel) assert model0.name == "background_irf" model0 = models[1] assert "ExpCutoffPowerLawSpectralModel" in model0.spectral_model.tag assert "PointSpatialModel" in model0.spatial_model.tag pars0 = model0.parameters assert pars0["index"].value == 2.1 assert pars0["index"].unit == "" assert np.isnan(pars0["index"].max) assert np.isnan(pars0["index"].min) assert not pars0["index"].frozen assert pars0["lon_0"].value == -0.5 assert pars0["lon_0"].unit == "deg" assert pars0["lon_0"].max == 180.0 assert pars0["lon_0"].min == -180.0 assert pars0["lon_0"].frozen assert pars0["lat_0"].value == -0.0005 assert pars0["lat_0"].unit == "deg" assert pars0["lat_0"].max == 90.0 assert pars0["lat_0"].min == -90.0 assert pars0["lat_0"].frozen assert pars0["lambda_"].value == 0.006 assert pars0["lambda_"].unit == "TeV-1" assert np.isnan(pars0["lambda_"].min) assert np.isnan(pars0["lambda_"].max) model1 = models[2] assert "pl" in model1.spectral_model.tag assert "PowerLawSpectralModel" in model1.spectral_model.tag assert "DiskSpatialModel" in model1.spatial_model.tag assert "disk" in model1.spatial_model.tag assert "LightCurveTemplateTemporalModel" in model1.temporal_model.tag pars1 = model1.parameters assert pars1["index"].value == 2.2 assert pars1["index"].unit == "" assert pars1["lat_0"].scale == 1.0 assert pars1["lat_0"].factor == pars1["lat_0"].value assert np.isnan(pars1["index"].max) assert np.isnan(pars1["index"].min) assert pars1["r_0"].unit == "deg" model2 = models[3] assert_allclose(model2.spectral_model.energy.data, [34.171, 44.333, 57.517]) assert model2.spectral_model.energy.unit == "MeV" assert_allclose(model2.spectral_model.values.data, [2.52894e-06, 1.2486e-06, 6.14648e-06]) assert model2.spectral_model.values.unit == "1 / (cm2 MeV s)" assert "TemplateSpectralModel" in model2.spectral_model.tag assert "TemplateSpatialModel" in model2.spatial_model.tag assert not model2.spatial_model.normalize
def models(): filename = get_pkg_data_filename("data/examples.yaml") models_data = read_yaml(filename) models = Models.from_dict(models_data) return models