Skip to content

Commit b1285f2

Browse files
authored
Merge pull request #39 from ZeusCosmo/copilot/update-numpy-trapz-to-trapezoid
Replace deprecated `np.trapz` with `np.trapezoid`, require NumPy ≥ 2.0
2 parents 2cae9fc + d2b1e78 commit b1285f2

8 files changed

Lines changed: 35 additions & 35 deletions

File tree

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
pytest
2-
numpy
2+
numpy>=2.0
33
scipy
44
mcfit
55
numexpr

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
packages=['zeus21'],
1515
long_description=open('README.md').read(),
1616
install_requires=[
17-
"numpy",
17+
"numpy>=2.0",
1818
"scipy",
1919
"mcfit",
2020
"classy",

tests/test_inputs.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,23 +96,23 @@ def test_inputs():
9696
#test Pop II Xray SED
9797
Energylisttest = np.logspace(2,np.log10(AstroParams.Emax_xray_norm),100)
9898
SEDXtab_test = AstroParams.SED_XRAY(Energylisttest, 2) #same in both models
99-
normalization_XraySED = np.trapz(Energylisttest * SEDXtab_test,Energylisttest)
99+
normalization_XraySED = np.trapezoid(Energylisttest * SEDXtab_test,Energylisttest)
100100
assert( normalization_XraySED == pytest.approx(1.0, 0.05) ) #5% is enough here
101101

102102
#test Pop III Xray SED
103103
SEDXtab_test = AstroParams.SED_XRAY(Energylisttest, 3) #same in both models
104-
normalization_XraySED = np.trapz(Energylisttest * SEDXtab_test,Energylisttest)
104+
normalization_XraySED = np.trapezoid(Energylisttest * SEDXtab_test,Energylisttest)
105105
assert( normalization_XraySED == pytest.approx(1.0, 0.05) ) #5% is enough here
106106

107107

108108
#test Pop II LyA SED
109109
nulisttest = np.linspace(zeus21.constants.freqLyA, zeus21.constants.freqLyCont, 100)
110110
SEDLtab_test = AstroParams.SED_LyA(nulisttest, 2) #same in both models
111-
normalization_LyASED = np.trapz(SEDLtab_test,nulisttest)
111+
normalization_LyASED = np.trapezoid(SEDLtab_test,nulisttest)
112112
assert( normalization_LyASED == pytest.approx(1.0, 0.05) ) #5% is enough here
113113

114114
#test Pop III LyA SED
115115
nulisttest = np.linspace(zeus21.constants.freqLyA, zeus21.constants.freqLyCont, 100)
116116
SEDLtab_test = AstroParams.SED_LyA(nulisttest, 3) #same in both models
117-
normalization_LyASED = np.trapz(SEDLtab_test,nulisttest)
117+
normalization_LyASED = np.trapezoid(SEDLtab_test,nulisttest)
118118
assert( normalization_LyASED == pytest.approx(1.0, 0.05) ) #5% is enough here

zeus21/UVLFs.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def UVLF_binned(Astro_Parameters,Cosmo_Parameters,HMF_interpolator, zcenter, zwi
8282
xlo = np.subtract.outer(MUVcutlo, currMUV )/(np.sqrt(2) * sigmaUV)
8383
weights = (erf(xhi) - erf(xlo)).T/(2.0 * MUVwidths)
8484

85-
UVLF_filtered = np.trapz(weights.T * HMFcurr, HMF_interpolator.Mhtab, axis=-1)
85+
UVLF_filtered = np.trapezoid(weights.T * HMFcurr, HMF_interpolator.Mhtab, axis=-1)
8686

8787
if(Astro_Parameters.USE_POPIII==False):
8888
return UVLF_filtered
@@ -98,7 +98,7 @@ def UVLF_binned(Astro_Parameters,Cosmo_Parameters,HMF_interpolator, zcenter, zwi
9898
xlo = np.subtract.outer(MUVcutlo, MUVbarlist_III)/(np.sqrt(2) * sigmaUV)
9999
weights = (erf(xhi) - erf(xlo)).T/(2.0 * MUVwidths)
100100

101-
UVLF_filtered_III = np.trapz(weights.T * HMFcurr, HMF_interpolator.Mhtab, axis=-1)
101+
UVLF_filtered_III = np.trapezoid(weights.T * HMFcurr, HMF_interpolator.Mhtab, axis=-1)
102102

103103
return UVLF_filtered, UVLF_filtered_III
104104

zeus21/correlations.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,7 @@ def __init__(self, User_Parameters, Cosmo_Parameters, Astro_Parameters, ClassCos
382382
#the z>zmax part of the integral we do aside. Assume Tk=Tadiabatic from CLASS.
383383
_zlisthighz_ = np.linspace(T21_coefficients.zintegral[-1], 99., 100) #beyond z=100 need to explictly tell CLASS to save growth
384384
_dgrowthhighz_ = cosmology.dgrowth_dz(Cosmo_Parameters, _zlisthighz_)
385-
_hizintegral = np.trapz(cosmology.Tadiabatic(Cosmo_Parameters,_zlisthighz_)
385+
_hizintegral = np.trapezoid(cosmology.Tadiabatic(Cosmo_Parameters,_zlisthighz_)
386386
/(1+_zlisthighz_)**2 * _dgrowthhighz_, _zlisthighz_)
387387

388388
self._betaTad_ = -2./3. * _factor_adi_/self._lingrowthd * (np.cumsum(_integrand_adi[::-1])[::-1] + _hizintegral) #units of Tk_avg. Internal sum goes from high to low z (backwards), minus sign accounts for it properly so it's positive.
@@ -1261,7 +1261,7 @@ def get_Pk_from_xi(self, rsinput, xiinput):
12611261
#
12621262
# Probdtab = np.exp(-dtab**2/sigmaRRsq/2.0)
12631263
#
1264-
# norm = np.trapz(NionEPS * Probdtab, dtab)
1264+
# norm = np.trapezoid(NionEPS * Probdtab, dtab)
12651265
# NionEPS/=norm
12661266
#
12671267
# bindex = min(range(len(NionEPS)), key=lambda i: abs(NionEPS[i]-_invQbar))

zeus21/cosmology.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,13 @@ def runclass(CosmologyIn):
7575
theta_b = velTransFunc['t_b']
7676
theta_c = velTransFunc['t_cdm']
7777

78-
sigma_vcb = np.sqrt(np.trapz(CosmologyIn.As * (kVel/0.05)**(CosmologyIn.ns-1) /kVel * (theta_b - theta_c)**2/kVel**2, kVel)) * constants.c_kms
78+
sigma_vcb = np.sqrt(np.trapezoid(CosmologyIn.As * (kVel/0.05)**(CosmologyIn.ns-1) /kVel * (theta_b - theta_c)**2/kVel**2, kVel)) * constants.c_kms
7979
ClassCosmo.pars['sigma_vcb'] = sigma_vcb
8080

8181
###HAC: now computing average velocity assuming a Maxwell-Boltzmann distribution of velocities
8282
velArr = np.geomspace(0.01, constants.c_kms, 1000) #in km/s
8383
vavgIntegrand = (3 / (2 * np.pi * sigma_vcb**2))**(3/2) * 4 * np.pi * velArr**2 * np.exp(-3 * velArr**2 / (2 * sigma_vcb**2))
84-
ClassCosmo.pars['v_avg'] = np.trapz(vavgIntegrand * velArr, velArr)
84+
ClassCosmo.pars['v_avg'] = np.trapezoid(vavgIntegrand * velArr, velArr)
8585

8686
###HAC: Computing Vcb Power Spectrum
8787
ClassCosmo.pars['k_vcb'] = kVel
@@ -99,8 +99,8 @@ def runclass(CosmologyIn):
9999
j0bessel = lambda x: np.sin(x)/x
100100
j2bessel = lambda x: (3 / x**2 - 1) * np.sin(x)/x - 3*np.cos(x)/x**2
101101

102-
psi0 = 1 / 3 / (sigma_vcb/constants.c_kms)**2 * np.trapz(kVelIntp**2 / 2 / np.pi**2 * p_vcb_intp(np.log(kVelIntp)) * j0bessel(kVelIntp * np.transpose([rVelIntp])), kVelIntp, axis = 1)
103-
psi2 = -2 / 3 / (sigma_vcb/constants.c_kms)**2 * np.trapz(kVelIntp**2 / 2 / np.pi**2 * p_vcb_intp(np.log(kVelIntp)) * j2bessel(kVelIntp * np.transpose([rVelIntp])), kVelIntp, axis = 1)
102+
psi0 = 1 / 3 / (sigma_vcb/constants.c_kms)**2 * np.trapezoid(kVelIntp**2 / 2 / np.pi**2 * p_vcb_intp(np.log(kVelIntp)) * j0bessel(kVelIntp * np.transpose([rVelIntp])), kVelIntp, axis = 1)
103+
psi2 = -2 / 3 / (sigma_vcb/constants.c_kms)**2 * np.trapezoid(kVelIntp**2 / 2 / np.pi**2 * p_vcb_intp(np.log(kVelIntp)) * j2bessel(kVelIntp * np.transpose([rVelIntp])), kVelIntp, axis = 1)
104104

105105
k_eta, P_eta = mcfit.xi2P(rVelIntp, l=0, lowring = True)((6 * psi0**2 + 3 * psi2**2), extrap = False)
106106

zeus21/sfrd.py

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -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

804804
def 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

938938
def fesc_II(Astro_Parameters, Mh):

zeus21/xrays.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ def optical_depth(self, User_Parameters, Cosmo_Parameters, En,z,zp):
4343
# divided by factor of H(z')(1+z') because of variable of integration change from proper distance to redshift
4444
integrand = 1.0/HubinvMpc(Cosmo_Parameters, zinttau)/(1+zinttau) * sigmatot * n_H(Cosmo_Parameters, zinttau) * constants.Mpctocm
4545
# integrand = 1.0/HubinvMpc(Cosmo_Parameters, zinttau)/(1+zinttau) * sigmatot * n_baryon(Cosmo_Parameters, zinttau) * constants.Mpctocm
46-
taulist = np.trapz(integrand, zinttau, axis=1)
46+
taulist = np.trapezoid(integrand, zinttau, axis=1)
4747

4848
#OLD: kept for reference only.
4949
# taulist = 1.0*np.zeros_like(Envec)
@@ -55,7 +55,7 @@ def optical_depth(self, User_Parameters, Cosmo_Parameters, En,z,zp):
5555
#
5656
# integrand = 1.0/HubinvMpc(Cosmo_Parameters, zinttau)/(1+zinttau) * sigmatot * n_baryon(Cosmo_Parameters, zinttau) * constants.Mpctocm
5757
#
58-
# taulist[iE] = np.trapz(integrand, zinttau)
58+
# taulist[iE] = np.trapezoid(integrand, zinttau)
5959

6060
indextautoolarge = np.array(taulist>=self.TAUMAX)
6161
taulist [indextautoolarge] = self.TAUMAX

0 commit comments

Comments
 (0)