Cosmic-web data: reproduce and validate

Cosmic-web data: reproduce and validate

The website reads the checked-in data/cosmic-web.json manifest and the 1,179,648-byte data/cosmic-web.bin payload (about 1.2 MB). The separate data/cosmic-web-method.json exposes parameters, limitations and sources. Python and scientific packages are needed only to regenerate or validate these assets, not to build the website or render it in a browser.

From the repository root, use the existing scientific environment:

/opt/anaconda3/envs/macss/bin/python scripts/generate-cosmic-web.py --check
/opt/anaconda3/envs/macss/bin/python scripts/generate-cosmic-web.py --reproduce
/opt/anaconda3/envs/macss/bin/python scripts/generate-cosmic-web.py

--check validates the existing binary layout, hash, finite values, cosmology bookkeeping and curve consistency. --reproduce recalculates the fields and requires byte-for-byte agreement with all three checked-in assets. The command without a flag regenerates the assets. After regeneration, rebuild the matching static poster with node scripts/render-cosmic-fallback.cjs. Reproduction was verified with Python’s installed NumPy 2.3.3, SciPy 1.16.2 and CAMB 1.6.4; software versions are also recorded in the manifest. The generator defaults to one OpenMP/BLAS thread. Use the same environment for exact reproduction; changing versions or numerical settings can change the realization’s encoded bytes.

Physical model and units

  • Periodic comoving box: 200 h⁻¹ Mpc; Fourier/displacement mesh: 96³.
  • 24,576 common scrambled Sobol Lagrangian tracer positions; fixed random seed.
  • Stored redshifts: 4, 1 and 0. All coordinates and displacements in the binary decode to a box with side length 2. Multiply them by 100 to obtain h⁻¹ Mpc. Render q + displacement, wrapping every coordinate into [-1, 1).
  • First-order Lagrangian map: x(q,z) = q + ĪØ(q,z), with ĪØ(k,z) = i k Ī“_cb(k,z) / k². Each epoch uses its own CAMB linear CDM+baryon spectrum, preserving scale-dependent linear growth with neutrinos.
  • Paired models: Ī£mν = 0 and 0.15 eV. They share the same Gaussian Fourier amplitudes/phases, total Ī©m, h, As, ns, Ī©b, Neff and flat Ī› geometry. CAMB’s massive-neutrino density replaces CDM to hold total Ī©m fixed. The massive model uses three degenerate species; σ8 is not renormalized between models.
  • The displacement source has Gaussian smoothing σ = 1.2 h⁻¹ Mpc and a spherical Fourier cutoff at 0.8 times the grid Nyquist frequency. The displayed density comes from CIC deposition of all 96³ displaced equal-mass elements, followed by Gaussian smoothing σ = 0.65 grid cells.
  • Brightness uses the same transfer for every epoch and model: clip(log1p(ρ_cb/mean_ρ_cb) / log(9), 0, 1). Values are quantized to uint8; density ratios ≄8 saturate. Brightness is neither luminosity nor a per-epoch percentile. Points of interest are separated extrema of this approximate smoothed density, not observed objects or a halo catalogue.
  • Theory-curve units: k in h Mpc⁻¹, P in (h⁻¹ Mpc)³. ratioTotal is CAMB’s linear total-matter P for 0.15 eV divided by its 0 eV reference at the same stored redshift. Its k samples run from 0.005 to 0.6 h Mpc⁻¹. These curves are unsmoothed theory outputs, not spectra measured from the rendered sample.

Interpretation limits

This is a scientifically motivated illustration, not an N-body or 2LPT simulation and not FOLPS output. Zel’dovich evolution does not model virialization or accurately predict bound halos and small-scale densities after shell crossing. The massive-neutrino treatment is linear and scale dependent; it is not a nonlinear multifluid evolution. Rendered tracers are not individual galaxies or neutrinos. Intermediate browser frames interpolate stored displacements and brightness; they are not additional evaluated CAMB epochs.

Finite volume, source smoothing, mesh resolution, deposition and tracer subsampling limit the image. Σmν = 0.15 eV is an illustrative parameter choice, not an inferred measurement; the 0 eV case is a massless-neutrino comparison, not a universe without neutrinos. No special BAO shell or filament graph is inserted, and this box is not used to measure a BAO scale.

Primary references and API definitions: CAMB transfer variables, CAMB spectra and units, White’s Zel’dovich treatment. The connection to HernĆ”n’s research is documented in the FOLPSν paper; that paper is research context, not the numerical source of this visualization.