Index: branches/eam_branches/ipp-20220316/psphot/src/psphotChoosePSF.c
===================================================================
--- branches/eam_branches/ipp-20220316/psphot/src/psphotChoosePSF.c	(revision 42223)
+++ branches/eam_branches/ipp-20220316/psphot/src/psphotChoosePSF.c	(revision 42224)
@@ -653,4 +653,10 @@
     }
 
+    // XXX should we catch this case and exit immediately? (need to raise an error?)
+    if (0 && !fwhmMajor->n) {
+	psLogMsg ("psphot", PS_LOG_DETAIL, "no stars on the chip to measure PSF FWHM");
+	goto escape;
+    }
+
     psStats *stats = psStatsAlloc (PS_STAT_SAMPLE_MEAN | PS_STAT_SAMPLE_STDEV | PS_STAT_SAMPLE_QUARTILE);
     if (!psVectorStats (stats, fwhmMajor, NULL, NULL, 0)) {
@@ -734,4 +740,17 @@
 
 escape:
+    // failed to measure the PSF stats
+    psMetadataAddF32 (readout->analysis, PS_LIST_TAIL, "FWHM_MAJ",   PS_META_REPLACE, "PSF FWHM Major axis (mean)",           NAN);
+    psMetadataAddF32 (readout->analysis, PS_LIST_TAIL, "FW_MJ_SG",   PS_META_REPLACE, "PSF FWHM Major axis (sigma)",          NAN);
+    psMetadataAddF32 (readout->analysis, PS_LIST_TAIL, "FW_MJ_LQ",   PS_META_REPLACE, "PSF FWHM Major axis (lower quartile)", NAN);
+    psMetadataAddF32 (readout->analysis, PS_LIST_TAIL, "FW_MJ_UQ",   PS_META_REPLACE, "PSF FWHM Major axis (upper quartile)", NAN);
+    psMetadataAddF32 (readout->analysis, PS_LIST_TAIL, "FWHM_MIN",   PS_META_REPLACE, "PSF FWHM Minor axis (mean)",           NAN);
+    psMetadataAddF32 (readout->analysis, PS_LIST_TAIL, "FW_MN_SG",   PS_META_REPLACE, "PSF FWHM Minor axis (sigma)",          NAN);
+    psMetadataAddF32 (readout->analysis, PS_LIST_TAIL, "FW_MN_LQ",   PS_META_REPLACE, "PSF FWHM Minor axis (lower quartile)", NAN);
+    psMetadataAddF32 (readout->analysis, PS_LIST_TAIL, "FW_MN_UQ",   PS_META_REPLACE, "PSF FWHM Minor axis (upper quartile)", NAN);
+    psMetadataAddF32 (readout->analysis, PS_LIST_TAIL, "ANGLE",      PS_META_REPLACE, "PSF angle",                            NAN);
+    psMetadataAddS32 (readout->analysis, PS_LIST_TAIL, "NPSFSTAR",   PS_META_REPLACE, "Number of stars used to make PSF", 0);
+    psMetadataAddBool(readout->analysis, PS_LIST_TAIL, "PSF_OK",     PS_META_REPLACE, "Valid PSF Model?", false);
+
     psFree (fwhmMajor);
     psFree (fwhmMinor);
