SUBROUTINE CH_READNML (CDNAME,KFLAG) 2
      use modstag, only : lstagwinds
#if defined (DOC)
*
***s/r CH_READNML - Check if namelist cdname is present on logical unit
*     .          NULNAM and read it, for chemistry-related namelists
*
*     Author: Y. Yang, following s/r readnml by P. Gauthier *ARMA/AES 
*             (August 29, 1994; adapted from CHECNML by MICHEL DESGAGNE 
*             OCT 1993 (for MC2)) to read NAMCHEM and NAMVARSTD for species
*REVISION:
*
*             Y.J. Rochon *ARQX/MSC Feb 2006
*             . moved reading of namvarstd to dynamic conterpart readnml.ftn
*             Y.Yang AROI/MSC Feb. 2006 
*             . added reading of namsplit 
*Arguments
*     i   CDNAME  : variable character string containing the name of
*     .             the NAMELIST to be read
*     o   KFLAG   : flag for error
*
**
#endif
      IMPLICIT NONE
*implicits
#include "pardim.cdk"
#include "comlun.cdk"
C
#include "comct0.cdk"
#include "namct0.cdk"
C
#include "comdim.cdk"
#include "namdim.cdk"
C
#include "comdimo.cdk"
#include "namdimo.cdk"
C
#include "comchem.cdk"
#include "namchem.cdk"
C
#include "comsplit.cdk"
#include "namsplit.cdk"
C
*
      CHARACTER*60 CLDUMMY
*
      CHARACTER*(*) CDNAME
      INTEGER KFLAG
*
**    1. Position the file to where the NAMELIST is located
*
      REWIND(NULNAM)
 100  CONTINUE
      READ (NULNAM,'(2X,A)',END=300,IOSTAT=KFLAG) CLDUMMY
      IF (CLDUMMY.EQ.CDNAME) THEN
         BACKSPACE (NULNAM)
         GOTO 200
      ELSE
         GOTO 100
      ENDIF
*
**    2. Read the NAMELIST (if present)
*
 200  CONTINUE
      WRITE(NULOUT,9200)CDNAME
 9200 FORMAT(//,5X,"CH_READNML- reading Namelist ",A)
C
C
      IF(CDNAME.EQ.'NAMCHEM')THEN
C
#if defined (C910)
         READ(NULNAM,NML=NAMCHEM)
         WRITE(NULOUT,NML=NAMCHEM)
#else
         READ(NULNAM,NAMCHEM)
         WRITE(NULOUT,NAMCHEM)
#endif
C
      ELSE IF(CDNAME.EQ.'NAMSPLIT')THEN
C
#if defined (C910)
         READ(NULNAM,NML=NAMSPLIT)
         WRITE(NULOUT,NML=NAMSPLIT)
#else
         READ(NULNAM,NAMSPLIT)
         WRITE(NULOUT,NAMSPLIT)
#endif
C
      END IF
C
      RETURN
*
**    3. Abort the job if the NAMELIST is absent
*
 300  CONTINUE
      WRITE(NULOUT,9300)CDNAME
 9300 FORMAT(//,10X,"-NAMELIST ",A," not found")
      CALL ABORT3D(NULOUT," CH_READNML       ")
      END