      SUBROUTINE READNLTE(LCON,MGS,NGAS,IDG,IDGN,NLMX,VIBTRAN,VIBSTS)
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
C VERSION 1.0 (c.j. mertens, spring 1998))
C VERSION 2.0 (c.j. mertens, july, 1998)
C VERSION 3.0 (b.t. marshall, October, 2001)
CTM Removed NVIB parameter
C
C READNLTE READS NLTE INPUT PARAMETERS FROM THE CONTROL FILE AND
C SETS INPUT NONLTE ARRAYS FOR LINEPAK/BANDPAK.
C
C PARAMETER LIST:
C
C   LCON--- UNIT NUMBER OF THE FILE CONTAINING THE CONTROL INFORMATION.
C   MGS---- MAXIMUM NUMBER OF GASES SIMULATED.
C   NGAS--- NUMBER OF GASES TO SIMULATE.
C   IDG---- GASID's OF SIMULATED GASES.
C   IDGN--- GASID's OF SIMULATED GASES BEFORE NON-LTE FORMAT.
C   NLMX--- NUMBER OF TERMS TO INCLUDE IN Qv(NLTE) PER GAS.
C   VIBTRAN ARRAY OF SIMULATED NON-LTE VIBTRATIONAL TRANSITIONS.
C   VIBSTS- ARRAY OF NON-LTE SIMULATED NON-LTE VIBTRATIONAL STATES.
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
C      (c) Copyright 1987-2000 by GATS, Inc.
C          11864 Canon Blvd., Suite 101, Newport News, Virginia, 23606
C          Phone: (757) 873-5920
C
C  All Rights Reserved. No part of this software or publication may be
C  reproduced, stored in a retrieval system, or transmitted, in any form
C  or by any means, electronic, mechanical, photocopying, recording, or
C  otherwise without the prior written permission of GATS, Inc.
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
      IMPLICIT NONE
 
      INTEGER*4     LCON,MGS,NGAS,IG,NSUBGAS 
      INTEGER*4     ISG,IGG,IGC,NL,NLL
      INTEGER*4     IDG(MGS),IDGN(MGS)
      INTEGER*4     NVIBS,NLMX(MGS)
      CHARACTER*(*) VIBTRAN(MGS),VIBSTS(2,MGS)
C
      IG=0
      READ(LCON,*) NSUBGAS
      NGAS=NSUBGAS
      DO ISG=1,NSUBGAS
        IG=IG+1
	IGG=IG
	READ(LCON,*) IDGN(IG),NVIBS,NLMX(IG)
	NL=NVIBS
	NLL=DIM(NL,1)
	NGAS=NGAS+NLL
        DO IGC=1,NLL
	  IG=IG+1
	  IDGN(IG)=IDGN(IGG)
	  NLMX(IG)=NLMX(IGG)
	ENDDO
        IF(NL.GT.0) THEN
          DO IGC=1,NL
	    READ(LCON,'(A)') VIBTRAN(IGG+IGC-1)
          ENDDO
        ELSE
          READ(LCON,'(A)') VIBTRAN(IGG)
        ENDIF
      ENDDO

c         print*,len( vibtran(1) )
c         stop
      CALL KP_SETNLTE(MGS,NGAS,IDGN,IDG,VIBTRAN,VIBSTS)
      RETURN
      END
