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-05-01 18:06:43-- 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.109.133, 185.199.110.133, 185.199.111.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.109.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 25929930 (25M) [text/plain]
Saving to: ‘all_basic_data.csv’
0K .......... .......... .......... .......... .......... 0% 107M 0s
50K .......... .......... .......... .......... .......... 0% 14.7M 1s
100K .......... .......... .......... .......... .......... 0% 16.8M 1s
150K .......... .......... .......... .......... .......... 0% 250M 1s
200K .......... .......... .......... .......... .......... 0% 8.40M 1s
250K .......... .......... .......... .......... .......... 1% 246M 1s
300K .......... .......... .......... .......... .......... 1% 17.1M 1s
350K .......... .......... .......... .......... .......... 1% 17.0M 1s
400K .......... .......... .......... .......... .......... 1% 161M 1s
450K .......... .......... .......... .......... .......... 1% 17.2M 1s
500K .......... .......... .......... .......... .......... 2% 351M 1s
550K .......... .......... .......... .......... .......... 2% 16.8M 1s
600K .......... .......... .......... .......... .......... 2% 264M 1s
650K .......... .......... .......... .......... .......... 2% 16.8M 1s
700K .......... .......... .......... .......... .......... 2% 17.0M 1s
750K .......... .......... .......... .......... .......... 3% 274M 1s
800K .......... .......... .......... .......... .......... 3% 16.6M 1s
850K .......... .......... .......... .......... .......... 3% 269M 1s
900K .......... .......... .......... .......... .......... 3% 17.7M 1s
950K .......... .......... .......... .......... .......... 3% 16.9M 1s
1000K .......... .......... .......... .......... .......... 4% 240M 1s
1050K .......... .......... .......... .......... .......... 4% 16.8M 1s
1100K .......... .......... .......... .......... .......... 4% 353M 1s
1150K .......... .......... .......... .......... .......... 4% 13.7M 1s
1200K .......... .......... .......... .......... .......... 4% 11.6M 1s
1250K .......... .......... .......... .......... .......... 5% 16.5M 1s
1300K .......... .......... .......... .......... .......... 5% 257M 1s
1350K .......... .......... .......... .......... .......... 5% 16.6M 1s
1400K .......... .......... .......... .......... .......... 5% 16.1M 1s
1450K .......... .......... .......... .......... .......... 5% 240M 1s
1500K .......... .......... .......... .......... .......... 6% 18.5M 1s
1550K .......... .......... .......... .......... .......... 6% 255M 1s
1600K .......... .......... .......... .......... .......... 6% 16.9M 1s
1650K .......... .......... .......... .......... .......... 6% 252M 1s
1700K .......... .......... .......... .......... .......... 6% 17.0M 1s
1750K .......... .......... .......... .......... .......... 7% 17.1M 1s
1800K .......... .......... .......... .......... .......... 7% 256M 1s
1850K .......... .......... .......... .......... .......... 7% 17.0M 1s
1900K .......... .......... .......... .......... .......... 7% 299M 1s
1950K .......... .......... .......... .......... .......... 7% 39.5M 1s
2000K .......... .......... .......... .......... .......... 8% 39.1M 1s
2050K .......... .......... .......... .......... .......... 8% 343M 1s
2100K .......... .......... .......... .......... .......... 8% 223M 1s
2150K .......... .......... .......... .......... .......... 8% 25.3M 1s
2200K .......... .......... .......... .......... .......... 8% 37.4M 1s
2250K .......... .......... .......... .......... .......... 9% 87.8M 1s
2300K .......... .......... .......... .......... .......... 9% 293M 1s
2350K .......... .......... .......... .......... .......... 9% 269M 1s
2400K .......... .......... .......... .......... .......... 9% 303M 1s
2450K .......... .......... .......... .......... .......... 9% 404M 1s
2500K .......... .......... .......... .......... .......... 10% 16.0M 1s
2550K .......... .......... .......... .......... .......... 10% 41.8M 1s
2600K .......... .......... .......... .......... .......... 10% 306M 1s
2650K .......... .......... .......... .......... .......... 10% 234M 1s
2700K .......... .......... .......... .......... .......... 10% 312M 1s
2750K .......... .......... .......... .......... .......... 11% 315M 1s
2800K .......... .......... .......... .......... .......... 11% 90.8M 1s
2850K .......... .......... .......... .......... .......... 11% 172M 1s
2900K .......... .......... .......... .......... .......... 11% 306M 1s
2950K .......... .......... .......... .......... .......... 11% 58.9M 1s
3000K .......... .......... .......... .......... .......... 12% 185M 1s
3050K .......... .......... .......... .......... .......... 12% 169M 1s
3100K .......... .......... .......... .......... .......... 12% 304M 1s
3150K .......... .......... .......... .......... .......... 12% 98.8M 1s
3200K .......... .......... .......... .......... .......... 12% 272M 1s
3250K .......... .......... .......... .......... .......... 13% 167M 1s
3300K .......... .......... .......... .......... .......... 13% 273M 1s
3350K .......... .......... .......... .......... .......... 13% 151M 1s
3400K .......... .......... .......... .......... .......... 13% 346M 1s
3450K .......... .......... .......... .......... .......... 13% 289M 1s
3500K .......... .......... .......... .......... .......... 14% 204M 1s
3550K .......... .......... .......... .......... .......... 14% 168M 1s
3600K .......... .......... .......... .......... .......... 14% 239M 1s
3650K .......... .......... .......... .......... .......... 14% 174M 1s
3700K .......... .......... .......... .......... .......... 14% 120M 1s
3750K .......... .......... .......... .......... .......... 15% 234M 1s
3800K .......... .......... .......... .......... .......... 15% 190M 1s
3850K .......... .......... .......... .......... .......... 15% 308M 1s
3900K .......... .......... .......... .......... .......... 15% 217M 1s
3950K .......... .......... .......... .......... .......... 15% 226M 1s
4000K .......... .......... .......... .......... .......... 15% 141M 0s
4050K .......... .......... .......... .......... .......... 16% 239M 0s
4100K .......... .......... .......... .......... .......... 16% 212M 0s
4150K .......... .......... .......... .......... .......... 16% 266M 0s
4200K .......... .......... .......... .......... .......... 16% 210M 0s
4250K .......... .......... .......... .......... .......... 16% 187M 0s
4300K .......... .......... .......... .......... .......... 17% 298M 0s
4350K .......... .......... .......... .......... .......... 17% 139M 0s
4400K .......... .......... .......... .......... .......... 17% 26.1M 0s
4450K .......... .......... .......... .......... .......... 17% 276M 0s
4500K .......... .......... .......... .......... .......... 17% 172M 0s
4550K .......... .......... .......... .......... .......... 18% 390M 0s
4600K .......... .......... .......... .......... .......... 18% 136M 0s
4650K .......... .......... .......... .......... .......... 18% 316M 0s
4700K .......... .......... .......... .......... .......... 18% 180M 0s
4750K .......... .......... .......... .......... .......... 18% 197M 0s
4800K .......... .......... .......... .......... .......... 19% 247M 0s
4850K .......... .......... .......... .......... .......... 19% 242M 0s
4900K .......... .......... .......... .......... .......... 19% 68.9M 0s
4950K .......... .......... .......... .......... .......... 19% 76.6M 0s
5000K .......... .......... .......... .......... .......... 19% 320M 0s
5050K .......... .......... .......... .......... .......... 20% 273M 0s
5100K .......... .......... .......... .......... .......... 20% 324M 0s
5150K .......... .......... .......... .......... .......... 20% 273M 0s
5200K .......... .......... .......... .......... .......... 20% 165M 0s
5250K .......... .......... .......... .......... .......... 20% 160M 0s
5300K .......... .......... .......... .......... .......... 21% 315M 0s
5350K .......... .......... .......... .......... .......... 21% 132M 0s
5400K .......... .......... .......... .......... .......... 21% 328M 0s
5450K .......... .......... .......... .......... .......... 21% 318M 0s
5500K .......... .......... .......... .......... .......... 21% 150M 0s
5550K .......... .......... .......... .......... .......... 22% 289M 0s
5600K .......... .......... .......... .......... .......... 22% 295M 0s
5650K .......... .......... .......... .......... .......... 22% 48.5M 0s
5700K .......... .......... .......... .......... .......... 22% 163M 0s
5750K .......... .......... .......... .......... .......... 22% 320M 0s
5800K .......... .......... .......... .......... .......... 23% 275M 0s
5850K .......... .......... .......... .......... .......... 23% 166M 0s
5900K .......... .......... .......... .......... .......... 23% 167M 0s
5950K .......... .......... .......... .......... .......... 23% 211M 0s
6000K .......... .......... .......... .......... .......... 23% 220M 0s
6050K .......... .......... .......... .......... .......... 24% 210M 0s
6100K .......... .......... .......... .......... .......... 24% 189M 0s
6150K .......... .......... .......... .......... .......... 24% 227M 0s
6200K .......... .......... .......... .......... .......... 24% 122M 0s
6250K .......... .......... .......... .......... .......... 24% 175M 0s
6300K .......... .......... .......... .......... .......... 25% 321M 0s
6350K .......... .......... .......... .......... .......... 25% 163M 0s
6400K .......... .......... .......... .......... .......... 25% 324M 0s
6450K .......... .......... .......... .......... .......... 25% 181M 0s
6500K .......... .......... .......... .......... .......... 25% 259M 0s
6550K .......... .......... .......... .......... .......... 26% 177M 0s
6600K .......... .......... .......... .......... .......... 26% 205M 0s
6650K .......... .......... .......... .......... .......... 26% 332M 0s
6700K .......... .......... .......... .......... .......... 26% 27.8M 0s
6750K .......... .......... .......... .......... .......... 26% 270M 0s
6800K .......... .......... .......... .......... .......... 27% 258M 0s
6850K .......... .......... .......... .......... .......... 27% 233M 0s
6900K .......... .......... .......... .......... .......... 27% 282M 0s
6950K .......... .......... .......... .......... .......... 27% 170M 0s
7000K .......... .......... .......... .......... .......... 27% 303M 0s
7050K .......... .......... .......... .......... .......... 28% 267M 0s
7100K .......... .......... .......... .......... .......... 28% 32.3M 0s
7150K .......... .......... .......... .......... .......... 28% 127M 0s
7200K .......... .......... .......... .......... .......... 28% 273M 0s
7250K .......... .......... .......... .......... .......... 28% 176M 0s
7300K .......... .......... .......... .......... .......... 29% 291M 0s
7350K .......... .......... .......... .......... .......... 29% 185M 0s
7400K .......... .......... .......... .......... .......... 29% 256M 0s
7450K .......... .......... .......... .......... .......... 29% 177M 0s
7500K .......... .......... .......... .......... .......... 29% 232M 0s
7550K .......... .......... .......... .......... .......... 30% 169M 0s
7600K .......... .......... .......... .......... .......... 30% 33.6M 0s
7650K .......... .......... .......... .......... .......... 30% 106M 0s
7700K .......... .......... .......... .......... .......... 30% 278M 0s
7750K .......... .......... .......... .......... .......... 30% 262M 0s
7800K .......... .......... .......... .......... .......... 31% 157M 0s
7850K .......... .......... .......... .......... .......... 31% 182M 0s
7900K .......... .......... .......... .......... .......... 31% 289M 0s
7950K .......... .......... .......... .......... .......... 31% 271M 0s
8000K .......... .......... .......... .......... .......... 31% 333M 0s
8050K .......... .......... .......... .......... .......... 31% 134M 0s
8100K .......... .......... .......... .......... .......... 32% 190M 0s
8150K .......... .......... .......... .......... .......... 32% 332M 0s
8200K .......... .......... .......... .......... .......... 32% 223M 0s
8250K .......... .......... .......... .......... .......... 32% 137M 0s
8300K .......... .......... .......... .......... .......... 32% 225M 0s
8350K .......... .......... .......... .......... .......... 33% 33.4M 0s
8400K .......... .......... .......... .......... .......... 33% 80.7M 0s
8450K .......... .......... .......... .......... .......... 33% 150M 0s
8500K .......... .......... .......... .......... .......... 33% 315M 0s
8550K .......... .......... .......... .......... .......... 33% 42.5M 0s
8600K .......... .......... .......... .......... .......... 34% 310M 0s
8650K .......... .......... .......... .......... .......... 34% 311M 0s
8700K .......... .......... .......... .......... .......... 34% 267M 0s
8750K .......... .......... .......... .......... .......... 34% 260M 0s
8800K .......... .......... .......... .......... .......... 34% 272M 0s
8850K .......... .......... .......... .......... .......... 35% 160M 0s
8900K .......... .......... .......... .......... .......... 35% 170M 0s
8950K .......... .......... .......... .......... .......... 35% 41.4M 0s
9000K .......... .......... .......... .......... .......... 35% 73.5M 0s
9050K .......... .......... .......... .......... .......... 35% 166M 0s
9100K .......... .......... .......... .......... .......... 36% 287M 0s
9150K .......... .......... .......... .......... .......... 36% 210M 0s
9200K .......... .......... .......... .......... .......... 36% 192M 0s
9250K .......... .......... .......... .......... .......... 36% 207M 0s
9300K .......... .......... .......... .......... .......... 36% 172M 0s
9350K .......... .......... .......... .......... .......... 37% 195M 0s
9400K .......... .......... .......... .......... .......... 37% 229M 0s
9450K .......... .......... .......... .......... .......... 37% 142M 0s
9500K .......... .......... .......... .......... .......... 37% 23.1M 0s
9550K .......... .......... .......... .......... .......... 37% 96.0M 0s
9600K .......... .......... .......... .......... .......... 38% 311M 0s
9650K .......... .......... .......... .......... .......... 38% 202M 0s
9700K .......... .......... .......... .......... .......... 38% 352M 0s
9750K .......... .......... .......... .......... .......... 38% 284M 0s
9800K .......... .......... .......... .......... .......... 38% 201M 0s
9850K .......... .......... .......... .......... .......... 39% 252M 0s
9900K .......... .......... .......... .......... .......... 39% 59.1M 0s
9950K .......... .......... .......... .......... .......... 39% 212M 0s
10000K .......... .......... .......... .......... .......... 39% 232M 0s
10050K .......... .......... .......... .......... .......... 39% 181M 0s
10100K .......... .......... .......... .......... .......... 40% 206M 0s
10150K .......... .......... .......... .......... .......... 40% 320M 0s
10200K .......... .......... .......... .......... .......... 40% 320M 0s
10250K .......... .......... .......... .......... .......... 40% 156M 0s
10300K .......... .......... .......... .......... .......... 40% 187M 0s
10350K .......... .......... .......... .......... .......... 41% 320M 0s
10400K .......... .......... .......... .......... .......... 41% 327M 0s
10450K .......... .......... .......... .......... .......... 41% 147M 0s
10500K .......... .......... .......... .......... .......... 41% 27.3M 0s
10550K .......... .......... .......... .......... .......... 41% 200M 0s
10600K .......... .......... .......... .......... .......... 42% 311M 0s
10650K .......... .......... .......... .......... .......... 42% 275M 0s
10700K .......... .......... .......... .......... .......... 42% 297M 0s
10750K .......... .......... .......... .......... .......... 42% 184M 0s
10800K .......... .......... .......... .......... .......... 42% 216M 0s
10850K .......... .......... .......... .......... .......... 43% 54.2M 0s
10900K .......... .......... .......... .......... .......... 43% 53.0M 0s
10950K .......... .......... .......... .......... .......... 43% 243M 0s
11000K .......... .......... .......... .......... .......... 43% 294M 0s
11050K .......... .......... .......... .......... .......... 43% 262M 0s
11100K .......... .......... .......... .......... .......... 44% 246M 0s
11150K .......... .......... .......... .......... .......... 44% 215M 0s
11200K .......... .......... .......... .......... .......... 44% 135M 0s
11250K .......... .......... .......... .......... .......... 44% 235M 0s
11300K .......... .......... .......... .......... .......... 44% 140M 0s
11350K .......... .......... .......... .......... .......... 45% 176M 0s
11400K .......... .......... .......... .......... .......... 45% 31.0M 0s
11450K .......... .......... .......... .......... .......... 45% 283M 0s
11500K .......... .......... .......... .......... .......... 45% 155M 0s
11550K .......... .......... .......... .......... .......... 45% 193M 0s
11600K .......... .......... .......... .......... .......... 46% 285M 0s
11650K .......... .......... .......... .......... .......... 46% 179M 0s
11700K .......... .......... .......... .......... .......... 46% 275M 0s
11750K .......... .......... .......... .......... .......... 46% 317M 0s
11800K .......... .......... .......... .......... .......... 46% 356M 0s
11850K .......... .......... .......... .......... .......... 46% 23.6M 0s
11900K .......... .......... .......... .......... .......... 47% 34.8M 0s
11950K .......... .......... .......... .......... .......... 47% 167M 0s
12000K .......... .......... .......... .......... .......... 47% 325M 0s
12050K .......... .......... .......... .......... .......... 47% 242M 0s
12100K .......... .......... .......... .......... .......... 47% 210M 0s
12150K .......... .......... .......... .......... .......... 48% 214M 0s
12200K .......... .......... .......... .......... .......... 48% 36.7M 0s
12250K .......... .......... .......... .......... .......... 48% 47.7M 0s
12300K .......... .......... .......... .......... .......... 48% 310M 0s
12350K .......... .......... .......... .......... .......... 48% 275M 0s
12400K .......... .......... .......... .......... .......... 49% 175M 0s
12450K .......... .......... .......... .......... .......... 49% 175M 0s
12500K .......... .......... .......... .......... .......... 49% 183M 0s
12550K .......... .......... .......... .......... .......... 49% 166M 0s
12600K .......... .......... .......... .......... .......... 49% 34.7M 0s
12650K .......... .......... .......... .......... .......... 50% 28.5M 0s
12700K .......... .......... .......... .......... .......... 50% 198M 0s
12750K .......... .......... .......... .......... .......... 50% 34.3M 0s
12800K .......... .......... .......... .......... .......... 50% 62.0M 0s
12850K .......... .......... .......... .......... .......... 50% 295M 0s
12900K .......... .......... .......... .......... .......... 51% 203M 0s
12950K .......... .......... .......... .......... .......... 51% 292M 0s
13000K .......... .......... .......... .......... .......... 51% 81.1M 0s
13050K .......... .......... .......... .......... .......... 51% 37.4M 0s
13100K .......... .......... .......... .......... .......... 51% 63.0M 0s
13150K .......... .......... .......... .......... .......... 52% 277M 0s
13200K .......... .......... .......... .......... .......... 52% 145M 0s
13250K .......... .......... .......... .......... .......... 52% 223M 0s
13300K .......... .......... .......... .......... .......... 52% 225M 0s
13350K .......... .......... .......... .......... .......... 52% 235M 0s
13400K .......... .......... .......... .......... .......... 53% 321M 0s
13450K .......... .......... .......... .......... .......... 53% 37.0M 0s
13500K .......... .......... .......... .......... .......... 53% 117M 0s
13550K .......... .......... .......... .......... .......... 53% 307M 0s
13600K .......... .......... .......... .......... .......... 53% 179M 0s
13650K .......... .......... .......... .......... .......... 54% 63.0M 0s
13700K .......... .......... .......... .......... .......... 54% 29.3M 0s
13750K .......... .......... .......... .......... .......... 54% 163M 0s
13800K .......... .......... .......... .......... .......... 54% 286M 0s
13850K .......... .......... .......... .......... .......... 54% 53.9M 0s
13900K .......... .......... .......... .......... .......... 55% 265M 0s
13950K .......... .......... .......... .......... .......... 55% 283M 0s
14000K .......... .......... .......... .......... .......... 55% 322M 0s
14050K .......... .......... .......... .......... .......... 55% 311M 0s
14100K .......... .......... .......... .......... .......... 55% 165M 0s
14150K .......... .......... .......... .......... .......... 56% 207M 0s
14200K .......... .......... .......... .......... .......... 56% 281M 0s
14250K .......... .......... .......... .......... .......... 56% 247M 0s
14300K .......... .......... .......... .......... .......... 56% 253M 0s
14350K .......... .......... .......... .......... .......... 56% 53.1M 0s
14400K .......... .......... .......... .......... .......... 57% 27.1M 0s
14450K .......... .......... .......... .......... .......... 57% 43.9M 0s
14500K .......... .......... .......... .......... .......... 57% 268M 0s
14550K .......... .......... .......... .......... .......... 57% 205M 0s
14600K .......... .......... .......... .......... .......... 57% 256M 0s
14650K .......... .......... .......... .......... .......... 58% 57.7M 0s
14700K .......... .......... .......... .......... .......... 58% 41.6M 0s
14750K .......... .......... .......... .......... .......... 58% 315M 0s
14800K .......... .......... .......... .......... .......... 58% 341M 0s
14850K .......... .......... .......... .......... .......... 58% 216M 0s
14900K .......... .......... .......... .......... .......... 59% 190M 0s
14950K .......... .......... .......... .......... .......... 59% 172M 0s
15000K .......... .......... .......... .......... .......... 59% 198M 0s
15050K .......... .......... .......... .......... .......... 59% 305M 0s
15100K .......... .......... .......... .......... .......... 59% 320M 0s
15150K .......... .......... .......... .......... .......... 60% 135M 0s
15200K .......... .......... .......... .......... .......... 60% 167M 0s
15250K .......... .......... .......... .......... .......... 60% 192M 0s
15300K .......... .......... .......... .......... .......... 60% 309M 0s
15350K .......... .......... .......... .......... .......... 60% 253M 0s
15400K .......... .......... .......... .......... .......... 61% 33.4M 0s
15450K .......... .......... .......... .......... .......... 61% 336M 0s
15500K .......... .......... .......... .......... .......... 61% 156M 0s
15550K .......... .......... .......... .......... .......... 61% 171M 0s
15600K .......... .......... .......... .......... .......... 61% 318M 0s
15650K .......... .......... .......... .......... .......... 62% 309M 0s
15700K .......... .......... .......... .......... .......... 62% 190M 0s
15750K .......... .......... .......... .......... .......... 62% 303M 0s
15800K .......... .......... .......... .......... .......... 62% 147M 0s
15850K .......... .......... .......... .......... .......... 62% 196M 0s
15900K .......... .......... .......... .......... .......... 62% 185M 0s
15950K .......... .......... .......... .......... .......... 63% 252M 0s
16000K .......... .......... .......... .......... .......... 63% 32.8M 0s
16050K .......... .......... .......... .......... .......... 63% 114M 0s
16100K .......... .......... .......... .......... .......... 63% 252M 0s
16150K .......... .......... .......... .......... .......... 63% 211M 0s
16200K .......... .......... .......... .......... .......... 64% 304M 0s
16250K .......... .......... .......... .......... .......... 64% 306M 0s
16300K .......... .......... .......... .......... .......... 64% 237M 0s
16350K .......... .......... .......... .......... .......... 64% 15.1M 0s
16400K .......... .......... .......... .......... .......... 64% 282M 0s
16450K .......... .......... .......... .......... .......... 65% 273M 0s
16500K .......... .......... .......... .......... .......... 65% 320M 0s
16550K .......... .......... .......... .......... .......... 65% 260M 0s
16600K .......... .......... .......... .......... .......... 65% 222M 0s
16650K .......... .......... .......... .......... .......... 65% 238M 0s
16700K .......... .......... .......... .......... .......... 66% 67.9M 0s
16750K .......... .......... .......... .......... .......... 66% 240M 0s
16800K .......... .......... .......... .......... .......... 66% 311M 0s
16850K .......... .......... .......... .......... .......... 66% 233M 0s
16900K .......... .......... .......... .......... .......... 66% 313M 0s
16950K .......... .......... .......... .......... .......... 67% 102M 0s
17000K .......... .......... .......... .......... .......... 67% 294M 0s
17050K .......... .......... .......... .......... .......... 67% 155M 0s
17100K .......... .......... .......... .......... .......... 67% 241M 0s
17150K .......... .......... .......... .......... .......... 67% 179M 0s
17200K .......... .......... .......... .......... .......... 68% 182M 0s
17250K .......... .......... .......... .......... .......... 68% 142M 0s
17300K .......... .......... .......... .......... .......... 68% 299M 0s
17350K .......... .......... .......... .......... .......... 68% 208M 0s
17400K .......... .......... .......... .......... .......... 68% 251M 0s
17450K .......... .......... .......... .......... .......... 69% 46.7M 0s
17500K .......... .......... .......... .......... .......... 69% 221M 0s
17550K .......... .......... .......... .......... .......... 69% 197M 0s
17600K .......... .......... .......... .......... .......... 69% 336M 0s
17650K .......... .......... .......... .......... .......... 69% 206M 0s
17700K .......... .......... .......... .......... .......... 70% 385M 0s
17750K .......... .......... .......... .......... .......... 70% 273M 0s
17800K .......... .......... .......... .......... .......... 70% 202M 0s
17850K .......... .......... .......... .......... .......... 70% 141M 0s
17900K .......... .......... .......... .......... .......... 70% 287M 0s
17950K .......... .......... .......... .......... .......... 71% 141M 0s
18000K .......... .......... .......... .......... .......... 71% 252M 0s
18050K .......... .......... .......... .......... .......... 71% 20.9M 0s
18100K .......... .......... .......... .......... .......... 71% 224M 0s
18150K .......... .......... .......... .......... .......... 71% 314M 0s
18200K .......... .......... .......... .......... .......... 72% 239M 0s
18250K .......... .......... .......... .......... .......... 72% 280M 0s
18300K .......... .......... .......... .......... .......... 72% 165M 0s
18350K .......... .......... .......... .......... .......... 72% 225M 0s
18400K .......... .......... .......... .......... .......... 72% 313M 0s
18450K .......... .......... .......... .......... .......... 73% 159M 0s
18500K .......... .......... .......... .......... .......... 73% 190M 0s
18550K .......... .......... .......... .......... .......... 73% 215M 0s
18600K .......... .......... .......... .......... .......... 73% 253M 0s
18650K .......... .......... .......... .......... .......... 73% 274M 0s
18700K .......... .......... .......... .......... .......... 74% 56.6M 0s
18750K .......... .......... .......... .......... .......... 74% 37.3M 0s
18800K .......... .......... .......... .......... .......... 74% 28.2M 0s
18850K .......... .......... .......... .......... .......... 74% 43.4M 0s
18900K .......... .......... .......... .......... .......... 74% 304M 0s
18950K .......... .......... .......... .......... .......... 75% 257M 0s
19000K .......... .......... .......... .......... .......... 75% 352M 0s
19050K .......... .......... .......... .......... .......... 75% 219M 0s
19100K .......... .......... .......... .......... .......... 75% 158M 0s
19150K .......... .......... .......... .......... .......... 75% 208M 0s
19200K .......... .......... .......... .......... .......... 76% 114M 0s
19250K .......... .......... .......... .......... .......... 76% 352M 0s
19300K .......... .......... .......... .......... .......... 76% 324M 0s
19350K .......... .......... .......... .......... .......... 76% 104M 0s
19400K .......... .......... .......... .......... .......... 76% 330M 0s
19450K .......... .......... .......... .......... .......... 77% 317M 0s
19500K .......... .......... .......... .......... .......... 77% 318M 0s
19550K .......... .......... .......... .......... .......... 77% 168M 0s
19600K .......... .......... .......... .......... .......... 77% 34.5M 0s
19650K .......... .......... .......... .......... .......... 77% 32.0M 0s
19700K .......... .......... .......... .......... .......... 77% 250M 0s
19750K .......... .......... .......... .......... .......... 78% 373M 0s
19800K .......... .......... .......... .......... .......... 78% 356M 0s
19850K .......... .......... .......... .......... .......... 78% 217M 0s
19900K .......... .......... .......... .......... .......... 78% 311M 0s
19950K .......... .......... .......... .......... .......... 78% 173M 0s
20000K .......... .......... .......... .......... .......... 79% 149M 0s
20050K .......... .......... .......... .......... .......... 79% 306M 0s
20100K .......... .......... .......... .......... .......... 79% 182M 0s
20150K .......... .......... .......... .......... .......... 79% 108M 0s
20200K .......... .......... .......... .......... .......... 79% 27.7M 0s
20250K .......... .......... .......... .......... .......... 80% 32.3M 0s
20300K .......... .......... .......... .......... .......... 80% 285M 0s
20350K .......... .......... .......... .......... .......... 80% 317M 0s
20400K .......... .......... .......... .......... .......... 80% 57.9M 0s
20450K .......... .......... .......... .......... .......... 80% 88.2M 0s
20500K .......... .......... .......... .......... .......... 81% 322M 0s
20550K .......... .......... .......... .......... .......... 81% 269M 0s
20600K .......... .......... .......... .......... .......... 81% 329M 0s
20650K .......... .......... .......... .......... .......... 81% 250M 0s
20700K .......... .......... .......... .......... .......... 81% 190M 0s
20750K .......... .......... .......... .......... .......... 82% 38.1M 0s
20800K .......... .......... .......... .......... .......... 82% 26.2M 0s
20850K .......... .......... .......... .......... .......... 82% 114M 0s
20900K .......... .......... .......... .......... .......... 82% 257M 0s
20950K .......... .......... .......... .......... .......... 82% 235M 0s
21000K .......... .......... .......... .......... .......... 83% 309M 0s
21050K .......... .......... .......... .......... .......... 83% 188M 0s
21100K .......... .......... .......... .......... .......... 83% 306M 0s
21150K .......... .......... .......... .......... .......... 83% 207M 0s
21200K .......... .......... .......... .......... .......... 83% 39.5M 0s
21250K .......... .......... .......... .......... .......... 84% 49.7M 0s
21300K .......... .......... .......... .......... .......... 84% 309M 0s
21350K .......... .......... .......... .......... .......... 84% 317M 0s
21400K .......... .......... .......... .......... .......... 84% 212M 0s
21450K .......... .......... .......... .......... .......... 84% 243M 0s
21500K .......... .......... .......... .......... .......... 85% 170M 0s
21550K .......... .......... .......... .......... .......... 85% 191M 0s
21600K .......... .......... .......... .......... .......... 85% 331M 0s
21650K .......... .......... .......... .......... .......... 85% 158M 0s
21700K .......... .......... .......... .......... .......... 85% 119M 0s
21750K .......... .......... .......... .......... .......... 86% 38.8M 0s
21800K .......... .......... .......... .......... .......... 86% 302M 0s
21850K .......... .......... .......... .......... .......... 86% 219M 0s
21900K .......... .......... .......... .......... .......... 86% 258M 0s
21950K .......... .......... .......... .......... .......... 86% 154M 0s
22000K .......... .......... .......... .......... .......... 87% 254M 0s
22050K .......... .......... .......... .......... .......... 87% 163M 0s
22100K .......... .......... .......... .......... .......... 87% 250M 0s
22150K .......... .......... .......... .......... .......... 87% 24.6M 0s
22200K .......... .......... .......... .......... .......... 87% 38.3M 0s
22250K .......... .......... .......... .......... .......... 88% 258M 0s
22300K .......... .......... .......... .......... .......... 88% 314M 0s
22350K .......... .......... .......... .......... .......... 88% 275M 0s
22400K .......... .......... .......... .......... .......... 88% 202M 0s
22450K .......... .......... .......... .......... .......... 88% 210M 0s
22500K .......... .......... .......... .......... .......... 89% 295M 0s
22550K .......... .......... .......... .......... .......... 89% 131M 0s
22600K .......... .......... .......... .......... .......... 89% 61.4M 0s
22650K .......... .......... .......... .......... .......... 89% 55.4M 0s
22700K .......... .......... .......... .......... .......... 89% 282M 0s
22750K .......... .......... .......... .......... .......... 90% 331M 0s
22800K .......... .......... .......... .......... .......... 90% 214M 0s
22850K .......... .......... .......... .......... .......... 90% 198M 0s
22900K .......... .......... .......... .......... .......... 90% 327M 0s
22950K .......... .......... .......... .......... .......... 90% 218M 0s
23000K .......... .......... .......... .......... .......... 91% 312M 0s
23050K .......... .......... .......... .......... .......... 91% 165M 0s
23100K .......... .......... .......... .......... .......... 91% 37.7M 0s
23150K .......... .......... .......... .......... .......... 91% 86.9M 0s
23200K .......... .......... .......... .......... .......... 91% 224M 0s
23250K .......... .......... .......... .......... .......... 92% 217M 0s
23300K .......... .......... .......... .......... .......... 92% 277M 0s
23350K .......... .......... .......... .......... .......... 92% 204M 0s
23400K .......... .......... .......... .......... .......... 92% 251M 0s
23450K .......... .......... .......... .......... .......... 92% 212M 0s
23500K .......... .......... .......... .......... .......... 93% 153M 0s
23550K .......... .......... .......... .......... .......... 93% 188M 0s
23600K .......... .......... .......... .......... .......... 93% 206M 0s
23650K .......... .......... .......... .......... .......... 93% 182M 0s
23700K .......... .......... .......... .......... .......... 93% 176M 0s
23750K .......... .......... .......... .......... .......... 93% 250M 0s
23800K .......... .......... .......... .......... .......... 94% 55.7M 0s
23850K .......... .......... .......... .......... .......... 94% 56.6M 0s
23900K .......... .......... .......... .......... .......... 94% 286M 0s
23950K .......... .......... .......... .......... .......... 94% 276M 0s
24000K .......... .......... .......... .......... .......... 94% 259M 0s
24050K .......... .......... .......... .......... .......... 95% 237M 0s
24100K .......... .......... .......... .......... .......... 95% 217M 0s
24150K .......... .......... .......... .......... .......... 95% 37.4M 0s
24200K .......... .......... .......... .......... .......... 95% 38.7M 0s
24250K .......... .......... .......... .......... .......... 95% 205M 0s
24300K .......... .......... .......... .......... .......... 96% 286M 0s
24350K .......... .......... .......... .......... .......... 96% 297M 0s
24400K .......... .......... .......... .......... .......... 96% 226M 0s
24450K .......... .......... .......... .......... .......... 96% 64.6M 0s
24500K .......... .......... .......... .......... .......... 96% 44.8M 0s
24550K .......... .......... .......... .......... .......... 97% 270M 0s
24600K .......... .......... .......... .......... .......... 97% 271M 0s
24650K .......... .......... .......... .......... .......... 97% 288M 0s
24700K .......... .......... .......... .......... .......... 97% 321M 0s
24750K .......... .......... .......... .......... .......... 97% 326M 0s
24800K .......... .......... .......... .......... .......... 98% 179M 0s
24850K .......... .......... .......... .......... .......... 98% 71.1M 0s
24900K .......... .......... .......... .......... .......... 98% 28.0M 0s
24950K .......... .......... .......... .......... .......... 98% 142M 0s
25000K .......... .......... .......... .......... .......... 98% 303M 0s
25050K .......... .......... .......... .......... .......... 99% 240M 0s
25100K .......... .......... .......... .......... .......... 99% 217M 0s
25150K .......... .......... .......... .......... .......... 99% 303M 0s
25200K .......... .......... .......... .......... .......... 99% 309M 0s
25250K .......... .......... .......... .......... .......... 99% 268M 0s
25300K .......... .......... .. 100% 363M=0.3s
2026-05-01 18:06:44 (93.5 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-05-01 18:06:45,437 | synference | INFO | Number of parameters: 8
2026-05-01 18:06:45,437 | synference | INFO | Number of observations: 20
2026-05-01 18:06:45,438 | synference | INFO | Num rows in parameter library: 1380
2026-05-01 18:06:45,440 | synference | INFO | Num rows in observation library: 1380
2026-05-01 18:06:45,451 | synference | INFO | Library saved to ./library_SPHINX_JWST.h5
[7]:
<synference.library.LibraryCreator at 0x7fcddd71d3f0>
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.