   subroutine rdremsberg_h2so4_hno3(nopr,iout,indir,outdir,lstrn,iset,&
   lset,llset,nlines,wcm,wavelength,rndat,ridat,iwave)

! ***
! Read in the data from the netCDF file
! Will use netCDF f90 routines
  use netcdf

! param1.inc gives the maximum size of indices and extinction vectors
  include 'param1.inc'

! ****
! See rdinoutdir.f90
  character(len=60) :: indir,outdir
  integer :: nopr,iout,iset

! See main.f90
  integer :: nlines,iwave
  real :: wcm(nwavemax),wavelength(nwavemax)
  real :: rndat(nwavemax),ridat(nwavemax)
  character(len=100) :: lstrn,lset,filnm

! Used here
  integer,parameter :: ncomp=3
  integer :: i
  integer :: ntext,n70
  integer :: start(1),count(1),stride(1)
  integer,parameter :: ndat=500,ndat1=184,ndat2=211,ndat3=44
  integer :: nh2so475,nh2so490,nhno368
  real :: wcmdat(ndat),wavedat(ndat),rnval(ndat),rival(ndat)
  character(len=30) :: fil
  character (len=16) :: files(ncomp),llset

! ***
! Obtain the listing of the compounds
! Will ask the user to choose which compound to work with

! Specify by hand (have code read in values)
!          '1234567890123456'
  files(1)=' 75% H2SO4      ' 
  files(2)=' 90% H2SO4      '
  files(3)=' 68% HNO3       '

  write(0,fmt=140)
  140 format(2x," Will select  mset  value for a specific compound")
  write(0,fmt=145)
  145 format(2x," mset, compound")

  do i=1,ncomp
   write(0,fmt=150) i,files(i)
   150 format(2x,i3,2x,a16)
  end do

  write(0,fmt=160)
  160 format(2x,"Specify mset (1-3) e.g. mset=3 for 68% HNO3")

  read(5,*) mset
  mset=int(mset)

! The compound string
  llset=files(mset)

  write(0,fmt=170) mset,llset
  170 format(2x," mset,llset ",i4,2x,a16)

! ***
! Read in the data from the netCDF file
   lset=lstrn

! ***
! The input netCDF file
!     '123456789012345678901234567890'
  fil='remsberg_h2so4_hno3.nc        '

! Obtain the full pathname of the input netCDF file
   noprf=1
  call getfilnm(noprf,iout,fil,indir,filnm)
  if (noprf .eq. 1) then
!  stop
  end if

! ***
! Open the netCDF file
  istat=nf90_open(filnm,nf90_nowrite,id1)
   call handle(iout,istat)

  if (nopr .eq. 1) then
   write(iout,fmt=100) id1,filnm
   100 format(/,2x,"rdremsberg_h2so4_hno3: id1,filnm ",i8,2x,a100)
  end if

! ***
! Get dimension ids (work with variables part of ncdump)
  istat=nf90_inq_varid(id1,'nh2so475',idnh2so475)
   call handle(iout,istat)
  istat=nf90_inq_varid(id1,'nh2so490',idnh2so490)
   call handle(iout,istat)
  istat=nf90_inq_varid(id1,'nhno368',idnhno368)
   call handle(iout,istat)
  istat=nf90_inq_varid(id1,'ntext',idntext)
   call handle(iout,istat)
  istat=nf90_inq_varid(id1,'n70',idn70)
   call handle(iout,istat)

! *****
! Get the dimensions
  istat=nf90_get_var(id1,idnh2so475,nh2so475)
   call handle(iout,istat)
  istat=nf90_get_var(id1,idnh2so490,nh2so490)
   call handle(iout,istat)
  istat=nf90_get_var(id1,idnhno368,nhno368)
   call handle(iout,istat)
  istat=nf90_get_var(id1,idntext,ntext)
   call handle(iout,istat)
  istat=nf90_get_var(id1,idn70,n70)
   call handle(iout,istat)

   if (nopr .eq. 1) then
    write(iout,fmt=110) mset,ntext,n70,nh2so475,nh2so490,nhno368
    110 format(2x,"mset,ntext,n70,nh2so475,nh2so490,nhno368",/,&
    2x,6(1x,i4))
   end if

   if (mset .eq. 1) then
     nlines=ndat1
    istat=nf90_inq_varid(id1,'wcmh2so475',idwcm)
     call handle(iout,istat)
    istat=nf90_inq_varid(id1,'wmich2so475',idwave)
     call handle(iout,istat)
    istat=nf90_inq_varid(id1,'rnh2so475',idrn)
     call handle(iout,istat)
    istat=nf90_inq_varid(id1,'rih2so475',idri)
     call handle(iout,istat)
   end if

   if (mset .eq. 2) then
     nlines=ndat2
    istat=nf90_inq_varid(id1,'wcmh2so490',idwcm)
     call handle(iout,istat)
    istat=nf90_inq_varid(id1,'wmich2so490',idwave)
     call handle(iout,istat)
    istat=nf90_inq_varid(id1,'rnh2so490',idrn)
     call handle(iout,istat)
    istat=nf90_inq_varid(id1,'rih2so490',idri)
     call handle(iout,istat)
   end if

   if (mset .eq. 3) then
     nlines=ndat3
    istat=nf90_inq_varid(id1,'wcmhno368',idwcm)
     call handle(iout,istat)
    istat=nf90_inq_varid(id1,'wmichno368',idwave)
     call handle(iout,istat)
    istat=nf90_inq_varid(id1,'rnhno368',idrn)
     call handle(iout,istat)
    istat=nf90_inq_varid(id1,'rihno368',idri)
     call handle(iout,istat)
   end if

! ****
!  Read in the real and imaginary indices
   start(1)=1
   count(1)=nlines
   stride(1)=1
  istat=nf90_get_var(id1,idwcm,wcmdat,start,count,stride)
   call handle(iout,istat)
  istat=nf90_get_var(id1,idwave,wavedat,start,count,stride)
   call handle(iout,istat)
  istat=nf90_get_var(id1,idrn,rnval,start,count,stride)
   call handle(iout,istat)
  istat=nf90_get_var(id1,idri,rival,start,count,stride)
   call handle(iout,istat)

! ****
! Exit define mode
  istat=nf90_enddef(id1)

! Close the data set
  istat=nf90_close(id1)

! *****
! Put values into the output arrays
  do i=1,nlines
   wcm(i)=wcmdat(i)
   wavelength(i)=wavedat(i)
   rndat(i)=rnval(i)
   ridat(i)=rival(i)
  end do

! *****
  if (nopr .eq. 1) then
    write(iout,fmt=800) mset,files(mset)
    800 format(/,2x,"rdremsberg_h2so4_hno3: work with mset, files(mset)",/,&
    2x,i3,2x,a16)
    write(iout,fmt=840)
    840 format(/,2x,"rdremsberg_h2so4_hno3: i,wcm,wavelength,rndat,ridat")
   do i=1,nlines
    write(iout,fmt=850) i,wcm(i),wavelength(i),rndat(i),ridat(i)
    850 format(2x,i4,2(1x,f10.4),1p,2(1x,e10.3))
   end do
  end if

! ******
  return
  end
