The arXiv preprint indicates that 20 x 20 pixel cutouts should be downloaded for SPIFF processing. This is a REALLY good idea.
The current version is downloading a full 2040 x 2040 level 2 image, size 68.3 MB:
[batch 266/266] exposure (exp=2.0s)
-> resolving access URL: https://irsa.ipac.caltech.edu/ibe/data/spherex/qr2/level2/2026W05_2A/l2b-v23-2026-034/4/level2_2026W05_2A_0350_2D4_spx_l2b-v23-2026-034.fits
-> direct FITS URL from discovery result (no DataLink resolve needed)
-> downloading FITS: https://irsa.ipac.caltech.edu/ibe/data/spherex/qr2/level2/2026W05_2A/l2b-v23-2026-034/4/level2_2026W05_2A_0350_2D4_spx_l2b-v23-2026-034.fits
The FITS header from this image for the first HDU:
HDU number = 2
XTENSION= 'IMAGE ' / Image extension
BITPIX = -32 / array data type
NAXIS = 2 / number of array dimensions
NAXIS1 = 2040
NAXIS2 = 2040
PCOUNT = 0 / number of parameters
GCOUNT = 1 / number of groups
EXTNAME = 'IMAGE ' / extension name
EXTTYPE = 'IMAGE ' / Extension supports mask overlay
BUNIT = 'MJy / sr' / Unit of pixel value
DETECTOR= 4 / 1-3: SWIR, 4-6: MWIR
OBSID = '2026W05_2A_0350_2' / Observation ID
EXPIDN = 202605201035024 / Integer Exposure ID
DATE = '2026-02-03T19:04:20.243' / HDU creation time (UTC)
TSAMP = 1.5349 / [s] Interval between pixel readouts (frame)
KOVR_A = 15000 / [adu] Overflow detection limit, active pixels
KOVR_R = 15000 / [adu] Overflow detection limit, ref pixels
KOVR_P = 15000 / [adu] Overflow detection limit, phantom pixels
OVRDLY = 5 / threshold for overflow error flag
SURLIM = 77 / Number of frames detector accumulated charge
SURDLY = 3 / Frame count when SUR sums accumulation begins
TRANDLY = 7 / Frame count when transient detection begins
TCUT = 38 / threshold for transient error flag
KEN_A = 20000 / Transient white noise threshold, active pixels
KEN_R = 10000 / Transient white noise threshold, ref pixels
KEN_P = 500 / Transient white noise threshold, phantom pixels
KSN_A = 100 / Transient shot noise threshold, active pixels
KSN_R = 0 / Transient shot noise threshold, ref pixels
KSN_P = 0 / Transient shot noise threshold, phantom pixels
NSKIP = 32 / Number of rows skipped after a full row is read
HIERARCH NVISITROW = 4 / Number of visits to each reference row
HIERARCH NVISITCOL = 1 / Number of visits to each reference col
MPHAN = 4 / Number of phantom columns reads
NCHANNEL= 32 / Number of readout channels
WCHANNEL= 64 / Number of columns in each readout channel
JREF = 8 / Number of physical reference rows on H2RG
KREF = 8 / Number of physical reference cols on H2RG
JACTIVE = 2040 / Number of light-sensitive pixel rows
KACTIVE = 2040 / Number of light-sensitive pixel cols
HIERARCH SPS_TARGET = 75228 / Target ID assigned by Survey Planning
HIERARCH SPS_FLAGS = 'all_sky ' / Flags defined by Survey Planning
HIERARCH OBS_IN_SBAND = 'False ' / Observed during S-band transmission
HIERARCH NON_SURVEY = 'False ' / Observation is not part of a science survey
HIERARCH SGT_LAT_MIDPT = 22.860806 / [deg] Ground track latitude at midpoint
HIERARCH SGT_LON_MIDPT = 192.946036 / [deg] Ground track longitude at midpoint
HIERARCH SGT_MIN_GCD2SAA = 80.924705 / [deg] Closest ground track dist to SAA
SPS_ELON= 43.333333 / [deg] Ecliptic longitude of planned telescope boresight
SPS_ELAT= 8.614002 / [deg] Ecliptic latitude of planned telescope boresight
SPS_EPA = 180.000000 / [deg] PA of FP y axis at planned boresight, E of ecl N
L1DQAFLG= 'Pass ' / L1 DQA outcome
RADESYS = 'ICRS ' / Equatorial coordinate system
HIERARCH X_SC_START = 4654.413533814174 / [km] Exposure START x position
HIERARCH Y_SC_START = 4226.499649326217 / [km] Exposure START y position
HIERARCH Z_SC_START = 3144.331558116159 / [km] Exposure START z position
HIERARCH VX_SC_START = 3.2410806756244366 / [km/s] Exposure START v_x velocity
HIERARCH VY_SC_START = 1.3873331321185074 / [km/s] Exposure START v_y velocity
HIERARCH VZ_SC_START = -6.654118009549142 / [km/s] Exposure START v_z velocity
HIERARCH XYZ_SC_SYSTEM = 'GEOCENTER' / Reference frame for spacecraft position (
HIERARCH VXYZ_SC_SYSTEM = 'GEOCENTER' / Reference frame for spacecraft velocity
X_SC = 4831.800158019826 / [km] Exposure MID x position
Y_SC = 4298.193642077697 / [km] Exposure MID y position
Z_SC = 2756.053891325922 / [km] Exposure MID z position
VX_SC = 2.9280397258488167 / [km/s] Exposure MID v_x velocity
VY_SC = 1.1060219286888124 / [km/s] Exposure MID v_y velocity
VZ_SC = -6.849355324888593 / [km/s] Exposure MID v_z velocity
X_SC_END= 4993.486511766081 / [km] Exposure END x position
Y_SC_END= 4354.4126417494135 / [km] Exposure END y position
Z_SC_END= 2350.2159936018193 / [km] Exposure END z position
HIERARCH VX_SC_END = 2.59804686565944 / [km/s] Exposure END v_x velocity
HIERARCH VY_SC_END = 0.8154148673514741 / [km/s] Exposure END v_y velocity
HIERARCH VZ_SC_END = -7.021319113718867 / [km/s] Exposure END v_z velocity
MAXBLMLP= 15 / Maximum number of loops for regular bloom
NBLMPIX = 1886 / Number of Pixels Bloom Flag
NHALOPIX= 448 / Number of Pixels Halo Flag
NSNOWPIX= 73 / Number of Pixels Snowball Flag
HIERARCH L2 N_NONLINEAR = 0 / number of pixels flagged nonlinear
PSTHRESH= 0.1 / [electron/s] persistence threshold
HIERARCH L2 N_PERSIST = 2755 / number of pixels flagged persist
DETCOORD= 'sky ' / MWIR pixels flipped on X to match SWIR view
HIERARCH L2 N_HOT = 1 / number of pixels flagged hot
HIERARCH L2 N_COLD = 1788 / number of pixels flagged cold
HIERARCH L2 N_TRAN_NB = 11537 / number of not bad transient pixels
HIERARCH L2 N_PERS_NB = 2755 / number of persistence and not bad pixels
HIERARCH OMEGA_MEDIAN = 37.930838577371205 / [arcsec2] solid angle pixel map
HIERARCH OMEGA_STDDEV = 0.2008362830183176 / [arcsec2] solid angle pixel map
FINAST = 0 / good fine-astrometric solution
WCSAXES = 2 / Number of coordinate axes
CRPIX1 = 1020.5 / Pixel coordinate of reference point
CRPIX2 = 1020.5 / Pixel coordinate of reference point
PC1_1 = 0.00160220122292 / Coordinate transformation matrix element
PC1_2 = 0.000542717903615 / Coordinate transformation matrix element
PC2_1 = 0.000605742171105 / Coordinate transformation matrix element
PC2_2 = -0.00162144754561 / Coordinate transformation matrix element
CDELT1 = 1.0 / [deg] Coordinate increment at reference point
CDELT2 = 1.0 / [deg] Coordinate increment at reference point
CUNIT1 = 'deg' / Units of coordinate increment and value
CUNIT2 = 'deg' / Units of coordinate increment and value
CTYPE1 = 'RA---TAN-SIP' / TAN (gnomonic) projection + SIP distortions
CTYPE2 = 'DEC--TAN-SIP' / TAN (gnomonic) projection + SIP distortions
CRVAL1 = 34.1178976174 / [deg] Coordinate value at reference point
CRVAL2 = 22.7632652111 / [deg] Coordinate value at reference point
LONPOLE = 180.0 / [deg] Native longitude of celestial pole
LATPOLE = 22.7632652111 / [deg] Native latitude of celestial pole
DAXIS = 0.9441445863849456
HIERARCH CONTRAST = 75.0
HIERARCH MATCH_NSTARS = 1435
HIERARCH QS_NMATCH_VAR = 0.028123884991947148
HIERARCH ASTRONETSOLVED = T
PXSRCMSK= 40.43 / Percentage of pixels with SOURCE flag
HIERARCH L2 N_SOURCE = 1682616 / number of source flagged pixels
HIERARCH L2 N_GHOST = 0 / number of ghost flagged pixels
HIERARCH L2 N_GHOST_FPA = 0 / number of ghost_fpa flagged pixels
HIERARCH L2 N_GHOST_EXT = 0 / number of ghost_ext flagged pixels
HIERARCH L2 N_BLOOM_NS = 0 / number of BLOOM flagged pixels not flagged SOURCE
HIERARCH L2 N_SNOW_NS = 48 / number of SNOW flagged pixels not flagged SOURCE
HIERARCH L2 N_OUTLIER = 88020 / number of flagged outlier pixels
PSF_FWHM= 6.104327827908309 / [arcsec] PSF FWHM Median
L2DQAFLG= 'Pass ' / L2 DQA outcome
HIERARCH L2 N_TRANSIENT = 21662 / number of flagged transient pixels
HIERARCH L2 N_OVERFLOW = 2826 / number of flagged overflow pixels
HIERARCH L2 N_SUR_ERROR = 18546 / number of flagged sur error pixels
HIERARCH L2 N_NONFUNC = 22468 / number of flagged nonfunctional pixels
HIERARCH L2 N_DICHROIC = 112375 / number of flagged pixels due to low efficiency
HIERARCH L2 N_MISSING = 0 / number of flagged pixels with missing data
HIERARCH L2 N_FULLSAMPLE = 240 / number of flagged full-sample pixels
HIERARCH L2 N_PHANMISS = 0 / number of flagged phanmiss pixels
HIERARCH REFCAT.VERSION = 'SPHEREx_RefCat_v0.73' / Reference catalog version
A_ORDER = 3 / SIP polynomial order, axis 0, detector to sky
A_0_0 = 0.259695076177 / SIP distortion coefficient
A_0_1 = -0.000122106551272 / SIP distortion coefficient
A_0_2 = -1.42539742632E-06 / SIP distortion coefficient
A_0_3 = -3.37956203586E-11 / SIP distortion coefficient
A_1_0 = -0.000556511729632 / SIP distortion coefficient
A_1_1 = 4.22741406114E-06 / SIP distortion coefficient
A_1_2 = 6.53682837613E-10 / SIP distortion coefficient
A_2_0 = -1.59515097969E-06 / SIP distortion coefficient
A_2_1 = -1.66833118294E-10 / SIP distortion coefficient
A_3_0 = 5.61295454778E-10 / SIP distortion coefficient
B_ORDER = 3 / SIP polynomial order, axis 1, detector to sky
B_0_0 = -1.1165932826 / SIP distortion coefficient
B_0_1 = 0.000311839321031 / SIP distortion coefficient
B_0_2 = 1.92906005992E-06 / SIP distortion coefficient
B_0_3 = 3.40600710473E-10 / SIP distortion coefficient
B_1_0 = 3.52183662628E-05 / SIP distortion coefficient
B_1_1 = -7.53060990561E-07 / SIP distortion coefficient
B_1_2 = -1.35621925929E-10 / SIP distortion coefficient
B_2_0 = 6.74298628216E-06 / SIP distortion coefficient
B_2_1 = 6.85491127328E-10 / SIP distortion coefficient
B_3_0 = -3.28791417142E-11 / SIP distortion coefficient
AP_ORDER= 3 / SIP polynomial order, axis 0, sky to detector
AP_0_0 = -0.257420274663 / SIP distortion coefficient
AP_0_1 = 0.0001267273563 / SIP distortion coefficient
AP_0_2 = 1.41864600304E-06 / SIP distortion coefficient
AP_0_3 = 2.17978483755E-11 / SIP distortion coefficient
AP_1_0 = 0.000550227692404 / SIP distortion coefficient
AP_1_1 = -4.21105550686E-06 / SIP distortion coefficient
AP_1_2 = -6.18847480899E-10 / SIP distortion coefficient
AP_2_0 = 1.58849379907E-06 / SIP distortion coefficient
AP_2_1 = 1.23252325356E-10 / SIP distortion coefficient
AP_3_0 = -5.26896623201E-10 / SIP distortion coefficient
BP_ORDER= 3 / SIP polynomial order, axis 1, sky to detector
BP_0_0 = 1.11135338895 / SIP distortion coefficient
BP_0_1 = -0.000317042488536 / SIP distortion coefficient
BP_0_2 = -1.91597820408E-06 / SIP distortion coefficient
BP_0_3 = -3.30430073739E-10 / SIP distortion coefficient
BP_1_0 = -3.05986764618E-05 / SIP distortion coefficient
BP_1_1 = 7.4401543967E-07 / SIP distortion coefficient
BP_1_2 = 1.08020537704E-10 / SIP distortion coefficient
BP_2_0 = -6.72894575108E-06 / SIP distortion coefficient
BP_2_1 = -5.98887236579E-10 / SIP distortion coefficient
BP_3_0 = 6.04056824172E-12 / SIP distortion coefficient
WCSAXESA= 2 / Number of coordinate axes
CRPIX1A = 1.0 / Pixel coordinate of reference point
CRPIX2A = 1.0 / Pixel coordinate of reference point
CDELT1A = 1.0 / [pixel] Coordinate increment at reference point
CDELT2A = 1.0 / [pixel] Coordinate increment at reference point
CUNIT1A = 'pixel' / Units of coordinate increment and value
CUNIT2A = 'pixel' / Units of coordinate increment and value
CTYPE1A = 'LINEAR' / Coordinate type code
CTYPE2A = 'LINEAR' / Coordinate type code
CRVAL1A = 0.0 / [pixel] Coordinate value at reference point
CRVAL2A = 0.0 / [pixel] Coordinate value at reference point
LATPOLEA= 90.0 / [deg] Native latitude of celestial pole
WCSNAMEA= '0-based active pixel coordinates' / Coordinate system title
TIMESYS = 'UTC' / Time scale
MJDREF = 0.0 / [d] MJD of fiducial time
DATE-OBS= '2026-01-31T05:13:17.421' / ISO-8601 time of observation
MJD-OBS = 61071.217562743 / [d] MJD of observation
DATE-BEG= '2026-01-31T05:13:17.421' / ISO-8601 time at start of observation
MJD-BEG = 61071.217562743 / [d] MJD at start of observation
DATE-AVG= '2026-01-31T05:14:14.980' / ISO-8601 time at midpoint of observation
MJD-AVG = 61071.218228932 / [d] MJD at midpoint of observation
DATE-END= '2026-01-31T05:15:12.539' / ISO-8601 time at end of observation
MJD-END = 61071.218895122 / [d] MJD at end of observation
XPOSURE = 113.5826 / [s] Exposure (integration) time
TELAPSE = 118.1873 / [s] Elapsed time (start to stop)
WCSAXESW= 2 / Two output axes: wavelength and bandwidth
WCSNAMEW= 'Approximated per-pixel wavelength and bandwidth' / WCS label
CNAME1W = 'Wavelength' / First output axis is central wavelength
CNAME2W = 'Bandwidth' / Second output axis is bandwidth
CRPIX1W = 1 / Lookup table is in raw FITS coordinates
CRPIX2W = 1 / Lookup table is in raw FITS coordinates
CDELT1W = 1 / [pixel] Lookup table is in raw FITS coordinates
CDELT2W = 1 / [pixel] Lookup table is in raw FITS coordinates
CUNIT1W = 'um ' / Wavelength is reported in microns
CUNIT2W = 'um ' / Bandpass is reported in microns
CTYPE1W = 'WAVE-TAB' / Bilinear lookup table, FITS Paper 3, Sect 6.1
CTYPE2W = 'WAVE-TAB' / Bilinear lookup table, FITS Paper 3, Sect 6.1
CRVAL1W = 1 / [pixel] Lookup table is in raw FITS coordinates
CRVAL2W = 1 / [pixel] Lookup table is in raw FITS coordinates
PV1_3W = 1 / Index of wavelength in VALUES array
PV2_3W = 2 / Index of bandwidth in VALUES array
PS1_0W = 'WCS-WAVE' / Extension with wavelength lookup table
PS2_0W = 'WCS-WAVE' / Extension with bandwidth lookup table
PS1_1W = 'VALUES ' / Column with values for wavelength
PS2_1W = 'VALUES ' / Column with values for bandwidth
PS1_2W = 'X ' / Column with control points for detector in X
PS2_2W = 'Y ' / Column with control points for detector in Y
COMMENT TELAPSE ends at MJD-END, starts prior to MJD-BEG:
COMMENT includes discarded frames
COMMENT XPOSURE is the scientifically meaningful exposure time:
COMMENT the time between the start and end of collecting data that
COMMENT contributes to the photocurrent
HISTORY GDS Image Association, SSDC-MS-002 v2.1.1
HISTORY Estimate Coarse Astrometry, SSDC-MS-003 v2.4
HISTORY Convert to Engineering Units, SSDC-MS-005 v3.2
HISTORY Correct Preamplifier, SSDC-MS-006 v1.5
HISTORY Create Image Data Files, SSDC-MS-007 v1.2.1
HISTORY Perform Data Quality Assessment for Level 1, SSDC-MS-009 v1.3
HISTORY [CALIB] dichroic 156fadbc-131d-4561-a63e-a7a99971d383
HISTORY [CALIB] gain_factors 74478304-abf1-4a9c-9eb2-926090a84446
HISTORY [CALIB] initial_distortion_table f34a9ef8-e81a-4c7d-8322-e7da6e458ef9
HISTORY [CALIB] nonfunc 019b2942-3cad-7a1a-911e-7beac6326a2c
HISTORY [CALIB] spectral_wcs 4cf935ad-6e0a-4075-a642-198bc6a728e6
HISTORY GDS Image Association, SSDC-MS-002 v2.1.1
HISTORY Source blooming and cosmic ray halo flagging, SSDC-MS-0011 v1
HISTORY Correct Non-Linearity, SSDC-MS-010 v3.2
HISTORY Create Variance Map, SSDC-MS-011 v4.2
HISTORY Update Persistence Mask, SSDC-MS-012 v2.2.1
HISTORY [CALIB] gain_factors 74478304-abf1-4a9c-9eb2-926090a84446
HISTORY [CALIB] nonlinear_pars cc55b49f-e797-4f36-811d-9651c7ceb446
HISTORY [CALIB] readnoise_pars 6a836212-775d-4e9f-ac6f-a0b2dbf61601
HISTORY Apply Bad Pixel Mask, SSDC-MS-013 v1.1
HISTORY Apply Flat Field and Photometric Calibration, SSDC-MS-014 v1.5
HISTORY Estimate Fine Astrometry, SSDC-MS-016 v2.5
HISTORY Create Source Mask, SSDC-MS-019 v3.4
HISTORY Detect Outlier Pixels, SSDC-MS-020 v1.4
HISTORY Get Zodi Model, SSDC-MS-022 v2.3
HISTORY Measure Per-Exposure PSF, SSDC-MS-023 v3.3
HISTORY Create Spectral Image, SSDC-MS-024 v2.2
HISTORY Perform Data Quality Assessment for Level 2, SSDC-MS-025 v1.4
HISTORY [CALIB] abs_gain_matrix 8c6c4b22-c49a-47c9-8e97-95dff59cdd48
HISTORY [CALIB] average_psf d53ad673-a5d0-47b2-b5b9-b32fce701ef4
HISTORY [CALIB] dark d2f2d7f9-6ba0-41bd-82d4-e1d7e086bd09
HISTORY [CALIB] sip 019b232f-4950-72d9-959b-83241fef59a9
HISTORY [CALIB] spectral_wcs 4cf935ad-6e0a-4075-a642-198bc6a728e6
END
The full command window status printout for the last image:
[batch 266/266] exposure (exp=2.0s)
-> resolving access URL: https://irsa.ipac.caltech.edu/ibe/data/spherex/qr2/level2/2026W05_2A/l2b-v23-2026-034/4/level2_2026W05_2A_0350_2D4_spx_l2b-v23-2026-034.fits
-> direct FITS URL from discovery result (no DataLink resolve needed)
-> downloading FITS: https://irsa.ipac.caltech.edu/ibe/data/spherex/qr2/level2/2026W05_2A/l2b-v23-2026-034/4/level2_2026W05_2A_0350_2D4_spx_l2b-v23-2026-034.fits
[batch] Download backend: s3 (bucket=nasa-irsa-spherex, cutout=on, cutout_size_px=20, expand_on_masked=on, retry_size_px=64)
[batch] S3 download: bucket=nasa-irsa-spherex key=qr2/level2/2026W05_2A/l2b-v23-2026-034/4/level2_2026W05_2A_0350_2D4_spx_l2b-v23-2026-034.fits
[batch] S3 cutout wrote local FITS: x=[1978:1998) y=[3:23) size=20x20px
[batch] Download attempt 1/15 succeeded in 52.44s (downloader=s3, timeout=10000s, curl_resume=False)
-> source: DataLink (access_url) resolved to FITS
-> saved to C:\Users\tjask\AppData\Local\Temp\spherex_dl_n8mm3g37.fits (20.70 MB)
-> warning: could not read header metadata: ufunc 'isfinite' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
-> epoch-adjusted input coords: RA=35.219920620 deg, Dec=24.962390000 deg (MJD=61071.218228932)
-> ref: RA=35.219920620 deg, Dec=24.962390000 deg, epoch=2016.0, pmRA*=0.0 mas/yr, pmDec=0.0 mas/yr
[batch] Launching analyzer directly in-process
PSF cube shape: (121, 101, 101)
PSF CDELT=0.615 arcsec (high-res), OVERSAMP=10, => detector pixel ~ 6.150 arcsec
Image header OMEGA_MEDIAN=37.931 arcsec^2 (=> 6.159 arcsec on a side)
Pixel solid angle (median) ~ 8.915e-10 sr
PSF pixel-sum check @ idx=60: sum≈1 (expect ~1 on det grid)
Loaded image with shape: (20, 20)
Loaded flags shape: (20, 20) variance shape: (20, 20)
WCS-WAVE table loaded: X_grid len=13, Y_grid len=20, VALUES raw shape=(20, 13, 2)
Target sky coords (deg): RA=35.21992062, Dec=24.96239000
Target pixel (full image): x=10.115, y=10.258
[flags] Per-bit counts on FULL 15x15 (mask_full):
SUR_ERROR : 1 px ( 0.44%)
NONFUNC : 2 px ( 0.89%)
MISSING_DATA: 0 px ( 0.00%)
HOT : 0 px ( 0.00%)
COLD : 1 px ( 0.44%)
NONLINEAR : 0 px ( 0.00%)
PERSIST : 0 px ( 0.00%)
total pixels: 225
[flags] Per-bit counts on FULL 15x15 (mask_full_bcg):
OVERFLOW : 0 px ( 0.00%)
SUR_ERROR : 1 px ( 0.44%)
NONFUNC : 2 px ( 0.89%)
MISSING_DATA: 0 px ( 0.00%)
HOT : 0 px ( 0.00%)
COLD : 1 px ( 0.44%)
NONLINEAR : 0 px ( 0.00%)
PERSIST : 0 px ( 0.00%)
SOURCE : 78 px ( 34.67%)
OUTLIER : 3 px ( 1.33%)
TRANSIENT : 1 px ( 0.44%)
total pixels: 225
Pixels with SOURCE or OUTLIER flag in cutout: 81 (kept for fit)
[bcg] Background (median of unmasked) = 0.25201 [MJy/sr] using box 15×15 (good px=142)
Background (median of unmasked) = 0.25201 [MJy/sr]
Unmasked pixels: 223 / 225
dx,dy prior half-width set to ±0.820 px (from 10× centroid σ; clipped to [0.2, 1.0], min 0.5)
=== Aperture photometry (model-free) ===
r=1.0 px: Npix= 3 flux=0.1191 MJy/sr σ=0.0291 S/N=4.10 xcen=7.13 ycen=7.15
r=1.1 px: Npix= 3 flux=0.1191 MJy/sr σ=0.0291 S/N=4.10 xcen=7.13 ycen=7.15
r=1.2 px: Npix= 5 flux=0.1362 MJy/sr σ=0.0366 S/N=3.72 xcen=7.12 ycen=7.20
r=1.3 px: Npix= 6 flux=0.19 MJy/sr σ=0.0405 S/N=4.69 xcen=7.08 ycen=6.86
r=1.4 px: Npix= 7 flux=0.2248 MJy/sr σ=0.0437 S/N=5.14 xcen=6.92 ycen=7.04
r=1.5 px: Npix= 7 flux=0.2248 MJy/sr σ=0.0437 S/N=5.14 xcen=6.92 ycen=7.04
r=1.6 px: Npix= 8 flux=0.2126 MJy/sr σ=0.0466 S/N=4.56 xcen=6.85 ycen=7.09
r=1.7 px: Npix= 9 flux=0.2525 MJy/sr σ=0.0493 S/N=5.12 xcen=6.72 ycen=6.92
r=1.8 px: Npix= 10 flux=0.259 MJy/sr σ=0.0517 S/N=5.01 xcen=6.72 ycen=6.97
r=1.9 px: Npix= 10 flux=0.259 MJy/sr σ=0.0517 S/N=5.01 xcen=6.72 ycen=6.97
r=2.0 px: Npix= 12 flux=0.2805 MJy/sr σ=0.0565 S/N=4.97 xcen=6.89 ycen=6.99
r=2.2 px: Npix= 15 flux=0.3118 MJy/sr σ=0.0628 S/N=4.96 xcen=6.88 ycen=7.20
r=2.5 px: Npix= 20 flux=0.2816 MJy/sr σ=0.0719 S/N=3.92 xcen=6.83 ycen=7.38
r=2.7 px: Npix= 22 flux=0.2605 MJy/sr σ=0.0752 S/N=3.47 xcen=6.37 ycen=6.87
r=3.0 px: Npix= 29 flux=0.2972 MJy/sr σ=0.086 S/N=3.46 xcen=6.81 ycen=7.07
r=3.5 px: Npix= 40 flux=0.4668 MJy/sr σ=0.101 S/N=4.61 xcen=6.15 ycen=6.79
r=4.0 px: Npix= 51 flux=0.5 MJy/sr σ=0.114 S/N=4.37 xcen=5.71 ycen=6.94
r=5.0 px: Npix= 77 flux=0.6377 MJy/sr σ=0.14 S/N=4.55 xcen=4.96 ycen=6.77
-> Selected r=1.40 px: flux=0.2248 MJy/sr (≈ 200 µJy), σ≈0.0437 MJy/sr (≈ 39 µJy), S/N≈5.14
Centroid (cutout frame): x=6.915 ± 0.082 px, y=7.035 ± 0.082 px [CRLB approx]
Centroid (RA,Dec): (35.21943409, 24.96263640) deg
[WCS-WAVE] Aperture (COM): λ=3.84652 ± 0.00007 µm ; width=0.10026 ± 0.00000 µm
Fit window shape: (11, 11) (y:[2:13), x:[2:13))
Fit radius = 4.0 px -> used pixels: 51 / 121
Cutout bbox (x:[3:18), y:[3:18)) size=(15x15)
Selected PSF index: 0 / 120
Zone center of selected PSF: x=93.227, y=93.227
Distance from target to PSF zone center: 117.437 px
PSF oversampling factor (OVERSAMP) = 10
[PSF norm] detector-grid PSF sum = 1 (should be ~1 if PSF were unit-normalized)
[note] We do NOT renormalize the PSF; instead we account for its discrete sum ΣPSF_det when converting the fitted amplitude [MJy/sr] to integrated flux [Jy].
PSF high-res crop pixel-sum ≈ 1 ; detector-grid pixel-sum ≈ 1 (expect ~1)
psf_cut0 stats: sum=1, max=0.403878, center=0.403878
[Init seeds] Starting SciPy at the fit-window center: dx0=0.000, dy0=0.000
[SciPy warm start] chi2=78.125 -> flux0=0.20592 MJy/sr, dx0=0.000, dy0=0.000
[SciPy warm start] integrated flux0 ≈ 184 µJy (Ω_pix=8.915e-10 sr; ΣPSF_det=1)
[SciPy warm start] center (fit window): x=5.115, y=5.258 px
[SciPy warm start] center (full 15x15): x=7.115, y=7.258 px
[SciPy warm start] RA,Dec errors via MC: σ_RA=2.904" , σ_Dec=2.375"
[SciPy warm start] center (RA,Dec): (35.21992062, 24.96239000) deg
[WCS-WAVE] SciPy PSF: λ=3.84635 ± 0.00070 µm ; width=0.10025 ± 0.00005 µm
[SciPy-only] Skipping UltraNest; using SciPy warm-start parameters.
[WCS-WAVE] SciPy-only PSF: λ=3.84635 ± 0.00068 µm ; width=0.10025 ± 0.00005 µm
[WCS-WAVE] Aperture (COM): λ=3.84652 ± 0.00007 µm ; width=0.10026 ± 0.00000 µm
-> appended to master CSV: results.csv
-> wrote per-image CSV: X:\Temp\runs\J022052_RA35.219921_DEC24.962390\figs\2026W05_2A_0350_2D4_202605201035024\result.csv
[LV2_ROW_JSON] {"target_name": "J022052", "reference_ra_deg": 35.21992062, "reference_dec_deg": 24.96239, "reference_crd_epoch_yr": 2016.0, "reference_pmra_masyr": 0.0, "reference_pmdec_masyr": 0.0, "input_ra_deg": 35.21992062, "input_dec_deg": 24.962390000000003, "fit_radius_px": 4.0, "box_size_bcg_subtract": 15, "fits_path": "C:\Users\tjask\AppData\Local\Temp\spherex_dl_n8mm3g37.fits", "access_url": "https://irsa.ipac.caltech.edu/ibe/data/spherex/qr2/level2/2026W05_2A/l2b-v23-2026-034/4/level2_2026W05_2A_0350_2D4_spx_l2b-v23-2026-034.fits", "fits_analysis_status": "ok", "fits_analysis_comment": "", "analyzer_stdout": "X:\Temp\runs\J022052_RA35.219921_DEC24.962390\figs\2026W05_2A_0350_2D4_202605201035024\analyzer_stdout.txt", "obs_collection": "spherex_qr2", "obsid": "2026W05_2A_0350_2", "bandpass": "D4", "expid": 202605201035024, "mjd_avg": 61071.218228932, "detector_id": 4, "psf_index": 0, "omega_sr": 8.915427606315559e-10, "px_scale_arcsec": 6.15, "near_cutout_edge": false, "near_detector_edge": false, "near_bcg_star": false, "n_pix_flagged_in_fit": 0, "n_pix_used_in_fit": 51, "n_pix_total_in_fit": 121, "ap_radius_px": 1.4, "ap_radius_forced": false, "ap_flux_MJysr": 0.2247994840145111, "ap_flux_MJysr_err": 0.043731674551963806, "ap_snr": 5.140427077572686, "ap_centroid_err_px": 0.08199917888009466, "ap_flux_uJy": 200.41835256684655, "ap_flux_uJy_err": 38.98865785709857, "ap_xcen_cutout": 7.115428901920447, "ap_ycen_cutout": 7.2582539367027366, "ap_xcen_fullim": 10.115428901920447, "ap_ycen_fullim": 10.258253936702737, "com_xcen_cutout": 6.915006047313416, "com_ycen_cutout": 7.03527950811207, "com_xcen_fullim": 9.915006047313415, "com_ycen_fullim": 10.035279508112069, "com_ra_deg": 35.21943409053017, "com_dec_deg": 24.962636399642292, "com_sep_as": 1.8188511671242695, "com_wv_um": 3.8465228044649367, "com_wv_width_um": 0.10025822679830772, "psf_scipy_method_used": "unknown", "psf_scipy_status": "CONVERGENCE: NORM_OF_PROJECTED_GRADIENT_<=_PGTOL", "psf_scipy_flux_MJysr": 0.2059204811378964, "psf_scipy_flux_MJysr_err": 0.02635782158565074, "psf_scipy_snr": 7.8125, "psf_scipy_flux_uJy": 183.58690328162558, "psf_scipy_flux_uJy_err": 23.499123620048078, "psf_scipy_dx": 0.0, "psf_scipy_dy": 0.0, "psf_scipy_xcen_cutout": 7.115428901920447, "psf_scipy_ycen_cutout": 7.2582539367027366, "psf_scipy_xcen_fullim": 10.115428901920447, "psf_scipy_ycen_fullim": 10.258253936702737, "psf_scipy_ra_deg": 35.21992061988045, "psf_scipy_ra_err_mas": 2632.358991215506, "psf_scipy_dec_deg": 24.9623899996936, "psf_scipy_dec_err_mas": 2374.738385532501, "psf_scipy_ra_dec_cov_mas2": 376856.97430106136, "psf_scipy_sep_as": 1.170034095503834e-06, "psf_scipy_wv_um": 3.8463468889337054, "psf_scipy_wv_um_err": 0.0007042246096602622, "psf_scipy_wv_width_um": 0.10024873118220795, "psf_scipy_wv_width_um_err": 5.002990905949452e-05, "psf_scipy_chi2": 78.12461853027344, "psf_scipy_dof": 48, "psf_un_flux_MJysr": null, "psf_un_flux_MJysr_err": null, "psf_un_snr": null, "psf_un_flux_uJy": null, "psf_un_flux_uJy_err": null, "psf_un_dx": null, "psf_un_dy": null, "psf_un_xcen_cutout": null, "psf_un_ycen_cutout": null, "psf_un_xcen_fullim": null, "psf_un_ycen_fullim": null, "psf_un_xcen_err": null, "psf_un_ycen_err": null, "psf_un_ra_deg": null, "psf_un_ra_err_mas": null, "psf_un_dec_deg": null, "psf_un_dec_err_mas": null, "psf_un_sep_as": null, "psf_un_ra_dec_cov_mas2": null, "psf_un_wv_um": null, "psf_un_wv_um_err": null, "psf_un_wv_width_um": null, "psf_un_wv_width_um_err": null, "psf_un_chi2": null, "psf_un_dof": null}
The arXiv preprint indicates that 20 x 20 pixel cutouts should be downloaded for SPIFF processing. This is a REALLY good idea.
The current version is downloading a full 2040 x 2040 level 2 image, size 68.3 MB:
[batch 266/266] exposure (exp=2.0s)
-> resolving access URL: https://irsa.ipac.caltech.edu/ibe/data/spherex/qr2/level2/2026W05_2A/l2b-v23-2026-034/4/level2_2026W05_2A_0350_2D4_spx_l2b-v23-2026-034.fits
-> direct FITS URL from discovery result (no DataLink resolve needed)
-> downloading FITS: https://irsa.ipac.caltech.edu/ibe/data/spherex/qr2/level2/2026W05_2A/l2b-v23-2026-034/4/level2_2026W05_2A_0350_2D4_spx_l2b-v23-2026-034.fits
The FITS header from this image for the first HDU:
HDU number = 2
XTENSION= 'IMAGE ' / Image extension
BITPIX = -32 / array data type
NAXIS = 2 / number of array dimensions
NAXIS1 = 2040
NAXIS2 = 2040
PCOUNT = 0 / number of parameters
GCOUNT = 1 / number of groups
EXTNAME = 'IMAGE ' / extension name
EXTTYPE = 'IMAGE ' / Extension supports mask overlay
BUNIT = 'MJy / sr' / Unit of pixel value
DETECTOR= 4 / 1-3: SWIR, 4-6: MWIR
OBSID = '2026W05_2A_0350_2' / Observation ID
EXPIDN = 202605201035024 / Integer Exposure ID
DATE = '2026-02-03T19:04:20.243' / HDU creation time (UTC)
TSAMP = 1.5349 / [s] Interval between pixel readouts (frame)
KOVR_A = 15000 / [adu] Overflow detection limit, active pixels
KOVR_R = 15000 / [adu] Overflow detection limit, ref pixels
KOVR_P = 15000 / [adu] Overflow detection limit, phantom pixels
OVRDLY = 5 / threshold for overflow error flag
SURLIM = 77 / Number of frames detector accumulated charge
SURDLY = 3 / Frame count when SUR sums accumulation begins
TRANDLY = 7 / Frame count when transient detection begins
TCUT = 38 / threshold for transient error flag
KEN_A = 20000 / Transient white noise threshold, active pixels
KEN_R = 10000 / Transient white noise threshold, ref pixels
KEN_P = 500 / Transient white noise threshold, phantom pixels
KSN_A = 100 / Transient shot noise threshold, active pixels
KSN_R = 0 / Transient shot noise threshold, ref pixels
KSN_P = 0 / Transient shot noise threshold, phantom pixels
NSKIP = 32 / Number of rows skipped after a full row is read
HIERARCH NVISITROW = 4 / Number of visits to each reference row
HIERARCH NVISITCOL = 1 / Number of visits to each reference col
MPHAN = 4 / Number of phantom columns reads
NCHANNEL= 32 / Number of readout channels
WCHANNEL= 64 / Number of columns in each readout channel
JREF = 8 / Number of physical reference rows on H2RG
KREF = 8 / Number of physical reference cols on H2RG
JACTIVE = 2040 / Number of light-sensitive pixel rows
KACTIVE = 2040 / Number of light-sensitive pixel cols
HIERARCH SPS_TARGET = 75228 / Target ID assigned by Survey Planning
HIERARCH SPS_FLAGS = 'all_sky ' / Flags defined by Survey Planning
HIERARCH OBS_IN_SBAND = 'False ' / Observed during S-band transmission
HIERARCH NON_SURVEY = 'False ' / Observation is not part of a science survey
HIERARCH SGT_LAT_MIDPT = 22.860806 / [deg] Ground track latitude at midpoint
HIERARCH SGT_LON_MIDPT = 192.946036 / [deg] Ground track longitude at midpoint
HIERARCH SGT_MIN_GCD2SAA = 80.924705 / [deg] Closest ground track dist to SAA
SPS_ELON= 43.333333 / [deg] Ecliptic longitude of planned telescope boresight
SPS_ELAT= 8.614002 / [deg] Ecliptic latitude of planned telescope boresight
SPS_EPA = 180.000000 / [deg] PA of FP y axis at planned boresight, E of ecl N
L1DQAFLG= 'Pass ' / L1 DQA outcome
RADESYS = 'ICRS ' / Equatorial coordinate system
HIERARCH X_SC_START = 4654.413533814174 / [km] Exposure START x position
HIERARCH Y_SC_START = 4226.499649326217 / [km] Exposure START y position
HIERARCH Z_SC_START = 3144.331558116159 / [km] Exposure START z position
HIERARCH VX_SC_START = 3.2410806756244366 / [km/s] Exposure START v_x velocity
HIERARCH VY_SC_START = 1.3873331321185074 / [km/s] Exposure START v_y velocity
HIERARCH VZ_SC_START = -6.654118009549142 / [km/s] Exposure START v_z velocity
HIERARCH XYZ_SC_SYSTEM = 'GEOCENTER' / Reference frame for spacecraft position (
HIERARCH VXYZ_SC_SYSTEM = 'GEOCENTER' / Reference frame for spacecraft velocity
X_SC = 4831.800158019826 / [km] Exposure MID x position
Y_SC = 4298.193642077697 / [km] Exposure MID y position
Z_SC = 2756.053891325922 / [km] Exposure MID z position
VX_SC = 2.9280397258488167 / [km/s] Exposure MID v_x velocity
VY_SC = 1.1060219286888124 / [km/s] Exposure MID v_y velocity
VZ_SC = -6.849355324888593 / [km/s] Exposure MID v_z velocity
X_SC_END= 4993.486511766081 / [km] Exposure END x position
Y_SC_END= 4354.4126417494135 / [km] Exposure END y position
Z_SC_END= 2350.2159936018193 / [km] Exposure END z position
HIERARCH VX_SC_END = 2.59804686565944 / [km/s] Exposure END v_x velocity
HIERARCH VY_SC_END = 0.8154148673514741 / [km/s] Exposure END v_y velocity
HIERARCH VZ_SC_END = -7.021319113718867 / [km/s] Exposure END v_z velocity
MAXBLMLP= 15 / Maximum number of loops for regular bloom
NBLMPIX = 1886 / Number of Pixels Bloom Flag
NHALOPIX= 448 / Number of Pixels Halo Flag
NSNOWPIX= 73 / Number of Pixels Snowball Flag
HIERARCH L2 N_NONLINEAR = 0 / number of pixels flagged nonlinear
PSTHRESH= 0.1 / [electron/s] persistence threshold
HIERARCH L2 N_PERSIST = 2755 / number of pixels flagged persist
DETCOORD= 'sky ' / MWIR pixels flipped on X to match SWIR view
HIERARCH L2 N_HOT = 1 / number of pixels flagged hot
HIERARCH L2 N_COLD = 1788 / number of pixels flagged cold
HIERARCH L2 N_TRAN_NB = 11537 / number of not bad transient pixels
HIERARCH L2 N_PERS_NB = 2755 / number of persistence and not bad pixels
HIERARCH OMEGA_MEDIAN = 37.930838577371205 / [arcsec2] solid angle pixel map
HIERARCH OMEGA_STDDEV = 0.2008362830183176 / [arcsec2] solid angle pixel map
FINAST = 0 / good fine-astrometric solution
WCSAXES = 2 / Number of coordinate axes
CRPIX1 = 1020.5 / Pixel coordinate of reference point
CRPIX2 = 1020.5 / Pixel coordinate of reference point
PC1_1 = 0.00160220122292 / Coordinate transformation matrix element
PC1_2 = 0.000542717903615 / Coordinate transformation matrix element
PC2_1 = 0.000605742171105 / Coordinate transformation matrix element
PC2_2 = -0.00162144754561 / Coordinate transformation matrix element
CDELT1 = 1.0 / [deg] Coordinate increment at reference point
CDELT2 = 1.0 / [deg] Coordinate increment at reference point
CUNIT1 = 'deg' / Units of coordinate increment and value
CUNIT2 = 'deg' / Units of coordinate increment and value
CTYPE1 = 'RA---TAN-SIP' / TAN (gnomonic) projection + SIP distortions
CTYPE2 = 'DEC--TAN-SIP' / TAN (gnomonic) projection + SIP distortions
CRVAL1 = 34.1178976174 / [deg] Coordinate value at reference point
CRVAL2 = 22.7632652111 / [deg] Coordinate value at reference point
LONPOLE = 180.0 / [deg] Native longitude of celestial pole
LATPOLE = 22.7632652111 / [deg] Native latitude of celestial pole
DAXIS = 0.9441445863849456
HIERARCH CONTRAST = 75.0
HIERARCH MATCH_NSTARS = 1435
HIERARCH QS_NMATCH_VAR = 0.028123884991947148
HIERARCH ASTRONETSOLVED = T
PXSRCMSK= 40.43 / Percentage of pixels with SOURCE flag
HIERARCH L2 N_SOURCE = 1682616 / number of source flagged pixels
HIERARCH L2 N_GHOST = 0 / number of ghost flagged pixels
HIERARCH L2 N_GHOST_FPA = 0 / number of ghost_fpa flagged pixels
HIERARCH L2 N_GHOST_EXT = 0 / number of ghost_ext flagged pixels
HIERARCH L2 N_BLOOM_NS = 0 / number of BLOOM flagged pixels not flagged SOURCE
HIERARCH L2 N_SNOW_NS = 48 / number of SNOW flagged pixels not flagged SOURCE
HIERARCH L2 N_OUTLIER = 88020 / number of flagged outlier pixels
PSF_FWHM= 6.104327827908309 / [arcsec] PSF FWHM Median
L2DQAFLG= 'Pass ' / L2 DQA outcome
HIERARCH L2 N_TRANSIENT = 21662 / number of flagged transient pixels
HIERARCH L2 N_OVERFLOW = 2826 / number of flagged overflow pixels
HIERARCH L2 N_SUR_ERROR = 18546 / number of flagged sur error pixels
HIERARCH L2 N_NONFUNC = 22468 / number of flagged nonfunctional pixels
HIERARCH L2 N_DICHROIC = 112375 / number of flagged pixels due to low efficiency
HIERARCH L2 N_MISSING = 0 / number of flagged pixels with missing data
HIERARCH L2 N_FULLSAMPLE = 240 / number of flagged full-sample pixels
HIERARCH L2 N_PHANMISS = 0 / number of flagged phanmiss pixels
HIERARCH REFCAT.VERSION = 'SPHEREx_RefCat_v0.73' / Reference catalog version
A_ORDER = 3 / SIP polynomial order, axis 0, detector to sky
A_0_0 = 0.259695076177 / SIP distortion coefficient
A_0_1 = -0.000122106551272 / SIP distortion coefficient
A_0_2 = -1.42539742632E-06 / SIP distortion coefficient
A_0_3 = -3.37956203586E-11 / SIP distortion coefficient
A_1_0 = -0.000556511729632 / SIP distortion coefficient
A_1_1 = 4.22741406114E-06 / SIP distortion coefficient
A_1_2 = 6.53682837613E-10 / SIP distortion coefficient
A_2_0 = -1.59515097969E-06 / SIP distortion coefficient
A_2_1 = -1.66833118294E-10 / SIP distortion coefficient
A_3_0 = 5.61295454778E-10 / SIP distortion coefficient
B_ORDER = 3 / SIP polynomial order, axis 1, detector to sky
B_0_0 = -1.1165932826 / SIP distortion coefficient
B_0_1 = 0.000311839321031 / SIP distortion coefficient
B_0_2 = 1.92906005992E-06 / SIP distortion coefficient
B_0_3 = 3.40600710473E-10 / SIP distortion coefficient
B_1_0 = 3.52183662628E-05 / SIP distortion coefficient
B_1_1 = -7.53060990561E-07 / SIP distortion coefficient
B_1_2 = -1.35621925929E-10 / SIP distortion coefficient
B_2_0 = 6.74298628216E-06 / SIP distortion coefficient
B_2_1 = 6.85491127328E-10 / SIP distortion coefficient
B_3_0 = -3.28791417142E-11 / SIP distortion coefficient
AP_ORDER= 3 / SIP polynomial order, axis 0, sky to detector
AP_0_0 = -0.257420274663 / SIP distortion coefficient
AP_0_1 = 0.0001267273563 / SIP distortion coefficient
AP_0_2 = 1.41864600304E-06 / SIP distortion coefficient
AP_0_3 = 2.17978483755E-11 / SIP distortion coefficient
AP_1_0 = 0.000550227692404 / SIP distortion coefficient
AP_1_1 = -4.21105550686E-06 / SIP distortion coefficient
AP_1_2 = -6.18847480899E-10 / SIP distortion coefficient
AP_2_0 = 1.58849379907E-06 / SIP distortion coefficient
AP_2_1 = 1.23252325356E-10 / SIP distortion coefficient
AP_3_0 = -5.26896623201E-10 / SIP distortion coefficient
BP_ORDER= 3 / SIP polynomial order, axis 1, sky to detector
BP_0_0 = 1.11135338895 / SIP distortion coefficient
BP_0_1 = -0.000317042488536 / SIP distortion coefficient
BP_0_2 = -1.91597820408E-06 / SIP distortion coefficient
BP_0_3 = -3.30430073739E-10 / SIP distortion coefficient
BP_1_0 = -3.05986764618E-05 / SIP distortion coefficient
BP_1_1 = 7.4401543967E-07 / SIP distortion coefficient
BP_1_2 = 1.08020537704E-10 / SIP distortion coefficient
BP_2_0 = -6.72894575108E-06 / SIP distortion coefficient
BP_2_1 = -5.98887236579E-10 / SIP distortion coefficient
BP_3_0 = 6.04056824172E-12 / SIP distortion coefficient
WCSAXESA= 2 / Number of coordinate axes
CRPIX1A = 1.0 / Pixel coordinate of reference point
CRPIX2A = 1.0 / Pixel coordinate of reference point
CDELT1A = 1.0 / [pixel] Coordinate increment at reference point
CDELT2A = 1.0 / [pixel] Coordinate increment at reference point
CUNIT1A = 'pixel' / Units of coordinate increment and value
CUNIT2A = 'pixel' / Units of coordinate increment and value
CTYPE1A = 'LINEAR' / Coordinate type code
CTYPE2A = 'LINEAR' / Coordinate type code
CRVAL1A = 0.0 / [pixel] Coordinate value at reference point
CRVAL2A = 0.0 / [pixel] Coordinate value at reference point
LATPOLEA= 90.0 / [deg] Native latitude of celestial pole
WCSNAMEA= '0-based active pixel coordinates' / Coordinate system title
TIMESYS = 'UTC' / Time scale
MJDREF = 0.0 / [d] MJD of fiducial time
DATE-OBS= '2026-01-31T05:13:17.421' / ISO-8601 time of observation
MJD-OBS = 61071.217562743 / [d] MJD of observation
DATE-BEG= '2026-01-31T05:13:17.421' / ISO-8601 time at start of observation
MJD-BEG = 61071.217562743 / [d] MJD at start of observation
DATE-AVG= '2026-01-31T05:14:14.980' / ISO-8601 time at midpoint of observation
MJD-AVG = 61071.218228932 / [d] MJD at midpoint of observation
DATE-END= '2026-01-31T05:15:12.539' / ISO-8601 time at end of observation
MJD-END = 61071.218895122 / [d] MJD at end of observation
XPOSURE = 113.5826 / [s] Exposure (integration) time
TELAPSE = 118.1873 / [s] Elapsed time (start to stop)
WCSAXESW= 2 / Two output axes: wavelength and bandwidth
WCSNAMEW= 'Approximated per-pixel wavelength and bandwidth' / WCS label
CNAME1W = 'Wavelength' / First output axis is central wavelength
CNAME2W = 'Bandwidth' / Second output axis is bandwidth
CRPIX1W = 1 / Lookup table is in raw FITS coordinates
CRPIX2W = 1 / Lookup table is in raw FITS coordinates
CDELT1W = 1 / [pixel] Lookup table is in raw FITS coordinates
CDELT2W = 1 / [pixel] Lookup table is in raw FITS coordinates
CUNIT1W = 'um ' / Wavelength is reported in microns
CUNIT2W = 'um ' / Bandpass is reported in microns
CTYPE1W = 'WAVE-TAB' / Bilinear lookup table, FITS Paper 3, Sect 6.1
CTYPE2W = 'WAVE-TAB' / Bilinear lookup table, FITS Paper 3, Sect 6.1
CRVAL1W = 1 / [pixel] Lookup table is in raw FITS coordinates
CRVAL2W = 1 / [pixel] Lookup table is in raw FITS coordinates
PV1_3W = 1 / Index of wavelength in VALUES array
PV2_3W = 2 / Index of bandwidth in VALUES array
PS1_0W = 'WCS-WAVE' / Extension with wavelength lookup table
PS2_0W = 'WCS-WAVE' / Extension with bandwidth lookup table
PS1_1W = 'VALUES ' / Column with values for wavelength
PS2_1W = 'VALUES ' / Column with values for bandwidth
PS1_2W = 'X ' / Column with control points for detector in X
PS2_2W = 'Y ' / Column with control points for detector in Y
COMMENT TELAPSE ends at MJD-END, starts prior to MJD-BEG:
COMMENT includes discarded frames
COMMENT XPOSURE is the scientifically meaningful exposure time:
COMMENT the time between the start and end of collecting data that
COMMENT contributes to the photocurrent
HISTORY GDS Image Association, SSDC-MS-002 v2.1.1
HISTORY Estimate Coarse Astrometry, SSDC-MS-003 v2.4
HISTORY Convert to Engineering Units, SSDC-MS-005 v3.2
HISTORY Correct Preamplifier, SSDC-MS-006 v1.5
HISTORY Create Image Data Files, SSDC-MS-007 v1.2.1
HISTORY Perform Data Quality Assessment for Level 1, SSDC-MS-009 v1.3
HISTORY [CALIB] dichroic 156fadbc-131d-4561-a63e-a7a99971d383
HISTORY [CALIB] gain_factors 74478304-abf1-4a9c-9eb2-926090a84446
HISTORY [CALIB] initial_distortion_table f34a9ef8-e81a-4c7d-8322-e7da6e458ef9
HISTORY [CALIB] nonfunc 019b2942-3cad-7a1a-911e-7beac6326a2c
HISTORY [CALIB] spectral_wcs 4cf935ad-6e0a-4075-a642-198bc6a728e6
HISTORY GDS Image Association, SSDC-MS-002 v2.1.1
HISTORY Source blooming and cosmic ray halo flagging, SSDC-MS-0011 v1
HISTORY Correct Non-Linearity, SSDC-MS-010 v3.2
HISTORY Create Variance Map, SSDC-MS-011 v4.2
HISTORY Update Persistence Mask, SSDC-MS-012 v2.2.1
HISTORY [CALIB] gain_factors 74478304-abf1-4a9c-9eb2-926090a84446
HISTORY [CALIB] nonlinear_pars cc55b49f-e797-4f36-811d-9651c7ceb446
HISTORY [CALIB] readnoise_pars 6a836212-775d-4e9f-ac6f-a0b2dbf61601
HISTORY Apply Bad Pixel Mask, SSDC-MS-013 v1.1
HISTORY Apply Flat Field and Photometric Calibration, SSDC-MS-014 v1.5
HISTORY Estimate Fine Astrometry, SSDC-MS-016 v2.5
HISTORY Create Source Mask, SSDC-MS-019 v3.4
HISTORY Detect Outlier Pixels, SSDC-MS-020 v1.4
HISTORY Get Zodi Model, SSDC-MS-022 v2.3
HISTORY Measure Per-Exposure PSF, SSDC-MS-023 v3.3
HISTORY Create Spectral Image, SSDC-MS-024 v2.2
HISTORY Perform Data Quality Assessment for Level 2, SSDC-MS-025 v1.4
HISTORY [CALIB] abs_gain_matrix 8c6c4b22-c49a-47c9-8e97-95dff59cdd48
HISTORY [CALIB] average_psf d53ad673-a5d0-47b2-b5b9-b32fce701ef4
HISTORY [CALIB] dark d2f2d7f9-6ba0-41bd-82d4-e1d7e086bd09
HISTORY [CALIB] sip 019b232f-4950-72d9-959b-83241fef59a9
HISTORY [CALIB] spectral_wcs 4cf935ad-6e0a-4075-a642-198bc6a728e6
END
The full command window status printout for the last image:
[batch 266/266] exposure (exp=2.0s)
-> resolving access URL: https://irsa.ipac.caltech.edu/ibe/data/spherex/qr2/level2/2026W05_2A/l2b-v23-2026-034/4/level2_2026W05_2A_0350_2D4_spx_l2b-v23-2026-034.fits
-> direct FITS URL from discovery result (no DataLink resolve needed)
-> downloading FITS: https://irsa.ipac.caltech.edu/ibe/data/spherex/qr2/level2/2026W05_2A/l2b-v23-2026-034/4/level2_2026W05_2A_0350_2D4_spx_l2b-v23-2026-034.fits
[batch] Download backend: s3 (bucket=nasa-irsa-spherex, cutout=on, cutout_size_px=20, expand_on_masked=on, retry_size_px=64)
[batch] S3 download: bucket=nasa-irsa-spherex key=qr2/level2/2026W05_2A/l2b-v23-2026-034/4/level2_2026W05_2A_0350_2D4_spx_l2b-v23-2026-034.fits
[batch] S3 cutout wrote local FITS: x=[1978:1998) y=[3:23) size=20x20px
[batch] Download attempt 1/15 succeeded in 52.44s (downloader=s3, timeout=10000s, curl_resume=False)
-> source: DataLink (access_url) resolved to FITS
-> saved to C:\Users\tjask\AppData\Local\Temp\spherex_dl_n8mm3g37.fits (20.70 MB)
-> warning: could not read header metadata: ufunc 'isfinite' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
-> epoch-adjusted input coords: RA=35.219920620 deg, Dec=24.962390000 deg (MJD=61071.218228932)
-> ref: RA=35.219920620 deg, Dec=24.962390000 deg, epoch=2016.0, pmRA*=0.0 mas/yr, pmDec=0.0 mas/yr
[batch] Launching analyzer directly in-process
PSF cube shape: (121, 101, 101)
PSF CDELT=0.615 arcsec (high-res), OVERSAMP=10, => detector pixel ~ 6.150 arcsec
Image header OMEGA_MEDIAN=37.931 arcsec^2 (=> 6.159 arcsec on a side)
Pixel solid angle (median) ~ 8.915e-10 sr
PSF pixel-sum check @ idx=60: sum≈1 (expect ~1 on det grid)
Loaded image with shape: (20, 20)
Loaded flags shape: (20, 20) variance shape: (20, 20)
WCS-WAVE table loaded: X_grid len=13, Y_grid len=20, VALUES raw shape=(20, 13, 2)
Target sky coords (deg): RA=35.21992062, Dec=24.96239000
Target pixel (full image): x=10.115, y=10.258
[flags] Per-bit counts on FULL 15x15 (mask_full):
SUR_ERROR : 1 px ( 0.44%)
NONFUNC : 2 px ( 0.89%)
MISSING_DATA: 0 px ( 0.00%)
HOT : 0 px ( 0.00%)
COLD : 1 px ( 0.44%)
NONLINEAR : 0 px ( 0.00%)
PERSIST : 0 px ( 0.00%)
total pixels: 225
[flags] Per-bit counts on FULL 15x15 (mask_full_bcg):
OVERFLOW : 0 px ( 0.00%)
SUR_ERROR : 1 px ( 0.44%)
NONFUNC : 2 px ( 0.89%)
MISSING_DATA: 0 px ( 0.00%)
HOT : 0 px ( 0.00%)
COLD : 1 px ( 0.44%)
NONLINEAR : 0 px ( 0.00%)
PERSIST : 0 px ( 0.00%)
SOURCE : 78 px ( 34.67%)
OUTLIER : 3 px ( 1.33%)
TRANSIENT : 1 px ( 0.44%)
total pixels: 225
Pixels with SOURCE or OUTLIER flag in cutout: 81 (kept for fit)
[bcg] Background (median of unmasked) = 0.25201 [MJy/sr] using box 15×15 (good px=142)
Background (median of unmasked) = 0.25201 [MJy/sr]
Unmasked pixels: 223 / 225
dx,dy prior half-width set to ±0.820 px (from 10× centroid σ; clipped to [0.2, 1.0], min 0.5)
=== Aperture photometry (model-free) ===
r=1.0 px: Npix= 3 flux=0.1191 MJy/sr σ=0.0291 S/N=4.10 xcen=7.13 ycen=7.15
r=1.1 px: Npix= 3 flux=0.1191 MJy/sr σ=0.0291 S/N=4.10 xcen=7.13 ycen=7.15
r=1.2 px: Npix= 5 flux=0.1362 MJy/sr σ=0.0366 S/N=3.72 xcen=7.12 ycen=7.20
r=1.3 px: Npix= 6 flux=0.19 MJy/sr σ=0.0405 S/N=4.69 xcen=7.08 ycen=6.86
r=1.4 px: Npix= 7 flux=0.2248 MJy/sr σ=0.0437 S/N=5.14 xcen=6.92 ycen=7.04
r=1.5 px: Npix= 7 flux=0.2248 MJy/sr σ=0.0437 S/N=5.14 xcen=6.92 ycen=7.04
r=1.6 px: Npix= 8 flux=0.2126 MJy/sr σ=0.0466 S/N=4.56 xcen=6.85 ycen=7.09
r=1.7 px: Npix= 9 flux=0.2525 MJy/sr σ=0.0493 S/N=5.12 xcen=6.72 ycen=6.92
r=1.8 px: Npix= 10 flux=0.259 MJy/sr σ=0.0517 S/N=5.01 xcen=6.72 ycen=6.97
r=1.9 px: Npix= 10 flux=0.259 MJy/sr σ=0.0517 S/N=5.01 xcen=6.72 ycen=6.97
r=2.0 px: Npix= 12 flux=0.2805 MJy/sr σ=0.0565 S/N=4.97 xcen=6.89 ycen=6.99
r=2.2 px: Npix= 15 flux=0.3118 MJy/sr σ=0.0628 S/N=4.96 xcen=6.88 ycen=7.20
r=2.5 px: Npix= 20 flux=0.2816 MJy/sr σ=0.0719 S/N=3.92 xcen=6.83 ycen=7.38
r=2.7 px: Npix= 22 flux=0.2605 MJy/sr σ=0.0752 S/N=3.47 xcen=6.37 ycen=6.87
r=3.0 px: Npix= 29 flux=0.2972 MJy/sr σ=0.086 S/N=3.46 xcen=6.81 ycen=7.07
r=3.5 px: Npix= 40 flux=0.4668 MJy/sr σ=0.101 S/N=4.61 xcen=6.15 ycen=6.79
r=4.0 px: Npix= 51 flux=0.5 MJy/sr σ=0.114 S/N=4.37 xcen=5.71 ycen=6.94
r=5.0 px: Npix= 77 flux=0.6377 MJy/sr σ=0.14 S/N=4.55 xcen=4.96 ycen=6.77
-> Selected r=1.40 px: flux=0.2248 MJy/sr (≈ 200 µJy), σ≈0.0437 MJy/sr (≈ 39 µJy), S/N≈5.14
Centroid (cutout frame): x=6.915 ± 0.082 px, y=7.035 ± 0.082 px [CRLB approx]
Centroid (RA,Dec): (35.21943409, 24.96263640) deg
[WCS-WAVE] Aperture (COM): λ=3.84652 ± 0.00007 µm ; width=0.10026 ± 0.00000 µm
Fit window shape: (11, 11) (y:[2:13), x:[2:13))
Fit radius = 4.0 px -> used pixels: 51 / 121
Cutout bbox (x:[3:18), y:[3:18)) size=(15x15)
Selected PSF index: 0 / 120
Zone center of selected PSF: x=93.227, y=93.227
Distance from target to PSF zone center: 117.437 px
PSF oversampling factor (OVERSAMP) = 10
[PSF norm] detector-grid PSF sum = 1 (should be ~1 if PSF were unit-normalized)
[note] We do NOT renormalize the PSF; instead we account for its discrete sum ΣPSF_det when converting the fitted amplitude [MJy/sr] to integrated flux [Jy].
PSF high-res crop pixel-sum ≈ 1 ; detector-grid pixel-sum ≈ 1 (expect ~1)
psf_cut0 stats: sum=1, max=0.403878, center=0.403878
[Init seeds] Starting SciPy at the fit-window center: dx0=0.000, dy0=0.000
[SciPy warm start] chi2=78.125 -> flux0=0.20592 MJy/sr, dx0=0.000, dy0=0.000
[SciPy warm start] integrated flux0 ≈ 184 µJy (Ω_pix=8.915e-10 sr; ΣPSF_det=1)
[SciPy warm start] center (fit window): x=5.115, y=5.258 px
[SciPy warm start] center (full 15x15): x=7.115, y=7.258 px
[SciPy warm start] RA,Dec errors via MC: σ_RA=2.904" , σ_Dec=2.375"
[SciPy warm start] center (RA,Dec): (35.21992062, 24.96239000) deg
[WCS-WAVE] SciPy PSF: λ=3.84635 ± 0.00070 µm ; width=0.10025 ± 0.00005 µm
[SciPy-only] Skipping UltraNest; using SciPy warm-start parameters.
[WCS-WAVE] SciPy-only PSF: λ=3.84635 ± 0.00068 µm ; width=0.10025 ± 0.00005 µm
[WCS-WAVE] Aperture (COM): λ=3.84652 ± 0.00007 µm ; width=0.10026 ± 0.00000 µm
-> appended to master CSV: results.csv
-> wrote per-image CSV: X:\Temp\runs\J022052_RA35.219921_DEC24.962390\figs\2026W05_2A_0350_2D4_202605201035024\result.csv
[LV2_ROW_JSON] {"target_name": "J022052", "reference_ra_deg": 35.21992062, "reference_dec_deg": 24.96239, "reference_crd_epoch_yr": 2016.0, "reference_pmra_masyr": 0.0, "reference_pmdec_masyr": 0.0, "input_ra_deg": 35.21992062, "input_dec_deg": 24.962390000000003, "fit_radius_px": 4.0, "box_size_bcg_subtract": 15, "fits_path": "C:\Users\tjask\AppData\Local\Temp\spherex_dl_n8mm3g37.fits", "access_url": "https://irsa.ipac.caltech.edu/ibe/data/spherex/qr2/level2/2026W05_2A/l2b-v23-2026-034/4/level2_2026W05_2A_0350_2D4_spx_l2b-v23-2026-034.fits", "fits_analysis_status": "ok", "fits_analysis_comment": "", "analyzer_stdout": "X:\Temp\runs\J022052_RA35.219921_DEC24.962390\figs\2026W05_2A_0350_2D4_202605201035024\analyzer_stdout.txt", "obs_collection": "spherex_qr2", "obsid": "2026W05_2A_0350_2", "bandpass": "D4", "expid": 202605201035024, "mjd_avg": 61071.218228932, "detector_id": 4, "psf_index": 0, "omega_sr": 8.915427606315559e-10, "px_scale_arcsec": 6.15, "near_cutout_edge": false, "near_detector_edge": false, "near_bcg_star": false, "n_pix_flagged_in_fit": 0, "n_pix_used_in_fit": 51, "n_pix_total_in_fit": 121, "ap_radius_px": 1.4, "ap_radius_forced": false, "ap_flux_MJysr": 0.2247994840145111, "ap_flux_MJysr_err": 0.043731674551963806, "ap_snr": 5.140427077572686, "ap_centroid_err_px": 0.08199917888009466, "ap_flux_uJy": 200.41835256684655, "ap_flux_uJy_err": 38.98865785709857, "ap_xcen_cutout": 7.115428901920447, "ap_ycen_cutout": 7.2582539367027366, "ap_xcen_fullim": 10.115428901920447, "ap_ycen_fullim": 10.258253936702737, "com_xcen_cutout": 6.915006047313416, "com_ycen_cutout": 7.03527950811207, "com_xcen_fullim": 9.915006047313415, "com_ycen_fullim": 10.035279508112069, "com_ra_deg": 35.21943409053017, "com_dec_deg": 24.962636399642292, "com_sep_as": 1.8188511671242695, "com_wv_um": 3.8465228044649367, "com_wv_width_um": 0.10025822679830772, "psf_scipy_method_used": "unknown", "psf_scipy_status": "CONVERGENCE: NORM_OF_PROJECTED_GRADIENT_<=_PGTOL", "psf_scipy_flux_MJysr": 0.2059204811378964, "psf_scipy_flux_MJysr_err": 0.02635782158565074, "psf_scipy_snr": 7.8125, "psf_scipy_flux_uJy": 183.58690328162558, "psf_scipy_flux_uJy_err": 23.499123620048078, "psf_scipy_dx": 0.0, "psf_scipy_dy": 0.0, "psf_scipy_xcen_cutout": 7.115428901920447, "psf_scipy_ycen_cutout": 7.2582539367027366, "psf_scipy_xcen_fullim": 10.115428901920447, "psf_scipy_ycen_fullim": 10.258253936702737, "psf_scipy_ra_deg": 35.21992061988045, "psf_scipy_ra_err_mas": 2632.358991215506, "psf_scipy_dec_deg": 24.9623899996936, "psf_scipy_dec_err_mas": 2374.738385532501, "psf_scipy_ra_dec_cov_mas2": 376856.97430106136, "psf_scipy_sep_as": 1.170034095503834e-06, "psf_scipy_wv_um": 3.8463468889337054, "psf_scipy_wv_um_err": 0.0007042246096602622, "psf_scipy_wv_width_um": 0.10024873118220795, "psf_scipy_wv_width_um_err": 5.002990905949452e-05, "psf_scipy_chi2": 78.12461853027344, "psf_scipy_dof": 48, "psf_un_flux_MJysr": null, "psf_un_flux_MJysr_err": null, "psf_un_snr": null, "psf_un_flux_uJy": null, "psf_un_flux_uJy_err": null, "psf_un_dx": null, "psf_un_dy": null, "psf_un_xcen_cutout": null, "psf_un_ycen_cutout": null, "psf_un_xcen_fullim": null, "psf_un_ycen_fullim": null, "psf_un_xcen_err": null, "psf_un_ycen_err": null, "psf_un_ra_deg": null, "psf_un_ra_err_mas": null, "psf_un_dec_deg": null, "psf_un_dec_err_mas": null, "psf_un_sep_as": null, "psf_un_ra_dec_cov_mas2": null, "psf_un_wv_um": null, "psf_un_wv_um_err": null, "psf_un_wv_width_um": null, "psf_un_wv_width_um_err": null, "psf_un_chi2": null, "psf_un_dof": null}