my effort is to reconstruct the merger history of subhalos contained in Illustris-3 between z=0 and z=8; In order to approach the loadTree() function, I follow the "Example Scripts", I mean I download the full Sublink merger tree (8GB), as suggested; I already have the goup catalogs on my pc, because I used them to make Madau plot and other things. I exactly write the script in the example; but it gives me the following error: ValueError: Could not construct treePath from basePath = '/home/Illustris-3'
What's the problem?I can't handle it.
Moreover, I can't understand why snapshot are 135, sublink files are 45.
Last question, are there any example scripts to reconstruct merger trees?
Thank you very much for helping me.
This just means the script couldn't find the tree, i.e. the right path. To use the current scripts as is, you should have directories organized like the following:
here basePath = '/home/Illustris-3/'.
There is only "one" merger tree, which covers an entire simulation for all time. This is big, so we split it into 45 files in this case. As you say, this doesn't have anything to do with the number of snapshots.
Finally, I'm not totally sure you mean by "reconstruct"? The example you're following plots the mass history, but you can use the same approach to get the time evolution of any quantity of the galaxy.
Thank you very much for your fast response.
My files are organized as follow:
Group catalogs: (example, for snapshot 135) : /home/flaminia/Illustris-3/groups_135
the basePath I use on the scripts was (I write it wrong before):
basePath = '/home/flaminia/Illustris-3/'.
It works when I work with subhalos (loadSubhalos() function) ; it doesn't work with loadTree() function.
With "recostruct merger history", I mean I want to follow the merger history and the merger tree from z=0 to z=8 of a given subhalo I find at z=0. But I can't even read SubhaloID for now :(.
In the sublink.py file, at the very top is the treePath() function. After it puts some strings together to make a path, maybe you can just add a print statement, to see what path its actually looking for? This should tell us the problem.
ok, I made it. In the treePath() function I add "print tree_path" and "print _path". They print, respectively:
trees/SubLink/tree_extended..hdf5 (from =0 to 17.)
Then it gaves me the error.
Then the file /home/flaminia/Illustris-3/trees/SubLink/tree_extended.17.hdf5 does not exist?
If it does exist, then print( len(glob.glob(_path)) ) must return 1, and so treePath() will return successfully.
print( len(glob.glob(_path)) )
Ok, now It works. I think my SubLink file were broken; I trashed them and re-downloaded them. Thank you very much for your help, excuse me for the loss of time.