**********************************************************************  00000110
*  THIS DATASET IS NAMED 'STORET.HELP.EXAMPLES.SAS.LIBRARY(TAXMATCH)    00000200
**********************************************************************  00000310
*                  NOTICE  -  JANUARY 3, 1994                           00000410
*                                                                       00000510
*  THIS FILE IS OBSOLETE.  PLEASE USE EITHER TAXMAT00 OR TAXMAT01.      00000610
*                                                                       00000710
*  TAXMAT00 ===> FOR USERS WITH NO REQUIREMENT FOR "NODC CODES".        00000810
*                                                                       00000910
*  TAXMAT01 ===> FOR USERS WHO NEED BOTH NODC AND EPA CODES.            00001010
*                                                                       00001110
**********************************************************************  00001210
*  THIS RUN STREAM CAN BE USED (WITH YOUR MODIFICATIONS) TO SEARCH      00001300
*  A PORTION OF THE STORET MASTER TAXONOMIC DICTIONARY FOR THE          00001400
*  EXISTENCE OF A SPECIFIED LIST OF TAXONOMIC NAMES.                    00001500
*                                                                       00001600
*  TO USE IT, YOU MUST MAKE THREE MODIFICATIONS.                        00001700
*                                                                       00001800
*    1. JOB STATEMENT                                                   00001900
*        FIND THE LINE (BELOW) WHICH BEGINS "//III     JOB"             00002000
*        AND REPLACE IT WITH ONE WHERE YOU HAVE SUBSTITUTED             00002100
*        YOUR OWN TSO USERID FOR "III" IN BOTH PLACES, AND              00002200
*        YOUR TSO ACCOUNT CODE FOR "AAAA" (ONE PLACE).                  00002300
*                                                                       00002400
*        YOU MAY FIND IT EASIER IN OUR EDITORS (EITHER                  00002500
*        TSO QED OR ISPF OPTION 2) TO DELETE THE JOB STATEMENT          00002600
*        AND CONSTRUCT A NEW ONE VIA THE STORET COMMAND "%JOBCARD".     00002700
*                                                                       00002800
*    2. SEARCH ARGUMENTS FOR TAXONOMIC DATABASE.                        00002900
*        FIND THE LINE (BELOW) WHICH READS                              00003000
*        "START=0801,STOP=0801,"                                        00003100
*        AND REPLACE IT WITH ONE WHICH WILL SEARCH                      00003200
*        THE PART OF THE TAXONOMIC FILE WHICH IS                        00003300
*        APPROPRIATE FOR YOUR LIST OF ORGANISMS.                        00003404
*                                                                       00003500
*        THE START/STOP NUMBERS REFER TO THE EPA CODES                  00003600
*        FOR THE TAXONOMIC LEVEL TO BE SEARCHED.  IN                    00003700
*        THIS EXAMPLE, "0801" IS THE EPA CODE FOR                       00003800
*        PHYLUM CHLOROPHYCOTA, (SYN. CHLOROPHYTA)                       00003900
*        CLASS CHLOROPHYCEAE.                                           00004000
*                                                                       00004100
*        WE RECOMMEND BROWSING THE TAXONOMIC DATABASE                   00004200
*        WITH ISPF FULL-SCREEN OPTION "S.2.1"                           00004308
*        AS A TACTIC TO IDENTIFY USEFUL START/STOP POINTS.              00004400
*                                                                       00004500
*        ONLY ONE START/STOP PAIR MAY BE USED IN EACH RUN.              00004600
*                                                                       00004700
*        YOU MAY CODE START=01,STOP=99 TO GET THE WHOLE FILE,           00004806
*        IF YOU WISH.  YOUR COST WILL BE SOMEWHAT HIGHER.               00004906
*        YOU WILL SPEND UNDER $10.00 IN ALL CASES.  YOU MAY             00005007
*        SPEND UNDER $1.00, FOR SMALL TARGETED SEARCHES.                00005107
*                                                                       00005206
*    3. LIST OF ORGANISMS.                                              00005305
*        FIND THE ORGANISM LIST (BELOW) WHICH BEGINS WITH               00005405
*        "CHLORELLA VULGARIS" AND REPLACE IT WITH A LISTING             00005505
*        OF ORGANISM NAMES YOU WISH TO MATCH.                           00005605
*        YOUR LIST MAY BE LONGER OR SHORTER THAN THE SAMPLE             00005700
*        PROVIDED.  YOU MAY DELETE OR ADD LINES IN THIS SECTION         00005800
*        AS NEEDED.                                                     00005900
*                                                                       00006000
*  FINALLY,                                                             00006100
** DELETE THIS LINE AND ALL PRECEEDING LINES BEFORE USING THIS FILE **  00006200
//III      JOB (AAAASTORP,MIII),'* TAXA MATCH  *',PRTY=2,TIME=(,30)     00006300
/*ROUTE  PRINT HOLD                                                     00006400
/*JOBPARM LINES=10                                                      00006500
//***********************************************                       00006600
//TAXAFILE EXEC PGM=TAXARD,REGION=4000K                                 00006700
//STEPLIB DD DISP=SHR,DSN=CWT.F.STORET.LOADLIB                          00006800
//SYSPRINT DD SYSOUT=A                                                  00006900
//FILEOUT DD DISP=(NEW,PASS),DSN=&&EPA,UNIT=SYSDA,                      00007000
//     SPACE=(TRK,(50,50)),                                             00007100
//     DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160)                             00007200
//***********************************************                       00007300
//*                                             **                      00007400
//*  THE VALUES ENTERED BELOW FOR "START" AND   **                      00007500
//*  "STOP" SHOULD BE CHOSEN TO GIVE A SUBSET   **                      00007600
//*  OF THE EPA TAXONOMIC DATABASE WHICH WILL   **                      00007700
//*  INCLUDE ALL ORGANISMS YOU EXPECT THIS      **                      00007805
//*  PROCEDURE TO MATCH FOR YOU.                **                      00007900
//*                                             **                      00008000
//***********************************************                       00008100
//CARDF DD DATA                                                         00008200
START=0801,STOP=0801,                                                   00008300
NMAX=999999,   LEVEL=VARIETY,                                           00008400
NOCOUNT,  NOPRINT,  FILEOUT=FMT1,                                       00008500
/*                                                                      00008600
//***********************************************                       00008700
//TRYTAXA EXEC SAS                                                      00008800
//SAS.INFILE DD DISP=(OLD,PASS),DSN=&&EPA                               00008900
//SAS.SYSIN DD DATA                                                     00009000
DATA OURLIST;                                                           00009100
FORMAT SCI_NAME $45.;                                                   00009200
INFILE CARDS;                                                           00009300
INPUT  @1    OUR_NAME   $45.                                            00009400
                ;                                                       00009500
PTR=0; DROP PTR;                                                        00009600
PTR=INDEX(OUR_NAME,' SP.');                                             00009700
IF PTR=0 THEN PTR=INDEX(OUR_NAME,' SPP.');                              00009800
SCI_NAME=OUR_NAME;                                                      00009900
IF PTR>1 THEN SCI_NAME=SUBSTR(OUR_NAME,1,PTR-1);                        00010000
*==================================================;                    00010100
*                                                  ;                    00010200
*   ENTER YOUR LIST OF NAMES BELOW ...             ;                    00010300
*   ONE NAME TO A LINE, BEGINNING IN COLUMN 1.     ;                    00010400
*   LEAVE THE LINE WHICH READS "CARDS " AS IS.     ;                    00010500
*   ALSO THE LINE WITH THE FOUR SEMI-COLONS.       ;                    00010600
*                                                  ;                    00010700
*==================================================;                    00010800
* DO NOT MODIFY ==>; CARDS;                                             00010900
CHLORELLA VULGARIS                                                      00011000
NEPHROCYTIUM NOVUM INCOGNITA                                            00011100
OOCYSTIS PELAGICA                                                       00011200
CHLOROCOCCUM SP.                                                        00011300
SCHROEDERIA SETIGYRA                                                    00011400
CONFERVA CRINITA                                                        00011500
;;;; * <=== DO NOT MODIFY ;                                             00011600
*--------------------------------------------------------------------;  00011700
PROC SORT DATA=OURLIST; BY SCI_NAME;                                    00011800
*--------------------------------------------------------------------;  00011900
PROC PRINT N UNIFORM DATA=OURLIST; VAR SCI_NAME OUR_NAME;               00012000
TITLE1 'INCOMING LIST';                                                 00012100
TITLE2 '- * -';                                                         00012200
TITLE3 'DATA ECHO';                                                     00012300
*--------------------------------------------------------------------;  00012400
DATA EPACODE;                                                           00012500
INFILE INFILE;                                                          00012600
FORMAT SCI_NAME $45.;                                                   00012700
INPUT   @1   EPA_CODE   $18.                                            00012800
       @31   SCI_NAME   $45.                                            00012900
                ;                                                       00013000
*--------------------------------------------------------------------;  00013100
PROC SORT DATA=EPACODE; BY SCI_NAME;                                    00013200
*--------------------------------------------------------------------;  00013300
DATA RESULTS; MERGE OURLIST(IN=INOURS) EPACODE(IN=INEPA); BY SCI_NAME;  00013400
FORMAT STATUS $8.;                                                      00013500
FORMAT HLD_NAME $45.;                                                   00013600
FORMAT HLD_CODE $18.;                                                   00013700
RETAIN NEARMISS 0; DROP NEARMISS;                                       00013800
RETAIN HLD_NAME HLD_CODE; DROP HLD_NAME HLD_CODE;                       00013900
*;                                                                      00014000
STATUS='MATCHED';                                                       00014100
*;                                                                      00014200
IF ^ INEPA THEN DO;                                                     00014300
  HSNAME=SCI_NAME;                                                      00014400
  IF NEARMISS=0 THEN DO;                                                00014500
    HTNAME=OUR_NAME;                                                    00014600
    OUR_NAME='---';                                                     00014700
    EPA_CODE=HLD_CODE; SCI_NAME=HLD_NAME; STATUS='.PREV   ';            00014800
    OUTPUT;                                                             00014900
    OUR_NAME=HTNAME;                                                    00015000
    END;                                                                00015100
  EPA_CODE='*   MISSING   *'; SCI_NAME=HSNAME; STATUS='..MISSED';       00015200
  NEARMISS=1;                                                           00015300
  OUTPUT;                                                               00015400
  END;                                                                  00015500
*;                                                                      00015600
IF NEARMISS=1 THEN DO;                                                  00015700
  IF INEPA THEN DO;                                                     00015800
    HTNAME=OUR_NAME;                                                    00015900
    OUR_NAME='---';                                                     00016000
    STATUS='...NEXT ';                                                  00016100
    OUTPUT;                                                             00016200
    OUR_NAME=HTNAME;                                                    00016300
    IF INOURS THEN STATUS='MATCHED';                                    00016400
    NEARMISS=0;                                                         00016500
    END;                                                                00016600
  END;                                                                  00016700
IF INOURS & STATUS='MATCHED' THEN DO;                                   00016800
  OUTPUT;                                                               00016900
  END;                                                                  00017000
HLD_NAME=SCI_NAME;                                                      00017100
HLD_CODE=EPA_CODE;                                                      00017200
*--------------------------------------------------------------------;  00017300
TITLE1 'ORGANISM CODE CROSS-MATCH';                                     00017405
TITLE2 '- * -';                                                         00017500
TITLE3 'OURLIST  -  E.P.A.';                                            00017600
*--------------------------------------------------------------------;  00017700
PROC PRINT UNIFORM DATA=RESULTS;                                        00017800
ID EPA_CODE;                                                            00017900
VAR STATUS SCI_NAME  OUR_NAME;                                          00018000
*--------------------------------------------------------------------;  00018100
DATA COUNTERS; SET RESULTS;                                             00018200
IF STATUS='MATCHED' | STATUS='..MISSED';                                00018300
PROC FREQ; TABLES STATUS;                                               00019000
