◀ Back

Filament catalogs

Filament catalogs are produce using the code DisPerSE. We provide a catalog for each snapshot of each simulation run, provided there is a sufficient number of tracer galaxies in the corresponding catalogs (see below).

Catalog production

Briefly, DisPerSE employs the Discrete Morse theory to identify cosmic filaments from the topology of the density field. The latter can be either directly provided or computed using the Delaunay Tessellation Field Estimator from a set of tracers. The catalogs provided are built following the second approach.
To suppress the effect of shot noise, the estimated density is smoothed using a moving average that includes all connected vertices to a given vertex. In practice, filaments are defined by a set of segments connecting local maxima to saddle points, i.e. tracing the ridges, of the density field. We choose to discard all filaments with detection significance below 3 standard deviations. Additionally, DisPerSE ensures the smoothness of the computed skeleton by shifting the extremities of contiguous segments to their middle point.
As a final step, bifurcating filaments (i.e. those connecting the same critical point to different saddle points) are split by introducing bifurcation points. This procedure avoids double-counting of the shared part of the filament.

For THESAN, we provide two types of catalogs. Each one is stored in a sub-directory with the corresponding name.
  • FixedMassTracers. These catalogs employ as tracers subhaloes with a fixed minimum stellar mass of \( M_{stars} \geq 10^8 M_\odot / h\) in all snapshots. This represents the traditional approach employed in studies of cosmic filaments.
  • FixedNumberTracers. These catalogs employ as tracers a fixed number of subhaloes in all snapshots. This number is determined (together with other parameters) at \(z=5.5\) by simultaneously maximizing the number of massive haloes hosting a filament's extremity and the number of filament's extrema residing in haloes. This approach follows the recent proposition in Galarraga-Espinosa et al. (2023, in prep.) and is thoroughly described in the THESAN data release paper.
The filament catalogs are then produced running DisPerSE as follow:

                        delaunay_3D trace_catalog.dat -btype periodic 
                        netconv     trace_catalog.dat.NDnet -smoothData field_value 1
                        mse         trace_catalog.dat.NDnet.SD.NDnet -forceLoops -robustness -manifolds -upSkl -nsig 3 
                        skelconv    trace_catalog.dat.NDnet.SD.NDnet_s3.up.NDskl -to NDskl_ascii -smooth 1 -breakdown 
                        

Catalog format

The output from DisPerSE is re-arranged in an HDF5 file with a structure similar to other THESAN data product. Each catalog contains three main groups: an Header, whose attributes contain general information about the simulation and filaments, a CriticalPoint group, whose datasets contain the properties of the critical points of the density field identified by DisPerSE, and a Filaments group, whose datasets host the propertied of the filaments identified by DisPerSE.

The available attributes in the Header group are listed here (click to open).
Header attributes ▾
Attribute Dimensions Units Description
BoundingBox 6 \(kpc/h\) Coordinates of two corners of the bounding box (computed by DisPerSE) that encloses all tracer points. The six values correspond to \( x_{min}, y_{min}, z_{min}, x_{max}, y_{max}, z_{max} \) of the tracers.
BoxSize 1 \({\rm ckpc} / h\) Spatial extent of the periodic box (in comoving units).
HubbleParam 1 \(100\,{\rm km/s/Mpc}\) Hubble constant (little \(h\) in standard units).
NumCriticalPoints 1 - Number of critical points identified by DisPerSE.
NumDimensions 1 - Number of dimensions of the space of tracer points. Always equal to 3 for THESAN.
NumFilaments 1 - Number of filaments identified by DisPerSE.
Omega0 1 - The cosmological density parameter for matter.
OmegaBaryon 1 - The cosmological density parameter for baryonic matter.
OmegaLambda 1 - The cosmological density parameter for the cosmological constant.
Redshift 1 - The redshift corresponding to the current output.
Time 1 - The scale factor \(a=1/(1+z)\) corresponding to the current output.
UnitLength_in_cm 1 - Code length units in cm.
UnitMass_in_g 1 - Code mass units in g.
UnitVelocity_in_cm_per_s 1 - Code velocity units in cm/s.
The available datasets in the CriticalPoint and Filaments groups are listed here (click to open).
CriticalPoints datasets ▾
Dataset Dim. Units Description
AssociatedFields (NumCriticalPoints, NumAssociatedFields) - Value of fields associated to each critical point. The number and name of these fields are stored in the NumAssociatedFields and AssociatedFieldsNames attributes of the CriticalPoints dataset
BoundaryFlag NumCriticalPoints -
Coordinates (NumCriticalPoints, 3) \(kpc/h\) Coordinates of each critical point
CriticalIndex NumCriticalPoints - Critical index of each critical point
DensityDTFE NumCriticalPoints ? Density estimate for each Critical point
IndexFilament NumFilaments - Index of the filament associated to each critical point
IndexOtherFilamentExtreme NumFilaments - Index of the critical point at the other extreme of the filament associated to each given critical point
NumConnectedFilaments NumCriticalPoints - Number of filaments connected to each critical point
OffsetFilamentAndExtreme NumCriticalPoints - Offset of the first filament or critical point associated to each critical point in the IndexFilament and IndexOtherFilamentExtreme arrays
PersistencePairIndex NumCriticalPoints - Index of the persistence pair of each critical point
Filaments datasets ▾
Dataset Dim. Units Description
AssociatedFields (NumFilaments, NumAssociatedFields) - Value of fields associated to each filament. The number and name of these fields are stored in the NumAssociatedFields and AssociatedFieldsNames attributes of the Filament dataset
CoordinatesSamplingPoints (NumSamplingPoints, 3) \(kpc/h\) Coordinates of the sampling points associated to each filament
IndexExtremalCriticalPoints (NumSamplingPoints, 2) - Index of the critical points at the extremities of each filament
NumSamplingPoints NumFilaments - Number of sampling points associated to each filament
OffsetSamplingPoints NumFilaments - Offset of the first sampling point or critical points pair associated to each filament in the CoordinatesSamplingPoints and IndexExtremalCriticalPoints arrays