      module grt
      implicit none 

      integer, parameter :: sg = 4023            ! # of spectral grid points.
      integer, parameter :: mz =  10             ! # of plasma zones,

      integer, dimension(2) :: shp=(/ mz,sg /)

      integer :: nsize
      real(8), dimension(sg) :: array
      real(8), dimension(sg) :: emis1d
      real(8), dimension(sg) :: opac1d
      real(8), dimension(sg) :: xspec           ! spectra eng. grid ev. 
      real(8) :: bdry
      real(8) :: thick=0.15                     ! plasma thickness cm
      real(8) :: xmin=0.0
      real(8) :: xmax=0.15
      real(8) :: rint(sg)                       ! intensity
      real(8) :: hbdry(0:mz)                    ! hydro zone boundries      
      real(8) , dimension(mz) :: dx             ! zone widths

      
      type fdat
        real(8), dimension(sg,mz) :: a2d        ! a2d(spec eng, mesh zone)
        real(8), dimension(mz)    :: zc         ! values of zone centers
      end type fdat

      type rad
        real(8), dimension(sg,0:mz) :: y
        real(8), dimension(sg,mz) :: yint
        real(8), dimension(sg,mz) :: slope 
      end type
 
      type(fdat), target  :: opacity
      type(fdat), target  :: emissivity
      type(rad),  target  :: tau

      end module grt


