The user should be notified when the user-specified tolerance for U or S is not met. One way to do this would be to include flag files with the various outputs. Or perhaps put flags in the FITS headers?
IMCOM fails to meet the U tolerance if the user's PSF files contain spurious high-frequency modes. We can reduce the burden on the user by allowing them to specify the maximum frequency u_max that will be retained by IMCOM in the MTF.
I've added u_max in a hardcoded way. Using a problematic rendering of the WFIRST PSF (with high frequencies in the MTF), I verified that IMCOM succeeds when u_max is set. When I get a chance, I will push my changes to a new branch. The code then needs to allow u_max to be specified at runtime, e.g. on the command line.