//COINEWN JOB (1110,81912,,100),'DANA MAX',MSGCLASS=S,
//          CLASS=H,NOTIFY=COINEWM
/*JOBPARM SHIFT=D
/*ROUTE PRINT LOCAL
//*
//STEP1 EXEC SAS
//DISKIN  DD DSN=COINEWM.MARY.PGM(TESTDATA),DISP=SHR
//DISKOUT DD DSN=COINEWM.MAP0.DATA,DISP=(NEW,PASS),UNIT=SCRATCH,
//        DCB=(DSORG=PS,LRECL=80,RECFM=FB,BLKSIZE=1600),SPACE=(TRK,1)
//SAS.SYSIN DD *
********************************************************************
*A. STEP1 - SAS DATA SETUP: MAP0.DATA                              *
* 1. CREATE DATA FILE WITH DISKIN DATA (COINEWM.MAP.STUFF(X)) -    *
*     INFILE (DISKIN) MUST CONTAIN ONLY DATA VALUES AND MUST BE IN *
*       THE FOLLOWING ORDER AND FORMAT:                            *
*         SPECIES= FOUR (4) CHARACTER SPECIES CODE                 *
*         GEARCODE= ONE (1) CHARACTER GEAR CODE (B, N, R, OR X)    *
*         DATE= SIX (6) DIGITS IN YYMMDD FORMAT                    *
*         LAT= FOUR (4) LATITUDE DIGITS IN DDMM FORMAT,            *
*                WHERE D=DEGREES AND M=MINUTES                     *
*         LONG= FOUR (4) LONGITUDE DIGITS IN DDMM FORMAT           *
*         COUNTED= # OF LARVAE COUNTED (4 DIGITS MAX)              *
*         DENSITY= LARVAL DENSITY OR ABUNDANCE                     *
*                    (8 DIGITS MAX WITH 3 DECIMAL PLACES MAX)      *
*   7/12/91                              JC SK8S                   *
********************************************************************;
DATA ONE;
     INFILE DISKIN;
     INPUT SPECIES $ GEARCODE $ DAT   LAT LONG COUNTED DENSITY;
    /*DATE=INT(DATE/100)*/ DATE=8683 ;
*******************************************************************
*  ENTER SPECIFIC SPECIES, DATE, AND GEAR COMBINATION BELOW.      *
*******************************************************************;
    IF  SPECIES='POSA' AND
        DATE=8683 AND
        (GEARCODE='B');
    IF COUNTED=. THEN COUNTED=0;
    IF DENSITY=. THEN DENSITY=0;
******************************************************************
* 2. SORT DATA BY DATE, LATITUDE, AND LONGITUDE- NO DUPLICATES   *
******************************************************************;
PROC SORT NODUP;
     BY DATE LAT LONG;
******************************************************************
* 3. CREATE AND FORMAT MAP0.DATA                                 *
******************************************************************;
DATA TWO;
     SET ONE;
     FILE DISKOUT;
     PUT    SPECIES    1-4
            GEARCODE     6
            DATE      8-11
            LAT      15-18
            LONG     20-23
            COUNTED  25-28
       @ 30 DENSITY    8.3;
//*
//STEP2 EXEC FORTVCG
//FORT.SYSIN DD *
***********************************************************************
*B.  STEP 2 - FORTRAN MAP SETUP: DATA POINTS AND LEGEND               *
*       MAP1- DEFINES MAP POINTS AND POLYGON CORNERS (X,Y COORDINATES)*
*       MAP2- DEFINES MAP POINTS AND POLYGON CORNERS (X,Y COORDINATES)*
*               CONTAINS: POINT X Y                                   *
*       MAP3- DEFINES POLYGONS                                        *
*               CONTAINS: POLY AND STRING OF POINT                    *
*       MAP4- COUPLES POLYGONS AND DENSITIES                          *
*               CONTAINS: POLY VALUE                                  *
*       MAP5- DEFINES POLYGONS AND LEGEND TEXT                        *
*       MAP6- DEFINES MAP AND LEGEND CHARACTERS AND SIZES             *
*     1. VARIABLE TYPES AND INITIAL VALUES                            *
*       SPCODE= SPECIES CODE FROM BOTTOM OF FORTRAN PROGRAM           *
*       SPNAME= FULL SPECIES NAME                                     *
*       SPECIES= SPECIES CODE FROM MAP0.DATA                          *
*       GEARCODE= GEAR TYPE CODE FROM MAP0.DATA                       *
*       GEARTYPE= GEAR TYPE NAME                                      *
*       FLAG= SIGNALS ONE OR TWO GEAR TYPES                           *
*       ZERO= ZERO COUNT OR DENSITY CHARACTER                         *
*       GEARNUM= NUMERIC GEAR TYPE CODE                               *
*       MONTH= MONTH                                                  *
*       YEAR= YEAR                                                    *
*       POLY= MAP POLYGON NUMBER                                      *
*       LASTGR= GEAR NUMBER MARKER                                    *
*       POINT= MAP POINT NUMBER                                       *
*       LATD= LATITUDE DEGREE                                         *
*       LATM= LATITUDE MINUTE                                         *
*       LONGD= LONGITUDE DEGREE                                       *
*       LONGM= LONGITUDE MINUTE                                       *
*       VALUE= DENSITY FOR BONGO, COUNT FOR OTHER GEARS               *
***********************************************************************
      CHARACTER SPCODE*4(5),SPNAME*24(5),SPECIES*4,GEARCODE*1
      CHARACTER GEARTYPE*28(4),ZERO*1
      INTEGER FLAG,GEARNUM,POINT,POLY,YEAR
      COMMON FLAG,GEARNUM,SPCODE,MONTH,SPNAME,POLY,SPECIES
      COMMON GEARTYPE,YEAR
      FLAG=0
      LASTGR=0
      POINT=3000
      POLY=111
***********************************************************************
*  2.  INPUT SPECIES CODE, SPECIES NAME, AND GEAR TYPE FROM BELOW     *
***********************************************************************
      READ(5,100) (SPCODE(I),I=1,5),(SPNAME(I),I=1,5),                  )
     $(GEARTYPE(I),I=1,4)
100   FORMAT(5(A4,1X),5(/A24),4(/A28))
***********************************************************************
*  3. INPUT MAP0.DATA- ASSIGN NUMERIC GEAR CODE AND STATION VALUE     *
*        (DENSITY OR COUNT) BASED ON GEAR TYPE.  CHECKS IF GEAR       *
*        TYPE CHANGES                                                 *
***********************************************************************
200   READ(15,300,END=1200) SPECIES,GEARCODE,YEAR,MONTH,LATD,LATM,
     $LONGD,LONGM,COUNT,DENSTY
300   FORMAT(A4,1X,A1,1X,2I2,3X,2I2,1X,2I2,1X,F4.0,1X,F8.3)
      VALUE=COUNT
      IF (GEARCODE.EQ.'B') VALUE=DENSTY
      VALUE=AINT(0.5+VALUE)
      IF (VALUE.LT.1.0) GOTO 400
      GEARNUM=1
        IF (GEARCODE.EQ.'N') GEARNUM=2
        IF (GEARCODE.EQ.'R') GEARNUM=3
      IF (LASTGR.EQ.0) THEN
        LASTGR=GEARNUM
        GOTO 400
      END IF
      IF (LASTGR.EQ.GEARNUM) GOTO 400
      FLAG=1
***********************************************************************
*  4.  SET UP X,Y COORDINATES FOR DATA POINTS                         *
***********************************************************************
400   X=(FLOAT(LONGD)+FLOAT(LONGM)/60.0)*(-4.36)+433.2
      Y=(FLOAT(LATD)+FLOAT(LATM)/60.0)*5.08333-106.33328
***********************************************************************
*  5.  SET UP STATION X,Y COORDINATES WHERE DENSITY=0                 *
*          + = FIRST GEAR TYPE  * = OTHER GEAR TYPE                   *
***********************************************************************
      IF (VALUE.LT.1.0) THEN
        ZERO='+'
        IF (GEARCODE.EQ.'R') ZERO='*'
        WRITE(16,500) POINT,X,Y
500     FORMAT(I5,T11,F10.4,F10.4)
        WRITE(19,600) POINT,ZERO
600     FORMAT(I5,T15,'0.0625',T41,A1)
        POINT=POINT+1
        GOTO 200
      ENDIF
***********************************************************************
*  6.  SET UP STATION DENSITY OR COUNT POLYGONS                       *
*     A.  DIAMOND - FIRST GEAR TYPE                                   *
***********************************************************************
      IF (GEARNUM.LE.2) THEN
        WRITE(16,700) POINT,X,Y-0.663
        WRITE(16,700) POINT+1,X+0.663,Y
        WRITE(16,700) POINT+2,X,Y+0.663
        WRITE(16,700) POINT+3,X-0.663,Y
700     FORMAT(I5,T11,F10.4,F10.4)
        WRITE(17,800) POLY,POINT,(POINT+1),(POINT+2),(POINT+3),POINT
800     FORMAT('S',I3,T11,5I5,' 9999')
        POINT=POINT+4
      ELSE
***********************************************************************
*     B.  TRIANGLE - OTHER GEAR TYPE                                  *
***********************************************************************
        WRITE(16,900) POINT,X,Y+0.7656
        WRITE(16,900) POINT+1,X-0.663,Y-0.3828
        WRITE(16,900) POINT+2,X+0.663,Y-0.3828
900     FORMAT(I5,T11,F10.4,F10.4)
        WRITE(17,1000) POLY,POINT,(POINT+1),(POINT+2),POINT
1000    FORMAT('S',I3,T11,4I5,' 9999')
        POINT=POINT+3
      END IF
***********************************************************************
*  7.  COUPLE POLYGON WITH DENSITY OR COUNT VALUE                     *
***********************************************************************
      WRITE(18,1100) POLY,VALUE
1100  FORMAT('S',I3,T11,F10.1)
      POLY=POLY+1
      GOTO 200
1200  CALL TITLE
      STOP
      END
***********************************************************************
*  8.  SUBROUTINE FOR LEGEND.  INITIALIZE VARIABLE TYPES              *
***********************************************************************
      SUBROUTINE TITLE
        CHARACTER SPCODE*4(5),SPNAME*24(5),SPECIES*4,GEARTYPE*28(4)
        INTEGER FLAG,GEARNUM,POLY,UNIT,YEAR
        COMMON FLAG,GEARNUM,SPCODE,MONTH,SPNAME,POLY,SPECIES,
     $         GEARTYPE,YEAR
***********************************************************************
*  9.  IF TWO GEAR TYPES, THEN PRINT TWO REFERENCE POLYGONS           *
***********************************************************************
        IF (FLAG.EQ.1) THEN
          GEARNUM=4
          WRITE(17,100) POLY,POLY+1
100       FORMAT('S',I3,T11,' 2315 2316 2317 2318 2315 9999'/'S',I3,T11,
     $    ' 2319 2320 2321 2319 9999')
          WRITE(18,200) POLY,POLY+1
200       FORMAT('S',I3,T18,'1.0'/'S',I3,T18,'1.0')
          POLY=POLY+2
        END IF
***********************************************************************
*  10.  MATCH SPECIES CODE WITH SPECIES NAME                          *
***********************************************************************
        DO 300 I=1,5
          INT=I
          IF (SPECIES.EQ.SPCODE(I)) GOTO 400
300     CONTINUE
**********************************************************************
*  11.  SET UP SPECIES, DATE, AND GEAR TYPE LEGEND                   *
**********************************************************************
400     WRITE(19,500) SPNAME(INT),MONTH,YEAR,GEARTYPE(GEARNUM)
500     FORMAT(T2,'2275',T16,'0.125',T41,A24/T2,'2276',T16,'0.125',T41,
     $  I2,'/',I2/T2,'2277',T16,'0.125',T41,A28)
        WRITE(16,600)
        WRITE(17,600)
        WRITE(18,600)
        WRITE(19,600)
600     FORMAT(T8,'END')
      RETURN
      END
//GO.SYSIN DD *
POSA CHCH DEPU ETTE HAJA
POMATOMUS SALTATRIX
CHLOROSCOMBRUS CHRYSURUS
DECAPTERUS PUNCTATUS
ETRUMEUS TERES
HARENGULA JAGUANA
BONGO NET
NEUSTON NET
RING NET
   NEUSTON NET      RING NET
//FT15F001 DD DSN=COINEWM.MAP0.DATA,DISP=(OLD,DELETE)
//FT16F001 DD DSN=COINEWM.MAP2.DATA,DISP=(NEW,PASS),UNIT=SCRATCH,
//         DCB=(DSORG=PS,LRECL=80,RECFM=FB,BLKSIZE=1600),SPACE=(TRK,1)
//FT17F001 DD DSN=COINEWM.MAP3.DATA,DISP=(NEW,PASS),UNIT=SCRATCH,
//         DCB=(DSORG=PS,LRECL=80,RECFM=FB,BLKSIZE=1600),SPACE=(TRK,1)
//FT18F001 DD DSN=COINEWM.MAP4.DATA,DISP=(NEW,PASS),UNIT=SCRATCH,
//         DCB=(DSORG=PS,LRECL=80,RECFM=FB,BLKSIZE=1600),SPACE=(TRK,1)
//FT19F001 DD DSN=COINEWM.MAP6.DATA,DISP=(,CATLG),UNIT=SCRATCH,
//         DCB=(DSORG=PS,LRECL=80,RECFM=FB,BLKSIZE=1600),
//         SPACE=(TRK,1)
//*
//STEP3 EXEC CALFORM                                                    02630000
//FT15F001 DD DSN=COINEWM.MAP.PGM(TEST1),DISP=SHR
//         DD DSN=COINEWM.MAP2.DATA,DISP=(OLD,DELETE)
//FT16F001 DD DSN=COINEWM.MAP3.DATA,DISP=(OLD,DELETE)
//FT17F001 DD DSN=COINEWM.MAP4.DATA,DISP=(OLD,DELETE)
//FT18F001 DD DSN=COINEWM.MAP.PGM(TEST5),DISP=SHR
//         DD DSN=COINEWM.MAP6.DATA,DISP=(OLD,DELETE)
//SYSIN    DD *
 1
ADVANCE                    3.5
POINTS  15    X            0.1       0.1
       END
POLYGONS16    X
       END
VALUES  17    X
       END
FACTOR                     2.5
MAP      4      USER
    1         1001.0   99999.0   10
    2          101.0    1000.0    8
    3           11.0     100.0         *      0.04     0.025
    4            1.0      10.0    1
       KEY      2270      0.25    0.0625                  -1
LINES   18    X
LEGENDS 18    X
FINISH
//
