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-07-25 16:12:03-- 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.111.133, 185.199.108.133, 185.199.109.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.111.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 25929930 (25M) [text/plain]
Saving to: ‘all_basic_data.csv’
0K .......... .......... .......... .......... .......... 0% 23.9M 1s
50K .......... .......... .......... .......... .......... 0% 238M 1s
100K .......... .......... .......... .......... .......... 0% 72.1M 0s
150K .......... .......... .......... .......... .......... 0% 67.9M 0s
200K .......... .......... .......... .......... .......... 0% 27.7M 1s
250K .......... .......... .......... .......... .......... 1% 277M 0s
300K .......... .......... .......... .......... .......... 1% 306M 0s
350K .......... .......... .......... .......... .......... 1% 175M 0s
400K .......... .......... .......... .......... .......... 1% 144M 0s
450K .......... .......... .......... .......... .......... 1% 288M 0s
500K .......... .......... .......... .......... .......... 2% 89.4M 0s
550K .......... .......... .......... .......... .......... 2% 232M 0s
600K .......... .......... .......... .......... .......... 2% 136M 0s
650K .......... .......... .......... .......... .......... 2% 185M 0s
700K .......... .......... .......... .......... .......... 2% 268M 0s
750K .......... .......... .......... .......... .......... 3% 105M 0s
800K .......... .......... .......... .......... .......... 3% 163M 0s
850K .......... .......... .......... .......... .......... 3% 151M 0s
900K .......... .......... .......... .......... .......... 3% 41.5M 0s
950K .......... .......... .......... .......... .......... 3% 265M 0s
1000K .......... .......... .......... .......... .......... 4% 151M 0s
1050K .......... .......... .......... .......... .......... 4% 192M 0s
1100K .......... .......... .......... .......... .......... 4% 251M 0s
1150K .......... .......... .......... .......... .......... 4% 220M 0s
1200K .......... .......... .......... .......... .......... 4% 88.5M 0s
1250K .......... .......... .......... .......... .......... 5% 114M 0s
1300K .......... .......... .......... .......... .......... 5% 256M 0s
1350K .......... .......... .......... .......... .......... 5% 170M 0s
1400K .......... .......... .......... .......... .......... 5% 292M 0s
1450K .......... .......... .......... .......... .......... 5% 182M 0s
1500K .......... .......... .......... .......... .......... 6% 278M 0s
1550K .......... .......... .......... .......... .......... 6% 115M 0s
1600K .......... .......... .......... .......... .......... 6% 291M 0s
1650K .......... .......... .......... .......... .......... 6% 257M 0s
1700K .......... .......... .......... .......... .......... 6% 103M 0s
1750K .......... .......... .......... .......... .......... 7% 184M 0s
1800K .......... .......... .......... .......... .......... 7% 259M 0s
1850K .......... .......... .......... .......... .......... 7% 137M 0s
1900K .......... .......... .......... .......... .......... 7% 261M 0s
1950K .......... .......... .......... .......... .......... 7% 298M 0s
2000K .......... .......... .......... .......... .......... 8% 81.8M 0s
2050K .......... .......... .......... .......... .......... 8% 199M 0s
2100K .......... .......... .......... .......... .......... 8% 137M 0s
2150K .......... .......... .......... .......... .......... 8% 298M 0s
2200K .......... .......... .......... .......... .......... 8% 295M 0s
2250K .......... .......... .......... .......... .......... 9% 146M 0s
2300K .......... .......... .......... .......... .......... 9% 296M 0s
2350K .......... .......... .......... .......... .......... 9% 81.6M 0s
2400K .......... .......... .......... .......... .......... 9% 262M 0s
2450K .......... .......... .......... .......... .......... 9% 154M 0s
2500K .......... .......... .......... .......... .......... 10% 183M 0s
2550K .......... .......... .......... .......... .......... 10% 333M 0s
2600K .......... .......... .......... .......... .......... 10% 241M 0s
2650K .......... .......... .......... .......... .......... 10% 179M 0s
2700K .......... .......... .......... .......... .......... 10% 263M 0s
2750K .......... .......... .......... .......... .......... 11% 153M 0s
2800K .......... .......... .......... .......... .......... 11% 229M 0s
2850K .......... .......... .......... .......... .......... 11% 86.3M 0s
2900K .......... .......... .......... .......... .......... 11% 332M 0s
2950K .......... .......... .......... .......... .......... 11% 255M 0s
3000K .......... .......... .......... .......... .......... 12% 158M 0s
3050K .......... .......... .......... .......... .......... 12% 327M 0s
3100K .......... .......... .......... .......... .......... 12% 206M 0s
3150K .......... .......... .......... .......... .......... 12% 221M 0s
3200K .......... .......... .......... .......... .......... 12% 331M 0s
3250K .......... .......... .......... .......... .......... 13% 157M 0s
3300K .......... .......... .......... .......... .......... 13% 315M 0s
3350K .......... .......... .......... .......... .......... 13% 133M 0s
3400K .......... .......... .......... .......... .......... 13% 314M 0s
3450K .......... .......... .......... .......... .......... 13% 97.6M 0s
3500K .......... .......... .......... .......... .......... 14% 278M 0s
3550K .......... .......... .......... .......... .......... 14% 314M 0s
3600K .......... .......... .......... .......... .......... 14% 311M 0s
3650K .......... .......... .......... .......... .......... 14% 35.5M 0s
3700K .......... .......... .......... .......... .......... 14% 37.4M 0s
3750K .......... .......... .......... .......... .......... 15% 116M 0s
3800K .......... .......... .......... .......... .......... 15% 244M 0s
3850K .......... .......... .......... .......... .......... 15% 283M 0s
3900K .......... .......... .......... .......... .......... 15% 293M 0s
3950K .......... .......... .......... .......... .......... 15% 283M 0s
4000K .......... .......... .......... .......... .......... 15% 85.6M 0s
4050K .......... .......... .......... .......... .......... 16% 140M 0s
4100K .......... .......... .......... .......... .......... 16% 303M 0s
4150K .......... .......... .......... .......... .......... 16% 328M 0s
4200K .......... .......... .......... .......... .......... 16% 148M 0s
4250K .......... .......... .......... .......... .......... 16% 277M 0s
4300K .......... .......... .......... .......... .......... 17% 307M 0s
4350K .......... .......... .......... .......... .......... 17% 175M 0s
4400K .......... .......... .......... .......... .......... 17% 272M 0s
4450K .......... .......... .......... .......... .......... 17% 109M 0s
4500K .......... .......... .......... .......... .......... 17% 310M 0s
4550K .......... .......... .......... .......... .......... 18% 192M 0s
4600K .......... .......... .......... .......... .......... 18% 32.4M 0s
4650K .......... .......... .......... .......... .......... 18% 39.0M 0s
4700K .......... .......... .......... .......... .......... 18% 281M 0s
4750K .......... .......... .......... .......... .......... 18% 228M 0s
4800K .......... .......... .......... .......... .......... 19% 198M 0s
4850K .......... .......... .......... .......... .......... 19% 195M 0s
4900K .......... .......... .......... .......... .......... 19% 152M 0s
4950K .......... .......... .......... .......... .......... 19% 48.3M 0s
5000K .......... .......... .......... .......... .......... 19% 113M 0s
5050K .......... .......... .......... .......... .......... 20% 260M 0s
5100K .......... .......... .......... .......... .......... 20% 271M 0s
5150K .......... .......... .......... .......... .......... 20% 200M 0s
5200K .......... .......... .......... .......... .......... 20% 240M 0s
5250K .......... .......... .......... .......... .......... 20% 126M 0s
5300K .......... .......... .......... .......... .......... 21% 327M 0s
5350K .......... .......... .......... .......... .......... 21% 164M 0s
5400K .......... .......... .......... .......... .......... 21% 120M 0s
5450K .......... .......... .......... .......... .......... 21% 195M 0s
5500K .......... .......... .......... .......... .......... 21% 274M 0s
5550K .......... .......... .......... .......... .......... 22% 180M 0s
5600K .......... .......... .......... .......... .......... 22% 293M 0s
5650K .......... .......... .......... .......... .......... 22% 119M 0s
5700K .......... .......... .......... .......... .......... 22% 283M 0s
5750K .......... .......... .......... .......... .......... 22% 132M 0s
5800K .......... .......... .......... .......... .......... 23% 303M 0s
5850K .......... .......... .......... .......... .......... 23% 321M 0s
5900K .......... .......... .......... .......... .......... 23% 164M 0s
5950K .......... .......... .......... .......... .......... 23% 98.6M 0s
6000K .......... .......... .......... .......... .......... 23% 221M 0s
6050K .......... .......... .......... .......... .......... 24% 281M 0s
6100K .......... .......... .......... .......... .......... 24% 199M 0s
6150K .......... .......... .......... .......... .......... 24% 247M 0s
6200K .......... .......... .......... .......... .......... 24% 135M 0s
6250K .......... .......... .......... .......... .......... 24% 279M 0s
6300K .......... .......... .......... .......... .......... 25% 243M 0s
6350K .......... .......... .......... .......... .......... 25% 145M 0s
6400K .......... .......... .......... .......... .......... 25% 204M 0s
6450K .......... .......... .......... .......... .......... 25% 299M 0s
6500K .......... .......... .......... .......... .......... 25% 163M 0s
6550K .......... .......... .......... .......... .......... 26% 58.1M 0s
6600K .......... .......... .......... .......... .......... 26% 269M 0s
6650K .......... .......... .......... .......... .......... 26% 248M 0s
6700K .......... .......... .......... .......... .......... 26% 325M 0s
6750K .......... .......... .......... .......... .......... 26% 132M 0s
6800K .......... .......... .......... .......... .......... 27% 285M 0s
6850K .......... .......... .......... .......... .......... 27% 308M 0s
6900K .......... .......... .......... .......... .......... 27% 124M 0s
6950K .......... .......... .......... .......... .......... 27% 287M 0s
7000K .......... .......... .......... .......... .......... 27% 130M 0s
7050K .......... .......... .......... .......... .......... 28% 35.1M 0s
7100K .......... .......... .......... .......... .......... 28% 34.1M 0s
7150K .......... .......... .......... .......... .......... 28% 183M 0s
7200K .......... .......... .......... .......... .......... 28% 241M 0s
7250K .......... .......... .......... .......... .......... 28% 276M 0s
7300K .......... .......... .......... .......... .......... 29% 281M 0s
7350K .......... .......... .......... .......... .......... 29% 137M 0s
7400K .......... .......... .......... .......... .......... 29% 125M 0s
7450K .......... .......... .......... .......... .......... 29% 268M 0s
7500K .......... .......... .......... .......... .......... 29% 237M 0s
7550K .......... .......... .......... .......... .......... 30% 130M 0s
7600K .......... .......... .......... .......... .......... 30% 281M 0s
7650K .......... .......... .......... .......... .......... 30% 161M 0s
7700K .......... .......... .......... .......... .......... 30% 283M 0s
7750K .......... .......... .......... .......... .......... 30% 134M 0s
7800K .......... .......... .......... .......... .......... 31% 259M 0s
7850K .......... .......... .......... .......... .......... 31% 277M 0s
7900K .......... .......... .......... .......... .......... 31% 170M 0s
7950K .......... .......... .......... .......... .......... 31% 66.5M 0s
8000K .......... .......... .......... .......... .......... 31% 214M 0s
8050K .......... .......... .......... .......... .......... 31% 257M 0s
8100K .......... .......... .......... .......... .......... 32% 239M 0s
8150K .......... .......... .......... .......... .......... 32% 134M 0s
8200K .......... .......... .......... .......... .......... 32% 224M 0s
8250K .......... .......... .......... .......... .......... 32% 172M 0s
8300K .......... .......... .......... .......... .......... 32% 242M 0s
8350K .......... .......... .......... .......... .......... 33% 202M 0s
8400K .......... .......... .......... .......... .......... 33% 164M 0s
8450K .......... .......... .......... .......... .......... 33% 290M 0s
8500K .......... .......... .......... .......... .......... 33% 88.8M 0s
8550K .......... .......... .......... .......... .......... 33% 256M 0s
8600K .......... .......... .......... .......... .......... 34% 291M 0s
8650K .......... .......... .......... .......... .......... 34% 282M 0s
8700K .......... .......... .......... .......... .......... 34% 132M 0s
8750K .......... .......... .......... .......... .......... 34% 206M 0s
8800K .......... .......... .......... .......... .......... 34% 91.1M 0s
8850K .......... .......... .......... .......... .......... 35% 251M 0s
8900K .......... .......... .......... .......... .......... 35% 281M 0s
8950K .......... .......... .......... .......... .......... 35% 155M 0s
9000K .......... .......... .......... .......... .......... 35% 185M 0s
9050K .......... .......... .......... .......... .......... 35% 282M 0s
9100K .......... .......... .......... .......... .......... 36% 166M 0s
9150K .......... .......... .......... .......... .......... 36% 214M 0s
9200K .......... .......... .......... .......... .......... 36% 313M 0s
9250K .......... .......... .......... .......... .......... 36% 138M 0s
9300K .......... .......... .......... .......... .......... 36% 125M 0s
9350K .......... .......... .......... .......... .......... 37% 312M 0s
9400K .......... .......... .......... .......... .......... 37% 103M 0s
9450K .......... .......... .......... .......... .......... 37% 254M 0s
9500K .......... .......... .......... .......... .......... 37% 279M 0s
9550K .......... .......... .......... .......... .......... 37% 161M 0s
9600K .......... .......... .......... .......... .......... 38% 273M 0s
9650K .......... .......... .......... .......... .......... 38% 214M 0s
9700K .......... .......... .......... .......... .......... 38% 184M 0s
9750K .......... .......... .......... .......... .......... 38% 321M 0s
9800K .......... .......... .......... .......... .......... 38% 30.3M 0s
9850K .......... .......... .......... .......... .......... 39% 27.0M 0s
9900K .......... .......... .......... .......... .......... 39% 28.9M 0s
9950K .......... .......... .......... .......... .......... 39% 194M 0s
10000K .......... .......... .......... .......... .......... 39% 262M 0s
10050K .......... .......... .......... .......... .......... 39% 191M 0s
10100K .......... .......... .......... .......... .......... 40% 258M 0s
10150K .......... .......... .......... .......... .......... 40% 110M 0s
10200K .......... .......... .......... .......... .......... 40% 217M 0s
10250K .......... .......... .......... .......... .......... 40% 148M 0s
10300K .......... .......... .......... .......... .......... 40% 290M 0s
10350K .......... .......... .......... .......... .......... 41% 101M 0s
10400K .......... .......... .......... .......... .......... 41% 281M 0s
10450K .......... .......... .......... .......... .......... 41% 187M 0s
10500K .......... .......... .......... .......... .......... 41% 282M 0s
10550K .......... .......... .......... .......... .......... 41% 130M 0s
10600K .......... .......... .......... .......... .......... 42% 155M 0s
10650K .......... .......... .......... .......... .......... 42% 265M 0s
10700K .......... .......... .......... .......... .......... 42% 94.6M 0s
10750K .......... .......... .......... .......... .......... 42% 313M 0s
10800K .......... .......... .......... .......... .......... 42% 180M 0s
10850K .......... .......... .......... .......... .......... 43% 231M 0s
10900K .......... .......... .......... .......... .......... 43% 344M 0s
10950K .......... .......... .......... .......... .......... 43% 160M 0s
11000K .......... .......... .......... .......... .......... 43% 170M 0s
11050K .......... .......... .......... .......... .......... 43% 165M 0s
11100K .......... .......... .......... .......... .......... 44% 295M 0s
11150K .......... .......... .......... .......... .......... 44% 225M 0s
11200K .......... .......... .......... .......... .......... 44% 176M 0s
11250K .......... .......... .......... .......... .......... 44% 275M 0s
11300K .......... .......... .......... .......... .......... 44% 103M 0s
11350K .......... .......... .......... .......... .......... 45% 321M 0s
11400K .......... .......... .......... .......... .......... 45% 206M 0s
11450K .......... .......... .......... .......... .......... 45% 81.2M 0s
11500K .......... .......... .......... .......... .......... 45% 283M 0s
11550K .......... .......... .......... .......... .......... 45% 216M 0s
11600K .......... .......... .......... .......... .......... 46% 196M 0s
11650K .......... .......... .......... .......... .......... 46% 329M 0s
11700K .......... .......... .......... .......... .......... 46% 306M 0s
11750K .......... .......... .......... .......... .......... 46% 186M 0s
11800K .......... .......... .......... .......... .......... 46% 180M 0s
11850K .......... .......... .......... .......... .......... 46% 153M 0s
11900K .......... .......... .......... .......... .......... 47% 333M 0s
11950K .......... .......... .......... .......... .......... 47% 349M 0s
12000K .......... .......... .......... .......... .......... 47% 188M 0s
12050K .......... .......... .......... .......... .......... 47% 306M 0s
12100K .......... .......... .......... .......... .......... 47% 49.1M 0s
12150K .......... .......... .......... .......... .......... 48% 32.4M 0s
12200K .......... .......... .......... .......... .......... 48% 184M 0s
12250K .......... .......... .......... .......... .......... 48% 313M 0s
12300K .......... .......... .......... .......... .......... 48% 314M 0s
12350K .......... .......... .......... .......... .......... 48% 189M 0s
12400K .......... .......... .......... .......... .......... 49% 216M 0s
12450K .......... .......... .......... .......... .......... 49% 289M 0s
12500K .......... .......... .......... .......... .......... 49% 160M 0s
12550K .......... .......... .......... .......... .......... 49% 30.6M 0s
12600K .......... .......... .......... .......... .......... 49% 139M 0s
12650K .......... .......... .......... .......... .......... 50% 175M 0s
12700K .......... .......... .......... .......... .......... 50% 191M 0s
12750K .......... .......... .......... .......... .......... 50% 300M 0s
12800K .......... .......... .......... .......... .......... 50% 324M 0s
12850K .......... .......... .......... .......... .......... 50% 212M 0s
12900K .......... .......... .......... .......... .......... 51% 217M 0s
12950K .......... .......... .......... .......... .......... 51% 187M 0s
13000K .......... .......... .......... .......... .......... 51% 92.1M 0s
13050K .......... .......... .......... .......... .......... 51% 221M 0s
13100K .......... .......... .......... .......... .......... 51% 198M 0s
13150K .......... .......... .......... .......... .......... 52% 214M 0s
13200K .......... .......... .......... .......... .......... 52% 276M 0s
13250K .......... .......... .......... .......... .......... 52% 111M 0s
13300K .......... .......... .......... .......... .......... 52% 252M 0s
13350K .......... .......... .......... .......... .......... 52% 192M 0s
13400K .......... .......... .......... .......... .......... 53% 88.6M 0s
13450K .......... .......... .......... .......... .......... 53% 191M 0s
13500K .......... .......... .......... .......... .......... 53% 274M 0s
13550K .......... .......... .......... .......... .......... 53% 263M 0s
13600K .......... .......... .......... .......... .......... 53% 156M 0s
13650K .......... .......... .......... .......... .......... 54% 258M 0s
13700K .......... .......... .......... .......... .......... 54% 211M 0s
13750K .......... .......... .......... .......... .......... 54% 198M 0s
13800K .......... .......... .......... .......... .......... 54% 144M 0s
13850K .......... .......... .......... .......... .......... 54% 94.2M 0s
13900K .......... .......... .......... .......... .......... 55% 152M 0s
13950K .......... .......... .......... .......... .......... 55% 259M 0s
14000K .......... .......... .......... .......... .......... 55% 303M 0s
14050K .......... .......... .......... .......... .......... 55% 150M 0s
14100K .......... .......... .......... .......... .......... 55% 220M 0s
14150K .......... .......... .......... .......... .......... 56% 179M 0s
14200K .......... .......... .......... .......... .......... 56% 183M 0s
14250K .......... .......... .......... .......... .......... 56% 202M 0s
14300K .......... .......... .......... .......... .......... 56% 111M 0s
14350K .......... .......... .......... .......... .......... 56% 263M 0s
14400K .......... .......... .......... .......... .......... 57% 144M 0s
14450K .......... .......... .......... .......... .......... 57% 258M 0s
14500K .......... .......... .......... .......... .......... 57% 132M 0s
14550K .......... .......... .......... .......... .......... 57% 149M 0s
14600K .......... .......... .......... .......... .......... 57% 278M 0s
14650K .......... .......... .......... .......... .......... 58% 146M 0s
14700K .......... .......... .......... .......... .......... 58% 257M 0s
14750K .......... .......... .......... .......... .......... 58% 184M 0s
14800K .......... .......... .......... .......... .......... 58% 279M 0s
14850K .......... .......... .......... .......... .......... 58% 59.7M 0s
14900K .......... .......... .......... .......... .......... 59% 22.6M 0s
14950K .......... .......... .......... .......... .......... 59% 31.5M 0s
15000K .......... .......... .......... .......... .......... 59% 196M 0s
15050K .......... .......... .......... .......... .......... 59% 208M 0s
15100K .......... .......... .......... .......... .......... 59% 235M 0s
15150K .......... .......... .......... .......... .......... 60% 37.1M 0s
15200K .......... .......... .......... .......... .......... 60% 188M 0s
15250K .......... .......... .......... .......... .......... 60% 268M 0s
15300K .......... .......... .......... .......... .......... 60% 193M 0s
15350K .......... .......... .......... .......... .......... 60% 160M 0s
15400K .......... .......... .......... .......... .......... 61% 277M 0s
15450K .......... .......... .......... .......... .......... 61% 44.8M 0s
15500K .......... .......... .......... .......... .......... 61% 51.6M 0s
15550K .......... .......... .......... .......... .......... 61% 274M 0s
15600K .......... .......... .......... .......... .......... 61% 187M 0s
15650K .......... .......... .......... .......... .......... 62% 183M 0s
15700K .......... .......... .......... .......... .......... 62% 149M 0s
15750K .......... .......... .......... .......... .......... 62% 199M 0s
15800K .......... .......... .......... .......... .......... 62% 170M 0s
15850K .......... .......... .......... .......... .......... 62% 203M 0s
15900K .......... .......... .......... .......... .......... 62% 296M 0s
15950K .......... .......... .......... .......... .......... 63% 147M 0s
16000K .......... .......... .......... .......... .......... 63% 88.4M 0s
16050K .......... .......... .......... .......... .......... 63% 263M 0s
16100K .......... .......... .......... .......... .......... 63% 201M 0s
16150K .......... .......... .......... .......... .......... 63% 157M 0s
16200K .......... .......... .......... .......... .......... 64% 194M 0s
16250K .......... .......... .......... .......... .......... 64% 260M 0s
16300K .......... .......... .......... .......... .......... 64% 179M 0s
16350K .......... .......... .......... .......... .......... 64% 147M 0s
16400K .......... .......... .......... .......... .......... 64% 285M 0s
16450K .......... .......... .......... .......... .......... 65% 144M 0s
16500K .......... .......... .......... .......... .......... 65% 204M 0s
16550K .......... .......... .......... .......... .......... 65% 49.2M 0s
16600K .......... .......... .......... .......... .......... 65% 25.5M 0s
16650K .......... .......... .......... .......... .......... 65% 153M 0s
16700K .......... .......... .......... .......... .......... 66% 266M 0s
16750K .......... .......... .......... .......... .......... 66% 238M 0s
16800K .......... .......... .......... .......... .......... 66% 152M 0s
16850K .......... .......... .......... .......... .......... 66% 131M 0s
16900K .......... .......... .......... .......... .......... 66% 262M 0s
16950K .......... .......... .......... .......... .......... 67% 184M 0s
17000K .......... .......... .......... .......... .......... 67% 186M 0s
17050K .......... .......... .......... .......... .......... 67% 231M 0s
17100K .......... .......... .......... .......... .......... 67% 101M 0s
17150K .......... .......... .......... .......... .......... 67% 292M 0s
17200K .......... .......... .......... .......... .......... 68% 136M 0s
17250K .......... .......... .......... .......... .......... 68% 264M 0s
17300K .......... .......... .......... .......... .......... 68% 120M 0s
17350K .......... .......... .......... .......... .......... 68% 287M 0s
17400K .......... .......... .......... .......... .......... 68% 129M 0s
17450K .......... .......... .......... .......... .......... 69% 266M 0s
17500K .......... .......... .......... .......... .......... 69% 342M 0s
17550K .......... .......... .......... .......... .......... 69% 292M 0s
17600K .......... .......... .......... .......... .......... 69% 127M 0s
17650K .......... .......... .......... .......... .......... 69% 198M 0s
17700K .......... .......... .......... .......... .......... 70% 275M 0s
17750K .......... .......... .......... .......... .......... 70% 206M 0s
17800K .......... .......... .......... .......... .......... 70% 141M 0s
17850K .......... .......... .......... .......... .......... 70% 294M 0s
17900K .......... .......... .......... .......... .......... 70% 143M 0s
17950K .......... .......... .......... .......... .......... 71% 262M 0s
18000K .......... .......... .......... .......... .......... 71% 114M 0s
18050K .......... .......... .......... .......... .......... 71% 247M 0s
18100K .......... .......... .......... .......... .......... 71% 305M 0s
18150K .......... .......... .......... .......... .......... 71% 294M 0s
18200K .......... .......... .......... .......... .......... 72% 156M 0s
18250K .......... .......... .......... .......... .......... 72% 280M 0s
18300K .......... .......... .......... .......... .......... 72% 180M 0s
18350K .......... .......... .......... .......... .......... 72% 213M 0s
18400K .......... .......... .......... .......... .......... 72% 265M 0s
18450K .......... .......... .......... .......... .......... 73% 182M 0s
18500K .......... .......... .......... .......... .......... 73% 277M 0s
18550K .......... .......... .......... .......... .......... 73% 220M 0s
18600K .......... .......... .......... .......... .......... 73% 97.8M 0s
18650K .......... .......... .......... .......... .......... 73% 35.7M 0s
18700K .......... .......... .......... .......... .......... 74% 36.9M 0s
18750K .......... .......... .......... .......... .......... 74% 230M 0s
18800K .......... .......... .......... .......... .......... 74% 263M 0s
18850K .......... .......... .......... .......... .......... 74% 125M 0s
18900K .......... .......... .......... .......... .......... 74% 36.0M 0s
18950K .......... .......... .......... .......... .......... 75% 171M 0s
19000K .......... .......... .......... .......... .......... 75% 314M 0s
19050K .......... .......... .......... .......... .......... 75% 284M 0s
19100K .......... .......... .......... .......... .......... 75% 107M 0s
19150K .......... .......... .......... .......... .......... 75% 200M 0s
19200K .......... .......... .......... .......... .......... 76% 306M 0s
19250K .......... .......... .......... .......... .......... 76% 136M 0s
19300K .......... .......... .......... .......... .......... 76% 270M 0s
19350K .......... .......... .......... .......... .......... 76% 30.3M 0s
19400K .......... .......... .......... .......... .......... 76% 252M 0s
19450K .......... .......... .......... .......... .......... 77% 187M 0s
19500K .......... .......... .......... .......... .......... 77% 208M 0s
19550K .......... .......... .......... .......... .......... 77% 260M 0s
19600K .......... .......... .......... .......... .......... 77% 176M 0s
19650K .......... .......... .......... .......... .......... 77% 163M 0s
19700K .......... .......... .......... .......... .......... 77% 177M 0s
19750K .......... .......... .......... .......... .......... 78% 292M 0s
19800K .......... .......... .......... .......... .......... 78% 162M 0s
19850K .......... .......... .......... .......... .......... 78% 269M 0s
19900K .......... .......... .......... .......... .......... 78% 34.5M 0s
19950K .......... .......... .......... .......... .......... 78% 272M 0s
20000K .......... .......... .......... .......... .......... 79% 231M 0s
20050K .......... .......... .......... .......... .......... 79% 197M 0s
20100K .......... .......... .......... .......... .......... 79% 265M 0s
20150K .......... .......... .......... .......... .......... 79% 162M 0s
20200K .......... .......... .......... .......... .......... 79% 264M 0s
20250K .......... .......... .......... .......... .......... 80% 124M 0s
20300K .......... .......... .......... .......... .......... 80% 32.4M 0s
20350K .......... .......... .......... .......... .......... 80% 36.4M 0s
20400K .......... .......... .......... .......... .......... 80% 45.2M 0s
20450K .......... .......... .......... .......... .......... 80% 169M 0s
20500K .......... .......... .......... .......... .......... 81% 268M 0s
20550K .......... .......... .......... .......... .......... 81% 311M 0s
20600K .......... .......... .......... .......... .......... 81% 198M 0s
20650K .......... .......... .......... .......... .......... 81% 111M 0s
20700K .......... .......... .......... .......... .......... 81% 193M 0s
20750K .......... .......... .......... .......... .......... 82% 299M 0s
20800K .......... .......... .......... .......... .......... 82% 140M 0s
20850K .......... .......... .......... .......... .......... 82% 285M 0s
20900K .......... .......... .......... .......... .......... 82% 331M 0s
20950K .......... .......... .......... .......... .......... 82% 160M 0s
21000K .......... .......... .......... .......... .......... 83% 307M 0s
21050K .......... .......... .......... .......... .......... 83% 108M 0s
21100K .......... .......... .......... .......... .......... 83% 254M 0s
21150K .......... .......... .......... .......... .......... 83% 292M 0s
21200K .......... .......... .......... .......... .......... 83% 123M 0s
21250K .......... .......... .......... .......... .......... 84% 54.9M 0s
21300K .......... .......... .......... .......... .......... 84% 162M 0s
21350K .......... .......... .......... .......... .......... 84% 216M 0s
21400K .......... .......... .......... .......... .......... 84% 192M 0s
21450K .......... .......... .......... .......... .......... 84% 194M 0s
21500K .......... .......... .......... .......... .......... 85% 167M 0s
21550K .......... .......... .......... .......... .......... 85% 283M 0s
21600K .......... .......... .......... .......... .......... 85% 292M 0s
21650K .......... .......... .......... .......... .......... 85% 155M 0s
21700K .......... .......... .......... .......... .......... 85% 197M 0s
21750K .......... .......... .......... .......... .......... 86% 161M 0s
21800K .......... .......... .......... .......... .......... 86% 277M 0s
21850K .......... .......... .......... .......... .......... 86% 227M 0s
21900K .......... .......... .......... .......... .......... 86% 52.3M 0s
21950K .......... .......... .......... .......... .......... 86% 31.0M 0s
22000K .......... .......... .......... .......... .......... 87% 43.9M 0s
22050K .......... .......... .......... .......... .......... 87% 250M 0s
22100K .......... .......... .......... .......... .......... 87% 216M 0s
22150K .......... .......... .......... .......... .......... 87% 187M 0s
22200K .......... .......... .......... .......... .......... 87% 157M 0s
22250K .......... .......... .......... .......... .......... 88% 248M 0s
22300K .......... .......... .......... .......... .......... 88% 276M 0s
22350K .......... .......... .......... .......... .......... 88% 139M 0s
22400K .......... .......... .......... .......... .......... 88% 266M 0s
22450K .......... .......... .......... .......... .......... 88% 290M 0s
22500K .......... .......... .......... .......... .......... 89% 97.5M 0s
22550K .......... .......... .......... .......... .......... 89% 225M 0s
22600K .......... .......... .......... .......... .......... 89% 177M 0s
22650K .......... .......... .......... .......... .......... 89% 269M 0s
22700K .......... .......... .......... .......... .......... 89% 147M 0s
22750K .......... .......... .......... .......... .......... 90% 262M 0s
22800K .......... .......... .......... .......... .......... 90% 192M 0s
22850K .......... .......... .......... .......... .......... 90% 167M 0s
22900K .......... .......... .......... .......... .......... 90% 181M 0s
22950K .......... .......... .......... .......... .......... 90% 159M 0s
23000K .......... .......... .......... .......... .......... 91% 276M 0s
23050K .......... .......... .......... .......... .......... 91% 245M 0s
23100K .......... .......... .......... .......... .......... 91% 47.2M 0s
23150K .......... .......... .......... .......... .......... 91% 30.1M 0s
23200K .......... .......... .......... .......... .......... 91% 200M 0s
23250K .......... .......... .......... .......... .......... 92% 265M 0s
23300K .......... .......... .......... .......... .......... 92% 128M 0s
23350K .......... .......... .......... .......... .......... 92% 285M 0s
23400K .......... .......... .......... .......... .......... 92% 284M 0s
23450K .......... .......... .......... .......... .......... 92% 155M 0s
23500K .......... .......... .......... .......... .......... 93% 36.6M 0s
23550K .......... .......... .......... .......... .......... 93% 46.9M 0s
23600K .......... .......... .......... .......... .......... 93% 248M 0s
23650K .......... .......... .......... .......... .......... 93% 268M 0s
23700K .......... .......... .......... .......... .......... 93% 138M 0s
23750K .......... .......... .......... .......... .......... 93% 124M 0s
23800K .......... .......... .......... .......... .......... 94% 259M 0s
23850K .......... .......... .......... .......... .......... 94% 227M 0s
23900K .......... .......... .......... .......... .......... 94% 54.4M 0s
23950K .......... .......... .......... .......... .......... 94% 152M 0s
24000K .......... .......... .......... .......... .......... 94% 141M 0s
24050K .......... .......... .......... .......... .......... 95% 272M 0s
24100K .......... .......... .......... .......... .......... 95% 186M 0s
24150K .......... .......... .......... .......... .......... 95% 199M 0s
24200K .......... .......... .......... .......... .......... 95% 283M 0s
24250K .......... .......... .......... .......... .......... 95% 144M 0s
24300K .......... .......... .......... .......... .......... 96% 290M 0s
24350K .......... .......... .......... .......... .......... 96% 113M 0s
24400K .......... .......... .......... .......... .......... 96% 23.9M 0s
24450K .......... .......... .......... .......... .......... 96% 33.7M 0s
24500K .......... .......... .......... .......... .......... 96% 83.5M 0s
24550K .......... .......... .......... .......... .......... 97% 284M 0s
24600K .......... .......... .......... .......... .......... 97% 300M 0s
24650K .......... .......... .......... .......... .......... 97% 189M 0s
24700K .......... .......... .......... .......... .......... 97% 157M 0s
24750K .......... .......... .......... .......... .......... 97% 189M 0s
24800K .......... .......... .......... .......... .......... 98% 192M 0s
24850K .......... .......... .......... .......... .......... 98% 163M 0s
24900K .......... .......... .......... .......... .......... 98% 267M 0s
24950K .......... .......... .......... .......... .......... 98% 338M 0s
25000K .......... .......... .......... .......... .......... 98% 177M 0s
25050K .......... .......... .......... .......... .......... 99% 317M 0s
25100K .......... .......... .......... .......... .......... 99% 318M 0s
25150K .......... .......... .......... .......... .......... 99% 135M 0s
25200K .......... .......... .......... .......... .......... 99% 189M 0s
25250K .......... .......... .......... .......... .......... 99% 326M 0s
25300K .......... .......... .. 100% 444M=0.2s
2026-07-25 16:12:04 (137 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-07-25 16:12:05,561 | synference | INFO | Number of parameters: 8
2026-07-25 16:12:05,565 | synference | INFO | Number of observations: 20
2026-07-25 16:12:05,567 | synference | INFO | Num rows in parameter library: 1380
2026-07-25 16:12:05,567 | synference | INFO | Num rows in observation library: 1380
2026-07-25 16:12:05,584 | synference | INFO | Library saved to ./library_SPHINX_JWST.h5
[7]:
<synference.library.LibraryCreator at 0x7f082d05a800>
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.