sim-highlinev0.24.0 · doi
2,041 records22 simulations117 observational and empirical sources44 relationsz 0–17released 2026-10-18

Study · IllustrisTNG and SIMBA in CAMELS

Can two simulated universes be made to agree on every galaxy property at once?

In plain words

After the best possible retuning of each code's four dials, IllustrisTNG and SIMBA are still 4.8 noise units apart over all properties at once.

One noise unit is how much two runs of the same code differ by chance. TNG and SIMBA stay 4.8 units apart after retuning, which is far more than chance. Two properties stay apart at every dial setting we tried: the share of galaxies with a black hole (about 0.50 apart even at the best settings), and the gas metallicity (0.07 dex apart at best: beyond run-to-run scatter, but small in absolute terms). Six properties can be matched: the stellar mass function, the quenched fraction, black hole mass, galaxy size, gas fraction, and the total stars and star formation. Three are borderline. The best settings sit at the edge of the dials' range, where the emulators are least tested. This is about these two codes at CAMELS resolution, not simulations in general.

Abstract

For IllustrisTNG and SIMBA in the CAMELS experiment (169 binned galaxy-population outputs in 35 blocks, z = 0 to 4), retuning four parameters per code leaves the two 4.8 noise units apart on all observables at once (6.3 at the fiducial parameters; 1 is the scatter between two seeds). Both codes are read with the same catalogue definitions. The joint verdict is structural. Fitted one family at a time, 2 of 11 stay structural (black hole occupation and gas metallicity), 6 become removable (black hole mass, stellar mass function, stellar half-mass radius, gas fraction, quenched fraction and stellar mass and SFR density) and 3 are unresolved (stellar-to-halo mass ratio, stellar metallicity and star-forming main sequence). The joint distance is classed irreducible.

Status
Pre-registered · result
Dataset
v0.24.0

Limits in brief. Two codes at CAMELS resolution, read from subhaloes, with no observation entering. A noise unit is strict (0.04 to 0.18 dex depending on the property), so "structural" means beyond the scatter between two seeds, not physically large; the table of gaps in dex and fractions in §4 gives the size. The best joint setting sits at the edge of the parameter box, where the emulators are least certain. That the two codes differ is consistent with what the CAMELS papers already report: this study adds a size per property and a rule written before the result, and claims no first (related work).

Question

The cosmic star formation study found that the cosmic star formation history alone cannot separate IllustrisTNG from SIMBA: retuning four feedback parameters brings the two within the scatter between seeds. One observable constrains few combinations of four parameters. Real calibrations use many observables at once, and two models that agree on one can disagree on another.

For a code, the reachable set is every galaxy-population summary its four parameters can produce. The structural distance between two codes is the distance between their reachable sets, in units of the noise that is left when everything else is fixed (1 is the standard deviation of the difference between one run of each). Both codes were run in the same boxes at the same resolution and are read from catalogues made by the same Subfind code with the same field definitions, so no aperture, IMF or resolution difference enters. What remains is the difference between the codes: their subgrid models, and also their hydrodynamic solvers, star formation algorithms, yields and wind treatment.

Five questions, each with a rule fixed in advance: is the distance for all observables with one parameter pair per code structural (J1); which observables are structural even when fitted alone (J2); how much does insisting on one parameter pair cost (J3); which observables carry the separation (J4); and does it change with redshift (J5).

Data

Simulations
2,054 CAMELS simulations in 25 Mpc/h boxes (256³ dark matter particles plus 256³ gas elements): per code, 1,000 Latin-hypercube simulations (four feedback factors and two cosmological parameters, a different seed each) and 27 seeds at the fiducial parameters. The feedback factors of the two codes are not the same physical quantities.
Observables
Binned summaries of each simulation's Subfind catalogue at z = 0, 0.95, 2.15, 3 and 4 (data/ensembles/camels-galaxies.json). The observables are the stellar mass function, quenched fraction, specific SFR of star-forming galaxies, black hole mass and occupation, gas and stellar metallicity, half-mass radius and gas fraction, all in bins of 0.25 dex in stellar mass from 109 M☉. The others are the stellar-to-halo mass ratio of centrals, the halo mass function (a negative control) and the stellar mass and SFR densities. 186 of 530 outputs are eligible, in 39 blocks; few bins survive at z ≥ 3.
Noise
The standard deviation of the 27 cosmic-variance seeds of each code plus the emulators' cross-validation error (median seed noise 0.038 (IllustrisTNG) and 0.035 (SIMBA)); every output is divided by it, and every block of outputs gets the same weight.

Result

J1 · All observables at once

With one parameter pair per code, IllustrisTNG and SIMBA stay 4.77 noise units apart over 169 outputs in 35 blocks (11 families at z = 0.0, 0.95, 2.15, 3.0, 4.0): the half-sample median of the distance with the emulators' error at the minimiser removed (5th to 95th percentile 4.64 to 4.86; uncorrected median 4.84); on all simulations 4.82 corrected, 4.85 uncorrected, 6.35 at the fiducial parameters. Same-code controls: at most 0.00 corrected. A distance of 1 is the standard deviation of the difference between one run of each code. With the search range cut to 75% of the half-width the joint verdict is structural. By the rule fixed in advance (amendment A1) the joint verdict is structural. Largest shares of the squared distance: bhocc at z = 2.15 (28%); mzr at z = 2.15 (13%); bhocc at z = 0.95 (10%).

Distance between IllustrisTNG and SIMBA after retuning, by observable familyBars: minimum distance over both codes' four parameters, all simulations, with the emulators' variance at the minimiser removed (dark; vermilion where structural alone); light bar: distance at the fiducial parameters; grey whisker: 5th to 95th percentile over half-sample emulators.0246810distance between the codes, in noise unitsmargin 1All observables4.82 · structuralBlack hole occupation9.45 · structuralGas metallicity at fixed M*1.69 · structuralStellar-to-halo mass ratio1.49 · unresolvedStellar metallicity at fixed M*1.10 · unresolvedStar-forming main sequence1.00 · unresolvedBlack hole mass at fixed M*0.76 · removableStellar mass function0.60 · removableStellar half-mass radius0.45 · removableGas fraction at fixed M*0.07 · removableQuenched fraction0.00 · removableStellar mass and SFR density0.00 · removable
Fig. 1Distance between the two codes after retuning, by observable family, in noise units. Dark bar: minimum over both codes' four parameters, all simulations, with the emulators' variance at the minimiser removed (vermilion where the family is structural alone); light bar: at the fiducial parameters; grey whisker: 5th to 95th percentile over half-sample emulators. Dashed line: the margin of 1.

Where the squared joint distance comes from (at the minimising pair; share of the weighted sum of squares, and the rms difference of the block in noise units). The joint distance is a root mean over blocks, so one block far off can leave it small:

Blockoutputssharerms difference
Black hole occupation at z = 2.15328.1%15.20
Gas metallicity at fixed M* at z = 2.15313.4%10.49
Black hole occupation at z = 0.95610.0%9.08
Gas metallicity at fixed M* at z = 0.9568.9%8.56
Stellar half-mass radius at z = 2.1538.0%8.11
Gas fraction at fixed M* at z = 2.1535.8%6.90
Black hole occupation at z = 075.3%6.63
Star-forming main sequence at z = 2.1533.0%4.95
Gas metallicity at fixed M* at z = 062.7%4.72
Stellar metallicity at fixed M* at z = 0.9562.0%4.01

J2 · Each observable alone

Fitted alone, 2 of 11 families are structural: black hole occupation, gas metallicity at fixed M*; 6 are removable: stellar mass function, quenched fraction, black hole mass at fixed M*, stellar half-mass radius at fixed M*, gas fraction at fixed M*, stellar mass and SFR density; 3 are unresolved: star-forming main sequence, stellar metallicity at fixed M*, stellar-to-halo mass ratio.

Observableblocksat fiducialretunedhalf-sample 5–95%control p95verdictat 75% range
Black hole occupation311.859.458.85 – 9.730.00structuralstructural
Gas metallicity at fixed M*312.371.691.20 – 1.820.00structuralstructural
Stellar-to-halo mass ratio34.201.490.93 – 1.550.00unresolvedstructural
Stellar metallicity at fixed M*311.101.100.74 – 1.180.00unresolvedstructural
Star-forming main sequence31.871.000.00 – 1.020.00unresolvedunresolved
Black hole mass at fixed M*21.680.760.00 – 0.820.00removableremovable
Stellar mass function40.920.600.42 – 0.620.00removableremovable
Stellar half-mass radius34.800.450.00 – 0.770.00removablestructural
Gas fraction at fixed M*31.580.070.00 – 0.590.00removableremovable
Quenched fraction30.560.000.00 – 0.000.00removableremovable
Stellar mass and SFR density51.420.000.00 – 0.280.00removableremovable
All observables356.354.824.64 – 4.860.00structuralstructural

J3 · The cost of agreeing

With one parameter pair for everything the squared distance is 2.82 times what it would be if every family were tuned separately (half-sample 5th to 95th 2.60 to 3.08); for two halves of one code, which is what noise and the extra parameters alone give, the same ratio is 2.04 (95th percentile 2.74). The structural joint distance is classed irreducible within the CAMELS ranges (at least one family is structural even alone).

J4 · What separates the codes

In forward selection the families come in the order bhocc, mzr, size, bhms, fgas, shmr, zstar, sfms, qf, gsmf, rho; the first prefix that is structural has 1 family (bhocc, D = 9.49). That is the same as J2 for that family.

Joint distance as observable families are added one at a timeEach row adds the family that raises the joint distance most; bars are the point estimate on all simulations, whiskers the 5th to 95th percentile over half-sample emulators (50 splits).0246810distance between the codes, in noise unitsmargin 1+ Black hole occupation9.49 · structural+ Gas metallicity at fixed M*8.28 · structural+ Stellar half-mass radius8.36 · structural+ Black hole mass at fixed M*7.70 · structural+ Gas fraction at fixed M*7.13 · structural+ Stellar-to-halo mass ratio6.56 · structural+ Stellar metallicity at fixed M*6.24 · structural+ Star-forming main sequence5.93 · structural+ Quenched fraction5.58 · structural+ Stellar mass function5.22 · structural+ Stellar mass and SFR density4.85 · structural
Fig. 2Joint distance as families are added in forward selection (each step adds the family that raises the point distance most; order chosen on all simulations, so the verdicts of the nested sets are descriptive). Whiskers: 5th to 95th percentile over 50 half-sample splits.
stepaddedDhalf-sample 5–95%verdict
1Black hole occupation9.498.87 – 9.73structural
2Gas metallicity at fixed M*8.287.94 – 8.27structural
3Stellar half-mass radius8.368.12 – 8.39structural
4Black hole mass at fixed M*7.707.44 – 7.65structural
5Gas fraction at fixed M*7.136.97 – 7.16structural
6Stellar-to-halo mass ratio6.566.38 – 6.58structural
7Stellar metallicity at fixed M*6.246.06 – 6.23structural
8Star-forming main sequence5.935.74 – 5.91structural
9Quenched fraction5.585.40 – 5.57structural
10Stellar mass function5.225.05 – 5.21structural
11Stellar mass and SFR density4.854.68 – 4.85structural

Joint distance without each family (point estimate, half-sample median, verdict):

Left outDmedianverdict
Stellar mass function5.125.05structural
Quenched fraction5.074.99structural
Star-forming main sequence4.984.91structural
Black hole mass at fixed M*4.944.86structural
Black hole occupation3.753.70structural
Gas metallicity at fixed M*4.264.15structural
Stellar metallicity at fixed M*4.924.86structural
Stellar half-mass radius4.754.69structural
Gas fraction at fixed M*4.894.83structural
Stellar-to-halo mass ratio5.024.95structural
Stellar mass and SFR density5.225.15structural

J5 · Redshift

zoutputsat fiducialretunedhalf-sample 5–95%verdict
0684.512.952.53 – 3.07structural
0.95616.164.263.99 – 4.28structural
2.15328.756.906.61 – 6.96structural

What the dials do

Change of each family's outputs (rms over the family's blocks, in noise units) when one dial moves across its whole range at the others' fiducial values. Descriptive; the dials of the two codes are not the same physical quantity.

ObservableIllustrisTNGSIMBA
A_SN1A_AGN1A_SN2A_AGN2A_SN1A_AGN1A_SN2A_AGN2
Stellar mass function7.90.42.10.46.60.82.10.4
Quenched fraction1.50.82.40.51.60.91.00.8
Star-forming main sequence0.80.45.40.35.72.24.00.8
Black hole mass at fixed M*3.10.55.40.21.42.31.80.2
Black hole occupation1.90.40.40.50.80.90.70.2
Gas metallicity at fixed M*10.50.36.70.314.71.53.70.8
Stellar metallicity at fixed M*12.30.46.10.320.93.84.80.4
Stellar half-mass radius8.00.64.70.35.71.31.40.4
Gas fraction at fixed M*6.90.57.90.311.81.02.30.7
Stellar-to-halo mass ratio25.70.35.20.316.11.77.40.5
Stellar mass and SFR density11.80.86.20.74.42.63.92.0

Reading

What retuning does. 6 of the 11 families come within the margin of agreement when the four parameters of each code are tuned for that family alone: black hole mass, stellar mass function, stellar half-mass radius, gas fraction, quenched fraction and stellar mass and SFR density. Among them are the stellar mass function, the quenched fraction and the stellar mass and SFR density, the quantities that galaxy-formation models are usually calibrated on, so agreement on those says little about whether two codes are alike (the cosmic star formation study reached the same conclusion for the star formation history).

What it does not. Black hole occupation (11.8 at the fiducial parameters, 9.4 after retuning) and gas metallicity (12.4 at the fiducial parameters, 1.7 after retuning) stay beyond the margin however the dials are set within the CAMELS ranges, so they are what separates these two codes by construction rather than by calibration. Stellar-to-halo mass ratio, stellar metallicity and star-forming main sequence are unresolved, at the margin. With the search kept to 75% of the parameter range the verdict changes for stellar-to-halo mass ratio (unresolved to structural), stellar metallicity (unresolved to structural) and stellar half-mass radius (removable to structural): agreement there leans on the edge of the design, where the emulators are least constrained.

Not one observable. Leaving out any single family leaves the joint distance between 3.7 and 5.2 noise units; without the black hole occupation and mass, whose difference is a seeding choice that no dial changes, it is 3.8 (point estimate, all simulations). The separation is therefore spread over many observables and not carried by one.

The cost of one parameter pair. Requiring one parameter pair for all families instead of one per family multiplies the squared distance by 2.82 (half-sample median); two halves of one code give 2.04 (95th percentile 2.74), which is what noise and the extra freedom alone produce. By the rule fixed in advance the ratio does not exceed the null, so the data do not show that the families conflict beyond what is expected; what keeps the codes apart is the families that are structural by themselves.

Redshift. The retuned distance is 2.8 at z = 0 (68 outputs), 4.2 at z = 0.95 (61 outputs), 6.9 at z = 2.15 (32 outputs), increasing with redshift; at higher redshift fewer and only more massive bins have enough galaxies in the 25 Mpc/h boxes, so the trend is a statement about those bins.

What tells these codes apart. The observables that separate the two codes are those that stay apart after retuning: here black hole occupation and gas metallicity, and with less margin stellar-to-halo mass ratio, stellar metallicity and star-forming main sequence. The conventional calibration targets do not. The dials page evaluates the emulators behind these distances in the browser, so any dial setting can be tried against every observable at once.

What this is not. A statement about two simulation codes at CAMELS resolution and in Subfind subhaloes, not about the Universe: no comparison with observations enters, and an observable that retuning cannot reconcile between two codes is not thereby a better or worse test of either.

The distances in the units of the observables

A noise unit is not the same size for every observable. The table gives, for each family, how large one noise unit is (the rms of the noise scale over its outputs) and the rms difference between the two codes' emulated outputs (equal weight per block) at the fiducial parameters, at the best setting for that family alone and at the best joint setting. Descriptive: read from the emulators at the minimisers of the registered analysis; it is not part of the registered result. The joint setting trades families against each other, so a family is usually further apart there than at its own best.

Observableunitone noise unitat fiducialbest, alonebest, joint
Stellar mass functiondex0.150.110.080.19
Quenched fractionin fraction0.080.060.020.04
Star-forming main sequencedex0.140.180.110.27
Black hole mass at fixed M*dex0.180.240.140.49
Black hole occupationin fraction0.070.640.500.60
Gas metallicity at fixed M*dex0.050.470.070.32
Stellar metallicity at fixed M*dex0.040.380.040.12
Stellar half-mass radiusdex0.040.200.040.23
Gas fraction at fixed M*in fraction0.050.060.020.12
Stellar-to-halo mass ratiodex0.070.240.100.15
Stellar mass and SFR densitydex0.120.120.030.09

Validation

Validations. All five hold.

CheckResultRequiredHolds
V1 emulator cross-validation error over seed noise, share of outputs at most 1.50.89 (IllustrisTNG), 0.86 (SIMBA)≥ 0.8 eachyes
V2 negative control: the halo mass function is reachableremovable (between 0.00, controls ≤ 0.00)removableyes
V3 catalogue SFR density minus the star formation log's, median (dex); z = 0.95 and 2.15 (z = 0 is an average over 0 < z < 0.2 and is reported only)IllustrisTNG: z = 0: -0.091, z = 0.95: 0.000, z = 2.15: 0.000, z = 3: 0.000; SIMBA: z = 0: -0.089, z = 0.95: 0.004, z = 2.15: -0.001, z = 3: -0.005|·| ≤ 0.1yes
V4 stellar mass in subhaloes over the mass formed (median)0.592 and 0.6060.45 – 0.75yes
V5 distance with 4 and 8 random starts4.848 and 4.848 (0.0%)< 5%yes

Sensitivity analyses (point distance of all observables; none was used to choose):

AnalysisDverdict
Polynomial degree 2 for all outputs4.79
Polynomial degree 3 for all outputs4.85
Narrower cosmology weighting (0.35)4.77
Wider cosmology weighting (0.8)4.82
Noise scale without the emulators' error5.94
Noise floor 0.014.85
Noise floor 0.054.11
Margin 2 instead of 14.77structural
Only z = 0 and 0.953.78
Without black hole occupation3.74
Without black hole occupation and mass3.77
Without the stellar mass and SFR densities5.22
Without the two lowest stellar-mass bins of every block2.49

Deviations from the protocol:

  • none

Checks made after the run

These were made once, after the registered result existed, and reported whatever they gave. None is part of the registered result and none changes a verdict. They are the checks a sceptical reader would ask for first. The decisions that went into the headline, and what happened when each was changed, are in CHOICES-joint-reachability; objections and answers in SCEPTIC.

CheckResultDetails
A second, independently written search for the same distance4.85 against the registered 4.85ROBUSTNESS-joint-reachability
A different kind of emulator (kernel ridge instead of polynomials)4.91ROBUSTNESS-joint-reachability
Other weightings and subsets of the outputs3.8 to 5.4CHOICES-joint-reachability
A third code, Astrid, on the 97 outputs all three codes haveTNG – SIMBA 3.9, TNG – Astrid 1.5, SIMBA – Astrid 3.4; black hole occupation separates SIMBA from both others (TNG – SIMBA 8.9, SIMBA – Astrid 2.0, TNG – Astrid 0.01)ANALYSIS-third-code
Each code tuned to 25 observed curvesat least one code gets within one noise unit of 20 of them (mostly mass functions and quenched fractions, about 0.2 dex or less, which four dials can fit easily); neither does for stellar mass function (1 of 15 curves, the better code 3.9 noise units away); specific star formation rate (1 of 3 curves, the better code 4.4 noise units away); black hole mass (2 of 2 curves, the better code 2.5 to 3.6 noise units away); stellar metallicity (1 of 1 curve, the better code 1.6 noise units away). Few bins per curve, and observed and simulated curves are defined differently, so this is not a test of either codeANALYSIS-tune-to-observations
Emulators at the minimum: the 15 simulations nearest each code's minimising setting, held out and predictedheld-out error 0.73 (TNG) and 0.74 (SIMBA) noise units, against 0.82 and 0.81 for random simulations: no worse in that corner. The nearest simulations are not at the minimum (0.45 and 0.67 away in dial coordinates), and no simulation has been run thereANALYSIS-minimiser-check

Limits

  • Two codes, and more than subgrid form. The result is about this pair, not about structural uncertainty in general; what separates them includes the hydrodynamic solver, the star formation algorithm and the yields, not only the feedback prescriptions. Black hole occupation and mass compare seeding prescriptions (a discrete model choice that no dial changes), so a structural verdict there is expected by construction (what that means, with the sources quoted); the sensitivity analyses give the result without them.
  • CAMELS resolution. 25 Mpc/h boxes, 256³ elements: few galaxies above 1011 M☉, a mass limit of 109 M☉, almost nothing at z ≥ 3; star formation and black hole growth depend on resolution in both codes.
  • The reachable set depends on the prior, and the minimiser sits at its edge. The four factors span the ranges the CAMELS team chose, not the ranges the code authors would accept; the search reaches the corners of the design, where the emulators are least constrained and noisier than their cross-validation error says. The distances are therefore corrected for the emulators' variance at the minimiser (estimated in every split), and the verdicts with the range cut to 75% are reported.
  • The distance depends on the observables and weights. Equal weight per block; the margin of 1 is the scatter between two seeds, a unit and not a physical tolerance. Per-family distances are in the table so that other weights can be read off.
  • Subfind subhaloes are not galaxies on the sky. No aperture, selection or survey effect is modelled; that is what makes the comparison clean and also what keeps it from being an observational test.

Reproduce

python3 scripts/ingest_camels_galaxies.py        # about 35 minutes; range reads of the public catalogues (needs fsspec, aiohttp)
python3 scripts/analyze_joint_reachability.py    # about 15 minutes; writes data/analysis/joint-reachability.json and the report
python3 scripts/power_joint_reachability.py      # calibration on synthetic worlds
python3 scripts/test_joint_reachability.py       # machinery tests and the stale-output check
python3 scripts/export_retune_data.py            # the emulators of the dials page
node scripts/build-site.mjs                      # regenerates this page from the JSON