@@ -35,7 +35,7 @@ def get_chisquare(Mobs, phiobs, phiobserr, uplims, xdata, ydata):
35
35
36
36
#Weights for observational datapoints that are upper/lower limits
37
37
w = np .ones (len (uplims ))
38
- w [np .where (uplims == 1 )] = 1e-3
38
+ w [np .where (uplims == 1 )] = 1e-5
39
39
40
40
chi = chisquare (phiobs , yy , phiobserr )
41
41
@@ -44,19 +44,39 @@ def get_chisquare(Mobs, phiobs, phiobserr, uplims, xdata, ydata):
44
44
45
45
return chi
46
46
47
- def read_data_and_fit (z ):
48
-
49
- data = np .genfromtxt (f"./Obs_data/uv_lum_Bouw15_z{ z } .txt" , delimiter = ',' , skip_header = 1 )
50
- M , phi , phi_err , uplims = data [:,0 ], data [:,1 ], data [:,2 ], data [:,3 ]
51
-
52
- ok = np .where (M < - 17.5 )[0 ]
47
+ def read_data_and_fit (z , BC_fac ):
48
+
49
+ if z in [5 , 6 , 7 ]:
50
+ data = np .genfromtxt (f"./Obs_data/uv_lum_Bouw15_z{ z } .txt" , delimiter = ',' , skip_header = 1 )
51
+ M , phi , phi_err , uplims = data [:,0 ], data [:,1 ], data [:,2 ], data [:,3 ]
52
+ elif z == 8 :
53
+ data = np .genfromtxt (f"./Obs_data/uv_lum_Bouw15_z{ z } .txt" , delimiter = ',' , skip_header = 1 )
54
+ M , phi , phi_err , uplims = data [:,0 ], data [:,1 ], data [:,2 ], data [:,3 ]
55
+ data = np .genfromtxt (f"./Obs_data/uv_lum_Bowler19_z{ z } .txt" , delimiter = ',' , skip_header = 1 )
56
+ M1 , M_err , phi1 , phi_err1 , uplims1 = data [:,0 ], data [:,1 ], data [:,2 ]* 1e-6 , data [:,3 ]* 1e-6 , data [:,4 ]
57
+ M = np .append (M , M1 )
58
+ phi = np .append (phi , phi1 )
59
+ phi_err = np .append (phi_err , phi_err1 )
60
+ uplims = np .append (uplims , uplims1 )
61
+ elif z == 9 :
62
+ data = np .genfromtxt (f"./Obs_data/uv_lum_Bouw16_z{ z } .txt" , delimiter = ',' , skip_header = 1 )
63
+ M , phi , phi_up , phi_low , uplims = data [:,0 ], data [:,1 ]* 1e-3 , data [:,2 ]* 1e-3 , data [:,3 ]* 1e-3 , data [:,4 ]
64
+ phi_err = (phi_up + phi_low )/ 2.
65
+ data = np .genfromtxt (f"./Obs_data/uv_lum_Bowler19_z{ z } .txt" , delimiter = ',' , skip_header = 1 )
66
+ M1 , M_err , phi1 , phi_err1 , uplims1 = data [:,0 ], data [:,1 ], data [:,2 ]* 1e-6 , data [:,3 ]* 1e-6 , data [:,4 ]
67
+ M = np .append (M , M1 )
68
+ phi = np .append (phi , phi1 )
69
+ phi_err = np .append (phi_err , phi_err1 )
70
+ uplims = np .append (uplims , uplims1 )
71
+
72
+ ok = np .where ((M < - 18 ) & (uplims == 0 ))[0 ]
53
73
M = M [ok ]
54
74
phi = phi [ok ]
55
75
phi_err = phi_err [ok ]
56
76
uplims = uplims [ok ]
57
77
58
78
try :
59
- data = np .load (F'FUVLF_z { z } .npz' )
79
+ data = np .load (F'FUVLF_ { extinction } _z { z } _BC { BC_fac } .npz' )
60
80
61
81
except Exception as e :
62
82
print ("Create grid first!" )
@@ -65,7 +85,7 @@ def read_data_and_fit(z):
65
85
bincen = data ['Mag' ]
66
86
hists = data ['LF' ]
67
87
Kappas = data ['Kappas' ]
68
- ok = np .where (bincen < - 17.5 )[0 ]
88
+ ok = np .where (bincen < - 18 )[0 ]
69
89
bincen = bincen [ok ]
70
90
hists = hists [:,ok ]
71
91
binwidth = bincen [1 ] - bincen [0 ]
@@ -82,7 +102,7 @@ def read_data_and_fit(z):
82
102
83
103
return rchi
84
104
85
- run_type = sys .argv [1 ]
105
+ run_type , BC_fac , ext_curve = sys .argv [1 ], np . float ( sys . argv [ 2 ]), sys . argv [ 3 ]
86
106
87
107
h = 0.6777
88
108
sims = np .arange (0 ,40 )
@@ -96,18 +116,22 @@ def read_data_and_fit(z):
96
116
z = 5
97
117
tag = '010_z005p000'
98
118
vol = (4 / 3 )* np .pi * (14 / h )** 3
119
+ log10t_BC = 7.
120
+ extinction = ext_curve
99
121
100
122
bins = np .arange (- 24 , - 16 , 0.2 )
101
123
bincen = (bins [1 :]+ bins [:- 1 ])/ 2.
102
124
binwidth = bins [1 :]- bins [:- 1 ]
103
125
104
126
# Range of Kappa explored
105
- Kappas = np .arange (0.0 , 0.2 , 0.0025 )
127
+ Kappas = np .arange (0.01 , 0.016 , 0.00005 ) #np.arange(0.005 , 0.03, 0.00025 )
106
128
107
129
comm = MPI .COMM_WORLD
108
130
rank = comm .Get_rank ()
109
131
size = comm .Get_size ()
110
132
133
+ if rank == 0 : print (F"MPI size = { size } " )
134
+
111
135
if run_type == 'Gridgen' :
112
136
113
137
hist = np .zeros ((len (Kappas ),len (bincen )))
@@ -129,30 +153,32 @@ def read_data_and_fit(z):
129
153
else :
130
154
thisok = np .arange (rank * part , len (Kappas ), 1 ).astype (int )
131
155
156
+ print (F'Rank { rank } will be running { len (thisok )} task(s)' )
157
+
132
158
for ii , jj in enumerate (thisok ):
133
159
134
- data , num , derr = get_lum_all (Kappas [jj ], tag , bins = bins , LF = True , filters = ['FAKE.TH.FUV' ])
160
+ data , num , derr = get_lum_all (Kappas [jj ], tag , BC_fac , bins = bins , LF = True , filters = ['FAKE.TH.FUV' ], log10t_BC = log10t_BC , extinction = extinction )
135
161
hist [jj ] = data / (binwidth * vol )
136
162
err [jj ] = derr / (binwidth * vol )
137
163
138
164
comm .Reduce (hist , hists , op = MPI .SUM , root = 0 )
139
165
comm .Reduce (err , errs , op = MPI .SUM , root = 0 )
140
166
141
167
if rank == 0 :
142
- np .savez ('FUVLF_z{} .npz' .format (z ), LF = hists , err = errs , Mag = bincen , Kappas = Kappas )
168
+ np .savez ('FUVLF_{}_z{}_BC{} .npz' .format (extinction , z , BC_fac ), LF = hists , err = errs , Mag = bincen , Kappas = Kappas )
143
169
144
170
if rank == 0 :
145
- rchi = read_data_and_fit (z )
171
+ rchi = read_data_and_fit (z , BC_fac )
146
172
print ('Kappa = ' , Kappas [np .where (rchi == np .min (rchi ))[0 ]])
147
173
148
174
fig , axs = plt .subplots (nrows = 1 , ncols = 1 , figsize = (6 , 6 ), sharex = True , sharey = True , facecolor = 'w' , edgecolor = 'k' )
149
175
150
176
axs .plot (Kappas , rchi )
151
177
axs .scatter (Kappas [np .where (rchi == np .min (rchi ))[0 ]], np .min (rchi ), marker = 'x' , color = 'red' )
152
- axs .text (Kappas [3 * int (len (Kappas )/ 4 )], int ( np .max (rchi / 2 ) ), rF"$\kappa$ = { Kappas [np .where (rchi == np .min (rchi ))[0 ]]} " , fontsize = 15 )
178
+ axs .text (Kappas [int (len (Kappas )/ 4 )], np .median (rchi ), rF"$\kappa$ = { Kappas [np .where (rchi == np .min (rchi ))[0 ]]} " , fontsize = 15 )
153
179
axs .set_xlabel (r"$\kappa$'s" , fontsize = 15 )
154
180
axs .set_ylabel (r"reduced $\chi^2$" )
155
181
axs .grid (True )
156
182
fig .tight_layout ()
157
- plt .savefig ('kappa_vs_rchi .png' )
183
+ plt .savefig (F'kappa_vs_rchi_ { extinction } _BC { BC_fac } _z { z } .png' )
158
184
plt .close ()
0 commit comments