Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IA profile v3 #1074

Merged
merged 48 commits into from
May 9, 2023
Merged
Show file tree
Hide file tree
Changes from 43 commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
87c8639
halo profiles in their own directory
nikfilippas Mar 20, 2023
9474b15
Merge branch 'master' into v3_wip
damonge Mar 21, 2023
b8bb8e9
concentrations in their own directory
nikfilippas Mar 21, 2023
c40cf0c
mass functions & halo biases in their own directory
nikfilippas Mar 21, 2023
4da043f
moved CIB stuff to profiles & 2pts
nikfilippas Mar 21, 2023
ee5e535
split halo model into 1/2/4-pt
nikfilippas Mar 21, 2023
8c20b40
fix imports
nikfilippas Mar 21, 2023
fa9e215
Merge branch 'v3_wip' of https://github.com/LSSTDESC/CCL into v3_wip
nikfilippas Mar 21, 2023
8f29fa2
remove empty module
nikfilippas Mar 21, 2023
8df3d79
fix typo
nikfilippas Mar 21, 2023
388629a
Baryons in v3 (#1039)
damonge Mar 22, 2023
ef815c4
Tracers v3 (#1040)
damonge Mar 24, 2023
4162fed
Merge branch 'master' into v3_wip
nikfilippas Mar 24, 2023
909695d
Background, boltzmann, and cls in v3 (#1041)
damonge Mar 24, 2023
7772dd6
Covariances in v3 (#1046)
damonge Mar 24, 2023
f1c1546
Correlations v3 (#1042)
damonge Mar 24, 2023
41b92dd
split base.py and restructured into its own dir to simplify
nikfilippas Mar 30, 2023
693bb67
Neutrinos, parameters, power in v3 (#1047)
damonge Apr 7, 2023
2c9039a
Pk2D and Tk3D in v3 (#1048)
damonge Apr 16, 2023
d5ed640
PT biases in v3 (#1056)
damonge Apr 16, 2023
26fc035
Merge branch 'master' into v3_wip
nikfilippas Apr 17, 2023
e93b317
Halos v3 (#1043)
nikfilippas Apr 17, 2023
9ea9a70
Tests v3 (#1059)
nikfilippas Apr 18, 2023
931101a
shortcut for __eq__ methods
nikfilippas Apr 18, 2023
fa4b977
Eq. for EulerianPT calculator (#1073)
damonge Apr 19, 2023
27c6cc9
No normprof (#1072)
damonge Apr 19, 2023
0c3f998
porting
damonge Apr 19, 2023
193d69f
implemented but tests aren't passing
damonge Apr 19, 2023
ac58f3c
tested
damonge Apr 19, 2023
50730f6
fixed test
damonge Apr 19, 2023
c0fc2f5
Cosmology v3 (#1071)
nikfilippas Apr 20, 2023
02520d0
avoid warning due to zeros (#1076)
damonge Apr 21, 2023
a19829e
Fix halo inconsistencies v3 (#1069)
nikfilippas Apr 21, 2023
4c7eda5
Final checklist v3 (#1075)
nikfilippas Apr 21, 2023
26c2bd5
Preserve API in v2.final (#1077)
nikfilippas Apr 22, 2023
9d92f94
Coverage v3 (#1078)
nikfilippas Apr 22, 2023
4d03d04
merged v3_wip
damonge May 3, 2023
78e97dc
merged master
damonge May 3, 2023
7983d51
is_number_counts back
damonge May 3, 2023
cf6d5e6
fixed tests
damonge May 3, 2023
9e3475e
fixed benchmark
damonge May 4, 2023
8303a1b
removed a few warnings in tests
damonge May 4, 2023
1bbe156
increased coverage
damonge May 4, 2023
48e1064
lowercase
damonge May 8, 2023
2fe53ba
lowercase
damonge May 9, 2023
91f7d04
Updated benchmark code to v3.
chrgeorgiou May 9, 2023
f48b65b
Merge remote-tracking branch 'origin/ia_profile' into ia_profile
chrgeorgiou May 9, 2023
4529cea
Merge branch 'master' into ia_profile
damonge May 9, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
202 changes: 202 additions & 0 deletions benchmarks/data/IA_halomodel_Cell_test.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
2.000000000000000000e+00,-4.079832701350021232e-15,8.134462437116903216e-17
3.000000000000000000e+00,-8.173288654764102365e-15,1.517127325117972473e-16
4.000000000000000000e+00,-1.249971916667880769e-14,2.192497150817162424e-16
5.000000000000000000e+00,-1.712508126386937611e-14,2.869506749328666899e-16
6.000000000000000000e+00,-2.206425194187725307e-14,3.561473949397859065e-16
7.000000000000000000e+00,-2.731472705936745361e-14,4.275582085487286646e-16
8.000000000000000000e+00,-3.286744125733905191e-14,5.016374226033857171e-16
9.000000000000000000e+00,-3.871119914477358208e-14,5.787104052457625315e-16
1.000000000000000000e+01,-4.483438931651096458e-14,6.590337414650795721e-16
1.100000000000000000e+01,-5.122776023668968006e-14,7.428710287476833046e-16
1.200000000000000000e+01,-5.787374365409677882e-14,8.303173175481808044e-16
1.300000000000000000e+01,-6.476515479377761623e-14,9.216047559607512891e-16
1.400000000000000000e+01,-7.189150196195461867e-14,1.016900816648341101e-15
1.500000000000000000e+01,-7.924297829609827699e-14,1.116370028423811764e-15
1.600000000000000000e+01,-8.681044597230915827e-14,1.220165692932567984e-15
1.700000000000000000e+01,-9.458503736684918189e-14,1.328440404096326773e-15
1.800000000000000000e+01,-1.025583355193047205e-13,1.441341403411628973e-15
1.900000000000000000e+01,-1.107226844733938926e-13,1.559011560639997508e-15
2.000000000000000000e+01,-1.190705217482871937e-13,1.681593261746522051e-15
2.100000000000000000e+01,-1.275942286997097635e-13,1.809248731669163605e-15
2.200000000000000000e+01,-1.362761735830868557e-13,1.942098245281031761e-15
2.300000000000000000e+01,-1.451439302869037507e-13,2.080277426759452903e-15
2.400000000000000000e+01,-1.541568253944413390e-13,2.223916544804700410e-15
2.500000000000000000e+01,-1.633206783826015996e-13,2.373149076156676459e-15
2.600000000000000000e+01,-1.726297109562296049e-13,2.528106837301841051e-15
2.700000000000000000e+01,-1.820784262433533513e-13,2.688894247059106646e-15
2.800000000000000000e+01,-1.916616518422607554e-13,2.855712466653808591e-15
2.900000000000000000e+01,-2.013745239856931909e-13,3.028648817501679716e-15
3.000000000000000000e+01,-2.112120312073220717e-13,3.207827718883899002e-15
3.100000000000000000e+01,-2.211696935173538933e-13,3.393374010906272817e-15
3.300000000000000000e+01,-2.414276913192409569e-13,3.784059526647252294e-15
3.400000000000000000e+01,-2.517197514568205780e-13,3.989430632402719357e-15
3.500000000000000000e+01,-2.621152131153427181e-13,4.201650968152743914e-15
3.600000000000000000e+01,-2.726102301486856728e-13,4.420832615839561799e-15
3.700000000000000000e+01,-2.832011813100740124e-13,4.647091068684908276e-15
3.900000000000000000e+01,-3.046567681096922702e-13,5.121281474124442488e-15
4.000000000000000000e+01,-3.155151764882180248e-13,5.369438185467278078e-15
4.100000000000000000e+01,-3.264551790167766811e-13,5.625110382406661918e-15
4.300000000000000000e+01,-3.485713739010813011e-13,6.159424339784054273e-15
4.400000000000000000e+01,-3.597412167820597106e-13,6.438275110607275636e-15
4.600000000000000000e+01,-3.822903576900658434e-13,7.019871176608505532e-15
4.700000000000000000e+01,-3.936645586191838772e-13,7.322817550491220320e-15
4.900000000000000000e+01,-4.165988473785702325e-13,7.953486385321668733e-15
5.100000000000000000e+01,-4.397659985265825815e-13,8.617814422777118058e-15
5.200000000000000000e+01,-4.514309150665038966e-13,8.962832838646546632e-15
5.400000000000000000e+01,-4.749130347429586310e-13,9.679029932060874496e-15
5.600000000000000000e+01,-4.985838550173902061e-13,1.043067794402060364e-14
5.800000000000000000e+01,-5.224306344331111435e-13,1.121846417506845233e-14
6.000000000000000000e+01,-5.464358510436524960e-13,1.204303432947385619e-14
6.200000000000000000e+01,-5.705866842796304775e-13,1.290505122376983207e-14
6.400000000000000000e+01,-5.948699427403354244e-13,1.380505505988903926e-14
6.600000000000000000e+01,-6.192736385459298233e-13,1.474370360376440113e-14
6.800000000000000000e+01,-6.437858550640349033e-13,1.572155797887101243e-14
7.100000000000000000e+01,-6.807340800636457935e-13,1.726303093474001494e-14
7.300000000000000000e+01,-7.054719868601817115e-13,1.834125525812835358e-14
7.600000000000000000e+01,-7.427120470237024193e-13,2.003573023977944497e-14
7.800000000000000000e+01,-7.676153227875724102e-13,2.121749925291875131e-14
8.100000000000000000e+01,-8.050641392861955284e-13,2.306952490806408654e-14
8.400000000000000000e+01,-8.426019950688259959e-13,2.501796053838557868e-14
8.700000000000000000e+01,-8.802041651933149230e-13,2.706461375486769257e-14
9.000000000000000000e+01,-9.178481889010764774e-13,2.921049100484332443e-14
9.300000000000000000e+01,-9.555126519253599622e-13,3.145689813228647308e-14
9.600000000000000000e+01,-9.931783105787405998e-13,3.380508365620298053e-14
9.900000000000000000e+01,-1.030827919523819760e-12,3.625617726283019813e-14
1.020000000000000000e+02,-1.068444172925900782e-12,3.881126329060465763e-14
1.060000000000000000e+02,-1.118520128031976651e-12,4.238152914571013256e-14
1.100000000000000000e+02,-1.168475934789673821e-12,4.614056642277608526e-14
1.130000000000000000e+02,-1.205846277513725572e-12,4.908509604219532567e-14
1.170000000000000000e+02,-1.255518952498932710e-12,5.317941913456537393e-14
1.210000000000000000e+02,-1.304996121542157623e-12,5.746771594925756481e-14
1.250000000000000000e+02,-1.354251276412751117e-12,6.195197203718198256e-14
1.300000000000000000e+02,-1.415477187843002613e-12,6.783447790866343905e-14
1.340000000000000000e+02,-1.464159740983458239e-12,7.276390325604151326e-14
1.390000000000000000e+02,-1.524613393633013360e-12,7.920687630660199114e-14
1.430000000000000000e+02,-1.572643276850356505e-12,8.458765329285988625e-14
1.480000000000000000e+02,-1.632226911540471740e-12,9.159768432490884423e-14
1.530000000000000000e+02,-1.691297294116584320e-12,9.892502309639995846e-14
1.580000000000000000e+02,-1.749832099350541472e-12,1.065708086741020153e-13
1.640000000000000000e+02,-1.819340256761955073e-12,1.161676335096486134e-13
1.690000000000000000e+02,-1.876636192615300851e-12,1.245174903732058469e-13
1.750000000000000000e+02,-1.944618838379693640e-12,1.349610385417820360e-13
1.810000000000000000e+02,-2.011741605943099824e-12,1.458678693283442168e-13
1.870000000000000000e+02,-2.077990765710287301e-12,1.572375955393951722e-13
1.940000000000000000e+02,-2.154162764658303000e-12,1.710878525299206468e-13
2.000000000000000000e+02,-2.218479066684788223e-12,1.834611090685863982e-13
2.070000000000000000e+02,-2.292372630587037720e-12,1.984802481898923597e-13
2.140000000000000000e+02,-2.365030230155340361e-12,2.141267184277412745e-13
2.210000000000000000e+02,-2.436447448426817914e-12,2.303992017393106650e-13
2.290000000000000000e+02,-2.516548916886467292e-12,2.497588292203879365e-13
2.370000000000000000e+02,-2.595035844050766224e-12,2.699282924623388522e-13
2.450000000000000000e+02,-2.671917739793992866e-12,2.909031968545701233e-13
2.530000000000000000e+02,-2.747197675800008172e-12,3.126783817417681245e-13
2.620000000000000000e+02,-2.830000210016051724e-12,3.381242596857765244e-13
2.710000000000000000e+02,-2.910819651969900044e-12,3.645679449156214340e-13
2.800000000000000000e+02,-2.989773948886093819e-12,3.919990571517948951e-13
2.890000000000000000e+02,-3.065138979341977480e-12,4.204084350382200036e-13
2.990000000000000000e+02,-3.149896213335430176e-12,4.531103625646665833e-13
3.100000000000000000e+02,-3.238843834128559805e-12,4.904459906728420821e-13
3.200000000000000000e+02,-3.317336307843709830e-12,5.256112077216411562e-13
3.310000000000000000e+02,-3.401141597177868464e-12,5.656195224575774830e-13
3.420000000000000000e+02,-3.482344636496623994e-12,6.070002676284960574e-13
3.540000000000000000e+02,-3.568044761979053256e-12,6.536804050858040034e-13
3.660000000000000000e+02,-3.650808200100027100e-12,7.019375631231759241e-13
3.780000000000000000e+02,-3.730717962296263270e-12,7.517265565406788605e-13
3.910000000000000000e+02,-3.814171132950979537e-12,8.074206636813664721e-13
4.040000000000000000e+02,-3.894492356471012164e-12,8.648458717876780560e-13
4.180000000000000000e+02,-3.977596556207767508e-12,9.286022602470059793e-13
4.320000000000000000e+02,-4.057305627729967949e-12,9.942997164897620486e-13
4.470000000000000000e+02,-4.139082168231823054e-12,1.066796184273243837e-12
4.620000000000000000e+02,-4.217252953863518419e-12,1.141411784738322525e-12
4.780000000000000000e+02,-4.296814877332176497e-12,1.223279454307103499e-12
4.940000000000000000e+02,-4.372595829255245859e-12,1.307434106995938755e-12
5.110000000000000000e+02,-4.449154678319355995e-12,1.399281063717492811e-12
5.290000000000000000e+02,-4.525968190834456041e-12,1.499177557579737751e-12
5.470000000000000000e+02,-4.598620189014254435e-12,1.601724677261583120e-12
5.650000000000000000e+02,-4.667310244725645972e-12,1.706791367081594499e-12
5.840000000000000000e+02,-4.735741298982013818e-12,1.820379949830806765e-12
6.040000000000000000e+02,-4.803477310628568598e-12,1.942802155273905869e-12
6.250000000000000000e+02,-4.870111204225339161e-12,2.074377034621020697e-12
6.460000000000000000e+02,-4.932384765522433094e-12,2.208933254930287072e-12
6.680000000000000000e+02,-4.993222877540478100e-12,2.352960204140702383e-12
6.910000000000000000e+02,-5.052275680971293939e-12,2.506741586635393895e-12
7.140000000000000000e+02,-5.106958563523621326e-12,2.663645449698386102e-12
7.380000000000000000e+02,-5.159597117799282810e-12,2.830549055883733422e-12
7.630000000000000000e+02,-5.210070667573535523e-12,3.007683914047261733e-12
7.890000000000000000e+02,-5.258001926449903738e-12,3.195270253502366843e-12
8.160000000000000000e+02,-5.303233478573540808e-12,3.393499853325778147e-12
8.440000000000000000e+02,-5.345591866757926652e-12,3.602546814683281845e-12
8.730000000000000000e+02,-5.384914586538273034e-12,3.822571110281269936e-12
9.020000000000000000e+02,-5.419940587111238806e-12,4.045925815562777495e-12
9.330000000000000000e+02,-5.452974546375090324e-12,4.288135455866430478e-12
9.650000000000000000e+02,-5.482655428884817164e-12,4.541626045914865599e-12
9.970000000000000000e+02,-5.508191023218391866e-12,4.798364773521410710e-12
1.031000000000000000e+03,-5.531148061140346108e-12,5.074453424841684183e-12
1.066000000000000000e+03,-5.550619816993122226e-12,5.361887084983020078e-12
1.103000000000000000e+03,-5.567028492105484665e-12,5.668973577480325573e-12
1.140000000000000000e+03,-5.579516385806951899e-12,5.979086362665377600e-12
1.179000000000000000e+03,-5.588800443656771160e-12,6.308865671186672217e-12
1.219000000000000000e+03,-5.594551710676090585e-12,6.649851385957869954e-12
1.260000000000000000e+03,-5.596842453603588923e-12,7.001882071882467782e-12
1.303000000000000000e+03,-5.595699916393558557e-12,7.373442076047585592e-12
1.347000000000000000e+03,-5.591136852407551726e-12,7.756181095128221236e-12
1.393000000000000000e+03,-5.583052742789213455e-12,8.157310328213848600e-12
1.441000000000000000e+03,-5.570643338201542145e-12,8.577955798410584098e-12
1.489000000000000000e+03,-5.556772431535588903e-12,8.999798505581425037e-12
1.540000000000000000e+03,-5.538432589640673691e-12,9.448919399668783784e-12
1.592000000000000000e+03,-5.516939013771911313e-12,9.907334351888410162e-12
1.646000000000000000e+03,-5.492114888241250062e-12,1.038345365416957739e-11
1.702000000000000000e+03,-5.463963839922969401e-12,1.087684989178261936e-11
1.760000000000000000e+03,-5.432541651297941233e-12,1.138694151643772425e-11
1.820000000000000000e+03,-5.397948541432855264e-12,1.191318080432693977e-11
1.882000000000000000e+03,-5.360269752626792407e-12,1.245494250412911242e-11
1.946000000000000000e+03,-5.319631477313926758e-12,1.301150707780676164e-11
2.012000000000000000e+03,-5.276170043983926060e-12,1.358217956777404133e-11
2.080000000000000000e+03,-5.230026008772957815e-12,1.416617061146347843e-11
2.151000000000000000e+03,-5.180639595252302562e-12,1.477110221944514939e-11
2.224000000000000000e+03,-5.128725880970998950e-12,1.538749794225292652e-11
2.300000000000000000e+03,-5.074014383047400069e-12,1.602272850029616769e-11
2.378000000000000000e+03,-5.017081879076536432e-12,1.666740242818832691e-11
2.458000000000000000e+03,-4.958202818425172301e-12,1.732035967268783282e-11
2.542000000000000000e+03,-4.896209100376668163e-12,1.799673888085978105e-11
2.628000000000000000e+03,-4.832339341483135978e-12,1.867902836969340948e-11
2.718000000000000000e+03,-4.765692679316062830e-12,1.938153154794377016e-11
2.810000000000000000e+03,-4.697804549712960893e-12,2.008721523995540869e-11
2.905000000000000000e+03,-4.628101220554274520e-12,2.080241515209507901e-11
3.004000000000000000e+03,-4.556034363788654113e-12,2.153284021229945220e-11
3.106000000000000000e+03,-4.482527791065776318e-12,2.226929139420199293e-11
3.212000000000000000e+03,-4.407059235574564225e-12,2.301716964728701032e-11
3.321000000000000000e+03,-4.330585110813075843e-12,2.376753892629227191e-11
3.434000000000000000e+03,-4.252560364213546658e-12,2.452538851878389716e-11
3.550000000000000000e+03,-4.173874684539808713e-12,2.528211975301920557e-11
3.671000000000000000e+03,-4.093384001540840338e-12,2.604860941517789351e-11
3.796000000000000000e+03,-4.011964795679958118e-12,2.681523257068356084e-11
3.924000000000000000e+03,-3.930460369974911312e-12,2.757516742169975742e-11
4.058000000000000000e+03,-3.847153731986518460e-12,2.834398891246713820e-11
4.196000000000000000e+03,-3.763549009716437768e-12,2.910843390256455154e-11
4.338000000000000000e+03,-3.679822629834564391e-12,2.986367902294505806e-11
4.486000000000000000e+03,-3.595012201285370115e-12,3.061928751076837843e-11
4.638000000000000000e+03,-3.510433325196691996e-12,3.136211667759558629e-11
4.795000000000000000e+03,-3.425938452450146289e-12,3.209541984696267851e-11
4.958000000000000000e+03,-3.340785795123808603e-12,3.282078385326628545e-11
5.127000000000000000e+03,-3.255346407031480099e-12,3.353539650578334620e-11
5.301000000000000000e+03,-3.170497219284414495e-12,3.422634689618641514e-11
5.481000000000000000e+03,-3.085713850534403091e-12,3.491367013278583456e-11
5.667000000000000000e+03,-3.001365341013752471e-12,3.557637269662853273e-11
5.860000000000000000e+03,-2.917167496068582154e-12,3.622139561428059131e-11
6.059000000000000000e+03,-2.833736834957854855e-12,3.684281425506008336e-11
6.264000000000000000e+03,-2.751264875211529347e-12,3.743852400181029425e-11
6.477000000000000000e+03,-2.668937133557229170e-12,3.801181763113017547e-11
6.697000000000000000e+03,-2.587496352671327225e-12,3.855726741302962609e-11
6.925000000000000000e+03,-2.506672970562891276e-12,3.907497614027223864e-11
7.160000000000000000e+03,-2.427006383680606724e-12,3.956031250604820218e-11
7.403000000000000000e+03,-2.348295426803132753e-12,4.001286341239487936e-11
7.655000000000000000e+03,-2.270394229395458039e-12,4.043404736269404438e-11
7.915000000000000000e+03,-2.193817242197337825e-12,4.081825895636106979e-11
8.183000000000000000e+03,-2.118577909777605677e-12,4.116461657500351227e-11
8.461000000000000000e+03,-2.044289214494571479e-12,4.147392475037783308e-11
8.749000000000000000e+03,-1.971071448574593756e-12,4.174412661963766217e-11
9.046000000000000000e+03,-1.899417377832201893e-12,4.197298844227930576e-11
9.353000000000000000e+03,-1.829144293113792161e-12,4.216083213228477388e-11
9.671000000000000000e+03,-1.760080880126527182e-12,4.230507364998242088e-11
1.000000000000000000e+04,-1.692449054607943474e-12,4.240640844553520051e-11
30 changes: 30 additions & 0 deletions benchmarks/data/IA_halomodel_norm_term.dat
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
1.000000000000000000e+10 7.699922933478342557e-02
1.610262027560942459e+10 1.240359718918154081e-01
2.592943797404666901e+10 1.997774523315629658e-01
4.175318936560408783e+10 3.217410821949391875e-01
6.723357536499334717e+10 5.181344841074294605e-01
1.082636733874056244e+11 8.343793216706293370e-01
1.743328822199987183e+11 1.343616375010823205e+00
2.807216203941181641e+11 2.163621465031568825e+00
4.520353656360240479e+11 3.484044523898653711e+00
7.278953843983161621e+11 5.610271635908201660e+00
1.172102297533479248e+12 9.034054416347705896e+00
1.887391822135099609e+12 1.454724181830650309e+01
3.039195382313194824e+12 2.342491814250802307e+01
4.893900918477499023e+12 3.772030322034662930e+01
7.880462815669904297e+12 6.073961898055123498e+01
1.268961003167923438e+13 9.780674904964409677e+01
2.043359717856939453e+13 1.574945410705660720e+02
3.290344562312671094e+13 2.536075260708124688e+02
5.298316906283702344e+13 4.083746161722419288e+02
8.531678524172814062e+13 6.575901844786785659e+02
1.373823795883260938e+14 1.058892550799549326e+03
2.212216291070450312e+14 1.705094512856403071e+03
3.562247890262451250e+14 2.745648994491931717e+03
5.736152510448681250e+14 4.421214363877966207e+03
9.236708571873846250e+14 7.119313652896409621e+03
1.487352107293511750e+15 1.146396048459201484e+04
2.395026619987491000e+15 1.845998030083440608e+04
3.856620421163472000e+15 2.972540535499328689e+04
6.210169418915604000e+15 4.786569154403894208e+04
1.000000000000000000e+16 7.707630556334754510e+04
56 changes: 56 additions & 0 deletions benchmarks/data/codes/IAhalo_normalisation_benchmark.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Taken from github.com/c-d-leonard/IA_GGL/blob/CCL_IAhalo_bm/
# Written by Danielle Leonard.
# This is script is intended to provide code to benchmark the
# integration over the halo mass function and HOD quantities for
# the IA halo model in CCL

import numpy as np
import scipy.integrate
import pyccl as ccl


def normalisation(Mhalo, cosmo, conc, z):
""" Returns the 'normalisation factor' that goes into the IA halo model
power spectrum: satelite fraction * Nsat / tot_ns as a function of Mhalo.
Mhalo is the vector of halo masses over which to integrate in units of Msol
cosmo is a pyccl cosmology object
conc is a concentration relation object
z is the redshift at which to calculate this
"""

# Get the halo mass function
HMF_setup = ccl.halos.MassFuncTinker10(cosmo)
HMF = HMF_setup.get_mass_function(cosmo, Mhalo, 1. / (1. + z))

# Get HOD quantities we need
HODHProf = ccl.halos.HaloProfileHOD(conc)
Ncen_lens = HODHProf._Nc(Mhalo, 1. / (1. + z))
Nsat_lens = HODHProf._Ns(Mhalo, 1. / (1. + z))

# Get total number of satellite galaxies
tot_ns = scipy.integrate.simps(Ncen_lens * Nsat_lens * HMF, np.log10(Mhalo))
tot_nc = scipy.integrate.simps((Ncen_lens) * HMF, np.log10(Mhalo))

tot_all = tot_ns + tot_nc

# Fraction of satellites:
f_s = tot_ns / tot_all

return f_s / tot_ns * Nsat_lens


if (__name__ == "__main__"):
Mhalo = np.logspace(10., 16, 30) # Units Msol

z = 0.0

cosmo = ccl.Cosmology(Omega_c=0.25, Omega_b=0.05, Omega_k=0, sigma8=0.81, n_s=0.96, h=1.)

concentration = ccl.halos.ConcentrationDuffy08()

norm_term = normalisation(Mhalo, cosmo, concentration, z)

save = np.column_stack((Mhalo, norm_term))
np.savetxt('../IA_halomodel_norm_term.dat', save)


Loading