//C4STATST JOB ,'MASRIQUI',MSGCLASS=S,
//          CLASS=H,NOTIFY=COINEWM,TIME=5
/*JOBPARM SHIFT=D,LINES=90
/*ROUTE PRINT IOROOM
//*
//STEP1 EXEC SAS6,TIME=5
//RAWDATA DD DSN=COINEWM.CRUISE4.MIDAS,DISP=SHR
//CTDDATA DD DSN=COINEWM.CR3.LONGLAT(C4GOODLL),DISP=SHR
//OUTDATA DD DSN=COINEWM.C4STAVG.SEQ,DISP=SHR
//SYSIN DD *
********************************************************************;
* THIS PROGRAM READS MIDAS DATA FROM : SEQUENTIAL DATA SET,        *;
* COINEWM.CR2.SEQ                                                  *;
*                                                                  *;
*                                                                  *;
*                                                                  *;
* BY  : H.S.MASHRIQUI.                                             *;
*                                                                  *;
********************************************************************;
*********       READ THE DATA FILE *********************************;
*********        COINEWM.CR2.SEQ   *********************************;
********************************************************************;
DATA A ;
   INFILE RAWDATA;
   INPUT TDDATEM  1-2     TDDATED  4-5      TDDATEY  7-10
         TDTIMEH  12-13   TDTIMEM  15-16    TDTIMES  18-19
         NDLATD   21-22   NDLATM   25-26    NDLATH   28-29
         NDLONGD  34-36   NDLONGM  39-40    NDLONGH  42-43
         H2OTEMP  259-265 CONDUCT  267-273  SALIN    275-281
         CHLFLUVT 283-289 AUXFLUVT 291-297  FLOSWTCH 299-301
         LITTRAN  303-308 FLORATE  310-314  WNDSPD   316-320
         RWNDSPD  322-326 CWNDSPD  328-332  MWDIR    334-336
         DEVWDIR  338-340 CMWDIR   342-344  AIRTEMP  346-351
         BAROPRES 353-357 SOLRAD   359-365 ;
********************************************************************;
********************************************************************;
**************       CALCULATIONS     ******************************;
********************************************************************;
********************************************************************;
         FLAT = NDLATD  + ( NDLATM  + NDLATH/100  )/60 ;
         FLON = NDLONGD + ( NDLONGM + NDLONGH/100 )/60 ;
         RECNUM = _N_ ;
********************************************************************;
********************************************************************;
**************   DISCARD BAD DATA     ******************************;
********************************************************************;
********************************************************************;
     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  < 10.0 OR H2OTEMP  > 35 ) THEN H2OTEMP  = . ;
     IF ( CONDUCT  < 00.0 OR CONDUCT  > 10 ) THEN CONDUCT  = . ;
     IF ( SALIN    < 00.0 OR SALIN    > 36 ) THEN SALIN    = . ;
     IF ( CHLFLUVT < 0.00 OR CHLFLUVT > 3  ) 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  < 00.0 OR AIRTEMP  > 39 ) THEN AIRTEMP  = . ;
     IF ( BAROPRES < 27.0 OR BAROPRES > 33 ) THEN BAROPRES = . ;
     IF ( SOLRAD   < 0.00 OR SOLRAD   > 1  ) THEN SOLRAD   = . ;
********************************************************************;
********************************************************************;
********************************************************************;
************     READ  CTD STATION DATA    *************************;
********************************************************************;
********************************************************************;
********************************************************************;
DATA B ;
   INFILE CTDDATA;
   INPUT STA$ 3-9 LATD 11-12 LATM 14-15 LATH 17-18 LONGD 20-21
         LONGM 23-24 LONGH 26-27 ;
         SLAT = LATD  + (LATM+LATH/100)/60 ;
         SLON = LONGD + (LONGM+LONGH/100)/60 ;
********************************************************************;
********************************************************************;
********************************************************************;
************     DATA SEARCH BY STATION    *************************;
********************************************************************;
********************************************************************;
********************************************************************;
DATA C ; SET B ;
      DO NUMBER = 1 TO TOTAL ;
         SET A POINT = NUMBER NOBS = TOTAL ;
         IF ( FLAT > (SLAT - 0.0055)) AND (FLAT < (SLAT + 0.0055))
            AND (FLON > (SLON - 0.0055)) AND (FLON < (SLON + 0.0055))
         THEN OUTPUT ;
      END ;
PROC SORT DATA = C ; BY STA ;
PROC MEANS DATA = C ; BY STA ;
         VAR H2OTEMP CONDUCT SALIN   CHLFLUVT LITTRAN
             CWNDSPD CMWDIR  AIRTEMP BAROPRES SOLRAD ;
         OUTPUT OUT = AA MEAN= M2OTEMP MONDUCT MALIN MHLFLUVT MITTRAN
             MWNDSPD MMWDIR  MIRTEMP MAROPRES MOLRAD ;
             PROC PRINT ;
DATA D ;
     SET AA ;
     E=',' ;
     FILE OUTDATA ;
PUT STA 1-8 E$9 M2OTEMP 10 - 16 .4 E$17 MONDUCT 18-24 .4 E$25
    MALIN 26-32 .4 E$33 MHLFLUVT 34-40 .4 E$41 MITTRAN 42-48 .4 E$49
    MWNDSPD 50-56 .4 E$57 MMWDIR 58-64 .4 E$65 MIRTEMP 66-72 .4 E$73
    MAROPRES 74-80 .4 E$81 MOLRAD 82-88 .4 ;
********************************************************************;
//
