!-------------------------------------- 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 FLAGWND(KFLAG,KLIST,KNELE,KNVAL,KINT 2,2
& ,CSTN,KIDBRP,KLAT,KLON)
IMPLICIT NONE
#include "comlun.cdk"
#include "cparbrp.cdk"
#include "comfilt.cdk"
CCC
INTEGER KNELE,KNVAL,KINT,KIDBRP,KLAT,KLON
INTEGER KLIST(KNELE),KFLAG(KNELE,KNVAL,KINT)
CHARACTER *9 CSTN
*
#if defined (DOC)
************************************************************************
*
* PURPOSE: TO CHECK FLAGS (FROM NAMELIST) OF (F,D) WIND COMPONENTS
* EXTRACTED FROM A BURP FILE AND TRANSFER ALL THE FLAGS
* FROM ONE ELEMENT TO THE OTHER WHEN THE FLAG IS NOT
* PRESENT IN BOTH ELEMENTS.
* THIS ASSURES THAT BOTH UU AND VV COMPONENTS WILL
* HAVE THE SAME FLAGS.
*
* NOTE THIS IS DONE ONLY INTERNALLY TO THE PROGRAM.
* THIS TRANSFER OF FLAGS DOES NOT APPEAR
* IN THE OUTPUT BURP FILES.
*
* AUTHOR: C. CHARETTE (ARMA/AES) JAN 97
*
* ARGUMENTS:
* INPUT:
* -KFLAG : DATA BLOCK OF FLAGS
* -KLIST : LIST OF ELEMENTS IN DATA BLOCK
* -KNELE : NUMBER OF ELEMENTS IN DATA BLOCK
* -KNVAL : NUMBER OF LEVELS IN DATA BLOCK
* -KINT : THIRD DIMENSION OF DATA BLOCK
* -CSTN : NAME OF STATION BEING PROCESS
* -KIDBRP : ID TYPE OF STATION
* -KLAT : LATITUDE OF STATION
* -KLON : LONGITUDE OF STATION
*
* OUTPUT:
* -MODIFIED KFLAG
*
*
************************************************************************
#endif
*
INTEGER IPROFF(JPMXNLV),IPROFD(JPMXNLV)
INTEGER JD,JJ,JN
INTEGER IND1,IND2
INTEGER IDD,IFF,IFLG,IFLGF,IFLGD
LOGICAL LLREJ, LLREJF,LLREJD
*
************************************************************************
* BURP FILE ELEMENT NAMES FOR WINDS
************************************************************************
*-------------------------------------------------------
DATA IDD,IFF/011001,011002/
*-------------------------------------------------------
*
*
************************************************************************
* GET (F,D) WIND COMPONENTS FLAGS
************************************************************************
*
DO 2 JN=1,KINT
CALL IGETELE
(IFF+200000,JN,KLIST,KFLAG,IPROFF
& ,KNELE,KNVAL,KINT,IND1)
CALL IGETELE
(IDD+200000,JN,KLIST,KFLAG,IPROFD
& ,KNELE,KNVAL,KINT,IND2)
*
*
IF ( (IND1 .NE. -1) .AND. (IND2 .NE. -1) )THEN
*
DO JJ=1,KNVAL
LLREJ = .FALSE.
LLREJF = .FALSE.
LLREJD = .FALSE.
DO JD = 1,NFLAGS
IFLGF = IPROFF(JJ)
IFLGD = IPROFD(JJ)
IFLG = 13 - NLISTFLG(JD)
IF(.NOT.LLREJ) THEN
LLREJF = ( BTEST(IFLGF,IFLG) ) .OR. LLREJF
LLREJD = ( BTEST(IFLGD,IFLG) ) .OR. LLREJD
IF(LLREJF) THEN
IF(.NOT.LLREJD)THEN
KFLAG(IND2,JJ,JN) = KFLAG(IND1,JJ,JN)
WRITE(NULOUT,*)
*
& ' FLAGWND: FOUND FLAG (IN NAMELIST) ON'
& ,' SPEED BUT NOT ON DIRECTION'
WRITE(NULOUT,600)CSTN,KIDBRP,KLAT,KLON,JJ
& ,NLISTFLG(JD),IPROFD(JJ),IPROFF(JJ)
*
WRITE(NULOUT,*)' AFTER TRANSFER OF FLAGS'
WRITE(NULOUT,600)CSTN,KIDBRP,KLAT,KLON,JJ
& ,NLISTFLG(JD),KFLAG(IND2,JJ,JN)
& ,KFLAG(IND1,JJ,JN)
ENDIF
LLREJ = .TRUE.
ELSEIF(LLREJD) THEN
IF(.NOT.LLREJF)THEN
KFLAG(IND1,JJ,JN) = KFLAG(IND2,JJ,JN)
*
WRITE(NULOUT,*)
& ' FLAGWND: FOUND FLAG (IN NAMELIST) ON'
& ,' DIRECTION BUT NOT ON SPEED'
WRITE(NULOUT,600)CSTN,KIDBRP,KLAT,KLON,JJ
& ,NLISTFLG(JD),IPROFD(JJ),IPROFF(JJ)
*
WRITE(NULOUT,*)' AFTER TRANSFER OF FLAGS'
WRITE(NULOUT,600)CSTN,KIDBRP,KLAT,KLON,JJ
& ,NLISTFLG(JD),KFLAG(IND2,JJ,JN)
& ,KFLAG(IND1,JJ,JN)
ENDIF
LLREJ = .TRUE.
ENDIF
ENDIF
ENDDO
ENDDO
ENDIF
2 CONTINUE
*
600 FORMAT(1X,'STN= ',A9,1X,'ID= ',I5,1X,'LAT= ',I5,1X,'LON= ',I5,1X
& ,'LEVEL= ',I4,1X,'FLG= ',I2,1X,'MKR-DIR= ',I10,1X
& ,'MKR-SPD= ',I10)
RETURN
END