!-------------------------------------- LICENCE BEGIN ------------------------------------
!Environment Canada - Atmospheric Science and Technology License/Disclaimer,
!                     version 3; Last Modified: May 7, 2008.
!This is free but copyrighted software; you can use/redistribute/modify it under the terms
!of the Environment Canada - Atmospheric Science and Technology License/Disclaimer
!version 3 or (at your option) any later version that should be found at:
!http://collaboration.cmc.ec.gc.ca/science/rpn.comm/license.html
!
!This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
!without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
!See the above mentioned License/Disclaimer for more details.
!You should have received a copy of the License/Disclaimer along with this software;
!if not, you can write to: EC-RPN COMM Group, 2121 TransCanada, suite 500, Dorval (Quebec),
!CANADA, H9P 1J3; or send e-mail to service.rpn@ec.gc.ca
!-------------------------------------- LICENCE END --------------------------------------
!

      SUBROUTINE SFCWNDZAP 1
#if defined (DOC)
*
***s/r  SFCWNDZAP
*
*Author  : C.Charette *ARMA/AES  MAR 1999
*
**    Purpose:
*      Zap sfc wind components at land stations
*
*Arguments:
*
*          none
#endif
      IMPLICIT NONE
*implicits
#include "comlun.cdk"
#include "comdimo.cdk"
#include "comoabdy.cdk"
#include "comoahdr.cdk"
#include "comoba.cdk"
#include "cvcord.cdk"
#include "comnumbr.cdk"
*
      INTEGER JPINEL,JPIDLND
      PARAMETER(JPINEL=2,JPIDLND=9)
      INTEGER J,JD,JF,JID,JOBS,JDATA,IOBS1,IOBS2,IBAD,IFLG
      LOGICAL LLREJ, LLPRINT, LLOK
      REAL*8 ZVAL,ZLEV,ZLEV2,ZDIFF,ZHHH,ZMODEL
      INTEGER ITYP,IDATA,IDATEND,IDBURP,ITY
      INTEGER ILEM,ICRIT,IBEGIN,ILAST
      INTEGER ILISTEL(JPINEL),IDLND(JPIDLND)
      INTEGER IKOUNTREA(JPINEL),IKOUNTREJ(JPINEL),IKOUNTT
C                     SYNOP(3)     TEMP/PILOT(6)
      DATA    IDLND / 12, 14, 146, 32, 35, 135, 136, 137, 138 /
C
C
      ILISTEL(1)=NEUS
      ILISTEL(2)=NEVS
      WRITE(NULOUT,* ) ' '
      WRITE(NULOUT,* ) ' SUBROUTINE SFCWNDZAP '
      WRITE(NULOUT,* ) ' '
      WRITE(NULOUT,* ) '*****************************************************'
      WRITE(NULOUT,222)'ELEMENTS REJECTED         ',(  ILISTEL(J),J=1,jpinel)
      WRITE(NULOUT,222)'LIST OF IDTYP             ',(   idlnd(J),J=1,jpidlnd)
      WRITE(NULOUT,* ) '*****************************************************'
      WRITE(NULOUT,* ) ' '
      LLPRINT = .FALSE.
ccc      LLPRINT = .TRUE.
C
C     SET COUNTERS TO ZERO
C
      DO J=1,JPINEL
         IKOUNTREJ(J)=0
         IKOUNTREA(J)=0
      END DO
      IKOUNTT=0
C
C     LOOP OVER OBSERVATIONS
C
      DO JF = 1,NFILES
        IF ( (CFAMTYP(JF) .EQ. 'SF') .AND.( NBEGINTYP(JF) .GT. 0) .OR.
     &     (CFAMTYP(JF) .EQ. 'UA') .AND.( NBEGINTYP(JF) .GT. 0)  )   THEN
          IBEGIN=NBEGINTYP(JF)
          ILAST=NENDTYP(JF)
          IOBS1=MOBDATA(NCMOBS,NBEGINTYP(JF))
          IOBS2=MOBDATA(NCMOBS,NENDTYP(JF))
          WRITE(NULOUT,'(2x,A9,2x,A2)')'FAMILY = ',CFAMTYP(JF)
C
C
          DO JOBS=IOBS1,IOBS2
            IF(LLPRINT) THEN
ccc            CALL PRNTHDR(JOBS,NULOUT)
ccc            CALL PRNTBDY(JOBS,NULOUT)
            ENDIF
            IDATA    = MOBHDR(NCMRLN,JOBS)
            IDATEND  = MOBHDR(NCMNLV,JOBS) + IDATA - 1
            DO JDATA= IDATA, IDATEND
C     UNCONDITIONNALLY REJECT SURFACE WINDS AT SYNOP/TEMP LAND STATIONS
              ITYP=MOBDATA(NCMVNM,JDATA)
              ITY    = MOBHDR(NCMITY,JOBS)
              IDBURP = MOD(ITY,1000)
              IF ( ITYP.EQ.NEUS .OR. ITYP.EQ.NEVS) THEN
                DO JID = 1, JPIDLND
                  IF(IDBURP .EQ. IDLND(JID) .AND.
     &                 MOBDATA(NCMASS,JDATA) .EQ. 1) THEN
                    MOBDATA(NCMFLG,JDATA)=
     &                   ibset( MOBDATA(NCMFLG,JDATA) , 19 )
                    MOBDATA(NCMASS,JDATA)=0
                    DO J = 1, JPINEL
                      IF(ITYP .EQ.ILISTEL(J)) THEN
                        IKOUNTREJ(J)=IKOUNTREJ(J)+1
                      ENDIF
                    ENDDO
                    IF(LLPRINT) THEN
                      WRITE(NULOUT,225) 'Rej sfc wind lnd',JOBS,ITYP
     &                     ,CSTNID(JOBS),IDBURP
     &                     ,ROBHDR(NCMLAT,JOBS),ROBHDR(NCMLON,JOBS)
     &                     ,ROBDATA8(NCMPPP,JDATA),ZDIFF
                    ENDIF
                  ENDIF
                ENDDO
              ENDIF
            END DO
          END DO
C
          WRITE(NULOUT,* ) ' '
          WRITE(NULOUT,* )
     &         '*****************************************************'
          WRITE(NULOUT,222 )'ELEMENTS            ', (  ILISTEL(J),J=1,JPINEL)
          WRITE(NULOUT,222)'REJECTED             ',(IKOUNTREJ(J),J=1,JPINEL)
          WRITE(NULOUT,* )
     &         '*****************************************************'
          WRITE(NULOUT,* ) ' '
 222      FORMAT(2x,a29,10(2x,i5))
 223      FORMAT(2x,a29,10(2x,f5.0))
 224      FORMAT(2x,a17,2x,I6,2X,I5,1x,a9,1x,2(2x,f9.2))
 225      FORMAT(2x,a13,2x,I6,2X,I5,1x,a9,1x,I6,1x,4(2x,f9.2))
C
        ENDIF
      END DO
C
      IKOUNTT=0
      DO JDATA=1,NDATA
         IF ( MOBDATA(NCMASS,JDATA) .EQ. 1) IKOUNTT=IKOUNTT+1
      END DO
      WRITE(NULOUT,'(1X," NUMBER OF DATA ASSIMILATED BY 3D"
     &            ,"-VAR AFTER ADJUSTMENTS: ",i10)')IKOUNTT
      WRITE(NULOUT,* ) ' '

      RETURN
      END