[daip] SETFC

Joseph Lazio lazio at rsd.nrl.navy.mil
Mon Jun 26 15:37:40 EDT 2000


Hi,

Within the FLYEYE subroutine of SETFC appears the following
computation

              XD = RAD2DG * ACOS (SINFLD * SINDEC +
     *              COSFLD * COSDEC * COS (XRA*DG2RAD - SRA))

I've discovered that numerical errors can conspire to produce an
argument to the ACOS function slightly larger than 1.0.  May I suggest 
that this line be replaced by the following fragment

            XD = SINFLD*SINDEC + COSFLD*COSDEC*COS(XRA*DG2RAD - SRA)
            IF (XD.GT.1.0) THEN 
               XD = 0.0
            ELSE
               XD = RAD2DG * ACOS (SINFLD * SINDEC +
     *              COSFLD * COSDEC * COS (XRA*DG2RAD - SRA))
               END IF

Thanks,

-- Joe


-- 
T. Joseph W. Lazio             voice: 1-202-404-6329
Remote Sensing Division,       fax:   1-202-404-8894
Naval Research Lab, Code 7213  email: lazio at rsd.nrl.navy.mil
Washington, DC 20375-5351 USA  Web:   http://rsd-www.nrl.navy.mil/7213/lazio/



More information about the Daip mailing list