Running TNG50-4 initial conditions

Christian Drexel
  • 8 May '21

Hello,

I would like to run the simulation "TNG_50_4" on my computer. I have downloaded the file "snap_ics.hdf5" from the website.
Is this possible with the public version of Arepo?
If yes, I need "Config.sh" for compiling and "param.txt" for running the program.
Is it possible to download these files somewhere?

Greetings

Christian

Dylan Nelson
  • 10 May '21

Hello Christian,

You can certainly run those initial conditions with the public version of AREPO, this is a great project.

Note, though, that the "TNG version" (i.e. "TNG physical model") of AREPO is not yet public. So you can run a simulation of the same volume, with the same halos, but will have different properties, because the physics is different. In the public code there is examples/cosmo_box_gravity_only_3d which you should start with. It has an example Config.sh and param.txt (for a dark matter only simulation). Once that works, you can try examples/cosmo_box_star_formation_3d.

Christian Drexel
  • 10 May '21

Hello Dylan,

Thank you very much for the answer. I ran the simulation : "examples/cosmo_box_star_formation_3d" with 323 particles, and created myself the starting conditions for 643 to 256**3 via "MUSIC".I can use the starting conditions and run all simulations, that is not the problem.

However, if I understand you correctly, I cannot run the analogue simulation to "TNG_50_4" with the "public version" because there is more physics in "TNG_50_4" than in the public version of the program.

The "ics.hdf5" starting conditions that "MUSIC" creates (as well as "examples/cosmo_box_star_formation_3d") have more fields in the header than the "ics.hdf5" file of "TNG_50_4". The reading of the data set therefore fails when the non-existent fields are read in. Is there a switch in the program to read the header format of the ics.hdf5 file of "TNG_50_4" with the public version?

Greetings

Christian

Dylan Nelson
  • 10 May '21

Hi Christian,

(1) Yes it's correct that you cannot re-run the TNG50-4 simulation exactly, because this physics is not yet in the public version of AREPO.

(2) The TNG ICs are a bit too minimal to run as is. You can add a Header group with the necessary attributes, or else do you know already what is missing?

Christian Drexel
  • 11 May '21

Hello Dylan

the reading fails at "attribute of header": "Flag_Sfr" value 0 int32 0 which is not present in the TNG ics.

Besides this flag the following values are included in a "MUSIC" ics.hdf5 which can be read without problems:

attribute value type sha
Flag_Cooling 0 int32 0
Flag_StellarAge 0 int32 0
Flag_Metals 0 int32 0
Flag_Feedback 0 int32 0
Flag_DoublePrecision 0 int32 0
Music_levelmin 8 uint32 0
Music_levelmax 8 uint32 0
Music_levelcounts (2097152) uint64 (1.)
haveBaryons 0 int32 0
longIDs 0 int32 0
suggested_pmgrid 512 int32 0
suggested_gridboost 1 int32 0
suggested_highressoft 5.859375 float 0
suggested_gas_Tinit 277.6282 float 0

I don't know what attributes of the header Arepo absolutely needs to be able to read the TNG ics file,

Of course I would like to add the header group with the necessary attributes myself. However, I do not know a program to do this.
I only know HDFcompass for viewing the header on debian. With which program could I change the header myself?

Greetings

Christian

Dylan Nelson
  • 11 May '21

Unfortunately these are rather pointless, historical artifacts. There is no need to set such "Flags" in the initial conditions files, as the actual behavior is controlled by the configuration and parameter files.

You can add a header with python if you have h5py installed, e.g.

import h5py

with h5py.File('ics.hdf5','r+') as f:
    names = ['Sfr','Cooling','StellarAge','Metals','Feedback','DoublePrecision']
    for name in names:
        f['Header'].attrs['Flag_' + name] = 0
Christian Drexel
  • 11 May '21

Hello Nelson

I have executed your python script. With the additional flags the file can be read. Thanks for your help.

Greetings

Christian

  • Page 1 of 1