annotate Generate_events.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 = "1ES 1215+303" # 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.13 # 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 = 10000 # 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 = 50 # 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 = 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
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 = 100 # 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 = 180.0 # http://odahub.io/ontology#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 # http://odahub.io/ontology#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 = 180.0 # http://odahub.io/ontology#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 = 4.0 # http://odahub.io/ontology#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 = 4.0 # http://odahub.io/ontology#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.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
66 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
67 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
68 from oda_api.data_products import ODAAstropyTable
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
69 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
70
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
71 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
72 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
73
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
74 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
75
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
76 pr = ProgressReporter()
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
77 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
78 stage="Initialization",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
79 progress=0,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
80 substage="spectra",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
81 subprogress=30,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
82 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
83 )
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 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
86 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
87 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
88
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
89 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
90
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
91 # 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
92 Emax *= 1e12
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
93 Emin *= 1e12
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
94 EminSource *= 1e12
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 background = {
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
97 "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
98 "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
99 "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
100 "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
101 "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
102 "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
103 }[EBL]
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
104
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
105 prog = CRbeam(
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
106 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
107 nparticles=Npart,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
108 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
109 emax=Emax,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
110 emin=Emin,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
111 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
112 EGMF=EGMF,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
113 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
114 background=background,
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
115 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
116 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
117 cmd
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
118
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
119 # 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
120 # 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
121 # 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
122 # 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
123 # 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
124 # 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
125
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
126 # 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
127 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
128 # 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
129 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
130 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
131 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
132 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
133
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
134 if proceed:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
135 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
136 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
137 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
138 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
139 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
140 # 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
141 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
142
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
143 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
144 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
145 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
146
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
147 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
148 # 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
149 header = ""
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
150 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
151 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
152 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
153 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
154 else:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
155 break
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
156 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
157 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
158 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
159 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
160 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
161 orig_power = (
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
162 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
163 ) # 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
164 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
165 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
166 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
167 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
168
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
169 # 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
170 # 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
171
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
172 # 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
173 # 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
174
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
175 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
176
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
177 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
178 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
179
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
180 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
181
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
182 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
183 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
184
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
185 # 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
186
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
187 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
188 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
189
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
190 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
191 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
192 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
193 else:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
194 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
195 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
196
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
197 # 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
198 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
199 T_Mpc
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 from oda_api.data_products import ODAAstropyTable
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
202
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
203 d = np.genfromtxt(mc_rotated_file, skip_header=3)
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
204 # E/eV,weight,Theta,Phi,dT_raw/T dT_calc/T,z_cascade_production,N_interactions,z_src,E_src/eV,z_prod
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
205 names = (
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
206 "E/eV",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
207 "weight",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
208 "Theta",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
209 "Phi",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
210 "dT_raw/T",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
211 "dT_calc/T",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
212 "z_cascade_production",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
213 "N_interactions",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
214 "z_src",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
215 "E_src/eV",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
216 "z_prod",
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
217 )
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
218 res = ODAAstropyTable(Table(d, names=names))
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 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
221
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
222 Event_file = res # 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
223
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
224 # output gathering
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
225 _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
226 _oda_outs = []
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
227 _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
228 ("out_Generate_events_Event_file", "Event_file_galaxy.output", Event_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 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
232 _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
233 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
234 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
235 _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
236 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
237 _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
238 _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
239 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
240 _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
241 _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
242 else:
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
243 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
244 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
245 _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
246
f40d05521dca planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit de01e3c02a26cd6353a6b9b6f8d1be44de8ccd54
astroteam
parents:
diff changeset
247 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
248 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
249 print("*** Job finished successfully ***")