SUBROUTINE proscan(success) c============================================================================ c PROCEDURE NAME: _proscan c PROCEDURE TYPE: _subroutine c VERSION DATE: _23.II.98 c c PURPOSE: c Loops throught the i_nscans FOV's in a scan. c Each FOV is prequalified. c If it passes, a list is made of sites that are possible c overpass matches is composed c If there are any entries on that list, their cost functions c are computed, and they are processed by the routine profov. c c c CALLING PARAMETERS: c Name Type i/o units Description c -------- ---- --- ----- -------------- c success l4 o Successful completion flag c c EXTERNAL ROUTINES REQUIRED: c This subroutine uses two function subroutines, "qualify_fov" (logical) c and "cost_fn" (real*8) to prequalify the data for consideration (e.g. c based on error or algorithm flags) and to calculate a cost function c for use in the selection of best overpass FOV's. c c These two routines can be modified to fill any needs. c c NOTES & CAVEATS: c c REVISION HISTORY: c c============================================================================ IMPLICIT NONE c---------------------------------------------------------------------------- c Compile parameters c INCLUDE "ovpindex.prm" c---------------------------------------------------------------------------- c Calling parameters c LOGICAL success c---------------------------------------------------------------------------- c Common blocks c INCLUDE "ovpindex.cmn" INCLUDE "instdata.cmn" INCLUDE "tomsframe.cmn" c---------------------------------------------------------------------------- c Local variables c REAL*8 abstime, atime REAL*8 cost, cost_fn INTEGER*4 ifov, isel, nsel, selist(max_slct) LOGICAL passed, qualify_fov c============================================================================ atime= abstime(year, day, time) DO ifov= 1, i_nscans passed= qualify_fov(ifov) IF(passed) THEN CALL select_sites(lat(ifov),long(ifov), atime, & nsel, selist, success) IF(.NOT.success) RETURN IF(nsel.GT.0) THEN DO isel= 1, nsel cost= cost_fn(ifov, selist(isel)) CALL profov(ifov, selist(isel), cost, atime) END DO END IF END IF END DO success= .TRUE. RETURN END