SUBROUTINE AREANAV2(IAREA,PARAM,ICALB) C SUBROUTINE MAIN0 C C Subroutine to get navigation and calibration. C By Lance Braunstein and Gary Gray, Hughes STX. C INTEGER IAREA, DIREC(64),NAVSIZ, PARAM(128), CALSIZ, ICALB(128) INTEGER LCOR ,ECOR ,NLIN ,NELE ,LRES ,ERES ,ZRES ,ZSIZ ,NCHAN , 1 SRCTP, CALTP, LPREF, NELER C C Get the AREA NUMBER (when run as a MAIN), PUT IN 'IAREA'. C IAREA = IPP(1,0) C C---READ AREA DIRECTORY C READD READS AREA DIRECTORY INTO DIREC. CALL READD (IAREA,DIREC) C---NUMBER OF LINES AND ELEMENTS & BYTES PER DATA ELEMENT NLIN = DIREC(9) NELE = DIREC(10) ZSIZ = DIREC(11) C---Z RESOLUTION, NUMBER OF BANDS OR ELEMENTS. ZRES = DIREC(14) C---NUMBER of BYTES in PREFIX (MULTIPLE OF 4). LPREF = DIREC(15) C---INITIALIZE AREA C CALL OPNARA(IAREA) C PUT NAVIGATION PARAMETERS INTO 'PARAM' C DIREC(35) is the word that contains the byte location (0-based) of C the start of the navigation block in the file. Its length should be C 128 words or extend to DIREC(63) where the calibration part is. NAVSIZ = DIREC(63) - DIREC(35) IF (DIREC(63).EQ.0) NAVSIZ = DIREC(34) - DIREC(35) CALL ARAGET(IAREA,DIREC(35),NAVSIZ,PARAM) C Put NAVIGATION FILE 'PARAM' INTO SLOT 2. ISTAT = NVPREP (2,PARAM) IF (ISTAT .NE. 0) GO TO 902 C Get CALIBRATION CODICILS IF present. CALSIZ = DIREC(34) - DIREC(63) IF (CALSIZ .GT. 0) THEN CALL ARAGET (IAREA,DIREC(63),512,ICALB) END IF C RETURN 902 WRITE (6,6902) ISTAT 6902 FORMAT(' NVPREP FAILED, ISTAT= ',I4) RETURN END