KOPR SCIENTIFIC / COMPACT FITS QUICK REFERENCE Baseline: KOPR_SCIENTIFIC_COMPACT_VALIDATION_BATCH10_BUILD_20260724 PURPOSE Scientific and Compact change only the final on-disk representation. All calibration, reprojection, stacking, manual WCCD and automatic-helper calculations remain floating point. SETTINGS Settings -> Processing -> FITS output format 0 = Scientific; 1 = Compact (settings.dat second positional row, index 14) Old configurations default to Scientific. Use GetFitsOutputMode()/GetFitsOutputModeIndex(). SCIENTIFIC BITPIX=-32, KOPRMODE=SCIENTIFIC, STORFMT=FLOAT32, QSTEP=0 Invalid pixels remain NaN. COMPACT BITPIX=16, KOPRMODE=COMPACT, STORFMT=INT16, BLANK=-32768 physical = stored * BSCALE + BZERO QSTEP = BSCALE = (DATAMAX-DATAMIN)/65534 for non-constant data Finite codes: -32767..32767 SAFETY Accept only when QSTEP <= 0.25 * sigma_local. Noise estimate: robust median/MAD of horizontal and vertical neighbour differences. Unsafe products fall back independently to Scientific; no clipping or coarse hidden quantization. Policy cards: REQMODE QPOLICY QMETHOD QFRAC QNOISE QMAX QNSAMP QSAFE QFALLBK Actual storage cards: KOPRMODE STORFMT BITPIX QSTEP AFFECTED PRODUCTS Created/imported calibration masters, calibrated LIGHTs, Stars stacks, Comet stacks and joint pairs; MEAN, SUM and SIGCLIP methods. STACK TIME DATE-BEG first accepted start DATE-OBS/DATE-MID/DATE-AVG exposure-weighted midpoint MJD-OBS/MJD-AVG same midpoint in MJD UTC DATE-END last accepted end TELAPSE includes gaps; TIMEALGO=EXP-WMID; TIMECOMP=COMPLETE/PARTIAL EXPOSURE NCOMBINE actual frames; EXP_NR compatibility alias TOTEXP=XPOSURE=sum accepted exposure times MEAN/SIGCLIP EXPTIME=one input exposure; SUM EXPTIME=total WCCD uses net_flux/EXPTIME after additive local-sky subtraction Matched Comet/Stars EXPTIME tolerance=0.001 s; accepted value freezes at preflight TOTEXP/XPOSURE remains reporting metadata INTEROPERABILITY Astrometry preserves primary storage and all extensions; no second Compact quantization. WCCD decodes supported integer/float FITS to physical float32. Native Scientific and Compact products use identical decoded physical arrays for WCCD and helper calculations. External FITS can be measured manually; automatic hand-off still requires the full native WStack pair/QC/provenance contract. VALIDATE python validate_scientific_compact.py --json validation.json --csv validation.csv --markdown validation.md python validate_scientific_compact.py --compare scientific.fits compact.fits --json pair-validation.json python validate_scientific_compact.py --source input.fits --output-dir validation-products --keep-files