FUNCTION CH_KGETPOS(NOBSNMB, NTRCODE, CDSTNID) 14
#if defined (DOC)
*
***function CH_KGETPOS -- get position of certain observation in the list 
*                         of NTRCODELIST 
*
*Author    .Y. Yang Feb. 2005
*
*Revision:
*
*         Y.J. Rochon ARQX/MSC May 2005
*         - Minor cleanup
*         Y.J. Rochon ARQX/EC Jan 2010
*         - Added consideration of CDSTNID
*
*
*    PURPOSE:    Get the index of certain observation. Identified by obs. 
*                descriptor NOBSNMB and species code NTRCODE in the list 
*                NTRCODELIST.
*
*    ARGUMENTS:
*                INPUT:
*
*                    NOBSNMB :  obs. descriptor
*                    NTRCODE :  species code
*                    CDSTNID :  station id
*
*                OUTPUT:
*
*                    CH_KGETPOS : 
*                                >  0, the obs. index in 
*                                      NTRCODELIST & CTRSTNID
*                                = -1, the obs. not found in  
*                                      NTRCODELIST & CTRSTNID
*
#endif
      IMPLICIT NONE
#include "comlun.cdk"
#include "comdim.cdk"
#include "comchem.cdk"
C
      INTEGER CH_KGETPOS
      INTEGER NOBSNMB, NTRCODE 
      INTEGER JI,JJ
      CHARACTER*(*) CDSTNID
C       
      CH_KGETPOS = -1
C
C     First apply criterion involving CTRSTNID.
C
      JJ=0
      DO JI=1,NCMTASSI
        IF (CTRSTNID(JI).NE.' '.AND.CTRSTNID(JI).NE.'') THEN  
           JJ=JJ+1 
           IF  (NOBSNMB .eq. NETR(JI) .and. NTRCODE .eq. NTRCODELIST(JI)
     &       .and.TRIM(CDSTNID).eq.TRIM(CTRSTNID(JI))) THEN
             CH_KGETPOS = JI
             return
           ENDIF
        ENDIF
      ENDDO
C
C     Criterion not involving CTRSTNID
C     
      IF (JJ.NE.NCMTASSI) THEN
         DO JI=1,NCMTASSI
            IF (CTRSTNID(JI).EQ.' '.OR.CTRSTNID(JI).EQ.'') THEN           
            IF  (NOBSNMB.eq.NETR(JI).and.NTRCODE.eq.NTRCODELIST(JI)) THEN
                CH_KGETPOS = JI
                return
            ENDIF
            ENDIF
         ENDDO   
      END IF
C
      return
      end