c=======================================================================
ctestprint.f
c=======================================================================


        PROGRAM TESTPRINT
C***********************************************************************
C
C  THIS PROGRAM PRINTS OUT A CCDA FORMATTED FIELD TO AN ASCCI TEXT FILE.
C
C  WRITTEN BY DAVE RANDEL CIRA/CSU
C          ON aug 10, 1994
C
C**********************************************************************
C
       CHARACTER*80 FLNAME,FLOUT
C
C-----COMMON BLOCK FOR PASSING DATA FROM GRID READING ROUTINES -----
C
        REAL*4 DATA(360,180), HEADR(4), ZINDEF
        INTEGER*2 HEADI(11)
c        INTEGER*4 NFLD,ISTART,IEND
        CHARACTER LABEL*40
        COMMON /GRDDATA/ DATA,HEADR,ZINDEF,HEADI,LABEL,OFFSET, SCALE
C
  1     FORMAT(A$)
  2     FORMAT(A)
  3     FORMAT(I2)
C
C**READ INPUT FILENAME**********
C
        WRITE(6,*)
  5     WRITE(6,1)'                   INPUT FILENAME : '
        READ(5,2) FLNAME
c
c**READ INPUT FILENUMBER
c
        WRITE(6,1)'                    FIELD NUMBER? : '
        READ(5,3)IFLD
C
C**READ FILE
C
        CALL READ_NVAP(FLNAME,IFLD,ISTAT)
C
C**GET OUTPUT FILENAME
C
        WRITE(6,1)'     OUTPUT TEXT FILENAME [ASCII.TXT] : '
        READ(5,2) FLOUT
        IF(FLOUT .EQ. ' ') FLOUT = 'ASCII.TXT'
C
c       ZINDEF1 = -1.1
C
C**OPEN OUTPUT FILE
C
        OPEN(UNIT=101,FILE=FLOUT,FORM='FORMATTED',STATUS='NEW',ACCESS=
     >       'SEQUENTIAL',RECL = 61)
C
C**WRITE OUT 2 LINES OF HEADER INFORMATION
C
        WRITE(101,10)(HEADI(J),J=1,2),(HEADI(M),M=4,11)

        WRITE(101,12)(HEADR(J),J=1,4),OFFSET,SCALE,ZINDEF
        WRITE(101,13)LABEL

  10    FORMAT(1X,I3,1X,I3,2X,3(I4,1X),2X,3(I4,1X),2X,I4,1X,I4)

CC  12    FORMAT(1X,4(F10.2,1X),1X,F7.1,3X,E10.4,1X,F7.1)
  12    FORMAT(1X,4(F10.2,1X),1X,F7.1,3X,E10.4,1X,F10.1)
  13    FORMAT(A)
C
C**WRITE OUT DATA
C
        DO 30 J = 1,HEADI(11)
          IS = 1
          IE1 = 7
          IE2 = 10
          DO IQ = 1,5000
            DO N = 1,HEADI(10)
              IF(DATA(N,J) .EQ. ZINDEF) THEN
                 DATA(N,J) = ZINDEF
              ENDIF
            ENDDO
            WRITE(101,16)(DATA(M,J),M=IS,IE2)
            IS = IS + 10
            IE2 = IE2 + 10
            IF(IS .GT. HEADI(10)) GO TO 30
            IF(IE2 .GT. HEADI(10)) IE2 = HEADI(10)
          ENDDO
  30    CONTINUE
  16    FORMAT(' ',10(F8.1,1X))
C
C
       CLOSE(UNIT=101)
       STOP
       END
