Bring your Own Grid¶
Whilst Synference by default utilizes Synthesizer to create model libraries, it is also possible to bring your own pre-computed grid of models. This can be useful if you have a custom set of models that you wish to use for inference.
We provide a LibraryCreator class that allows you to create a grid from your own data and save it in the required HDF5 format.
[1]:
import os
import numpy as np
from astropy.table import Table
from synference import LibraryCreator
/opt/hostedtoolcache/Python/3.10.20/x64/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html
from .autonotebook import tqdm as notebook_tqdm
For this example we will build a grid from the SPHINX public data release, which can be found here, and contains mock observations of 1380 galaxies from 10 different orientations at z=4.6 to 10 from the radiation-hydrodynamic cosmological simulation SPHINX.
[2]:
file = "https://raw.githubusercontent.com/HarleyKatz/SPHINX-20-data/refs/heads/main/data/all_basic_data.csv"
if not os.path.exists("all_basic_data.csv"):
os.system(f"wget {file}")
sphinx = Table.read("all_basic_data.csv")
--2026-06-24 09:49:37-- https://raw.githubusercontent.com/HarleyKatz/SPHINX-20-data/refs/heads/main/data/all_basic_data.csv
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.108.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 25929930 (25M) [text/plain]
Saving to: ‘all_basic_data.csv’
0K .......... .......... .......... .......... .......... 0% 39.1M 1s
50K .......... .......... .......... .......... .......... 0% 48.8M 1s
100K .......... .......... .......... .......... .......... 0% 101M 0s
150K .......... .......... .......... .......... .......... 0% 61.6M 0s
200K .......... .......... .......... .......... .......... 0% 118M 0s
250K .......... .......... .......... .......... .......... 1% 61.2M 0s
300K .......... .......... .......... .......... .......... 1% 33.9M 0s
350K .......... .......... .......... .......... .......... 1% 33.7M 0s
400K .......... .......... .......... .......... .......... 1% 34.4M 0s
450K .......... .......... .......... .......... .......... 1% 319M 0s
500K .......... .......... .......... .......... .......... 2% 180M 0s
550K .......... .......... .......... .......... .......... 2% 42.7M 0s
600K .......... .......... .......... .......... .......... 2% 65.2M 0s
650K .......... .......... .......... .......... .......... 2% 115M 0s
700K .......... .......... .......... .......... .......... 2% 297M 0s
750K .......... .......... .......... .......... .......... 3% 53.9M 0s
800K .......... .......... .......... .......... .......... 3% 85.7M 0s
850K .......... .......... .......... .......... .......... 3% 72.0M 0s
900K .......... .......... .......... .......... .......... 3% 261M 0s
950K .......... .......... .......... .......... .......... 3% 159M 0s
1000K .......... .......... .......... .......... .......... 4% 96.9M 0s
1050K .......... .......... .......... .......... .......... 4% 219M 0s
1100K .......... .......... .......... .......... .......... 4% 132M 0s
1150K .......... .......... .......... .......... .......... 4% 239M 0s
1200K .......... .......... .......... .......... .......... 4% 196M 0s
1250K .......... .......... .......... .......... .......... 5% 224M 0s
1300K .......... .......... .......... .......... .......... 5% 206M 0s
1350K .......... .......... .......... .......... .......... 5% 174M 0s
1400K .......... .......... .......... .......... .......... 5% 219M 0s
1450K .......... .......... .......... .......... .......... 5% 21.9M 0s
1500K .......... .......... .......... .......... .......... 6% 86.0M 0s
1550K .......... .......... .......... .......... .......... 6% 182M 0s
1600K .......... .......... .......... .......... .......... 6% 268M 0s
1650K .......... .......... .......... .......... .......... 6% 329M 0s
1700K .......... .......... .......... .......... .......... 6% 326M 0s
1750K .......... .......... .......... .......... .......... 7% 268M 0s
1800K .......... .......... .......... .......... .......... 7% 303M 0s
1850K .......... .......... .......... .......... .......... 7% 326M 0s
1900K .......... .......... .......... .......... .......... 7% 77.1M 0s
1950K .......... .......... .......... .......... .......... 7% 308M 0s
2000K .......... .......... .......... .......... .......... 8% 139M 0s
2050K .......... .......... .......... .......... .......... 8% 35.5M 0s
2100K .......... .......... .......... .......... .......... 8% 274M 0s
2150K .......... .......... .......... .......... .......... 8% 304M 0s
2200K .......... .......... .......... .......... .......... 8% 295M 0s
2250K .......... .......... .......... .......... .......... 9% 264M 0s
2300K .......... .......... .......... .......... .......... 9% 226M 0s
2350K .......... .......... .......... .......... .......... 9% 289M 0s
2400K .......... .......... .......... .......... .......... 9% 278M 0s
2450K .......... .......... .......... .......... .......... 9% 272M 0s
2500K .......... .......... .......... .......... .......... 10% 36.7M 0s
2550K .......... .......... .......... .......... .......... 10% 205M 0s
2600K .......... .......... .......... .......... .......... 10% 179M 0s
2650K .......... .......... .......... .......... .......... 10% 303M 0s
2700K .......... .......... .......... .......... .......... 10% 185M 0s
2750K .......... .......... .......... .......... .......... 11% 299M 0s
2800K .......... .......... .......... .......... .......... 11% 194M 0s
2850K .......... .......... .......... .......... .......... 11% 262M 0s
2900K .......... .......... .......... .......... .......... 11% 224M 0s
2950K .......... .......... .......... .......... .......... 11% 117M 0s
3000K .......... .......... .......... .......... .......... 12% 230M 0s
3050K .......... .......... .......... .......... .......... 12% 303M 0s
3100K .......... .......... .......... .......... .......... 12% 295M 0s
3150K .......... .......... .......... .......... .......... 12% 78.4M 0s
3200K .......... .......... .......... .......... .......... 12% 137M 0s
3250K .......... .......... .......... .......... .......... 13% 22.6M 0s
3300K .......... .......... .......... .......... .......... 13% 307M 0s
3350K .......... .......... .......... .......... .......... 13% 222M 0s
3400K .......... .......... .......... .......... .......... 13% 295M 0s
3450K .......... .......... .......... .......... .......... 13% 346M 0s
3500K .......... .......... .......... .......... .......... 14% 328M 0s
3550K .......... .......... .......... .......... .......... 14% 279M 0s
3600K .......... .......... .......... .......... .......... 14% 333M 0s
3650K .......... .......... .......... .......... .......... 14% 222M 0s
3700K .......... .......... .......... .......... .......... 14% 290M 0s
3750K .......... .......... .......... .......... .......... 15% 252M 0s
3800K .......... .......... .......... .......... .......... 15% 289M 0s
3850K .......... .......... .......... .......... .......... 15% 311M 0s
3900K .......... .......... .......... .......... .......... 15% 133M 0s
3950K .......... .......... .......... .......... .......... 15% 28.3M 0s
4000K .......... .......... .......... .......... .......... 15% 207M 0s
4050K .......... .......... .......... .......... .......... 16% 240M 0s
4100K .......... .......... .......... .......... .......... 16% 245M 0s
4150K .......... .......... .......... .......... .......... 16% 238M 0s
4200K .......... .......... .......... .......... .......... 16% 174M 0s
4250K .......... .......... .......... .......... .......... 16% 218M 0s
4300K .......... .......... .......... .......... .......... 17% 173M 0s
4350K .......... .......... .......... .......... .......... 17% 172M 0s
4400K .......... .......... .......... .......... .......... 17% 226M 0s
4450K .......... .......... .......... .......... .......... 17% 289M 0s
4500K .......... .......... .......... .......... .......... 17% 142M 0s
4550K .......... .......... .......... .......... .......... 18% 34.6M 0s
4600K .......... .......... .......... .......... .......... 18% 80.0M 0s
4650K .......... .......... .......... .......... .......... 18% 227M 0s
4700K .......... .......... .......... .......... .......... 18% 290M 0s
4750K .......... .......... .......... .......... .......... 18% 161M 0s
4800K .......... .......... .......... .......... .......... 19% 213M 0s
4850K .......... .......... .......... .......... .......... 19% 297M 0s
4900K .......... .......... .......... .......... .......... 19% 28.1M 0s
4950K .......... .......... .......... .......... .......... 19% 248M 0s
5000K .......... .......... .......... .......... .......... 19% 176M 0s
5050K .......... .......... .......... .......... .......... 20% 284M 0s
5100K .......... .......... .......... .......... .......... 20% 288M 0s
5150K .......... .......... .......... .......... .......... 20% 258M 0s
5200K .......... .......... .......... .......... .......... 20% 206M 0s
5250K .......... .......... .......... .......... .......... 20% 158M 0s
5300K .......... .......... .......... .......... .......... 21% 148M 0s
5350K .......... .......... .......... .......... .......... 21% 299M 0s
5400K .......... .......... .......... .......... .......... 21% 343M 0s
5450K .......... .......... .......... .......... .......... 21% 34.4M 0s
5500K .......... .......... .......... .......... .......... 21% 68.6M 0s
5550K .......... .......... .......... .......... .......... 22% 273M 0s
5600K .......... .......... .......... .......... .......... 22% 277M 0s
5650K .......... .......... .......... .......... .......... 22% 152M 0s
5700K .......... .......... .......... .......... .......... 22% 230M 0s
5750K .......... .......... .......... .......... .......... 22% 114M 0s
5800K .......... .......... .......... .......... .......... 23% 76.4M 0s
5850K .......... .......... .......... .......... .......... 23% 39.5M 0s
5900K .......... .......... .......... .......... .......... 23% 277M 0s
5950K .......... .......... .......... .......... .......... 23% 207M 0s
6000K .......... .......... .......... .......... .......... 23% 286M 0s
6050K .......... .......... .......... .......... .......... 24% 280M 0s
6100K .......... .......... .......... .......... .......... 24% 143M 0s
6150K .......... .......... .......... .......... .......... 24% 163M 0s
6200K .......... .......... .......... .......... .......... 24% 263M 0s
6250K .......... .......... .......... .......... .......... 24% 57.0M 0s
6300K .......... .......... .......... .......... .......... 25% 54.1M 0s
6350K .......... .......... .......... .......... .......... 25% 140M 0s
6400K .......... .......... .......... .......... .......... 25% 230M 0s
6450K .......... .......... .......... .......... .......... 25% 33.5M 0s
6500K .......... .......... .......... .......... .......... 25% 77.8M 0s
6550K .......... .......... .......... .......... .......... 26% 214M 0s
6600K .......... .......... .......... .......... .......... 26% 245M 0s
6650K .......... .......... .......... .......... .......... 26% 240M 0s
6700K .......... .......... .......... .......... .......... 26% 148M 0s
6750K .......... .......... .......... .......... .......... 26% 138M 0s
6800K .......... .......... .......... .......... .......... 27% 228M 0s
6850K .......... .......... .......... .......... .......... 27% 312M 0s
6900K .......... .......... .......... .......... .......... 27% 223M 0s
6950K .......... .......... .......... .......... .......... 27% 97.1M 0s
7000K .......... .......... .......... .......... .......... 27% 204M 0s
7050K .......... .......... .......... .......... .......... 28% 201M 0s
7100K .......... .......... .......... .......... .......... 28% 284M 0s
7150K .......... .......... .......... .......... .......... 28% 190M 0s
7200K .......... .......... .......... .......... .......... 28% 174M 0s
7250K .......... .......... .......... .......... .......... 28% 293M 0s
7300K .......... .......... .......... .......... .......... 29% 164M 0s
7350K .......... .......... .......... .......... .......... 29% 170M 0s
7400K .......... .......... .......... .......... .......... 29% 280M 0s
7450K .......... .......... .......... .......... .......... 29% 120M 0s
7500K .......... .......... .......... .......... .......... 29% 272M 0s
7550K .......... .......... .......... .......... .......... 30% 205M 0s
7600K .......... .......... .......... .......... .......... 30% 199M 0s
7650K .......... .......... .......... .......... .......... 30% 137M 0s
7700K .......... .......... .......... .......... .......... 30% 146M 0s
7750K .......... .......... .......... .......... .......... 30% 273M 0s
7800K .......... .......... .......... .......... .......... 31% 223M 0s
7850K .......... .......... .......... .......... .......... 31% 95.9M 0s
7900K .......... .......... .......... .......... .......... 31% 161M 0s
7950K .......... .......... .......... .......... .......... 31% 210M 0s
8000K .......... .......... .......... .......... .......... 31% 159M 0s
8050K .......... .......... .......... .......... .......... 31% 282M 0s
8100K .......... .......... .......... .......... .......... 32% 311M 0s
8150K .......... .......... .......... .......... .......... 32% 244M 0s
8200K .......... .......... .......... .......... .......... 32% 107M 0s
8250K .......... .......... .......... .......... .......... 32% 152M 0s
8300K .......... .......... .......... .......... .......... 32% 173M 0s
8350K .......... .......... .......... .......... .......... 33% 301M 0s
8400K .......... .......... .......... .......... .......... 33% 26.0M 0s
8450K .......... .......... .......... .......... .......... 33% 50.3M 0s
8500K .......... .......... .......... .......... .......... 33% 249M 0s
8550K .......... .......... .......... .......... .......... 33% 296M 0s
8600K .......... .......... .......... .......... .......... 34% 265M 0s
8650K .......... .......... .......... .......... .......... 34% 273M 0s
8700K .......... .......... .......... .......... .......... 34% 290M 0s
8750K .......... .......... .......... .......... .......... 34% 271M 0s
8800K .......... .......... .......... .......... .......... 34% 185M 0s
8850K .......... .......... .......... .......... .......... 35% 25.5M 0s
8900K .......... .......... .......... .......... .......... 35% 245M 0s
8950K .......... .......... .......... .......... .......... 35% 256M 0s
9000K .......... .......... .......... .......... .......... 35% 246M 0s
9050K .......... .......... .......... .......... .......... 35% 312M 0s
9100K .......... .......... .......... .......... .......... 36% 235M 0s
9150K .......... .......... .......... .......... .......... 36% 212M 0s
9200K .......... .......... .......... .......... .......... 36% 147M 0s
9250K .......... .......... .......... .......... .......... 36% 162M 0s
9300K .......... .......... .......... .......... .......... 36% 273M 0s
9350K .......... .......... .......... .......... .......... 37% 338M 0s
9400K .......... .......... .......... .......... .......... 37% 31.8M 0s
9450K .......... .......... .......... .......... .......... 37% 284M 0s
9500K .......... .......... .......... .......... .......... 37% 178M 0s
9550K .......... .......... .......... .......... .......... 37% 295M 0s
9600K .......... .......... .......... .......... .......... 38% 339M 0s
9650K .......... .......... .......... .......... .......... 38% 312M 0s
9700K .......... .......... .......... .......... .......... 38% 357M 0s
9750K .......... .......... .......... .......... .......... 38% 293M 0s
9800K .......... .......... .......... .......... .......... 38% 87.5M 0s
9850K .......... .......... .......... .......... .......... 39% 303M 0s
9900K .......... .......... .......... .......... .......... 39% 254M 0s
9950K .......... .......... .......... .......... .......... 39% 166M 0s
10000K .......... .......... .......... .......... .......... 39% 132M 0s
10050K .......... .......... .......... .......... .......... 39% 38.6M 0s
10100K .......... .......... .......... .......... .......... 40% 71.3M 0s
10150K .......... .......... .......... .......... .......... 40% 208M 0s
10200K .......... .......... .......... .......... .......... 40% 285M 0s
10250K .......... .......... .......... .......... .......... 40% 89.1M 0s
10300K .......... .......... .......... .......... .......... 40% 330M 0s
10350K .......... .......... .......... .......... .......... 41% 310M 0s
10400K .......... .......... .......... .......... .......... 41% 172M 0s
10450K .......... .......... .......... .......... .......... 41% 276M 0s
10500K .......... .......... .......... .......... .......... 41% 203M 0s
10550K .......... .......... .......... .......... .......... 41% 150M 0s
10600K .......... .......... .......... .......... .......... 42% 270M 0s
10650K .......... .......... .......... .......... .......... 42% 140M 0s
10700K .......... .......... .......... .......... .......... 42% 212M 0s
10750K .......... .......... .......... .......... .......... 42% 188M 0s
10800K .......... .......... .......... .......... .......... 42% 35.1M 0s
10850K .......... .......... .......... .......... .......... 43% 49.3M 0s
10900K .......... .......... .......... .......... .......... 43% 142M 0s
10950K .......... .......... .......... .......... .......... 43% 219M 0s
11000K .......... .......... .......... .......... .......... 43% 252M 0s
11050K .......... .......... .......... .......... .......... 43% 242M 0s
11100K .......... .......... .......... .......... .......... 44% 295M 0s
11150K .......... .......... .......... .......... .......... 44% 148M 0s
11200K .......... .......... .......... .......... .......... 44% 200M 0s
11250K .......... .......... .......... .......... .......... 44% 125M 0s
11300K .......... .......... .......... .......... .......... 44% 48.8M 0s
11350K .......... .......... .......... .......... .......... 45% 127M 0s
11400K .......... .......... .......... .......... .......... 45% 290M 0s
11450K .......... .......... .......... .......... .......... 45% 248M 0s
11500K .......... .......... .......... .......... .......... 45% 237M 0s
11550K .......... .......... .......... .......... .......... 45% 176M 0s
11600K .......... .......... .......... .......... .......... 46% 38.3M 0s
11650K .......... .......... .......... .......... .......... 46% 154M 0s
11700K .......... .......... .......... .......... .......... 46% 275M 0s
11750K .......... .......... .......... .......... .......... 46% 197M 0s
11800K .......... .......... .......... .......... .......... 46% 289M 0s
11850K .......... .......... .......... .......... .......... 46% 286M 0s
11900K .......... .......... .......... .......... .......... 47% 148M 0s
11950K .......... .......... .......... .......... .......... 47% 230M 0s
12000K .......... .......... .......... .......... .......... 47% 178M 0s
12050K .......... .......... .......... .......... .......... 47% 210M 0s
12100K .......... .......... .......... .......... .......... 47% 164M 0s
12150K .......... .......... .......... .......... .......... 48% 141M 0s
12200K .......... .......... .......... .......... .......... 48% 285M 0s
12250K .......... .......... .......... .......... .......... 48% 161M 0s
12300K .......... .......... .......... .......... .......... 48% 242M 0s
12350K .......... .......... .......... .......... .......... 48% 291M 0s
12400K .......... .......... .......... .......... .......... 49% 302M 0s
12450K .......... .......... .......... .......... .......... 49% 119M 0s
12500K .......... .......... .......... .......... .......... 49% 128M 0s
12550K .......... .......... .......... .......... .......... 49% 215M 0s
12600K .......... .......... .......... .......... .......... 49% 314M 0s
12650K .......... .......... .......... .......... .......... 50% 98.2M 0s
12700K .......... .......... .......... .......... .......... 50% 139M 0s
12750K .......... .......... .......... .......... .......... 50% 215M 0s
12800K .......... .......... .......... .......... .......... 50% 308M 0s
12850K .......... .......... .......... .......... .......... 50% 122M 0s
12900K .......... .......... .......... .......... .......... 51% 204M 0s
12950K .......... .......... .......... .......... .......... 51% 301M 0s
13000K .......... .......... .......... .......... .......... 51% 139M 0s
13050K .......... .......... .......... .......... .......... 51% 166M 0s
13100K .......... .......... .......... .......... .......... 51% 297M 0s
13150K .......... .......... .......... .......... .......... 52% 174M 0s
13200K .......... .......... .......... .......... .......... 52% 34.4M 0s
13250K .......... .......... .......... .......... .......... 52% 32.5M 0s
13300K .......... .......... .......... .......... .......... 52% 285M 0s
13350K .......... .......... .......... .......... .......... 52% 223M 0s
13400K .......... .......... .......... .......... .......... 53% 303M 0s
13450K .......... .......... .......... .......... .......... 53% 156M 0s
13500K .......... .......... .......... .......... .......... 53% 296M 0s
13550K .......... .......... .......... .......... .......... 53% 292M 0s
13600K .......... .......... .......... .......... .......... 53% 96.3M 0s
13650K .......... .......... .......... .......... .......... 54% 22.7M 0s
13700K .......... .......... .......... .......... .......... 54% 81.9M 0s
13750K .......... .......... .......... .......... .......... 54% 371M 0s
13800K .......... .......... .......... .......... .......... 54% 395M 0s
13850K .......... .......... .......... .......... .......... 54% 390M 0s
13900K .......... .......... .......... .......... .......... 55% 239M 0s
13950K .......... .......... .......... .......... .......... 55% 249M 0s
14000K .......... .......... .......... .......... .......... 55% 96.1M 0s
14050K .......... .......... .......... .......... .......... 55% 26.8M 0s
14100K .......... .......... .......... .......... .......... 55% 295M 0s
14150K .......... .......... .......... .......... .......... 56% 256M 0s
14200K .......... .......... .......... .......... .......... 56% 212M 0s
14250K .......... .......... .......... .......... .......... 56% 267M 0s
14300K .......... .......... .......... .......... .......... 56% 279M 0s
14350K .......... .......... .......... .......... .......... 56% 223M 0s
14400K .......... .......... .......... .......... .......... 57% 363M 0s
14450K .......... .......... .......... .......... .......... 57% 149M 0s
14500K .......... .......... .......... .......... .......... 57% 258M 0s
14550K .......... .......... .......... .......... .......... 57% 382M 0s
14600K .......... .......... .......... .......... .......... 57% 385M 0s
14650K .......... .......... .......... .......... .......... 58% 46.5M 0s
14700K .......... .......... .......... .......... .......... 58% 321M 0s
14750K .......... .......... .......... .......... .......... 58% 380M 0s
14800K .......... .......... .......... .......... .......... 58% 176M 0s
14850K .......... .......... .......... .......... .......... 58% 204M 0s
14900K .......... .......... .......... .......... .......... 59% 371M 0s
14950K .......... .......... .......... .......... .......... 59% 373M 0s
15000K .......... .......... .......... .......... .......... 59% 396M 0s
15050K .......... .......... .......... .......... .......... 59% 376M 0s
15100K .......... .......... .......... .......... .......... 59% 119M 0s
15150K .......... .......... .......... .......... .......... 60% 31.2M 0s
15200K .......... .......... .......... .......... .......... 60% 63.3M 0s
15250K .......... .......... .......... .......... .......... 60% 219M 0s
15300K .......... .......... .......... .......... .......... 60% 253M 0s
15350K .......... .......... .......... .......... .......... 60% 223M 0s
15400K .......... .......... .......... .......... .......... 61% 343M 0s
15450K .......... .......... .......... .......... .......... 61% 374M 0s
15500K .......... .......... .......... .......... .......... 61% 381M 0s
15550K .......... .......... .......... .......... .......... 61% 350M 0s
15600K .......... .......... .......... .......... .......... 61% 236M 0s
15650K .......... .......... .......... .......... .......... 62% 31.9M 0s
15700K .......... .......... .......... .......... .......... 62% 44.7M 0s
15750K .......... .......... .......... .......... .......... 62% 191M 0s
15800K .......... .......... .......... .......... .......... 62% 327M 0s
15850K .......... .......... .......... .......... .......... 62% 65.5M 0s
15900K .......... .......... .......... .......... .......... 62% 214M 0s
15950K .......... .......... .......... .......... .......... 63% 169M 0s
16000K .......... .......... .......... .......... .......... 63% 359M 0s
16050K .......... .......... .......... .......... .......... 63% 197M 0s
16100K .......... .......... .......... .......... .......... 63% 294M 0s
16150K .......... .......... .......... .......... .......... 63% 313M 0s
16200K .......... .......... .......... .......... .......... 64% 44.3M 0s
16250K .......... .......... .......... .......... .......... 64% 43.4M 0s
16300K .......... .......... .......... .......... .......... 64% 269M 0s
16350K .......... .......... .......... .......... .......... 64% 226M 0s
16400K .......... .......... .......... .......... .......... 64% 302M 0s
16450K .......... .......... .......... .......... .......... 65% 189M 0s
16500K .......... .......... .......... .......... .......... 65% 258M 0s
16550K .......... .......... .......... .......... .......... 65% 208M 0s
16600K .......... .......... .......... .......... .......... 65% 204M 0s
16650K .......... .......... .......... .......... .......... 65% 263M 0s
16700K .......... .......... .......... .......... .......... 66% 144M 0s
16750K .......... .......... .......... .......... .......... 66% 39.0M 0s
16800K .......... .......... .......... .......... .......... 66% 298M 0s
16850K .......... .......... .......... .......... .......... 66% 340M 0s
16900K .......... .......... .......... .......... .......... 66% 303M 0s
16950K .......... .......... .......... .......... .......... 67% 243M 0s
17000K .......... .......... .......... .......... .......... 67% 326M 0s
17050K .......... .......... .......... .......... .......... 67% 99.2M 0s
17100K .......... .......... .......... .......... .......... 67% 296M 0s
17150K .......... .......... .......... .......... .......... 67% 112M 0s
17200K .......... .......... .......... .......... .......... 68% 219M 0s
17250K .......... .......... .......... .......... .......... 68% 169M 0s
17300K .......... .......... .......... .......... .......... 68% 362M 0s
17350K .......... .......... .......... .......... .......... 68% 140M 0s
17400K .......... .......... .......... .......... .......... 68% 266M 0s
17450K .......... .......... .......... .......... .......... 69% 105M 0s
17500K .......... .......... .......... .......... .......... 69% 253M 0s
17550K .......... .......... .......... .......... .......... 69% 240M 0s
17600K .......... .......... .......... .......... .......... 69% 194M 0s
17650K .......... .......... .......... .......... .......... 69% 322M 0s
17700K .......... .......... .......... .......... .......... 70% 290M 0s
17750K .......... .......... .......... .......... .......... 70% 35.7M 0s
17800K .......... .......... .......... .......... .......... 70% 194M 0s
17850K .......... .......... .......... .......... .......... 70% 221M 0s
17900K .......... .......... .......... .......... .......... 70% 259M 0s
17950K .......... .......... .......... .......... .......... 71% 239M 0s
18000K .......... .......... .......... .......... .......... 71% 299M 0s
18050K .......... .......... .......... .......... .......... 71% 317M 0s
18100K .......... .......... .......... .......... .......... 71% 341M 0s
18150K .......... .......... .......... .......... .......... 71% 165M 0s
18200K .......... .......... .......... .......... .......... 72% 64.3M 0s
18250K .......... .......... .......... .......... .......... 72% 26.5M 0s
18300K .......... .......... .......... .......... .......... 72% 35.0M 0s
18350K .......... .......... .......... .......... .......... 72% 225M 0s
18400K .......... .......... .......... .......... .......... 72% 310M 0s
18450K .......... .......... .......... .......... .......... 73% 196M 0s
18500K .......... .......... .......... .......... .......... 73% 317M 0s
18550K .......... .......... .......... .......... .......... 73% 321M 0s
18600K .......... .......... .......... .......... .......... 73% 124M 0s
18650K .......... .......... .......... .......... .......... 73% 164M 0s
18700K .......... .......... .......... .......... .......... 74% 360M 0s
18750K .......... .......... .......... .......... .......... 74% 208M 0s
18800K .......... .......... .......... .......... .......... 74% 270M 0s
18850K .......... .......... .......... .......... .......... 74% 373M 0s
18900K .......... .......... .......... .......... .......... 74% 269M 0s
18950K .......... .......... .......... .......... .......... 75% 163M 0s
19000K .......... .......... .......... .......... .......... 75% 334M 0s
19050K .......... .......... .......... .......... .......... 75% 139M 0s
19100K .......... .......... .......... .......... .......... 75% 223M 0s
19150K .......... .......... .......... .......... .......... 75% 342M 0s
19200K .......... .......... .......... .......... .......... 76% 197M 0s
19250K .......... .......... .......... .......... .......... 76% 159M 0s
19300K .......... .......... .......... .......... .......... 76% 190M 0s
19350K .......... .......... .......... .......... .......... 76% 154M 0s
19400K .......... .......... .......... .......... .......... 76% 177M 0s
19450K .......... .......... .......... .......... .......... 77% 187M 0s
19500K .......... .......... .......... .......... .......... 77% 306M 0s
19550K .......... .......... .......... .......... .......... 77% 146M 0s
19600K .......... .......... .......... .......... .......... 77% 247M 0s
19650K .......... .......... .......... .......... .......... 77% 134M 0s
19700K .......... .......... .......... .......... .......... 77% 267M 0s
19750K .......... .......... .......... .......... .......... 78% 176M 0s
19800K .......... .......... .......... .......... .......... 78% 123M 0s
19850K .......... .......... .......... .......... .......... 78% 28.9M 0s
19900K .......... .......... .......... .......... .......... 78% 94.3M 0s
19950K .......... .......... .......... .......... .......... 78% 223M 0s
20000K .......... .......... .......... .......... .......... 79% 67.9M 0s
20050K .......... .......... .......... .......... .......... 79% 74.6M 0s
20100K .......... .......... .......... .......... .......... 79% 179M 0s
20150K .......... .......... .......... .......... .......... 79% 210M 0s
20200K .......... .......... .......... .......... .......... 79% 292M 0s
20250K .......... .......... .......... .......... .......... 80% 102M 0s
20300K .......... .......... .......... .......... .......... 80% 37.9M 0s
20350K .......... .......... .......... .......... .......... 80% 288M 0s
20400K .......... .......... .......... .......... .......... 80% 276M 0s
20450K .......... .......... .......... .......... .......... 80% 231M 0s
20500K .......... .......... .......... .......... .......... 81% 240M 0s
20550K .......... .......... .......... .......... .......... 81% 33.5M 0s
20600K .......... .......... .......... .......... .......... 81% 31.5M 0s
20650K .......... .......... .......... .......... .......... 81% 273M 0s
20700K .......... .......... .......... .......... .......... 81% 186M 0s
20750K .......... .......... .......... .......... .......... 82% 223M 0s
20800K .......... .......... .......... .......... .......... 82% 287M 0s
20850K .......... .......... .......... .......... .......... 82% 189M 0s
20900K .......... .......... .......... .......... .......... 82% 41.2M 0s
20950K .......... .......... .......... .......... .......... 82% 296M 0s
21000K .......... .......... .......... .......... .......... 83% 299M 0s
21050K .......... .......... .......... .......... .......... 83% 46.1M 0s
21100K .......... .......... .......... .......... .......... 83% 78.9M 0s
21150K .......... .......... .......... .......... .......... 83% 266M 0s
21200K .......... .......... .......... .......... .......... 83% 291M 0s
21250K .......... .......... .......... .......... .......... 84% 198M 0s
21300K .......... .......... .......... .......... .......... 84% 263M 0s
21350K .......... .......... .......... .......... .......... 84% 243M 0s
21400K .......... .......... .......... .......... .......... 84% 152M 0s
21450K .......... .......... .......... .......... .......... 84% 298M 0s
21500K .......... .......... .......... .......... .......... 85% 45.0M 0s
21550K .......... .......... .......... .......... .......... 85% 67.1M 0s
21600K .......... .......... .......... .......... .......... 85% 302M 0s
21650K .......... .......... .......... .......... .......... 85% 175M 0s
21700K .......... .......... .......... .......... .......... 85% 187M 0s
21750K .......... .......... .......... .......... .......... 86% 292M 0s
21800K .......... .......... .......... .......... .......... 86% 241M 0s
21850K .......... .......... .......... .......... .......... 86% 292M 0s
21900K .......... .......... .......... .......... .......... 86% 158M 0s
21950K .......... .......... .......... .......... .......... 86% 100M 0s
22000K .......... .......... .......... .......... .......... 87% 50.4M 0s
22050K .......... .......... .......... .......... .......... 87% 180M 0s
22100K .......... .......... .......... .......... .......... 87% 215M 0s
22150K .......... .......... .......... .......... .......... 87% 295M 0s
22200K .......... .......... .......... .......... .......... 87% 298M 0s
22250K .......... .......... .......... .......... .......... 88% 175M 0s
22300K .......... .......... .......... .......... .......... 88% 291M 0s
22350K .......... .......... .......... .......... .......... 88% 26.1M 0s
22400K .......... .......... .......... .......... .......... 88% 68.6M 0s
22450K .......... .......... .......... .......... .......... 88% 163M 0s
22500K .......... .......... .......... .......... .......... 89% 218M 0s
22550K .......... .......... .......... .......... .......... 89% 287M 0s
22600K .......... .......... .......... .......... .......... 89% 293M 0s
22650K .......... .......... .......... .......... .......... 89% 229M 0s
22700K .......... .......... .......... .......... .......... 89% 236M 0s
22750K .......... .......... .......... .......... .......... 90% 53.6M 0s
22800K .......... .......... .......... .......... .......... 90% 29.3M 0s
22850K .......... .......... .......... .......... .......... 90% 128M 0s
22900K .......... .......... .......... .......... .......... 90% 202M 0s
22950K .......... .......... .......... .......... .......... 90% 272M 0s
23000K .......... .......... .......... .......... .......... 91% 312M 0s
23050K .......... .......... .......... .......... .......... 91% 273M 0s
23100K .......... .......... .......... .......... .......... 91% 303M 0s
23150K .......... .......... .......... .......... .......... 91% 50.0M 0s
23200K .......... .......... .......... .......... .......... 91% 41.8M 0s
23250K .......... .......... .......... .......... .......... 92% 225M 0s
23300K .......... .......... .......... .......... .......... 92% 248M 0s
23350K .......... .......... .......... .......... .......... 92% 288M 0s
23400K .......... .......... .......... .......... .......... 92% 282M 0s
23450K .......... .......... .......... .......... .......... 92% 287M 0s
23500K .......... .......... .......... .......... .......... 93% 32.8M 0s
23550K .......... .......... .......... .......... .......... 93% 54.9M 0s
23600K .......... .......... .......... .......... .......... 93% 289M 0s
23650K .......... .......... .......... .......... .......... 93% 188M 0s
23700K .......... .......... .......... .......... .......... 93% 323M 0s
23750K .......... .......... .......... .......... .......... 93% 310M 0s
23800K .......... .......... .......... .......... .......... 94% 166M 0s
23850K .......... .......... .......... .......... .......... 94% 216M 0s
23900K .......... .......... .......... .......... .......... 94% 325M 0s
23950K .......... .......... .......... .......... .......... 94% 161M 0s
24000K .......... .......... .......... .......... .......... 94% 42.5M 0s
24050K .......... .......... .......... .......... .......... 95% 30.9M 0s
24100K .......... .......... .......... .......... .......... 95% 287M 0s
24150K .......... .......... .......... .......... .......... 95% 174M 0s
24200K .......... .......... .......... .......... .......... 95% 262M 0s
24250K .......... .......... .......... .......... .......... 95% 241M 0s
24300K .......... .......... .......... .......... .......... 96% 239M 0s
24350K .......... .......... .......... .......... .......... 96% 242M 0s
24400K .......... .......... .......... .......... .......... 96% 131M 0s
24450K .......... .......... .......... .......... .......... 96% 344M 0s
24500K .......... .......... .......... .......... .......... 96% 245M 0s
24550K .......... .......... .......... .......... .......... 97% 59.9M 0s
24600K .......... .......... .......... .......... .......... 97% 52.1M 0s
24650K .......... .......... .......... .......... .......... 97% 285M 0s
24700K .......... .......... .......... .......... .......... 97% 334M 0s
24750K .......... .......... .......... .......... .......... 97% 233M 0s
24800K .......... .......... .......... .......... .......... 98% 291M 0s
24850K .......... .......... .......... .......... .......... 98% 249M 0s
24900K .......... .......... .......... .......... .......... 98% 196M 0s
24950K .......... .......... .......... .......... .......... 98% 150M 0s
25000K .......... .......... .......... .......... .......... 98% 132M 0s
25050K .......... .......... .......... .......... .......... 99% 241M 0s
25100K .......... .......... .......... .......... .......... 99% 175M 0s
25150K .......... .......... .......... .......... .......... 99% 223M 0s
25200K .......... .......... .......... .......... .......... 99% 274M 0s
25250K .......... .......... .......... .......... .......... 99% 302M 0s
25300K .......... .......... .. 100% 333M=0.2s
2026-06-24 09:49:38 (126 MB/s) - ‘all_basic_data.csv’ saved [25929930/25929930]
For the purposes of simplicity we will only use one direction (0) from the data release, but you could of course use all 10 directions if desired.
We will create simple arrays containing the parameter and observation names we wish to use from the data release. In this case we will store redshift, stellar mass, stellar metallicity, mass-weighted age, SFR on 3 different timescales, and the dust E(B-V). For the observations we will use JWST NIRCam photometry.
We will also save some units information for the parameters, but this is optional.
[3]:
dir = 0 # Choose direction 0 for this example
parameter_columns = [
"redshift",
"stellar_mass",
"stellar_metallicity",
"mean_stellar_age_mass",
"sfr_3",
"sfr_10",
"sfr_100",
f"ebmv_dir_{dir}",
]
parameter_units = [
"dimensionless",
"log10(Msun)",
"dimensionless",
"Myr",
"Msun/yr",
"Msun/yr",
"Msun/yr",
"dimensionless",
]
feature_names = [
f"F070W_dir_{dir}",
f"F090W_dir_{dir}",
f"F115W_dir_{dir}",
f"F140M_dir_{dir}",
f"F150W_dir_{dir}",
f"F162M_dir_{dir}",
f"F182M_dir_{dir}",
f"F200W_dir_{dir}",
f"F210M_dir_{dir}",
f"F250M_dir_{dir}",
f"F277W_dir_{dir}",
f"F300M_dir_{dir}",
f"F335M_dir_{dir}",
f"F356W_dir_{dir}",
f"F360M_dir_{dir}",
f"F410M_dir_{dir}",
f"F430M_dir_{dir}",
f"F444W_dir_{dir}",
f"F460M_dir_{dir}",
f"F480M_dir_{dir}",
]
We now want to make a numpy array for the parameters and observations from the table. we want to make sure that the shape of these arrays matches the expected input for the GridCreator class, which is (n_models, n_parameters) and (n_models, n_observations) respectively. Therefore we need to transpose the arrays after converting them from the pandas dataframe. ```python
[4]:
parameters = sphinx[parameter_columns].to_pandas().to_numpy().T
features = sphinx[feature_names].to_pandas().to_numpy().T
If we wish we can also store some ‘supplementary’ parameters, which will not be inferred by default when we use the grid for inference, but can be accessed later if desired. This is useful for derived parameters or other quantities of interest. Here we will store the escape fraction, UV slope, and absolute UV magnitude.
[5]:
supplementary_columns = [f"fesc_dir_{dir}", f"beta_dir_{dir}_sn", f"MAB_1500_dir_{dir}"]
supplementary_units = ["dimensionless", "dimensionless", "AB"]
supplementary_data = sphinx[supplementary_columns].to_pandas().to_numpy().T
We will set nicer names for our features, and also define a feature transform function to convert the magnitudes to fluxes. The SPHINX data release provides magnitudes, but we will set input to be in nanoJanskys.
[6]:
override_feature_names = [f"JWST/NIRCam.{filter.split('_dir_')[0]}" for filter in feature_names]
def _feature_transform(features: np.ndarray) -> np.ndarray:
# Convert AB mag to nJy
flux = 10 ** (-0.4 * (features - 31.4))
flux[features == 0] = 0 # Avoid division by zero
flux[~np.isfinite(flux)] = 0 # Handle non-finite values
return flux
features = _feature_transform(features)
Now we can create the grid using the LibraryCreator class. We will specify an output folder and set overwrite=True to overwrite any existing files.
[7]:
LibraryCreator(
model_name="SPHINX_JWST",
parameter_grid=parameters,
observation_grid=features,
observation_names=override_feature_names,
observation_units="nJy",
parameter_names=parameter_columns,
parameter_units=parameter_units,
supplementary_parameters=supplementary_data,
supplementary_parameter_names=supplementary_columns,
supplementary_parameter_units=supplementary_units,
out_folder=".",
overwrite=True,
)
2026-06-24 09:49:38,862 | synference | INFO | Number of parameters: 8
2026-06-24 09:49:38,864 | synference | INFO | Number of observations: 20
2026-06-24 09:49:38,866 | synference | INFO | Num rows in parameter library: 1380
2026-06-24 09:49:38,866 | synference | INFO | Num rows in observation library: 1380
2026-06-24 09:49:38,883 | synference | INFO | Library saved to ./library_SPHINX_JWST.h5
[7]:
<synference.library.LibraryCreator at 0x7fc93459a740>
Now let’s quickly check that the grid was saved correctly by loading it back in using the SBI_Fitter class.
[8]:
from synference import SBI_Fitter
fitter = SBI_Fitter.init_from_hdf5(model_name="SPHINX_JWST", hdf5_path="./library_SPHINX_JWST.h5")
[9]:
print(fitter.raw_observation_names)
print(fitter.parameter_names)
print(fitter.parameter_units)
['JWST/NIRCam.F070W' 'JWST/NIRCam.F090W' 'JWST/NIRCam.F115W'
'JWST/NIRCam.F140M' 'JWST/NIRCam.F150W' 'JWST/NIRCam.F162M'
'JWST/NIRCam.F182M' 'JWST/NIRCam.F200W' 'JWST/NIRCam.F210M'
'JWST/NIRCam.F250M' 'JWST/NIRCam.F277W' 'JWST/NIRCam.F300M'
'JWST/NIRCam.F335M' 'JWST/NIRCam.F356W' 'JWST/NIRCam.F360M'
'JWST/NIRCam.F410M' 'JWST/NIRCam.F430M' 'JWST/NIRCam.F444W'
'JWST/NIRCam.F460M' 'JWST/NIRCam.F480M']
['redshift' 'stellar_mass' 'stellar_metallicity' 'mean_stellar_age_mass'
'sfr_3' 'sfr_10' 'sfr_100' 'ebmv_dir_0']
['dimensionless' 'log10(Msun)' 'dimensionless' 'Myr' 'Msun/yr' 'Msun/yr'
'Msun/yr' 'dimensionless']
As we can see the grid has been loaded correctly with the expected parameter and observation names and units, and we could now proceed to use this grid for inference as normal.
This class provides a flexible way to bring your own model grids into Synference for inference.