1                                                  BIOS/SAS    Page  1





                        List of Enclosures
                        ------------------



         Exhibit 1 - A sample STORET retrieval request plus necessary
                     JCL "DD" statement to create and trap a "BFCF"
                     file of machine-readable BIOSFS data.
                     ALLFS report is shown here.


         Exhibit 2 - BFCF format documentation in the form of SAS
                     input statements, with columns and format
                     descriptors for all possible BFCF record
                     Layouts.
                     Output of job not included.


         Exhibit 3 - A printed STORET job output, demonstrating the
                     SAS interface, with an assortment of different
                     output formats.


         Exhibit 4 - Glitz.  Color graphics produced using BIOSFS
                     data trapped in BFCF format, via SAS/Graph
                     software, with high resolution 16-color graphics
                     as produced on our Tektronix hardware.


         Exhibit 5 - A two step SAS run stream which can be used to
                     search a portion of the EPA taxonomic database for
                     the existance of a list of taxonomic names supplied
                     by the user. Matches, mismatches, and near misses
                     are printed and summarized.

         Exhibit 6 - A STORET/SAS run stream to retrieve and summarize
                     all records of taxa observed from BIOS.
                     One page of the tabulated output is shown here.



     NOTE:  The Rainbow/Flower logo used as a cover for this section was
            created using SAS/Graph PROC GMAP, with some creative use of
            State codes and boundaries.  The code for this output is NOT
            enclosed.
1                                                  BIOS/SAS    Page  2
                                                         Jan. 25, 1989



                           Exhibit 1
                           ---------


                       Raw Data Retrieval
                       ------------------

                Create Machine Readable File (BFCF)
                -----------------------------------


  The STORET retrieval request shown on the folowing page will create a
 file under the TSO library of the user represented by "iiiaaaa" when
 submitted using the STORET/TSO command "%SCAN".

  Note that "iii" must be changed BEFORE submitting to match the
 TSO Userid of the submitting user, and "aaaa" must match the account
 code for that user.

  The file created will contain a variety of differently formatted
 records, containing mostly "binary" (unprintable) data, called a
 "BFCF" (Biological Further Computational File).

  This run will also produce a printed ALLFS report showing all the
 Biological Field Survey data stored at the designated BIOS stations.
 This report is included as an example.  An identical report is produced
 for exhibits 2 through 4 but has not been included.

  This run stream may be found in an online library of examples of
 STORET/SAS analyses, named

           'STORET.HELP.EXAMPLES.SAS.LIBRARY(BFCFTRAP)'


1                                                  BIOS/SAS    Page  3
                                                         Jan. 25, 1989

 *
 *  THIS DATASET IS NAMED 'STORET.HELP.EXAMPLES.SAS.LIBRARY(BFCFTRAP)'
 *  LAST UPDATE JANUARY 25, 1989               OLOF HANSEN / TOM DEWALD
 * ROB PALMER
 *
 *  THIS FILE CONTAINS THE STORET RUN-STREAM AND ACCOMPANYING
 *  JCL "DD" STATEMENT NEEDED TO CREATE AND TRAP A "BFCF" FILE.
 *
 *  THE BFCF FILE IS THE STANDARD MACHINE-READABLE OUTPUT FOR THE
 *  STORET BIOSFS SYSTEM.
 *
 *
 ** DELETE THIS LINE AND ALL PRECEEDING LINES BEFORE USING THIS FILE **

 PGM=ALLFS,
 #
 #  USE THIS STORET RUN STREAM TO BUILD A MACHINE-READABLE
 #  FILE (BFCF) OF DATA FROM STORET BIOS FIELD SURVEY SYSTEM.
 #  ORIGINAL IN    'STORET.HELP.EXAMPLES.SAS.LIBRARY(BFCFTRAP)'
 #
 FILEOUT=BIOSFS,
 A=11TRAIN,UK=CHOOCHOO,
 S=DIFFICULT-10,S=DIFFICULT-11,S=DIFFICULT-13,
 MISSING=SAS,
 ./iii     JOB (aaaaSTORP,Miii),STORET,NOTIFY=iii,
 ./        MSGCLASS=A,MSGLEVEL=(1,1),PRTY=4
 **ROUTE  PRINT HOLD
 **JOBPARM LINES=10
 ./*          BELOW IS THE "BFCF" JCL NEEDED
 ./BFCF DD UNIT=DISK,DISP=(NEW,CATLG),DSN=iiiaaaa.BFCF,
 ./   SPACE=(TRK,(1,1)),
 ./   DCB=(RECFM=VB,LRECL=2004,BLKSIZE=2008)
1                                                  BIOS/SAS    Page  4
                                                     through Page 13
                                                         Jan. 25, 1989











         **** OUTPUT FOR EXHIBIT 1 GOES IN HERE!! ***

                     Pages 4 through 13


1                                                  BIOS/SAS    Page 14
                                                         Jan. 25, 1989



                           Exhibit 2
                           ---------



                     BFCF Format Description
                     -----------------------

            SAS Input Statements for All BIOSFS Variables
            ---------------------------------------------



  The SAS input statements attached on the following pages are supplied
 as documentation, rather than as a sample run stream (although they
 will run if submitted).  For every record type which may appear in
 a STORET "BFCF" file, there is an input sequence shown here which
 identifies all the BIOSFS variables contained on that record, which
 columns they appear in, and what format they must be read with.

  Before attempting to read or decipher these input statements,
 examine the simpler SAS statements in exhibits 3 and 4.  These
 two exhibits represent typical usage of the SAS input statement
 in much simplified form to read only those BIOSFS variables which
 are needed to create each report.

  If you really should decide to run this retrieval request, the
 output produced contains the ALLFS report shown in exhibit 1,
 and a cryptic SAS dump of the BFCF file.

  This listing may be found in an online library of examples of
 STORET/SAS analyses, named

           'STORET.HELP.EXAMPLES.SAS.LIBRARY(BFCFDOC)'


1                                                  BIOS/SAS    Page 15
                                                         Jan. 25, 1989

 * THIS DATASET IS NAMED 'STORET.HELP.EXAMPLES.SAS.LIBRARY(BFCFDOC)'
 * LAST UPDATE JANUARY 25, 1989               ROB PALMER
 *
 * THIS FILE CONTAINS A STORET/SAS RUN-STREAM WHICH DOCUMENTS THE
 * INPUT RECORD LAYOUTS NEEDED TO READ A MACHINE-READABLE FILE
 * PRODUCED USING "FILEOUT=BIOSFS,".
 *
 * ALTHOUGH THIS RUN STREAM WILL RUN AS SUPPLIED, IT IS INTENDED
 * AS INFORMATION ONLY, AND USERS ARE ADVISED TO USE IT TO
 * IDENTIFY RECORD TYPES, COLUMN OFFSETS, AND FIELD FORMATS
 * NEEDED TO ACQUIRE DATA FROM A STORET BIOSFS RETRIEVAL.
 *
 ** DELETE THIS LINE AND ALL PRECEEDING LINES BEFORE USING THIS FILE **

 PGM=ALLFS,
 #
 #  ORIGINAL IN    'STORET.HELP.EXAMPLES.SAS.LIBRARY(BFCFDOC)'
 #
 FILEOUT=BIOSFS,
 A=11TRAIN, UK=CHOOCHOO,
 S=DIFFICULT-10,S=DIFFICULT-11,S=DIFFICULT-13,
 MISSING=SAS,
 NOECHO,
 SASPARMS=BEGIN,
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 DATA BIORAW;
 FORMAT SAMPDATE YYMMDD8.;
 FORMAT SAMPTIME HHMM5.;
 FILE PRINT NOTITLES HEADER=PGHD LINESLEFT=LL;
 INFILE BFCF LENGTH=LENGTH;
 INPUT @1 AGENCY $8. STATION $15. @24 REC_TYPE $2. @;
 IF REC_TYPE='01' THEN PUT _PAGE_;
 IF REC_TYPE>'09' THEN PUT;
 IF LL<8 THEN PUT _PAGE_;
 PUT '*****  ' REC_TYPE= LENGTH= AGENCY= STATION= @;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 IF REC_TYPE<'99' THEN DO;           *    STATION HEADER           ;
   INPUT @91 TEXT $CHAR41. @;        *  -  -  -  -  -  -  -  -  -  ;
   PUT '  **  ' TEXT $CHAR41. ;
   END;
   ELSE PUT;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 IF REC_TYPE^='99' THEN RETURN;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 INPUT @53 SORT_SEQ  PIB2.
       @55 GRP_NUM   PIB2.
             @ ;
 PUT '*****  ' GRP_NUM= '  ' SORT_SEQ=;
1                                                  BIOS/SAS    Page 16
                                                         Jan. 25, 1989

                                     *  -  -  -  -  -  -  -  -  -  ;
 IF GRP_NUM=999 THEN RETURN;         *    DELIMITER RECORD         ;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
   IF GRP_NUM=4 THEN RETURN;         *    IHS GROUP = 30SURVEY     ;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
   IF GRP_NUM=0 OR GRP_NUM>4 THEN DO;*    ALL SAMPLE DATA RECORDS  ;
                                     *    HAVE THE SAMPLE KEY IN   ;
                                     *    THE KEY FIELD            ;
                                     *  -  -  -  -  -  -  -  -  -  ;
     INPUT @41 SURVEY $5. @;

     INPUT @26 SAMPDATE YYMMDD6. HH 2. MM 2. @ ;
        IF HH>24 THEN SAMPTIME=.;
                 ELSE SAMPTIME=HMS(HH,MM,0);

     INPUT @46 SAMPID $6.
           @52 REPLNUM $1.
             @  ;

     PUT '****  ' SURVEY= ;
     PUT '***  ' SAMPDATE= SAMPTIME= ;
     PUT '**  ' SAMPID= ;
     PUT '*  ' REPLNUM= ;
     END;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
   IF GRP_NUM=5 THEN DO;             *    IHS GROUP = 40SAMPRF     ;
                                     *  -  -  -  -  -  -  -  -  -  ;
     INPUT @57 ESAMPDT PD6.
           @68 (SNOTE1-SNOTE4)  ($CHAR64.)
          @324 END_DATE $10.
          @334 COMMUNI $CHAR23.
             @  ;
     IF ESAMPDT < 0 THEN DO;
       END_DATE=' ';
       ESAMPDT=.;
       END;
     PUT ESAMPDT= END_DATE= COMMUNI=;
     PUT SNOTE1= / SNOTE2= / SNOTE3= / SNOTE4=;
     RETURN;
     END;
1                                                  BIOS/SAS    Page 17
                                                         Jan. 25, 1989

 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
   IF GRP_NUM=0 THEN DO;             *    BIOS WATER QUALITY DATA  ;
                                     *  -  -  -  -  -  -  -  -  -  ;
     INPUT @57 PARM PD3.
           @60 LONGNAME $CHAR50.
          @110 (SHORT1-SHORT3)  ($CHAR10.)
          @140 FLOATVAL RB4.
          @144 CHARVAL $8.
          @152 REMARK $1.
          @153 ALPHANUM $1.
             @  ;
     PUT PARM= LONGNAME= ;
     PUT SHORT1= / SHORT2= / SHORT3= ;
     IF ALPHANUM = 'A' THEN FLOATVAL=. ;
     PUT FLOATVAL= CHARVAL= REMARK= ALPHANUM= ;
     RETURN;
     END;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
   IF GRP_NUM=6 THEN DO;             *    IHS GROUP = 50GEARGR     ;
                                     *  -  -  -  -  -  -  -  -  -  ;
     INPUT @57 GEAR     IB2.
           @59 GMESH    RB4.
           @66 GVOL     RB4.
           @70 GAREA    RB4.
           @74 GLEN     RB4.
           @78 GDIAM    RB4.
           @82 GWIDTH   RB4.
           @86 GVOLTS   RB4.
           @90 GAMPS    RB4.
           @94 GCURTYP  $1.
           @95 GEARNAME $23.
             @  ;
     IF GMESH  <=0 THEN GMESH  = . ;
     PUT GEAR= GEARNAME=;
     PUT GMESH= GVOL= GAREA= GLEN= GDIAM= GWIDTH=
          GVOLTS= GAMPS= GCURTYP=;
     RETURN;
     END;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
   IF GRP_NUM=7 THEN DO;             *    IHS GROUP = 60REFERN     ;
                                     *  -  -  -  -  -  -  -  -  -  ;
     INPUT @57 REFTYPE  $1.
           @58 REFNUM  IB2.
             @  ;
      PUT REFTYPE= REFNUM=;
     RETURN;
     END;
1                                                  BIOS/SAS    Page 18
                                                         Jan. 25, 1989

 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
   IF GRP_NUM=8 THEN DO;             *    IHS GROUP = 90TAXGRP     ;
                                     *  -  -  -  -  -  -  -  -  -  ;
     INPUT @57 TAXCODE  $17.
           @74 LIFESTA  IB2.
           @76 BATCHID   $1.
          @104 HYBRID   $17.
          @121 IDCONF    $1.
          @122 SEETABLE IB2.
          @124 LOCNT    RB4.
          @128 CNT      RB4.
          @132 HICNT    RB4.
          @136 SSLOCNT  RB4.
          @140 SSCNT    RB4.
          @144 SSHICNT  RB4.
          @148 WETWT    RB4.
          @152 DRYWT    RB4.
          @156 ASHWT    RB4.
          @160 SLENMAX  RB4.
          @164 SLENMIN  RB4.
          @168 FLENMAX  RB4.
          @172 FLENMIN  RB4.
          @176 TLENMAX  RB4.
          @180 TLENMIN  RB4.
          @184 TNOTE1   $64.
          @248 TNOTE2   $64.
          @312 SCI_NAME $45.
          @357 COM_NAME $45.
          @402 LIFSTAGE $23.
             @  ;
     IF LIFESTA  < 0 THEN LIFESTA  = . ;
     IF SEETABLE < 0 THEN SEETABLE = . ;
     PUT TAXCODE= SCI_NAME= IDCONF= / COM_NAME=;
     PUT LIFESTA= LIFSTAGE= BATCHID=;
     PUT HYBRID= SEETABLE=;
     PUT TNOTE1= / TNOTE2=;
     PUT CNT= '         ' LOCNT= '  ' HICNT=;
     PUT SSCNT= '      ' SSLOCNT= SSHICNT=;
     PUT WETWT= DRYWT= ASHWT=;
     PUT SLENMAX= FLENMAX= TLENMAX=;
     PUT SLENMIN= FLENMIN= TLENMIN=;
     RETURN;
     END;
1                                                  BIOS/SAS    Page 19
                                                         Jan. 25, 1989

 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 PGHD:
  HDATE=TODAY();
  PUT 'STORET RETRIEVAL DATE '
     HDATE YYMMDD8.
 '                  **   SAS DISPLAY OF DATA  -  DUMP OF BFCF FILE  **'
     ;
  PUT;
  RETURN;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 STOPSAS,
 ./iii      JOB (aaaaSTORP,Miii),'BIOS-SAS',NOTIFY=iii,
 ./             MSGLEVEL=(1,1),PRTY=4
 **ROUTE  PRINT HOLD
 **JOBPARM LINES=10
1                                                  BIOS/SAS    Page 20
                                                         Jan. 25, 1989



                           Exhibit 3
                           ---------


                       A Retrieval Output
                       ------------------

            Including Raw Data Dumps and Some SAS Reports
            ---------------------------------------------


  The attached computer printout was generated using the STORET and
 SAS instructions kept in the online HELP dataset called

           'STORET.HELP.EXAMPLES.SAS.LIBRARY(BFCFANAL)'

  It requires the creation of a BFCF machine readable file in your
 user library before being executed.  Exhibit 1 contains
 the specific instructions used to create the BFCF used for this
 printout.

  It is instructive to note the rather large variety of reports
 which may be produced on a single run, using only 5 variables from
 the BIOSFS database (STATION, GEAR, SAMPDT, TAXON, and CNT).

  Users should also note the use of SAS instructions to assign taxonomic
 orders using "non-standard" (not ours) taxonomy to one or two critters
 stored at these stations.  The desire to customize analysis in ways
 such as this is a frequent driving force behind the use of SAS to
 produce your reports.

1                                                  BIOS/SAS    Page 21
                                                         Jan. 25, 1989

 *  THIS DATASET IS NAMED 'STORET.HELP.EXAMPLES.SAS.LIBRARY(BFCFANAL)'
 *  LAST UPDATE JANUARY 25, 1989              ROB PALMER
 *
 *  THIS FILE CONTAINS A STORET/SAS RUN-STREAM WHICH SELECTS DATA
 *  FROM THE STORET/BIOS SYSTEM, AND USING THE STORET/SAS INTERFACE,
 *  PERFORMS A VARIETY OF DIFFERENT ANALYTICAL DISPLAYS FROM SAS.
 *
 *  DISPLAYS INCLUDE
 *    RELATIVE ABUNDANCE TABLES.
 *    FREQUENCY ANALYSES OF TAXONOMIC ORDERS.
 *    BLOCK CHARTS OF POPULATION VERSUS STATION, DATE, AND ORDER.
 *    BAR CHARTS OF POPULATION VERSUS STATION.
 *    PIE CHARTS OF POPULATION VERSUS STATION.
 *
 ** DELETE THIS LINE AND ALL PRECEEDING LINES BEFORE USING THIS FILE **

 PGM=ALLFS,
 #
 #   ORIGINAL IN    'STORET.HELP.EXAMPLES.SAS.LIBRARY(BFCFANAL)'
 #
 FILEOUT=BIOSFS,
 A=11TRAIN,UK=CHOOCHOO,
 S=DIFFICULT-10,S=DIFFICULT-11,S=DIFFICULT-13,
 MISSING=SAS,
 NOECHO,
 SASPARMS=BEGIN,
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 OPTIONS NOSOURCE LS=132 NOOVP NOTEXT82;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 DATA BIORAW;
 KEEP STATION SMP_DATE GEAR
       TAXCODE SCI_NAME ORDER COUNT;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 FORMAT STATION $13.;        RETAIN STATION;
 FORMAT SMPKEY $27.;         RETAIN SMPKEY;
 FORMAT HOLDKEY $27.;        RETAIN HOLDKEY ;
 FORMAT SMP_DATE YYMMDD8.;   RETAIN SMP_DATE;
 FORMAT GEAR    $12.;        RETAIN GEAR ;
 FORMAT ORDER $CHAR16.;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 INFILE BFCF;
 INPUT @9 STATION $12. @24 REC_TYPE $2. @;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 IF REC_TYPE^='99' THEN RETURN;      * SKIP IF NOT A DATA RECORD   ;
1                                                  BIOS/SAS    Page 22
                                                         Jan. 25, 1989

 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
   INPUT @55 GRP_NUM PIB2. @;
   IF GRP_NUM=999 THEN RETURN;       *    DELIMITER RECORD         ;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
   IF GRP_NUM>4 THEN DO;             *    CHECK FOR BEGINNING      ;
                                     *    OF A NEW SAMPLE.         ;
     INPUT @26 SMPKEY $CHAR27. @ ;
     IF SMPKEY^=HOLDKEY THEN DO;     *    CLEAR ALL RETAIN VARS    ;
       HOLDKEY=SMPKEY;
       GEAR=' ';
       END;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
     INPUT @26 TEST $2. @;           *    SAMPLE DATE              ;
       IF TEST = '99' THEN RETURN;
       ELSE INPUT @26 SMP_DATE YYMMDD6. @;
     END;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
   IF GRP_NUM=6 THEN DO;             *    IHS GROUP = 50GEARGR     ;
                                     *  -  -  -  -  -  -  -  -  -  ;
     INPUT @95 GEAR    $12. @;
     RETURN;
     END;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
   IF GRP_NUM=8 THEN DO;             *    IHS GROUP = 90TAXGRP     ;
                                     *  -  -  -  -  -  -  -  -  -  ;
     INPUT @57 TAXCODE  $17.
          @128 COUNT     RB4.
          @312 SCI_NAME $30.
             @  ;

     WCODE=SUBSTR(TAXCODE,1,6);
     ORDER='ERROR';
     IF WCODE='470602' THEN ORDER='COLLEMBOLA     ';
     IF WCODE='470604' THEN ORDER='EPHEMEROPTERA  ';
     IF WCODE='470615' THEN ORDER='PLECOPTERA     ';
     IF WCODE='470623' THEN ORDER='COLEOPTERA     ';
     IF WCODE='470627' THEN ORDER='MEGALOPTERA    ';
     IF WCODE='470628' THEN ORDER='TRICHOPTERA    ';
     IF WCODE='470630' THEN ORDER='DIPTERA        ';

     IF ORDER='ERROR' THEN DO;
       PUT / 'OOPS  -  ' ORDER= TAXCODE= SCI_NAME= ;
       ORDER='ODONATA';
       PUT '           FIXUP ASSUMED - ORDER SET TO "ODONATA"';
       END;

     IF STATION='DIFFICULT-10' THEN STATION='Station No.1 ';
     IF STATION='DIFFICULT-11' THEN STATION='Station No.2 ';
     IF STATION='DIFFICULT-13' THEN STATION='Station No.3 ';

     IF COUNT >0 THEN OUTPUT;    *  SKIPS MISSING COUNTS  ;
     RETURN;
     END;
1                                                  BIOS/SAS    Page 23
                                                         Jan. 25, 1989

 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 PROC SORT; BY STATION SMP_DATE GEAR DESCENDING COUNT;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 TITLE1 'GMU Study';
 TITLE2 '-  -  -';
 TITLE3 'Impact of Urbanization on Insect Biota';
 TITLE4 'Streams in VA South of DC';
 FOOTNOTE1 'RAW DATA RESIDES IN THE EPA STORET/BIOS'
 ' SYSTEM UNDER AGENCY CODE 11TRAIN';
 LABEL STATION='Station ID';
 LABEL SMP_DATE='Sample Date';
 LABEL SCI_NAME='Scientific Name';
 LABEL TAXCODE='BIOS Taxonomic Code';
 LABEL COUNT='Total Count';
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 PROC PRINT SPLIT=' '; BY STATION SMP_DATE GEAR;
 ID STATION SMP_DATE GEAR;
 VAR TAXCODE ORDER SCI_NAME COUNT;
 SUM COUNT;SUMBY SMP_DATE;PAGEBY STATION;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 PROC FREQ; BY STATION;WEIGHT COUNT;
 TABLE ORDER*SMP_DATE/;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 PROC CHART DATA=BIORAW; BY STATION;
 BLOCK ORDER/GROUP=SMP_DATE SUMVAR=COUNT DISCRETE
 MIDPOINTS='COLEOPTERA' 'DIPTERA' 'EPHEMEROPTERA' 'COLLEMBOLA'
            'MEGALOPTERA' 'PLECOPTERA' 'TRICHOPTERA'
   ;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 PROC CHART DATA=BIORAW;
 BLOCK ORDER/GROUP=STATION SUMVAR=COUNT DISCRETE
   ;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 DATA BIOGRPS;  SET BIORAW;
 IF ORDER>'H' THEN ORDER='OTHER';
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 PROC CHART DATA=BIOGRPS;
 BLOCK STATION/GROUP=SMP_DATE SUBGROUP=ORDER SUMVAR=COUNT DISCRETE
   ;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 PROC CHART DATA=BIOGRPS;
 VBAR STATION/SUBGROUP=ORDER SUMVAR=COUNT DISCRETE;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 PROC CHART DATA=BIOGRPS; BY STATION NOTSORTED;
 PIE ORDER/SUMVAR=COUNT DISCRETE;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 STOPSAS,
 ./iii      JOB (aaaaSTORp,Miii),'BIOS-SAS',NOTIFY=iii,
 ./             MSGLEVEL=(1,1),PRTY=4
 **ROUTE  PRINT HOLD
 **JOBPARM LINES=10
1                                                  BIOS/SAS    Page 24
                                                     through Page 38
                                                         Jan. 25, 1989















         **** OUTPUT FOR EXHIBIT 3 GOES IN HERE!! ***

                     Pages 24 through 38


1                                                  BIOS/SAS    Page 39
                                                         Jan. 25, 1989



                           Exhibit 4
                           ---------



                       SAS/Graph Displays
                       ------------------

            For Users With Graphics Terminals or Emulators
            ----------------------------------------------



  The attached pictures were generated on a Tektronix 4107 terminal
 equipped with a 4510 Rasterizer and a 4692 Color Hard Copier.
 The instructions use only SAS, and since SAS supports most graphics
 terminals, this procedure should be capable of use on other hardware.

  This SAS instruction set may be found in an online library of
 examples of STORET/SAS analyses, named


           'STORET.HELP.EXAMPLES.SAS.LIBRARY(BFCFGRAF)'


  It requires the creation of a BFCF machine readable file in your
 user library before you execute the graphics.  Exhibit 1 contains
 the specific instructions used to create the BFCF used for these
 pictures.


1                                                  BIOS/SAS    Page 40
                                                         Jan. 25, 1989

 *  THIS DATASET IS NAMED 'STORET.HELP.EXAMPLES.SAS.LIBRARY(BFCFGRAF)'
 *  LAST UPDATE JANUARY 25, 1989              ROB PALMER  / TOM DEWALD
 *
 *  THIS FILE CONTAINS SAS INSTRUCTIONS TO PRODUCE GRAPHICS OUTPUT
 *  FROM BIOSFS DATA PREVIOUSLY TRAPPED USING "FILEOUT=BIOSFS,"
 *  AS AN INSTRUCTION IN A STORET BIOSFS RETRIEVAL.
 *
 ** DELETE THIS LINE AND ALL PRECEEDING LINES BEFORE USING THIS FILE **

 OPTIONS NOTEXT82;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 TSO ALLOC FI(BFCF) DA('iiiaaaa.BFCF') SHR REU; RUN;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 DATA BIORAW;
 KEEP STATION SMP_DATE GEAR
       TAXCODE SCI_NAME ORDER COUNT;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 FORMAT STATION $13.;        RETAIN STATION;
 FORMAT SMPKEY $27.;         RETAIN SMPKEY;
 FORMAT HOLDKEY $27.;        RETAIN HOLDKEY ;
 FORMAT SMP_DATE YYMMDD8.;   RETAIN SMP_DATE;
 FORMAT GEAR    $12.;        RETAIN GEAR ;
 FORMAT ORDER $CHAR16.;
 LABEL STATION='Station ID';
 LABEL SMP_DATE='Sample Date';
 LABEL ORDER='Taxonomic Order:';
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 INFILE BFCF LENGTH=LENGTH;
 INPUT @9 STATION $12. @24 REC_TYPE $2. @26 DLIM $2. @;
 IF DLIM='99' THEN RETURN;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 IF REC_TYPE^='99' THEN RETURN;   *  RETURN IF NOT A DATA RECORD   ;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
   INPUT @55 GRP_NUM PIB2. @;
   IF GRP_NUM=999 THEN RETURN;       *    DELIMITER RECORD         ;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
   IF GRP_NUM>4 THEN DO;             *    ALL RECORDS WITH MINOR   ;
                                     *    VALUE IN THE KEY FIELD   ;
     INPUT @26 SMPKEY $CHAR27. @ ;
     IF SMPKEY^=HOLDKEY THEN DO;     *    CLEAR ALL RETAIN VARS    ;
       HOLDKEY=SMPKEY;
       GEAR=' ';
       END;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
     INPUT @26 TEST $2. @;           *    SAMPLE DATE              ;
       IF TEST = '99' THEN RETURN;
       ELSE INPUT @26 SMP_DATE YYMMDD6. @;
     END;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
   IF GRP_NUM=6 THEN DO;             *    IHS GROUP = 50GEARGR     ;
                                    *  -  -  -  -  -  -  -  -  -  ;
     INPUT @95 GEAR    $23. @;
     RETURN;
     END;
1                                                  BIOS/SAS    Page 41
                                                         Jan. 25, 1989

 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
   IF GRP_NUM=8 THEN DO;             *    IHS GROUP = 90TAXGRP     ;
                                     *  -  -  -  -  -  -  -  -  -  ;
     INPUT @57 TAXCODE  $17.
          @128 COUNT    RB4.
          @312 SCI_NAME $30.
             @  ;

     WCODE=SUBSTR(TAXCODE,1,6);
     ORDER='ERROR';
     IF WCODE='470602' THEN ORDER='Collembola     ';
     IF WCODE='470604' THEN ORDER='Ephemeroptera  ';
     IF WCODE='470615' THEN ORDER='Plecoptera     ';
     IF WCODE='470623' THEN ORDER='Coleoptera     ';
     IF WCODE='470627' THEN ORDER='Megaloptera    ';
     IF WCODE='470628' THEN ORDER='Trichoptera    ';
     IF WCODE='470630' THEN ORDER='Diptera        ';
     IF ORDER='ERROR' THEN DO;
       PUT / 'OOPS - ' ORDER= TAXCODE= SCI_NAME= ;
       ORDER='Odonata';          *  ASSIGN CRITTER TO ORDER      ;
       PUT   '          FIXUP TAKEN - ' ORDER=;
       END;

     IF STATION='DIFFICULT-10' THEN STATION='Station No.1 ';
     IF STATION='DIFFICULT-11' THEN STATION='Station No.2 ';
     IF STATION='DIFFICULT-13' THEN STATION='Station No.3 ';

     IF COUNT >0 THEN OUTPUT;    *  SKIPS MISSING COUNTS  ;
     RETURN;
     END;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
   GOPTIONS DEVICE=TEK4107T VPOS=61 HPOS=140
          CTITLE=RED FTITLE=XSWISS
          CBY=GREEN HBY=1.0 FBY=SIMPLEX
          COLORS=(BLUE CYAN GREEN YELLOW ORANGE PINK WHITE)
           ;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 *           THE FANCY 'CAMERA READY' STUFF.                       ;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 TITLE1 C=GREEN        'George Mason University Study';
 TITLE2 C=GREEN              '-----------------';
 TITLE3 C=GREEN   'Impact of Urbanization on Insect Biota';
 TITLE4 C=GREEN 'Streams in Virginia south of Washington, DC';
 FOOTNOTE1 J=C F=SIMPLEX C=GREEN '- Raw data resides in the '
 F=XSWISS C=CYAN 'STORET/BIOS'
 F=SIMPLEX C=GREEN ' system under agency code 11TRAIN -';
 SYMBOL1 C=CYAN V=NONE I=JOIN;
 SYMBOL2 C=ORANGE V=NONE I=JOIN;
 SYMBOL3 C=YELLOW V=NONE I=JOIN;
 SYMBOL4 C=PINK V=NONE I=JOIN;
 SYMBOL5 C=BLUE V=NONE I=JOIN;
 PATTERN1 C=CYAN V=S;
 PATTERN2 C=ORANGE  V=S;
 PATTERN3 C=YELLOW V=S;
 PATTERN4 C=PINK V=S;
 PATTERN5 C=BLUE V=S;
1                                                  BIOS/SAS    Page 42
                                                         Jan. 25, 1989

 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 PROC GCHART DATA=GMUCITY;
 BLOCK ORDER/SUMVAR=COUNT GROUP=STATION SUBGROUP=SMP_DATE DISCRETE
 CAXIS=WHITE CTEXT=GREEN COUTLINE=PINK NOHEADING
 MIDPOINTS='Coleoptera' 'Diptera' 'Ephemeroptera' 'Collembola'
           'Megaloptera' 'Plecoptera' 'Trichoptera'
      ;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 DATA BIOGRPS; SET GMUCITY;
 IF ORDER>'H' THEN ORDER='Other';
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 PROC GCHART DATA=BIOGRPS;
 VBAR STATION/SUBGROUP=ORDER SUMVAR=COUNT DISCRETE CTEXT=GREEN;
 PIE ORDER/SUMVAR=COUNT DISCRETE GROUP=STATION
 ACROSS=2 DOWN=2 NOHEADING
 SLICE=ARROW PCT=ARROW VALUE=NONE
 CTEXT=GREEN
 OTHER=0
      ;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 PROC FREQ DATA=BIOGRPS; WEIGHT COUNT;
 TABLE STATION*ORDER/OUT=BIOTMPS NOPRINT;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 DATA BIOCUMS; SET BIOTMPS; BY STATION;
 RETAIN C1-C4 0;
 KEEP STATION ORDER COUNT;
 LABEL COUNT='Count of Organisms';
 IF ORDER='Coleoptera' THEN C1=C1+COUNT;
 IF ORDER='Diptera' THEN C2=C2+COUNT;
 IF ORDER='Ephemeroptera' THEN C3=C3+COUNT;
 IF ORDER='Other' THEN C4=C4+COUNT;
 IF LAST.STATION THEN DO;
   HCNT=COUNT;
   ORDER='Coleoptera';    COUNT=C1; OUTPUT;
   ORDER='Diptera';       COUNT=C1+C2; OUTPUT;
   ORDER='Ephemeroptera'; COUNT=C1+C2+C3; OUTPUT;
   ORDER='Other';         COUNT=C1+C2+C3+C4; OUTPUT;
   COUNT=HCNT;
   C1=0; C2=0; C3=0; C4=0;
   END;
 *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 PROC GPLOT DATA=BIOCUMS;
 PLOT COUNT*STATION=ORDER/CTEXT=GREEN CAXIS=GREEN AREAS=4;

1                                                  BIOS/SAS    Page 43
                                                     through Page 46
                                                         Jan. 25, 1989

















         **** OUTPUT FOR EXHIBIT 4 GOES IN HERE!! ***

                       Pages 43 through 46


1                                                  BIOS/SAS    Page 47
                                                         Jan. 25, 1989



                           Exhibit 5
                           ---------


      Checking a List of Organisms Against the Taxonomic Database
      -----------------------------------------------------------


  The SAS run stream which follows compares a user specified list of
 organisms with those in EPA's taxonomic data base.  This SAS job is
 not designed to take the place of the full screen browse facility
 under ISPF but is intended as a supplement to it.  The following SAS
 code is intended for those users who wish to check a large number of
 organisms against the data base.

  The SAS instruction set may be found in the online library of
 STORET/SAS analyses, named

                STORET.HELP.EXAMPLES.SAS.LIBRARY(TAXMATCH)

  The output produced by these SAS instructions follows the runstream
 listing.

1                                                  BIOS/SAS    Page 48
                                                         Jan. 25, 1989


  *  THIS DATASET IS NAMED 'STORET.HELP.EXAMPLES.SAS.LIBRARY(TAXMATCH)
  *  LAST UPDATE JANUARY 5, 1989                     LEE MANNING
  *
  *  THIS RUN STREAM CAN BE USED (WITH YOUR MODIFICATIONS) TO SEARCH
  *  A PORTION OF THE STORET MASTER TAXONOMIC DICTIONARY FOR THE
  *  EXISTENCE OF A SPECIFIED LIST OF TAXONOMIC NAMES.
  *
  *  TO USE IT, YOU MUST MAKE THREE MODIFICATIONS.
  *
  *    1. JOB STATEMENT
  *        FIND THE LINE (BELOW) WHICH BEGINS "//III     JOB"
  *        AND REPLACE IT WITH ONE WHERE YOU HAVE SUBSTITUTED
  *        YOUR OWN TSO USERID FOR "III" IN BOTH PLACES, AND
  *        YOUR TSO ACCOUNT CODE FOR "AAAA" (ONE PLACE).
  *
  *        YOU MAY FIND IT EASIER IN OUR EDITORS (EITHER
  *        TSO QED OR ISPF OPTION 2) TO DELETE THE JOB STATEMENT
  *        AND CONSTRUCT A NEW ONE VIA THE STORET COMMAND "%JOBCARD".
  *
  *    2. SEARCH ARGUMENTS FOR TAXONOMIC DATABASE.
  *        FIND THE LINE (BELOW) WHICH READS
  *        "START=0801,STOP=0801,"
  *        AND REPLACE IT WITH ONE WHICH WILL SEARCH
  *        THE PART OF THE TAXONOMIC FILE WHICH IS
  *        APPROPRIATE FOR YOUR CRITTER LIST.
  *
  *        THE START/STOP NUMBERS REFER TO THE EPA CODES
  *        FOR THE TAXONOMIC LEVEL TO BE SEARCHED.  IN
  *        THIS EXAMPLE, "0801" IS THE EPA CODE FOR
  *        PHYLUM CHLOROPHYCOTA, (SYN. CHLOROPHYTA)
  *        CLASS CHLOROPHYCEAE.
  *
  *        WE RECOMMEND BROWSING THE TAXONOMIC DATABASE
  *        WITH ISPF FULL-SCREEN OPTION "S.2.2"
  *        AS A TACTIC TO IDENTIFY USEFUL START/STOP POINTS.
  *
  *        ONLY ONE START/STOP PAIR MAY BE USED IN EACH RUN.
  *
  *    3. CRITTER LIST.
  *        FIND THE CRITTER LIST (BELOW) WHICH BEGINS WITH
  *        "CHLORELLA VULGARIS" AND REPLACE IT WITH THE LIST
  *        OF CRITTER NAMES YOU WISH TO MATCH.
  *        YOUR LIST MAY BE LONGER OR SHORTER THAN THE SAMPLE
  *        PROVIDED.  YOU MAY DELETE OR ADD LINES IN THIS SECTION
  *        AS NEEDED.
  *
  *  FINALLY,
  ** DELETE THIS LINE AND ALL PRECEEDING LINES BEFORE USING THIS FILE **
1                                                  BIOS/SAS    Page 49
                                                         Jan. 25, 1989


  //III      JOB (AAAASTORP,MIII),'* TAXA MATCH  *',PRTY=2,TIME=(,30)
  /*ROUTE  PRINT HOLD
  /*JOBPARM LINES=10
  //***********************************************
  //TAXAFILE EXEC PGM=TAXARD,REGION=4000K
  //STEPLIB DD DISP=SHR,DSN=CWT.F.STORET.LOADLIB
  //SYSPRINT DD SYSOUT=A
  //FILEOUT DD DISP=(NEW,PASS),DSN=&&EPA,UNIT=SYSDA,
  //     SPACE=(TRK,(50,50)),
  //     DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160)
  //***********************************************
  //*                                             **
  //*  THE VALUES ENTERED BELOW FOR "START" AND   **
  //*  "STOP" SHOULD BE CHOSEN TO GIVE A SUBSET   **
  //*  OF THE EPA TAXONOMIC DATABASE WHICH WILL   **
  //*  INCLUDE ALL THE CRITTERS YOU EXPECT THIS   **
  //*  PROCEDURE TO MATCH FOR YOU.                **
  //*                                             **
  //***********************************************
  //CARDF DD DATA
  START=0801,STOP=0801,
  NMAX=999999,   LEVEL=VARIETY,
  NOCOUNT,  NOPRINT,  FILEOUT=FMT1,
  /*
  //***********************************************
  //TRYTAXA EXEC SAS
  //SAS.INFILE DD DISP=(OLD,PASS),DSN=&&EPA
  //SAS.SYSIN DD DATA
  DATA OURLIST;
  FORMAT SCI_NAME $45.;
  INFILE CARDS;
  INPUT  @1    OUR_NAME   $45.
                  ;
  PTR=0; DROP PTR;
  PTR=INDEX(OUR_NAME,' SP.');
  IF PTR=0 THEN PTR=INDEX(OUR_NAME,' SPP.');
  SCI_NAME=OUR_NAME;
  IF PTR>1 THEN SCI_NAME=SUBSTR(OUR_NAME,1,PTR-1);
  *==================================================;
  *                                                  ;
  *   ENTER YOUR LIST OF NAMES BELOW ...             ;
  *   ONE NAME TO A LINE, BEGINNING IN COLUMN 1.     ;
  *   LEAVE THE LINE WHICH READS "CARDS " AS IS.     ;
  *   ALSO THE LINE WITH THE FOUR SEMI-COLONS.       ;
  *                                                  ;
  *==================================================;
  * DO NOT MODIFY ==>; CARDS;
  CHLORELLA VULGARIS
  NEPHROCYTIUM NOVUM INCOGNITA
  OOCYSTIS PELAGICA
  CHLOROCOCCUM SP.
  SCHROEDERIA SETIGYRA
  CONFERVA CRINITA
  ;;;; * <=== DO NOT MODIFY ;
1                                                  BIOS/SAS    Page 50
                                                         Jan. 25, 1989

  *--------------------------------------------------------------------;
  PROC SORT DATA=OURLIST; BY SCI_NAME;
  *--------------------------------------------------------------------;
  PROC PRINT N UNIFORM DATA=OURLIST; VAR SCI_NAME OUR_NAME;
  TITLE1 'INCOMING LIST';
  TITLE2 '- * -';
  TITLE3 'DATA ECHO';
  *--------------------------------------------------------------------;
  DATA EPACODE;
  INFILE INFILE;
  FORMAT SCI_NAME $45.;
  INPUT   @1   EPA_CODE   $18.
         @31   SCI_NAME   $45.
                  ;
  *--------------------------------------------------------------------;
  PROC SORT DATA=EPACODE; BY SCI_NAME;
  *--------------------------------------------------------------------;
  DATA RESULTS; MERGE OURLIST(IN=INOURS) EPACODE(IN=INEPA); BY SCI_NAME;
  FORMAT STATUS $8.;
  FORMAT HLD_NAME $45.;
  FORMAT HLD_CODE $18.;
  RETAIN NEARMISS 0; DROP NEARMISS;
  RETAIN HLD_NAME HLD_CODE; DROP HLD_NAME HLD_CODE;
  *;
  STATUS='MATCHED';
  *;
  IF ^ INEPA THEN DO;
    HSNAME=SCI_NAME;
    IF NEARMISS=0 THEN DO;
      HTNAME=OUR_NAME;
      OUR_NAME='---';
      EPA_CODE=HLD_CODE; SCI_NAME=HLD_NAME; STATUS='.PREV   ';
      OUTPUT;
      OUR_NAME=HTNAME;
      END;
    EPA_CODE='*   MISSING   *'; SCI_NAME=HSNAME; STATUS='..MISSED';
    NEARMISS=1;
    OUTPUT;
    END;
  *;
  IF NEARMISS=1 THEN DO;
    IF INEPA THEN DO;
      HTNAME=OUR_NAME;
      OUR_NAME='---';
      STATUS='...NEXT ';
      OUTPUT;
      OUR_NAME=HTNAME;
      IF INOURS THEN STATUS='MATCHED';
      NEARMISS=0;
      END;
    END;
  IF INOURS & STATUS='MATCHED' THEN DO;
    OUTPUT;
    END;
  HLD_NAME=SCI_NAME;
  HLD_CODE=EPA_CODE;
1                                                  BIOS/SAS    Page 51
                                                         Jan. 25, 1989

  *--------------------------------------------------------------------;
  TITLE1 'CRITTER CODE CROSS-MATCH';
  TITLE2 '- * -';
  TITLE3 'OURLIST  -  E.P.A.';
  *--------------------------------------------------------------------;
  PROC PRINT UNIFORM DATA=RESULTS;
  ID EPA_CODE;
  VAR STATUS SCI_NAME  OUR_NAME;
  *--------------------------------------------------------------------;
  DATA COUNTERS; SET RESULTS;
  IF STATUS='MATCHED' | STATUS='..MISSED';
  PROC FREQ; TABLES STATUS;

1                                                  BIOS/SAS    Page 52
                                                     through Page 56
                                                         Jan. 25, 1989



















         **** OUTPUT FOR EXHIBIT 5 GOES IN HERE!! ***

                   Pages 52 through 56

1                                                  BIOS/SAS    Page 57
                                                         Feb. 18, 1989



                           Exhibit 6
                           ---------


      A SAS Tabulation of all Taxa Records Observed in a BIOS Retrieval
      -----------------------------------------------------------------


    The STORET/SAS runstream which follows uses the SAS procedure
  TABULATE to produce a summary of taxa observed.  The summary shows the
  total count of samples with each taxon and the population data for all
  observations, by year, within the period of record.  The BIOS
  retrieval preceeding the SAS statements can be modified as required by
  the user.

    The SAS instruction set may be found in the online library of
  STORET/SAS analyses, named

               STORET.HELP.EXAMPLES.SAS.LIBRARY(BIOSUM)

    Only the first page of the output produced by these instructions
  is included following the runstream listing.
1                                                  BIOS/SAS    Page 58
                                                         Feb. 18, 1989

 *  THIS DATASET IS NAMED 'STORET.HELP.EXAMPLES.SAS.LIBRARY(BIOSUM)'
 *  LAST UPDATE FEB 14, 1989                        LEE MANNING
 *
 *  THIS FILE CONTAINS A STORET/SAS RUN-STREAM WHICH WILL SUMMARIZE
 *  ALL OBSERVED TAXA FOR ANY SELECTED SET OF BIOS DATA.
 *  THE SUMMARY LISTS OBSERVED SPECIES IN TAXONOMIC ORDER, AND TOTALS
 *  THE COUNT OF SAMPLES WITH EACH TAXON, AS WELL AS SUMMARIZING
 *  POPULATION DATA FOR ALL OBSERVATIONS, BY YEAR WITHIN THE PERIOD
 *  OF RECORD.
 *
 ** DELETE THIS LINE AND ALL PRECEEDING LINES BEFORE USING THIS FILE **

 PGM=ALLFS,FILEOUT=BIOSFS,BIOSFSONLY,MISSING=SAS,PRT=NO,
 #------------------------------------------------------------#
 #   STORET.HELP.EXAMPLES.SAS.LIBRARY(BIOSUM)                 #
 #------------------------------------------------------------#
 A=11TRAIN,S=ALL,UK=CHOOCHOO,
 ONLYATTR=BIO,
 NOECHO,
 SASPARMS=BEGIN,
  OPTIONS NOSOURCE;
  DATA BIORAW;
  INFILE BFCF;
  FORMAT YEAR $4.;
  INPUT @24  REC_TYPE   $2.
             @     ;
  IF REC_TYPE^='99' THEN RETURN;      *    NOT A DATA RECORD        ;
  INPUT @55  GRP_NUM  PIB2.
             @     ;
  IF GRP_NUM  = 999 THEN RETURN;      *    DELIMITER RECORD         ;
  *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
    IF GRP_NUM=8 THEN DO;
      INPUT @26 YEAR      $2.
            @57 CODE     $17.
           @124 LOCNT    RB4.
           @128 COUNT    RB4.
           @132 HICNT    RB4.
           @312 TAXON    $45.
              @  ;
      YEAR='19'||YEAR;
      IF COUNT=. THEN PUT _ALL_;
      IF LOCNT=. THEN LOCNT=1;
      IF HICNT=. THEN HICNT=1;
      IF COUNT=. THEN COUNT=(HICNT+LOCNT)/2.0;
      OUTPUT;
      RETURN;
      END;
1                                                  BIOS/SAS    Page 59
                                                         Feb. 18, 1989

  *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
  PROC TABULATE DATA=BIORAW FORMCHAR='|- - |+| - ';
    CLASS CODE TAXON YEAR;
    VAR COUNT;
    TABLE CODE*TAXON*YEAR,
           COUNT='OBSERVED'*(N='TIMES OBSERVED'*F=8.
                             MIN='MINIMUM COUNT'*F=8.
                             MAX='MAXIMUM COUNT'*F=8.
                             MEAN='AVERAGE COUNT'*F=9.3) /
          RTS=55 BOX='  SUMMARY OF SPECIES OBSERVATIONS';
  TITLE1 'SPECIES OBSERVED';
  TITLE2 '- * -';
  TITLE3 'ALL SELECTED STATIONS';
  *  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  ;
 STOPSAS,
 ./iii      JOB (aaaaSTORP,Miii),'BIOS SUMMARY',TIME=2,
 ./             MSGLEVEL=(1,1),PRTY=2
 **ROUTE  PRINT HOLD
 **JOBPARM LINES=999
1                                                  BIOS/SAS    Page 60
                                                         Feb. 18, 1989



















                   **** OUTPUT FOR EXHIBIT 6 GOES IN HERE!! ***

                                       Page 60

