//MASRIQUI JOB ,'MASRIQUI',MSGCLASS=S,
//          CLASS=H,NOTIFY=COINEWM,TIME=2
/*JOBPARM SHIFT=D,LINES=90
/*ROUTE PRINT IOROOM
//*
//STEP1 EXEC SAS6,TIME=2
//RAWDATA DD DSN=COINEWM.CR2.SEQ,DISP=SHR
//OUTDATA DD DSN=COINEWM.CR2CLEAN.SEQ,DISP=SHR
//SYSIN DD *
********************************************************************;
* THIS PROGRAM READS MIDAS DATA FROM : SEQUENTIAL DATA SET,        *;
* COINEWM.CR2.SEQ AND WRITES CLEANED PARAMETERS IN THE FILE        *;
* COINEWM.CR2CLEAN.SEQ. THIS FILE WILL BE USED FOR ANY TYPE OF     *;
* ANALYSIS.                                                        *;
*                                                                  *;
* BY  : H.S.MASHRIQUI.                                             *;
*                                                                  *;
********************************************************************;
DATA A ;
   INFILE RAWDATA;
   INPUT TDDATEM 2-3 TDDATED 5-6 TDDATEY 8-11
         TDTIMEH 13-14 TDTIMEM 16-17 TDTIMES 19-20
         NDLATD 22-23 NDLATM 26-27 NDLATH 29-30
         NDLONGD 35-37 NDLONGM 40-41 NDLONGH 43-44
         H2OTEMP 260-266 CONDUCT 268-274 SALIN 276-282
         CHLFLUVT 284-290 AUXFLUVT 292-298 FLOSWTCH 300-302
         LITTRAN 304-309 FLORATE 311-315 WNDSPD 317-321
         RWNDSPD 323-327 CWNDSPD 329-333 MWDIR 335-337
         DEVWDIR 339-341 CMWDIR 343-345 AIRTEMP 347-351
         BAROPRES 353-357 SOLRAD 359-364 ;
         FLAT = NDLATD  + ( NDLATM  + NDLATH/100  )/60 ;
         FLON = NDLONGD + ( NDLONGM + NDLONGH/100 )/60 ;
         REC = _N_ ;
********************************************************************;
********************************************************************;
********     SCREEN DATA WITH GIVEN CONDITIONS    ******************;
********************************************************************;
********************************************************************;
     IF ( TDDATED = 15 AND TDTIMEH = 20 AND TDTIMEM > 34 )
          THEN DELETE ;
     IF ( NDLATD   < 25.0 OR NDLATD   > 35 ) THEN DELETE ;
     IF ( NDLONGD  < 85.0 OR NDLONGD  > 99 ) THEN DELETE ;
     IF ( H2OTEMP  < 20.0 OR H2OTEMP  > 30 ) THEN H2OTEMP  = . ;
     IF ( CONDUCT  < 00.0 OR CONDUCT  > 10 ) THEN CONDUCT  = . ;
     IF ( SALIN    < 00.0 OR SALIN    > 36 ) THEN SALIN    = . ;
     IF ( CHLFLUVT < 0.05 OR CHLFLUVT > 1  ) THEN CHLFLUVT = . ;
     IF ( LITTRAN  < 0.00 OR LITTRAN  > 99 ) THEN LITTRAN  = . ;
     IF ( CWNDSPD  < 0.00 OR CWNDSPD  > 30 ) THEN CWNDSPD  = . ;
     IF ( CMWDIR   < 0.00 OR CMWDIR  > 360 ) THEN CMWDIR   = . ;
     IF ( AIRTEMP  < 0.00 OR AIRTEMP  > 39 ) THEN AIRTEMP  = . ;
     IF ( BAROPRES < 27.0 OR BAROPRES > 33 ) THEN BAROPRES = . ;
     IF ( SOLRAD   < 0.00 OR SOLRAD   > 1  ) THEN SOLRAD   = . ;
********************************************************************;
********************************************************************;
********************************************************************;
********************************************************************;
     COMMA  =  ','   ;
     D      =  '-'   ;
     C      =  ':'   ;
********************************************************************;
********************************************************************;
********************************************************************;
********************************************************************;
     PROC SORT DATA = A ; BY TDDATED ;
     PROC MEANS DATA = A ;
          VAR H2OTEMP CONDUCT SALIN CHLFLUVT          LITTRAN
                      CWNDSPD CMWDIR AIRTEMP BAROPRES SOLRAD ;
     PROC CHART DATA = A ;
          VBAR H2OTEMP / TYPE = FREQ MIDPOINTS = 20 21 22 23 24
               25 26 27 28 29 30 ;
     PROC CHART DATA = A ;
          VBAR CONDUCT / TYPE = FREQ MIDPOINTS = 0 1 2 3 4 5 6 7
               8 9 10 ;
     PROC CHART DATA = A ;
          VBAR SALIN   / TYPE = FREQ MIDPOINTS = 0 5 10 15 20 25
               30 35 40 ;
     PROC CHART DATA = A ;
          VBAR CHLFLUVT/ TYPE = FREQ MIDPOINTS = 0 0.02 0.04 0.06
               0.08 1.0 ;
     PROC CHART DATA = A ;
          VBAR LITTRAN / TYPE = FREQ MIDPOINTS = 0 10 20 30 40 50
               60 70 80 90 100 ;
     PROC CHART DATA = A ;
          VBAR CWNDSPD / TYPE = FREQ MIDPOINTS = 0 5 10 15 20 25
               30 35    ;
     PROC CHART DATA = A ;
          VBAR CMWDIR  / TYPE = FREQ MIDPOINTS = 0 30 60 90 120
               150 180 210 240 270 300 330 360 ;
     PROC CHART DATA = A ;
          VBAR AIRTEMP / TYPE = FREQ MIDPOINTS = 0 5 10 15 20 25 30
               35 40 ;
     PROC CHART DATA = A ;
          VBAR BAROPRES/ TYPE = FREQ MIDPOINTS = 27 28 29 30 31 32
               33  ;
     PROC CHART DATA = A ;
          VBAR SOLRAD  / TYPE = FREQ MIDPOINTS = 0 1 2 3 4 5 6 7 8
               9 10 11 12 13 14 15 16 17 18 19 20 ;
********************************************************************;
********************************************************************;
********************************************************************;
*********  WRITE CLEANED DATA TO OUTPUT FILE  **********************;
********************************************************************;
********************************************************************;
     DATA CLEAN ;
          SET A ;
          FILE OUTDATA ;
  PUT TDDATEM 1-2  D$3 TDDATED 4-5 D$6 TDDATEY 07-10 COMMA $11
  TDTIMEH 14-15 C$16  TDTIMEM 17-18 C$19  TDTIMES 20-21 COMMA $22
  NDLATD 25-27 D$28 NDLATM 29-30 D$31 NDLATH 32-33 COMMA $34
  NDLONGD 37-39 D$40 NDLONGM 41-42 D$43 NDLONGH 44-45 COMMA $46
  H2OTEMP 49-55 .3 COMMA $56 CONDUCT 59-65 .3 COMMA $66
  SALIN 69-75 .3 COMMA $76 CHLFLUVT 79-85 .3 COMMA $86
  LITTRAN  89-95  .3 COMMA $96
  CWNDSPD  99-105  .3 COMMA $106
  CMWDIR 109-115 .3 COMMA $116 AIRTEMP 119-125 .3 COMMA $126
  BAROPRES 129-135 .3 COMMA $136 SOLRAD 139-145 .3 ;
********************************************************************;
********************************************************************;
//
