*  THIS DATASET IS NAMED 'STORET.HELP.EXAMPLES.SAS.LIBRARY(SASX04)'     00000100
*  LAST UPDATE MARCH 16, 1989                      LEE MANNING          00000200
*  CHANGE LOG                                                           00000300
*   MARCH 16, 1989                      BILL BOGUE  EPA REGION 10       00000400
*                                                                       00000500
*  THIS FILE CONTAINS THE STORET/SAS RUN-STREAM WHICH APPEARS           00000600
*  IN THE STORET-SAS REFERENCE DOCUMENT AS EXAMPLE 4.                   00000700
*                                                                       00000800
*  UPDATED TO REFLECT CRITERIA AS OF EPA PUBLICATIONS DATED 1986        00000904
*                                                                       00001004
** DELETE THIS LINE AND ALL PRECEEDING LINES BEFORE USING THIS FILE **  00001100
                                                                        00001200
PGM=RET,MORE=4,PRT=PAR,                                                 00001300
A=112WRD,S=13037500,BD=8201,                                            00001400
P=46570,COMPUTED,PALT=900,                                              00001504
P=1027,PALT=1025,                                                       00001600
P=1042,PALT=1040,                                                       00001700
P=1051,PALT=1049,                                                       00001800
P=1067,PALT=1065,                                                       00001900
P=1077,PALT=1075,                                                       00002000
P=1092,PALT=1090,                                                       00002100
P=1034,PALT=1030,                                                       00002200
NOECHO,                                                                 00002300
SASPARMS=BEGIN,                                                         00002400
OPTIONS NOSOURCE;                                                       00002500
OPTIONS S=72 LS=120;                                                    00002600
DATA RAWDATA;                                                           00002700
*                                                                       00002800
INCLUDE (FCFREAD)                                                       00002900
* ;                                                                     00003000
LENGTH C1-C50 $ 9; ARRAY C(I) $ C1-C50;                                 00003100
FORMAT TIMEDPTH $12.;                                                   00003200
IF TIME^=. THEN TIMEDPTH=PUT(TIME,TIME5.)||DEPTH;                       00003300
           ELSE TIMEDPTH='     '||DEPTH;                                00003400
IF P1=. THEN DELETE;                                                    00003500
IF P2=.&P3=.&P4=.&P5=.&P6=.&P7=.&P8=. THEN DELETE;                      00003600
P11=LOG(P1) ;                                                           00003700
DO OVER P; IF P^=. THEN C=PUT(P,7.1)||R; END;                           00003800
*        BEGIN MAIN CALCULATION LOOP. FORMULAS HERE.   ;                00003900
IF P2^=. THEN DO; P12=2.71828**(0.7852*P11-3.49); C12=PUT(P12,7.1);     00004000
         C22='     -'; IF P2>P12 THEN DO; C22='  *OVER*';               00004100
         IF R2='K'|R2='U'|R2='M' THEN C22='     ??'; END; END;          00004200
IF P3^=. THEN DO; P13=2.71828**(0.8545*P11-1.465); C13=PUT(P13,7.1);    00004300
         C23='     -'; IF P3>P13 THEN DO; C23='  *OVER*';               00004400
         IF R3='K'|R3='U'|R3='M' THEN C23='     ??'; END; END;          00004500
IF P4^=. THEN DO; P14=2.71828**(1.273*P11-4.705); C14=PUT(P14,7.1);     00004600
         C24='     -'; IF P4>P14 THEN DO; C24='  *OVER*';               00004700
         IF R4='K'|R4='U'|R4='M' THEN C24='     ??'; END; END;          00004800
IF P5^=. THEN DO; P15=2.71828**(0.846*P11+1.1645); C15=PUT(P15,7.1);    00004900
         C25='     -'; IF P5>P15 THEN DO; C25='  *OVER*';               00005000
         IF R5='K'|R5='U'|R5='M' THEN C25='     ??'; END; END;          00005100
IF P6^=. THEN DO; P16=2.71828**(1.72*P11-6.52); C16=PUT(P16,7.1);       00005200
         C26='     -'; IF P6>P16 THEN DO; C26='  *OVER*';               00005300
         IF R6='K'|R6='U'|R6='M' THEN C26='     ??'; END; END;          00005400
IF P7^=. THEN DO; P17=2.71828**(0.8473*P11+0.7614); C17=PUT(P17,7.1);   00005500
         C27='     -'; IF P7>P17 THEN DO; C27='  *OVER*';               00005600
         IF R7='K'|R7='U'|R7='M' THEN C27='     ??'; END; END;          00005700
IF P8^=. THEN DO; P18=2.71828**(0.819*P11+1.561); C18=PUT(P18,7.1);     00005800
         C27='     -'; IF P8>P18 THEN DO; C27='  *OVER*';               00005900
         IF R8='K'|R8='U'|R8='M' THEN C27='     ??'; END; END;          00006000
DROP P1-P50 C29-C50 R1-R50 BEGDATE BEGTIME ENDDATE                      00006105
ENDTIME TYPE CALC NUMBER;                                               00006200
*    END OF CALCULATIONS.  WRITE THE REPORT.    ;                       00006300
PROC SORT; BY STATION DATE TIME DEPTH;                                  00006400
DATA _NULL_; SET RAWDATA END=EOD;                                       00006500
BY STATION; FORMAT RDATE YYMMDD8.; RDATE=TODAY( );                      00006600
FILE PRINT HEADER=H NOTITLES LINESLEFT=LL ;                             00006700
IF FIRST.STATION THEN DO;                                               00006800
      PUT _PAGE_;  NSTN+1;                                              00006900
      NS=0; N1=0; N2=0; N3=0; N4=0; N5=0; N6=0; N7=0;                   00007000
      NV1=0; NV2=0; NV3=0; NV4=0; NV5=0; NV6=0; NV7=0;                  00007100
      NQ1=0; NQ2=0; NQ3=0; NQ4=0; NQ5=0; NQ6=0; NQ7=0;                  00007200
      END;                                                              00007300
 NS+1; IF C2^=' ' THEN DO; N1+1; T1+1; END;                             00007400
 TS+1; IF C3^=' ' THEN DO; N2+1; T2+1; END;                             00007500
       IF C4^=' ' THEN DO; N3+1; T3+1; END;                             00007600
       IF C5^=' ' THEN DO; N4+1; T4+1; END;                             00007700
       IF C6^=' ' THEN DO; N5+1; T5+1; END;                             00007800
       IF C7^=' ' THEN DO; N6+1; T6+1; END;                             00007900
       IF C8^=' ' THEN DO; N7+1; T7+1; END;                             00008000
       IF C22='  *OVER*' THEN DO; NV1+1; TV1+1; END;                    00008100
       IF C23='  *OVER*' THEN DO; NV2+1; TV2+1; END;                    00008200
       IF C24='  *OVER*' THEN DO; NV3+1; TV3+1; END;                    00008300
       IF C25='  *OVER*' THEN DO; NV4+1; TV4+1; END;                    00008400
       IF C26='  *OVER*' THEN DO; NV5+1; TV5+1; END;                    00008500
       IF C27='  *OVER*' THEN DO; NV6+1; TV6+1; END;                    00008600
       IF C28='  *OVER*' THEN DO; NV7+1; TV7+1; END;                    00008700
       IF C22='     ??' THEN DO; NQ1+1; TQ1+1; END;                     00008800
       IF C23='     ??' THEN DO; NQ2+1; TQ2+1; END;                     00008900
       IF C24='     ??' THEN DO; NQ3+1; TQ3+1; END;                     00009000
       IF C25='     ??' THEN DO; NQ4+1; TQ4+1; END;                     00009100
       IF C26='     ??' THEN DO; NQ5+1; TQ5+1; END;                     00009200
       IF C27='     ??' THEN DO; NQ6+1; TQ6+1; END;                     00009300
       IF C28='     ??' THEN DO; NQ7+1; TQ7+1; END;                     00009400
*                                                                       00009500
  NOTE: COMMENT OUT THE NEXT "PUT" STATEMENT TO                         00009600
        SUPPRESS PRINTING OF INDIVIDUAL SAMPLES. ;                      00009700
*  ;                                                                    00009800
PUT @1 DATE @10 TIMEDPTH  @25 C1 $9.                                    00009900
 @40 'STORED VALUE -->' @57 (C2-C8) ($9.) /                             00010000
 @40 'CRITERIA  ----->' @57 (C12-C18) ($9.) /                           00010100
 @40 'VIOLATIONS ? -->' @57 (C22-C28) ($9.) / ;                         00010200
IF LL<3 THEN PUT _PAGE_;                                                00010300
IF LAST.STATION THEN DO;                                                00010400
PUT _PAGE_; NG1=N1-NV1-NQ1; NG2=N2-NV2-NQ2; NG3=N3-NV3-NQ3;             00010500
            NG4=N4-NV4-NQ4; NG5=N5-NV5-NQ5; NG6=N6-NV6-NQ6;             00010600
            NG7=N7-NV7-NQ7;                                             00010700
PUT // @45 'STATION SUMMARY' / @45 '------- -------' //                 00010800
'SAMPLES ASSESSED' @19 NS 9.                                            00010900
@36 'OBSERVATIONS ------>'  @57 (N1-N7) (9.) /                          00011000
@36 'WITHIN LIMITS ----->'  @57 (NG1-NG7) (9.) /                        00011100
@36 'OVER CRITERIA ----->'  @57 (NV1-NV7) (9.) /                        00011200
@36 'OVER BUT REMARKED ->' @57 (NQ1-NQ7) (9.) ;                         00011300
 END;                                                                   00011400
IF EOD THEN DO;  STATION='GRAND TOTALS';                                00011500
PUT _PAGE_; TG1=T1-TV1-TQ1; TG2=T2-TV2-TQ2; TG3=T3-TV3-TQ3;             00011600
            TG4=T4-TV4-TQ4; TG5=T5-TV5-TQ5; TG6=T6-TV6-TQ6;             00011700
            TG7=T7-TV7-TQ7;                                             00011800
PUT // @45 'RUN SUMMARY' / @45 '--- -------' /                          00011900
'STATIONS EXAMINED' @19 NSTN 9. /                                       00012000
'SAMPLES ASSESSED' @19 TS 9.                                            00012100
@36 'OBSERVATIONS ------>'  @57 (T1-T7) (9.) /                          00012200
@36 'WITHIN LIMITS ----->'  @57 (TG1-TG7) (9.) /                        00012300
@36 'OVER CRITERIA ----->'  @57 (TV1-TV7) (9.) /                        00012400
@36 'OVER BUT REMARKED ->'  @57 (TQ1-TQ7) (9.) ;                        00012500
 END;                                                                   00012600
RETURN;                                                                 00012700
H: PUT  'STORET RETRIEVAL DATE ' RDATE YYMMDD8.                         00012800
        '  STORET/SAS REPORT' //                                        00012900
         @47 'FRESHWATER AQUATIC LIFE' /                                00013000
             'EPA PUBLISHED CRITERIA' @58 '-' /                         00013100
             '   REFER: QUALITY CRITERIA'                               00013200
         @50 'CRITERIA EXCEEDED' /                                      00013300
             '          FOR WATER, 1986' @58 '-' /                      00013400
             '          (EPA GOLD BOOK)'                                00013500
         @50 'STORET/SAS REPORT' / @58 '-' /                            00013600
         @46 'STATION - ' STATION $24. ///                              00013700
@25 '    900 '                                                          00013800
@57 '    1027     1042     1051     1067     1077     1092      1034' / 00013900
@25 'HARDNESS'                                                          00014000
@57 '     T/D      T/D      T/D      T/D      T/D      T/D       T/D' / 00014100
@25 'AS CACO3'                                                          00014200
@57 ' CADMIUM   COPPER     LEAD   NICKEL   SILVER     ZINC   CHRMIUM' / 00014300
'  DATE   TIME DEPTH         MG/L'                                      00014400
@57 '    UG/L     UG/L     UG/L     UG/L     UG/L     UG/L      UG/L' / 00014500
' ------  ---- -----       -------'                                     00014600
@57 '  -------  -------  -------  -------  -------  -------  -------';  00014700
STOPSAS,                                                                00014800
./III      JOB (AAAASTORPUUU,MIII),'SASLIB(SASX04)',TIME=(,30),         00014904
./             MSGLEVEL=(1,1),PRTY=2                                    00015004
**ROUTE  PRINT HOLD                                                     00015100
**JOBPARM LINES=10                                                      00015200
