annotate Generate_figures.py @ 0:f40d05521dca draft default tip

planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
author astroteam
date Fri, 25 Apr 2025 19:33:20 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
1 #!/usr/bin/env python
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
2 # coding: utf-8
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
3
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
4 #!/usr/bin/env python
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
5
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
6 # This script is generated with nb2galaxy
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
7
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
8 # flake8: noqa
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
9
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
10 import json
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
11 import os
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
12 import shutil
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
13
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
14 from oda_api.json import CustomJSONEncoder
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
15
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
16 # oda:usesResource oda:CRBeamS3 .
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
17 # oda:CRBeamS3 a oda:S3 .
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
18 # oda:CRBeamS3 oda:resourceBindingEnvVarName "S3_CREDENTIALS" .
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
19
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
20 src_name = "NGC 1365" # http://odahub.io/ontology#AstrophysicalObject
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
21
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
22 z_start = 0 # http://odahub.io/ontology#Float
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
23 Npart = 2000 # http://odahub.io/ontology#Integer ; oda:lower_limit 1 ; oda:upper_limit 100000
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
24 particle_type = "gamma" # http://odahub.io/ontology#String ; oda:allowed_value "gamma","electron","proton"
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
25 Emax = 30 # http://odahub.io/ontology#Energy_TeV
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
26 Emin = 0.01 # http://odahub.io/ontology#Energy_TeV
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
27 EminSource = 1.0 # http://odahub.io/ontology#Energy_TeV
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
28 Gamma = 2.0 # http://odahub.io/ontology#Float
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
29 EGMF_fG = 10 # http://odahub.io/ontology#Float
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
30 lmaxEGMF_Mpc = 5 # http://odahub.io/ontology#Float
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
31 jet_half_size = 5.0 # oda:AngleDegrees
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
32 jet_direction = 0.0 # oda:AngleDegrees
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
33 psf = 1.0 # oda:AngleDegrees
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
34 window_size_RA = 2.0 # oda:AngleDegrees
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
35 window_size_DEC = 1.0 # oda:AngleDegrees
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
36 EBL = "Franceschini 2017" # http://odahub.io/ontology#String ; oda:allowed_value "Franceschini 2017","Stecker 2016 lower limit","Stecker 2016 upper limit","Inoue 2012 Baseline","Inoue 2012 lower limit","Inoue 2012 upper limit"
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
37
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
38 _galaxy_wd = os.getcwd()
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
39
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
40 with open("inputs.json", "r") as fd:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
41 inp_dic = json.load(fd)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
42 if "C_data_product_" in inp_dic.keys():
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
43 inp_pdic = inp_dic["C_data_product_"]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
44 else:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
45 inp_pdic = inp_dic
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
46 src_name = str(inp_pdic["src_name"])
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
47 z_start = float(inp_pdic["z_start"])
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
48 Npart = int(inp_pdic["Npart"])
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
49 particle_type = str(inp_pdic["particle_type"])
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
50 Emax = float(inp_pdic["Emax"])
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
51 Emin = float(inp_pdic["Emin"])
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
52 EminSource = float(inp_pdic["EminSource"])
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
53 Gamma = float(inp_pdic["Gamma"])
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
54 EGMF_fG = float(inp_pdic["EGMF_fG"])
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
55 lmaxEGMF_Mpc = float(inp_pdic["lmaxEGMF_Mpc"])
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
56 jet_half_size = float(inp_pdic["jet_half_size"])
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
57 jet_direction = float(inp_pdic["jet_direction"])
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
58 psf = float(inp_pdic["psf"])
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
59 window_size_RA = float(inp_pdic["window_size_RA"])
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
60 window_size_DEC = float(inp_pdic["window_size_DEC"])
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
61 EBL = str(inp_pdic["EBL"])
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
62
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
63 import os
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
64
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
65 from astropy import units as u
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
66 from astropy.coordinates import SkyCoord
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
67 from astropy.nddata import StdDevUncertainty
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
68 from astropy.table import Table
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
69 from gammapy.maps import Map, MapAxis
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
70 from oda_api.api import ProgressReporter
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
71 from oda_api.data_products import (
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
72 LightCurveDataProduct,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
73 NumpyDataProduct,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
74 ODAAstropyTable,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
75 PictureProduct,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
76 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
77 from specutils import Spectrum1D
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
78 from utils import find_redshift
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
79
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
80 if z_start <= 0:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
81 z_start = find_redshift(src_name)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
82
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
83 source = SkyCoord.from_name(src_name, frame="icrs", parse=False, cache=True)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
84
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
85 pr = ProgressReporter()
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
86 pr.report_progress(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
87 stage="Initialization",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
88 progress=0,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
89 substage="spectra",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
90 subprogress=30,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
91 message="some message",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
92 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
93
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
94 import subprocess
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
95
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
96 import light_curve as lc
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
97 import numpy as np
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
98 from crbeam import CRbeam
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
99 from matplotlib import pyplot as plt
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
100 from spec_plot import plot_spec
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
101
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
102 EGMF = EGMF_fG * 1e-15
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
103
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
104 # internal units are eV
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
105 Emax *= 1e12
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
106 Emin *= 1e12
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
107 EminSource *= 1e12
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
108
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
109 background = {
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
110 "Franceschini 2017": 12,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
111 "Stecker 2016 lower limit": 10,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
112 "Stecker 2016 upper limit": 11,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
113 "Inoue 2012 Baseline": 3,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
114 "Inoue 2012 lower limit": 4,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
115 "Inoue 2012 upper limit": 5,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
116 }[EBL]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
117
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
118 prog = CRbeam(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
119 z=z_start,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
120 nparticles=Npart,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
121 primary=particle_type,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
122 emax=Emax,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
123 emin=Emin,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
124 emin_source=EminSource,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
125 EGMF=EGMF,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
126 lmaxEGMF=lmaxEGMF_Mpc,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
127 background=background,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
128 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
129 cmd = prog.command
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
130 cmd
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
131
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
132 # Here is one way to call CRbeam without global cache
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
133 # prog.run(force_overwrite=False)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
134 # Here we call CRbeam with global cache
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
135 # prog.run_cached(overwrite_local_cache=True)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
136 # to clear s3 cache run the following command
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
137 # prog.remove_cache()
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
138
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
139 # To report the progress we will split running CRbeam into 10 parts
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
140 n_steps = 10
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
141 # Initialize multistep simulation
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
142 data_exists = not prog.start_multistage_run(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
143 overwrite_local_cache=True, n_steps=n_steps
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
144 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
145 proceed = not data_exists
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
146
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
147 if proceed:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
148 for step in range(n_steps):
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
149 pr.report_progress(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
150 stage="Running Simulation", progress=100 * step // n_steps
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
151 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
152 proceed = prog.simulation_step()
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
153 # todo: report progress using rest API
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
154 pr.report_progress(stage="Running Simulation", progress=100)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
155
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
156 assert not proceed, "must be completed before this cell"
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
157 if not data_exists:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
158 prog.end_multistep_run()
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
159
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
160 def adjust_weights(mc_file, power):
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
161 # converting weights to mimic required injection spectrum power
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
162 header = ""
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
163 with open(mc_file, "rt") as lines:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
164 for line in lines:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
165 if len(line) > 0 and line[0] == "#":
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
166 header += line[1:].strip() + "\n"
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
167 else:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
168 break
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
169 weight_col = 2
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
170 E_src_col = 12
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
171 data = np.loadtxt(mc_file)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
172 weight = data[:, weight_col - 1]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
173 E_src = data[:, E_src_col - 1]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
174 orig_power = (
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
175 prog.power_law
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
176 ) # CRBeam is always called with fixed power=1 to optimize cache usage
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
177 weight *= np.power(E_src / Emax, -(power - orig_power))
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
178 output_file = f"{mc_file}_p{power}"
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
179 np.savetxt(output_file, data, header=header.strip(), fmt="%.6g")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
180 return output_file
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
181
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
182 # this code will not execute program since files already exist on server
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
183 # prog.run(force_overwrite=False)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
184
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
185 # one can upload cache explicitely by call
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
186 # prog.upload_cache()
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
187
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
188 pr.report_progress(stage="Building Plots and Tables", progress=0)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
189
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
190 print(prog.output_path)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
191 get_ipython().system("ls {prog.output_path}") # noqa: F821
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
192
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
193 mc_file = prog.output_path + "/photon"
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
194
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
195 # how the data looks like
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
196 get_ipython().system("cat {mc_file} | awk 'NR<=5'") # noqa: F821
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
197
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
198 if Emax != EminSource:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
199 mc_file = adjust_weights(mc_file, Gamma)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
200
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
201 # how the data looks like
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
202 get_ipython().system("cat {mc_file} | awk 'NR<=5'") # noqa: F821
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
203
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
204 subprocess.run(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
205 [
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
206 "bash",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
207 os.path.join(os.environ.get("BASEDIR", os.getcwd()), "makeSpecE2.sh"),
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
208 mc_file,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
209 ]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
210 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
211
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
212 # rotating the beam
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
213
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
214 if EGMF > 0:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
215 from mc_rotate import mc_rotate
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
216
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
217 mc_rotated_file = mc_rotate(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
218 mc_file, jet_half_size, jet_direction, psf_deg=psf
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
219 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
220 else:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
221 mc_rotated_file = mc_file
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
222 mc_rotated_file
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
223
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
224 subprocess.run(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
225 [
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
226 "bash",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
227 os.path.join(os.environ.get("BASEDIR", os.getcwd()), "makeSpecE2.sh"),
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
228 mc_rotated_file,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
229 ]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
230 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
231
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
232 # how the rotated data looks like
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
233 get_ipython().system("cat {mc_rotated_file} | awk 'NR<=5'") # noqa: F821
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
234
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
235 # reading the source distance in Mpc from the data file
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
236 T_Mpc = lc.get_distance_Mpc(mc_file)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
237 T_Mpc
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
238
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
239 # building the spectrum figure for total flux
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
240
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
241 spec_file = mc_file + ".spec"
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
242 spec_fig = plot_spec(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
243 spec_file, title="spectrum", ext="png", show=False, logscale=True
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
244 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
245 spec_image = PictureProduct.from_file(spec_fig)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
246
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
247 # building the spectrum figure for the flux within PSF
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
248 spec_rotated_file = mc_rotated_file + ".spec"
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
249 spec_rotated_fig = plot_spec(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
250 spec_rotated_file,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
251 title="spectrum",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
252 Emin=Emin,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
253 Emax=Emax,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
254 ext="png",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
255 show=False,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
256 logscale=True,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
257 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
258 spec_rotated_image = PictureProduct.from_file(spec_rotated_fig)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
259
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
260 spec_rotated_file
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
261
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
262 lc_params = dict(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
263 logscale=True,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
264 max_t=-99, # 8760000,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
265 n_points=30,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
266 psf=psf,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
267 min_n_particles=10,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
268 cut_0=True,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
269 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
270
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
271 # building the light curve figure
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
272 if EGMF > 0:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
273 light_curve_fig = lc.make_plot(mc_rotated_file, **lc_params)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
274 light_curve_image = PictureProduct.from_file(light_curve_fig)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
275 else:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
276 # to avoid possible problems with absent figure
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
277 light_curve_image = PictureProduct.from_file(spec_fig)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
278
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
279 l_curve = None
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
280 if EGMF > 0:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
281 delay, weights = lc.get_counts(mc_rotated_file, **lc_params)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
282 t, f, N = lc.light_curve(delay, weights, **lc_params)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
283 l_curve = LightCurveDataProduct.from_arrays(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
284 times=t * 3600.0, # t is in hours
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
285 fluxes=f,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
286 errors=f / np.sqrt(N),
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
287 time_format="unix",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
288 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
289
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
290 def convert_to_ICRS(phi: np.array, theta: np.array, source: SkyCoord):
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
291 # prime system has z-axes pointing the source centered at observer
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
292 # it is obtained by rotation of source system by 180 degrees about x-axis
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
293 # prime system coords have suffix "prime" (')
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
294 # icrs system coords has empty suffix
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
295 # TODO: add param ic_jet_plane_direction: SkyCoord - gives plane which contains jet
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
296 # by definition in prime system the jet is in y'-z' plane and z' axes points from the source towards the observer
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
297 # for simplicity we will first assume that prime frame is oriented as ICRS frame (use SkyOffsetFrame with rotation=0)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
298
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
299 # coordinates of unit direction vector in prime system
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
300
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
301 # direction of event arrival at prime system
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
302 z_prime = np.cos(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
303 theta / 180.0 * np.pi
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
304 ) # (-1)*(-1) = 1 (rotating system and tacking oposite vector)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
305 r_xy_prime = np.sin(theta / 180.0 * np.pi)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
306 x_prime = -r_xy_prime * np.cos(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
307 phi / 180.0 * np.pi
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
308 ) # (1)*(-1) = -1 (rotating system and tacking oposite vector)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
309 y_prime = r_xy_prime * np.sin(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
310 phi / 180.0 * np.pi
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
311 ) # (-1)*(-1) = 1 (rotating system and tacking oposite vector)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
312
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
313 print("x',y',z' =", x_prime, y_prime, z_prime)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
314
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
315 # angle between z and z' axes
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
316 delta1 = 90 * u.deg - source.dec
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
317
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
318 print("source:", source.cartesian)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
319 print("delta1 = ", delta1)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
320
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
321 # rotating about y-axes
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
322
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
323 x1 = x_prime * np.cos(delta1) + z_prime * np.sin(delta1)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
324 y1 = y_prime
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
325 z1 = -x_prime * np.sin(delta1) + z_prime * np.cos(delta1)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
326
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
327 print("step 1: x,y,z =", x1, y1, z1)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
328
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
329 # rotation to -RA about z axis
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
330 delta2 = source.ra
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
331 x = x1 * np.cos(delta2) - y1 * np.sin(delta2)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
332 y = x1 * np.sin(delta2) + y1 * np.cos(delta2)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
333 z = z1
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
334
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
335 print("x,y,z =", x, y, z)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
336
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
337 event_coords = SkyCoord(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
338 x=x, y=y, z=z, frame="icrs", representation_type="cartesian"
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
339 ).spherical
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
340 # print(event_coords.spherical)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
341 return event_coords
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
342
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
343 def LoadCubeTemplate(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
344 mc_file: str,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
345 source: SkyCoord,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
346 Emax=1e15,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
347 Emin=1e9,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
348 bins_per_decade=20,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
349 binsz=0.02,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
350 theta_mult=1,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
351 sec_component_mult=1,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
352 remove_straight=False,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
353 symmetric_split=0,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
354 ):
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
355 pass
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
356
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
357 mc_data = np.loadtxt(mc_file)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
358 E = mc_data[:, 0]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
359 print(f"dataset energy: {np.min(E)} <= E/eV <= {np.max(E)}")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
360 Theta = mc_data[:, 2] * theta_mult # theta_mult is used for debug only
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
361 print(f"dataset Theta: {np.min(Theta)} <= Theta <= {np.max(Theta)}")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
362 # idx = np.where((E >= Emin) & (E<=Emax) & (Theta<theta_max))[0]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
363 print(f"Filters: {Emin} <= E/eV <= {Emax}")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
364 condition = (E >= Emin) & (E <= Emax)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
365 if remove_straight:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
366 condition &= Theta > 0
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
367
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
368 idx = np.where(condition)[0]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
369
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
370 print("filtered dataset length:", len(idx))
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
371
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
372 E = E[idx]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
373 Theta = Theta[idx]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
374 w = mc_data[:, 1][idx]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
375 Phi = mc_data[:, 3][idx]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
376 # t = mc_data[:,5][idx]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
377 # t *= time_scale_hours
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
378 if sec_component_mult != 1: # sec_component_mult is used for debug only
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
379 print("WARNING: Sec component multiplicity:", sec_component_mult)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
380 w[Theta > 0] *= sec_component_mult
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
381
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
382 if len(idx) > 0:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
383 # print(f'{np.min(t)} <= t/h <= {np.max(t)}')
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
384 print(f"{np.min(E)} <= E <= {np.max(E)}")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
385
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
386 energy_axis_name = "energy_true"
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
387
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
388 energy_axis = MapAxis.from_energy_bounds(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
389 Emin * u.eV,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
390 Emax * u.eV,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
391 nbin=bins_per_decade,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
392 name=energy_axis_name,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
393 per_decade=True,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
394 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
395
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
396 m_cube = Map.create(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
397 binsz=binsz,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
398 width=(window_size_RA * u.deg, window_size_DEC * u.deg),
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
399 frame="icrs",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
400 axes=[energy_axis],
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
401 skydir=SkyCoord(source),
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
402 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
403
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
404 print(m_cube.geom)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
405
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
406 if len(idx) > 0:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
407 if symmetric_split > 1:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
408 Theta = np.repeat(Theta, symmetric_split)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
409 E = np.repeat(E, symmetric_split)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
410 w = np.repeat(w, symmetric_split) / symmetric_split
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
411 Phi = np.random.random(len(Theta)) * 360
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
412
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
413 sc = convert_to_ICRS(Phi, Theta, source)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
414 m_cube.fill_by_coord(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
415 {"lat": sc.lat, "lon": sc.lon, energy_axis_name: E * u.eV},
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
416 weights=w,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
417 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
418
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
419 return m_cube
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
420
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
421 def LoadTemplate4D(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
422 mc_file: str,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
423 source: SkyCoord,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
424 redshift,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
425 Emax=1e15,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
426 Emin=1e9,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
427 bins_per_decade=20,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
428 binsz=0.02,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
429 theta_mult=1,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
430 max_time_quantile=1.0,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
431 n_time_bins=100,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
432 symmetric_split=0,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
433 ):
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
434 from astropy.cosmology import FlatLambdaCDM
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
435
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
436 cosmo = FlatLambdaCDM(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
437 H0=67.8 * u.km / u.s / u.Mpc, Tcmb0=2.725 * u.K, Om0=(1 - 0.692)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
438 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
439 time_scale_hours = float(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
440 ((cosmo.age(0) - cosmo.age(z_start)) / u.h).decompose()
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
441 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
442
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
443 mc_data = np.loadtxt(mc_file)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
444 E = mc_data[:, 0]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
445
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
446 print("dataset length:", len(mc_data))
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
447 print(f"dataset energy: {np.min(E)} <= E/eV <= {np.max(E)}")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
448 Theta = mc_data[:, 2] * theta_mult # theta_mult is used for debug only
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
449 print(f"dataset Theta: {np.min(Theta)} <= Theta <= {np.max(Theta)}")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
450 # idx = np.where((E >= Emin) & (E<=Emax) & (Theta<theta_max))[0]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
451
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
452 idx = np.where((E >= Emin) & (E <= Emax))[0]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
453
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
454 print(f"Filters: {Emin} <= E/eV <= {Emax}")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
455 print("filtered dataset length:", len(idx))
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
456
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
457 E = E[idx]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
458 Theta = Theta[idx]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
459 w = mc_data[:, 1][idx]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
460 Phi = mc_data[:, 3][idx]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
461 t = mc_data[:, 5][idx]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
462 t *= time_scale_hours
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
463 min_time = np.min(t)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
464 if max_time_quantile >= 1.0:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
465 max_time = np.max(t)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
466 else:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
467 max_time = np.quantile(t, max_time_quantile)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
468
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
469 if max_time == min_time:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
470 max_time = min_time + 1e-10
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
471
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
472 idx = np.where(t <= max_time)[0]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
473 print(f"Filters: {Emin} <= E/eV <= {Emax}, t/h <= {max_time}")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
474 print("filtered dataset length:", len(idx))
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
475
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
476 E = E[idx]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
477 Theta = Theta[idx]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
478 w = w[idx]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
479 Phi = Phi[idx]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
480 t = t[idx]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
481
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
482 energy_axis_name = "energy_true"
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
483
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
484 energy_axis = MapAxis.from_energy_bounds(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
485 Emin * u.eV,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
486 Emax * u.eV,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
487 nbin=bins_per_decade,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
488 name=energy_axis_name,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
489 per_decade=True,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
490 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
491
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
492 from astropy.time import Time
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
493
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
494 reference_time = Time(0, format="unix")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
495
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
496 delta = max_time - min_time
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
497 (min_time + delta * np.linspace(0, 1, n_time_bins + 1)) * u.h
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
498 # time_axis = TimeMapAxis.from_time_edges(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
499 # time_min=time_edges[:-1],
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
500 # time_max=time_edges[1:],
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
501 # interp="lin",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
502 # unit=u.h,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
503 # name='time',
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
504 # reference_time=reference_time
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
505 # )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
506
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
507 time_axis = MapAxis.from_bounds(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
508 min_time, max_time, n_time_bins, name="time", unit=u.h
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
509 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
510
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
511 # time_axis = TimeMapAxis(time_edges[:-1], time_edges[1:], reference_time, name='time', interp='lin')
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
512
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
513 # time_axis = TimeMapAxis.from_time_bounds(min_time, max_time, n_time_bins, unit=u.h, name='time')
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
514
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
515 map4d = Map.create(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
516 binsz=binsz,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
517 width=(window_size_RA * u.deg, window_size_DEC * u.deg),
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
518 frame="icrs",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
519 axes=[energy_axis, time_axis],
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
520 skydir=SkyCoord(source),
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
521 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
522
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
523 print(map4d.geom)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
524
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
525 if len(idx) > 0:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
526 if symmetric_split > 1:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
527 Theta = np.repeat(Theta, symmetric_split)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
528 E = np.repeat(E, symmetric_split)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
529 t = np.repeat(t, symmetric_split)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
530 w = np.repeat(w, symmetric_split) / symmetric_split
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
531 Phi = np.random.random(len(Theta)) * 360
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
532
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
533 sc = convert_to_ICRS(Phi, Theta, source)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
534 map4d.fill_by_coord(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
535 {
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
536 "lat": sc.lat,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
537 "lon": sc.lon,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
538 energy_axis_name: E * u.eV,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
539 "time": t * u.h,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
540 },
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
541 weights=w,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
542 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
543
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
544 return map4d
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
545
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
546 bins_per_decade = 20
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
547
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
548 symmetric_split = 0 if jet_direction != 0 else 100
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
549
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
550 map3d = LoadCubeTemplate(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
551 mc_rotated_file,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
552 source=source,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
553 Emin=Emin,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
554 Emax=Emax,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
555 bins_per_decade=bins_per_decade,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
556 symmetric_split=symmetric_split,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
557 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
558
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
559 map3d.write("map3d.fits", overwrite=True)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
560
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
561 map4d = LoadTemplate4D(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
562 mc_rotated_file,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
563 source=source,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
564 redshift=z_start,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
565 Emin=Emin,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
566 Emax=Emax,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
567 bins_per_decade=bins_per_decade,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
568 symmetric_split=symmetric_split,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
569 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
570 map4d.write("map4d.fits", overwrite=True)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
571
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
572 d = np.genfromtxt(spec_file)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
573 ee = d[:, 0]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
574 ff = d[:, 1]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
575 ff_err = ff / np.sqrt(d[:, 2])
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
576 plt.errorbar(ee, ff, yerr=ff_err, label="total flux")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
577 d = np.genfromtxt(spec_rotated_file)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
578 ee1 = d[:, 0]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
579 ff1 = d[:, 1]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
580 ff_err1 = ff1 / np.sqrt(d[:, 2])
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
581 plt.errorbar(ee1, ff1, yerr=ff_err1, label="PSF flux")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
582 plt.xscale("log")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
583 plt.yscale("log")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
584 plt.xlabel("Energy, eV")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
585 plt.ylabel("$E^2dN/dE$, arbitrary units")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
586 plt.legend(loc="lower right")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
587 plt.savefig("Spectrum.png", format="png", bbox_inches="tight")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
588
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
589 bin_image = PictureProduct.from_file("Spectrum.png")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
590
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
591 data = [ee, ff, ff_err]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
592 names = ("Energy", "Total_flux", "Total_flux_err")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
593 table = ODAAstropyTable(Table(data, names=names))
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
594 data = [ee, ff, ff_err]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
595 names = ("Energy", "PSF_flux", "PSF_flux_err")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
596 table1 = ODAAstropyTable(Table(data, names=names))
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
597
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
598 flux_unit = u.eV / u.cm / u.cm / u.s / u.sr
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
599 spec = Spectrum1D(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
600 spectral_axis=ee * u.eV,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
601 flux=ff * flux_unit,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
602 uncertainty=StdDevUncertainty(ff_err),
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
603 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
604 spec.write("spec.fits", overwrite=True)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
605 dp = NumpyDataProduct.from_fits_file("spec.fits")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
606 spec_rotated = Spectrum1D(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
607 spectral_axis=ee1 * u.eV,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
608 flux=ff1 * flux_unit,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
609 uncertainty=StdDevUncertainty(ff_err1),
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
610 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
611 spec_rotated.write("spec_rotated.fits", overwrite=True)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
612 dp_rotated = NumpyDataProduct.from_fits_file("spec_rotated.fits")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
613 map3d = NumpyDataProduct.from_fits_file("map3d.fits")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
614 map4d = NumpyDataProduct.from_fits_file("map4d.fits")
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
615
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
616 pr.report_progress(stage="Building Plots and Tables", progress=100)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
617
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
618 spectrum_png = bin_image # http://odahub.io/ontology#ODAPictureProduct
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
619 light_curve_png = (
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
620 light_curve_image # http://odahub.io/ontology#ODAPictureProduct
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
621 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
622 total_spectrum_table = table # http://odahub.io/ontology#ODAAstropyTable
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
623 psf_spectrum_table = table1 # http://odahub.io/ontology#ODAAstropyTable
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
624 lc_result = l_curve # http://odahub.io/ontology#LightCurve
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
625 spectrum = dp # http://odahub.io/ontology#Spectrum
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
626 spectrum_rotated = dp_rotated # http://odahub.io/ontology#Spectrum
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
627 map3d = map3d # http://odahub.io/ontology#Spectrum
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
628 map4d = map4d # http://odahub.io/ontology#Spectrum
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
629
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
630 # spec_png = spec_image # http://odahub.io/ontology#ODAPictureProduct
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
631 # spec_rotated_png = spec_rotated_image # http://odahub.io/ontology#ODAPictureProduct
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
632
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
633 # output gathering
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
634 _galaxy_meta_data = {}
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
635 _oda_outs = []
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
636 _oda_outs.append(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
637 (
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
638 "out_Generate_figures_spectrum_png",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
639 "spectrum_png_galaxy.output",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
640 spectrum_png,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
641 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
642 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
643 _oda_outs.append(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
644 (
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
645 "out_Generate_figures_light_curve_png",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
646 "light_curve_png_galaxy.output",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
647 light_curve_png,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
648 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
649 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
650 _oda_outs.append(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
651 (
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
652 "out_Generate_figures_total_spectrum_table",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
653 "total_spectrum_table_galaxy.output",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
654 total_spectrum_table,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
655 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
656 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
657 _oda_outs.append(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
658 (
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
659 "out_Generate_figures_psf_spectrum_table",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
660 "psf_spectrum_table_galaxy.output",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
661 psf_spectrum_table,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
662 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
663 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
664 _oda_outs.append(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
665 ("out_Generate_figures_lc_result", "lc_result_galaxy.output", lc_result)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
666 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
667 _oda_outs.append(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
668 ("out_Generate_figures_spectrum", "spectrum_galaxy.output", spectrum)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
669 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
670 _oda_outs.append(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
671 (
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
672 "out_Generate_figures_spectrum_rotated",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
673 "spectrum_rotated_galaxy.output",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
674 spectrum_rotated,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
675 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
676 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
677 _oda_outs.append(("out_Generate_figures_map3d", "map3d_galaxy.output", map3d))
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
678 _oda_outs.append(("out_Generate_figures_map4d", "map4d_galaxy.output", map4d))
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
679
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
680 for _outn, _outfn, _outv in _oda_outs:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
681 _galaxy_outfile_name = os.path.join(_galaxy_wd, _outfn)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
682 if isinstance(_outv, str) and os.path.isfile(_outv):
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
683 shutil.move(_outv, _galaxy_outfile_name)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
684 _galaxy_meta_data[_outn] = {"ext": "_sniff_"}
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
685 elif getattr(_outv, "write_fits_file", None):
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
686 _outv.write_fits_file(_galaxy_outfile_name)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
687 _galaxy_meta_data[_outn] = {"ext": "fits"}
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
688 elif getattr(_outv, "write_file", None):
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
689 _outv.write_file(_galaxy_outfile_name)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
690 _galaxy_meta_data[_outn] = {"ext": "_sniff_"}
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
691 else:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
692 with open(_galaxy_outfile_name, "w") as fd:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
693 json.dump(_outv, fd, cls=CustomJSONEncoder)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
694 _galaxy_meta_data[_outn] = {"ext": "json"}
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
695
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
696 with open(os.path.join(_galaxy_wd, "galaxy.json"), "w") as fd:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
697 json.dump(_galaxy_meta_data, fd)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
698 print("*** Job finished successfully ***")