@@ -138,22 +138,22 @@ def __init__(self, User_Parameters, Cosmo_Parameters, ClassCosmo, Astro_Paramete
138138 zSFRD , mArray = np .meshgrid (zSFRDflat , HMF_interpolator .Mhtab , indexing = 'ij' , sparse = True )
139139
140140 J21LW_interp = interpolate .interp1d (zSFRDflat , np .zeros_like (zSFRDflat ), kind = 'linear' , bounds_error = False , fill_value = 0 ,) #no LW background. Controls only Mmol() function, NOT the individual Pop II and III LW background
141- SFRD_II_avg = np .trapz (SFRD_II_integrand (Astro_Parameters , Cosmo_Parameters , HMF_interpolator , mArray , zSFRD , zSFRD ), HMF_interpolator .logtabMh , axis = 1 ) #never changes with J_LW
141+ SFRD_II_avg = np .trapezoid (SFRD_II_integrand (Astro_Parameters , Cosmo_Parameters , HMF_interpolator , mArray , zSFRD , zSFRD ), HMF_interpolator .logtabMh , axis = 1 ) #never changes with J_LW
142142 SFRD_II_interp = interpolate .interp1d (zSFRDflat , SFRD_II_avg , kind = 'cubic' , bounds_error = False , fill_value = 0 ,)
143143
144144 J21LW_II = 1e21 * J_LW (Astro_Parameters , Cosmo_Parameters , SFRD_II_avg , zSFRDflat , 2 ) #this never changes; only Pop III Quanties change
145145 self .J_21_LW_II = interpolate .interp1d (zSFRDflat , J21LW_II , kind = 'cubic' )(self .zintegral ) #different from J21LW_interp
146146
147147 if Astro_Parameters .USE_POPIII == True :
148- SFRD_III_Iter_Matrix = [np .trapz (SFRD_III_integrand (Astro_Parameters , Cosmo_Parameters , HMF_interpolator , mArray , J21LW_interp , zSFRD , zSFRD , ClassCosmo .pars ['v_avg' ]), HMF_interpolator .logtabMh , axis = 1 )] #changes with each iteration
148+ SFRD_III_Iter_Matrix = [np .trapezoid (SFRD_III_integrand (Astro_Parameters , Cosmo_Parameters , HMF_interpolator , mArray , J21LW_interp , zSFRD , zSFRD , ClassCosmo .pars ['v_avg' ]), HMF_interpolator .logtabMh , axis = 1 )] #changes with each iteration
149149
150150 errorTolerance = 0.001 # 0.1 percent accuracy
151151 recur_iterate_Flag = True
152152 while recur_iterate_Flag == True :
153153 J21LW_III_iter = 1e21 * J_LW (Astro_Parameters , Cosmo_Parameters , SFRD_III_Iter_Matrix [- 1 ], zSFRDflat , 3 )
154154 J21LW_interp = interpolate .interp1d (zSFRDflat , J21LW_II + J21LW_III_iter , kind = 'linear' , fill_value = 0 , bounds_error = False )
155155
156- SFRD_III_avg_n = np .trapz (SFRD_III_integrand (Astro_Parameters , Cosmo_Parameters , HMF_interpolator , mArray , J21LW_interp , zSFRD , zSFRD , ClassCosmo .pars ['v_avg' ]), HMF_interpolator .logtabMh , axis = 1 )
156+ SFRD_III_avg_n = np .trapezoid (SFRD_III_integrand (Astro_Parameters , Cosmo_Parameters , HMF_interpolator , mArray , J21LW_interp , zSFRD , zSFRD , ClassCosmo .pars ['v_avg' ]), HMF_interpolator .logtabMh , axis = 1 )
157157 SFRD_III_Iter_Matrix .append (SFRD_III_avg_n )
158158
159159 if max (SFRD_III_Iter_Matrix [- 1 ]/ SFRD_III_Iter_Matrix [- 2 ]) < 1.0 + errorTolerance and min (SFRD_III_Iter_Matrix [- 1 ]/ SFRD_III_Iter_Matrix [- 2 ]) > 1.0 - errorTolerance :
@@ -179,8 +179,8 @@ def __init__(self, User_Parameters, Cosmo_Parameters, ClassCosmo, Astro_Paramete
179179 zpTable , tempTable , mTable = np .meshgrid (self .zintegral , self .Rtabsmoo , HMF_interpolator .Mhtab , indexing = 'ij' , sparse = True )
180180 zppTable = self .zGreaterMatrix .reshape ((len (self .zintegral ), len (self .Rtabsmoo ), 1 ))
181181
182- self .SFRDbar2D_II = np .trapz (SFRD_II_integrand (Astro_Parameters , Cosmo_Parameters , HMF_interpolator , mTable , zppTable , zpTable ), HMF_interpolator .logtabMh , axis = 2 )
183- self .SFRDbar2D_III = np .trapz (SFRD_III_integrand (Astro_Parameters , Cosmo_Parameters , HMF_interpolator , mTable , J21LW_interp , zppTable , zpTable , ClassCosmo .pars ['v_avg' ]), HMF_interpolator .logtabMh , axis = 2 )
182+ self .SFRDbar2D_II = np .trapezoid (SFRD_II_integrand (Astro_Parameters , Cosmo_Parameters , HMF_interpolator , mTable , zppTable , zpTable ), HMF_interpolator .logtabMh , axis = 2 )
183+ self .SFRDbar2D_III = np .trapezoid (SFRD_III_integrand (Astro_Parameters , Cosmo_Parameters , HMF_interpolator , mTable , J21LW_interp , zppTable , zpTable , ClassCosmo .pars ['v_avg' ]), HMF_interpolator .logtabMh , axis = 2 )
184184
185185 self .SFRDbar2D_II [np .isnan (self .SFRDbar2D_II )] = 0.0
186186 self .SFRDbar2D_III [np .isnan (self .SFRDbar2D_III )] = 0.0
@@ -241,13 +241,13 @@ def __init__(self, User_Parameters, Cosmo_Parameters, ClassCosmo, Astro_Paramete
241241
242242 ########
243243 # Compute SFRD quantities
244- SFRD_II_dR = np .trapz (integrand_II , HMF_interpolator .logtabMh , axis = 2 )
244+ SFRD_II_dR = np .trapezoid (integrand_II , HMF_interpolator .logtabMh , axis = 2 )
245245 # SarahLibanore: to compute reionization
246- niondot_II_dR = np .trapz (integrand_II * fesctab_II [None , None , :, None ], HMF_interpolator .logtabMh , axis = 2 )
246+ niondot_II_dR = np .trapezoid (integrand_II * fesctab_II [None , None , :, None ], HMF_interpolator .logtabMh , axis = 2 )
247247
248248 # SarahLibanore: compute quantities in Lagrangian space to get gamma in Lagrangian space
249- SFRD_II_dR_Lag = np .trapz (integrand_II_Lag , HMF_interpolator .logtabMh , axis = 2 )
250- niondot_II_dR_Lag = np .trapz (integrand_II_Lag * fesctab_II [None , None , :, None ], HMF_interpolator .logtabMh , axis = 2 )
249+ SFRD_II_dR_Lag = np .trapezoid (integrand_II_Lag , HMF_interpolator .logtabMh , axis = 2 )
250+ niondot_II_dR_Lag = np .trapezoid (integrand_II_Lag * fesctab_II [None , None , :, None ], HMF_interpolator .logtabMh , axis = 2 )
251251
252252 ###
253253 if Astro_Parameters .USE_POPIII == True :
@@ -256,9 +256,9 @@ def __init__(self, User_Parameters, Cosmo_Parameters, ClassCosmo, Astro_Paramete
256256 elif (Cosmo_Parameters .Flag_emulate_21cmfast == True ):
257257 integrand_III = PS_HMF_corr * SFR_III (Astro_Parameters , Cosmo_Parameters , ClassCosmo , HMF_interpolator , mArray , J21LW_interp , zGreaterArray , zGreaterArray , ClassCosmo .pars ['v_avg' ]) * mArray
258258
259- SFRD_III_dR = np .trapz (integrand_III , HMF_interpolator .logtabMh , axis = 2 )
259+ SFRD_III_dR = np .trapezoid (integrand_III , HMF_interpolator .logtabMh , axis = 2 )
260260 # SarahLibanore: reionization
261- niondot_III_dR = np .trapz (integrand_III * fesctab_III [None , None , :, None ], HMF_interpolator .logtabMh , axis = 2 )
261+ niondot_III_dR = np .trapezoid (integrand_III * fesctab_III [None , None , :, None ], HMF_interpolator .logtabMh , axis = 2 )
262262
263263 else :
264264 SFRD_III_dR = np .zeros_like (SFRD_II_dR )
@@ -376,7 +376,7 @@ def __init__(self, User_Parameters, Cosmo_Parameters, ClassCosmo, Astro_Paramete
376376 else :
377377 print ("ERROR: Need to set FLAG_EMULATE_21CMFAST at True or False in the self.gamma_index2D calculation." )
378378
379- SFRD_III_dR_V = np .trapz (integrand_III , HMF_interpolator .logtabMh , axis = 2 )
379+ SFRD_III_dR_V = np .trapezoid (integrand_III , HMF_interpolator .logtabMh , axis = 2 )
380380
381381 SFRDIII_Ratio = SFRD_III_dR_V / SFRD_III_dR_V [:,:,len (vAvg_array )// 2 ].reshape ((len (self .zintegral ), len (self .Rtabsmoo ), 1 ))
382382 SFRDIII_Ratio [np .isnan (SFRDIII_Ratio )] = 0.0
@@ -500,7 +500,7 @@ def __init__(self, User_Parameters, Cosmo_Parameters, ClassCosmo, Astro_Paramete
500500
501501 opticalDepthIntegrand = 1 / cosmology .HubinvMpc (Cosmo_Parameters , zPPCube ) / (1 + zPPCube ) * sigmatot * cosmology .n_H (Cosmo_Parameters , zPPCube ) * constants .Mpctocm #this uses atom fractions of 1 for HI and x_He for HeI
502502# opticalDepthIntegrand = 1 / cosmology.HubinvMpc(Cosmo_Parameters, zPPCube) / (1+zPPCube) * sigmatot * cosmology.n_baryon(Cosmo_Parameters, zPPCube) * constants.Mpctocm
503- tauCube = np .trapz (opticalDepthIntegrand , zPPCube , axis = 3 )
503+ tauCube = np .trapezoid (opticalDepthIntegrand , zPPCube , axis = 3 )
504504
505505 indextautoolarge = np .array (tauCube >= Xrays .TAUMAX )
506506 tauCube [indextautoolarge ] = Xrays .TAUMAX
@@ -658,8 +658,8 @@ def __init__(self, User_Parameters, Cosmo_Parameters, ClassCosmo, Astro_Paramete
658658 integrand_II_table = SFRD_II_integrand (Astro_Parameters , Cosmo_Parameters , HMF_interpolator , mArray , zArray , zArray )
659659 integrand_III_table = SFRD_III_integrand (Astro_Parameters , Cosmo_Parameters , HMF_interpolator , mArray , J21LW_interp , zArray , zArray , ClassCosmo .pars ['v_avg' ])
660660
661- self .niondot_avg_II = Astro_Parameters .N_ion_perbaryon_II / cosmology .rho_baryon (Cosmo_Parameters ,0. ) * np .trapz (integrand_II_table * fesctab_II , HMF_interpolator .logtabMh , axis = 1 )
662- self .niondot_avg_III = Astro_Parameters .N_ion_perbaryon_II / cosmology .rho_baryon (Cosmo_Parameters ,0. ) * np .trapz (integrand_III_table * fesctab_III , HMF_interpolator .logtabMh , axis = 1 )
661+ self .niondot_avg_II = Astro_Parameters .N_ion_perbaryon_II / cosmology .rho_baryon (Cosmo_Parameters ,0. ) * np .trapezoid (integrand_II_table * fesctab_II , HMF_interpolator .logtabMh , axis = 1 )
662+ self .niondot_avg_III = Astro_Parameters .N_ion_perbaryon_II / cosmology .rho_baryon (Cosmo_Parameters ,0. ) * np .trapezoid (integrand_III_table * fesctab_III , HMF_interpolator .logtabMh , axis = 1 )
663663 self .niondot_avg = self .niondot_avg_II + self .niondot_avg_III
664664
665665 if (Cosmo_Parameters .Flag_emulate_21cmfast == False ): #regular calculation, integrating over time and accounting for recombinations in the exponent
@@ -708,15 +708,15 @@ def tau_reio(Cosmo_Parameters, T21_coefficients):
708708 _nelistlowz = cosmology .n_H (Cosmo_Parameters ,_zlistlowz )* (1.0 + Cosmo_Parameters .x_He + Cosmo_Parameters .x_He * np .heaviside (constants .zHeIIreio - _zlistlowz ,0.5 ))
709709# _nelistlowz = cosmology.n_baryon(Cosmo_Parameters,_zlistlowz)*(Cosmo_Parameters.f_H + Cosmo_Parameters.f_He + Cosmo_Parameters.f_He * np.heaviside(constants.zHeIIreio - _zlistlowz,0.5))
710710 _distlistlowz = 1.0 / cosmology .HubinvMpc (Cosmo_Parameters ,_zlistlowz )/ (1 + _zlistlowz )
711- _lowzint = constants .sigmaT * np .trapz (_nelistlowz * _distlistlowz ,_zlistlowz ) * constants .Mpctocm
711+ _lowzint = constants .sigmaT * np .trapezoid (_nelistlowz * _distlistlowz ,_zlistlowz ) * constants .Mpctocm
712712
713713 _zlisthiz = T21_coefficients .zintegral
714714
715715 _nelistlhiz = cosmology .n_H (Cosmo_Parameters ,_zlisthiz ) * (1 + Cosmo_Parameters .x_He ) * (1.0 - T21_coefficients .xHI_avg )
716716# _nelistlhiz = cosmology.n_baryon(Cosmo_Parameters,_zlisthiz) * (1.0 - T21_coefficients.xHI_avg)
717717 _distlisthiz = 1.0 / cosmology .HubinvMpc (Cosmo_Parameters ,_zlisthiz )/ (1 + _zlisthiz )
718718
719- _hizint = constants .sigmaT * np .trapz (_nelistlhiz * _distlisthiz ,_zlisthiz ) * constants .Mpctocm
719+ _hizint = constants .sigmaT * np .trapezoid (_nelistlhiz * _distlisthiz ,_zlisthiz ) * constants .Mpctocm
720720
721721 return (_lowzint + _hizint )
722722
@@ -798,7 +798,7 @@ def J_LW(Astro_Parameters, Cosmo_Parameters, sfrdIter, z, pop):
798798# integrandLW *= (1+z)**3 / cosmology.Hubinvyr(Cosmo_Parameters,zIntMatrix) / (1+zIntMatrix) #HAC: delete this and comment above back in!!!
799799 integrandLW *= Nlw * Elw / massProton / deltaNulw
800800 integrandLW = integrandLW * sfrdIterMatrix_LW * (1 / u .Mpc ** 2 ).to (1 / u .cm ** 2 ).value #broadcasting doesn't like augmented assignment operations (like *=) for some reason
801- return np .trapz (integrandLW , x = zIntMatrix , axis = 0 )
801+ return np .trapezoid (integrandLW , x = zIntMatrix , axis = 0 )
802802
803803
804804def SFRD_II_integrand (Astro_Parameters , Cosmo_Parameters , HMF_interpolator , massVector , z , z2 ):
@@ -932,7 +932,7 @@ def dSFRDIII_dJ(Astro_Parameters, Cosmo_Parameters, HMF_interpolator, J21LW_inte
932932 integrand_III = HMF_curr * SFRtab_currIII * HMF_interpolator .Mhtab
933933 integrand_III *= Astro_Parameters .A_LW * Astro_Parameters .beta_LW * J21LW_interp (z )** (Astro_Parameters .beta_LW - 1 )
934934 integrand_III *= - 1 * Mmol_vcb (Astro_Parameters , Cosmo_Parameters , z , Cosmo_Parameters .vcb_avg )/ HMF_interpolator .Mhtab
935- return np .trapz (integrand_III , HMF_interpolator .logtabMh )
935+ return np .trapezoid (integrand_III , HMF_interpolator .logtabMh )
936936
937937
938938def fesc_II (Astro_Parameters , Mh ):
0 commit comments