      SUBROUTINE gv_XSEC ( FLN )

      CHARACTER*60 FLN

        open ( 10, file = FLN, status='old',ERR=110)
        GOTO 115
 110    WRITE(*,*) 'File NOT opened: ',FLN
 115    CONTINUE

          call  gO2_X_97
          rewind 10

          call  gO2_X
          rewind 10

          call  gO3tot_X_old
          rewind 10

          call  gO3tot_X
          rewind 10

          call   gQuant_Y_O1d_97
          rewind 10

          call  gNO2_X
          rewind 10

          call  gQuant_Y_NO2
          rewind 10

          call  gClONO2_Cl_X_97
          rewind 10

          call  gClONO2_O_X_97
          rewind 10

          call  gClONO2_Cl_X
          rewind 10

          call  gClONO2_O_X
          rewind 10

          call  gHNO3_X
          rewind 10

          call  gN2O5_X
          rewind 10

          call  gNO3_NO_X
          rewind 10

          call  gNO3_NO2_X
          rewind 10

          call  gHO2_X
          rewind 10

          call  gH2O2_X
          rewind 10

          call  gHO2NO2_HO2_X
          rewind 10

          call  gHO2NO2_OH_X
          rewind 10

          call  gCH2O_H_X
          rewind 10

          call  gCH2O_H2_X
          rewind 10

          call  gCH3OOH_X
          rewind 10

          call  gHCL_X
          rewind 10

          call  gHOCL_X
          rewind 10

          call  gCL2O2_X
          rewind 10

          call  gBRONO2_X_97
          rewind 10

          call  gBRONO2_X
          rewind 10

          call  gCH3CL_X
          rewind 10

          call  gCH3CCL3_X
          rewind 10

          call  gCCL4_X
          rewind 10

          call  gF11_X
          rewind 10

          call  gF12_X
          rewind 10

          call  gCH3BR_X
          rewind 10

          call  gCF3BR_X
          rewind 10

          call  gCF2CLBR_X
          rewind 10

          call  gHCFC22_X
          rewind 10

          call  gC2CL3F3_X
          rewind 10

          call  gC2CL2F4_X
          rewind 10

          call  gC2CLF5_X
          rewind 10

          call  gCLONO_X
          rewind 10

          call  gCHBR3_X
          rewind 10

          call  gCCL2O_X
          rewind 10

          call  gOCLO_X
          rewind 10

          call  gCO2_X
          rewind 10

          call  gHOBR_X
          rewind 10

          call  gC2H3FCL2_X
          rewind 10

          call  gOCS_X
          rewind 10

          call  gSO2_X
          rewind 10

          call  gSO3_X
          rewind 10

          call  gCS2_X
          rewind 10

        close (10)

      RETURN
      END

      Subroutine gO2_X_97
c
c       Notation: same as in  X_SEC
c
        Parameter  ( Len_jpl = 32 )

        real  x_jpl (Len_jpl), wlt_jpl (Len_jpl)

        character*8  AA

Cgal
      COMMON / XSEC_01 / wlt_jpl_1 (Len_jpl), x_jpl_1 (Len_jpl)
Cgal

        do while ( AA .ne. 'O2 from' )
	   read (10,2) AA
        end do

 2      format (2x,A8)
        read (10,2) AA

      DO 1 I=1,Len_jpl
        read (10, 100 )  wlt_jpl(i), x_jpl(i)
  1     continue

 100    format ( 4X, f8.2, e10.2 )

Cgal
      do i=1,Len_jpl
       wlt_jpl_1(i) = wlt_jpl(i)
         x_jpl_1(i) =   x_jpl(i)
      end do
Cgal

         end

c ===================================================================

        Subroutine  gO2_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( Len_jpl = 36,  Nd = Len_jpl/2 )

        real  x_jpl (Len_jpl), wlt_jpl (Len_jpl)

        character*8  AA

Cgal
      COMMON / XSEC_02 / wlt_jpl_2 (Len_jpl), x_jpl_2 (Len_jpl)
Cgal

        do while ( AA .ne. 'O2' )
           read (10,2) AA
        end do

 2      format (2x,A8)
        read (10,2) AA

        read ( 10, * ) ( wlt_jpl(i), x_jpl(i), wlt_jpl(i+Nd),
     *                   x_jpl(i+Nd), i = 1, Nd )
 1      format ( 2( 2x, f10.0, 2x, f10.2, 2x ) )

Cgal
      do i=1,Len_jpl
       wlt_jpl_2(i) = wlt_jpl(i)
         x_jpl_2(i) =   x_jpl(i)
      end do
Cgal

         end

c ======================================================================
        Subroutine  gO3tot_X_old
c
c       Notation: same as in  X_SEC
c
        Parameter  ( Len_jpl = 69, NT = 2 )

        real  x_jpl (Len_jpl,NT), wb_jpl (Len_jpl), we_jpl (Len_jpl)

        character*8  AA

Cgal
      COMMON / XSEC_03 / wb_jpl_3 (Len_jpl), we_jpl_3 (Len_jpl),
     *                          x_jpl_3 (Len_jpl,NT)
Cgal

        do while ( AA .ne. 'O3' )
           read (10,2) AA
        end do

 2      format (2x,A8)
        read (10,2) AA

        read ( 10, * ) ( wb_jpl(i), we_jpl(i), x_jpl(i,1), x_jpl(i,2),
     *                   i = 1, Len_jpl )

 1      format ( 2x, 0p2f9.3, 1p2e10.2 )

Cgal
      do i=1,Len_jpl
       wb_jpl_3(i) = wb_jpl(i)
       we_jpl_3(i) = we_jpl(i)
         x_jpl_3(i,1) =   x_jpl(i,1)
         x_jpl_3(i,2) =   x_jpl(i,2)
      end do
Cgal

        end

c ==========================================================================
        Subroutine  gO3tot_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( Len_p = 77, NT = 3 )

        real  x_jpl (Len_p,NT), wb_jpl (Len_p), we_jpl (Len_p)

        character*8  AA

Cgal
      COMMON / XSEC_04 / wb_jpl_4 (Len_p), we_jpl_4 (Len_p),
     *                    x_jpl_4 (Len_p,NT)
Cgal

        do while ( AA .ne. 'O3' )
           read (10,2) AA
        end do

 2      format (2x,A8)
        read (10,2) AA

        read ( 10, * ) ( wb_jpl(i), we_jpl(i), (x_jpl(i,k), k=1,3),
     *                   i = 1, Len_p )

 1      format ( 2x, 0p2f7.2, 1p3e10.2 )

Cgal
      do i=1,Len_p
       wb_jpl_4(i) = wb_jpl(i)
       we_jpl_4(i) = we_jpl(i)
         x_jpl_4(i,1) =   x_jpl(i,1)
         x_jpl_4(i,2) =   x_jpl(i,2)
         x_jpl_4(i,3) =   x_jpl(i,3)
      end do
Cgal

        end

c ======================================================================

       Subroutine  gQuant_Y_O1d_97
c
c   **      O(1d) quantum yield in the photolysis of O3

c       Notation: same as in  X_SEC
c       qy - O(1d) quantum yield in the photolysis of O3

	parameter (Ljpl=21)

        real wjpl(Ljpl), A(Ljpl), B(Ljpl)

        character*8  AA

Cgal
      COMMON / XSEC_05 / wjpl_5 (Ljpl), A_5 (Ljpl),
     *                                  B_5 (Ljpl)
Cgal
        lun_x = 10

        do while ( AA .ne. 'O3(1D) q' )
	   read (lun_x,2) AA
        end do

 2      format (2x,A8)
        read (lun_x,2) AA

        read (lun_x, * ) ( wjpl(i), A(i), B(i), i = 1, Ljpl )

Cgal
      do i=1,Ljpl
       wjpl_5(i) = wjpl(i)
          A_5(i) =  A(i)
          B_5(i) =  B(i)
      end do
Cgal

	return
        end

c ==============================================================

        Subroutine  gNO2_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_no_T = 26, L_T = 31, L_j = L_no_T+L_T )

        real  wb_j (L_j), we_j (L_j),
     *        as_j (L_j), sig_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_06 / wb_j_6 (L_j), we_j_6 (L_j),
     *                  sig_j_6 (L_j), as_j_6 (L_j)
Cgal

      do i=1,L_j
       as_j(i) =  0.0
      end do

        do while ( AA .ne. 'NO2' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( wb_j(i), we_j(i), sig_j(i),
     *       wb_j(i+L_no_T), we_j(i+L_no_T), sig_j(i+L_no_T),
     *       as_j(i+L_no_T),     i = 1, L_no_T )

       read ( 10, * ) (wb_j(i), we_j(i), sig_j(i), as_j(i),
     *                   i = L_no_T*2 + 1, L_j)

 1      format ( 2x, 3f7.2 )
 2      format ( 2x, 4f7.2 )

Cgal
      do i=1,L_j
       wb_j_6(i) =  wb_j(i)
       we_j_6(i) =  we_j(i)
      sig_j_6(i) = sig_j(i)
       as_j_6(i) =  as_j(i)
      end do
Cgal

        end

c ======================================================================
       Subroutine  gQuant_Y_NO2

       parameter  ( nq_j = 64, nq_hlf = nq_j/2 )

       real  w_j (nq_j), q_j (nq_j)

        character*8  AA

Cgal
      COMMON / XSEC_07 / w_j_7 (nq_j), q_j_7 (nq_j)
Cgal

        do while ( AA .ne. 'NO2 phot' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

        read  (10,*) ( w_j(i), q_j(i), w_j(i+nq_hlf),
     *                  q_j(i+nq_hlf), i = 1, nq_hlf )

Cgal
      do i=1,nq_j
       w_j_7(i) =  w_j(i)
       q_j_7(i) =  q_j(i)
      end do
Cgal

        end
c =======================================================================
c =======================================================================
      Subroutine  gClONO2_Cl_X_97
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_hlf = 60, L_j = L_hlf*2-1  )

        real   w_j (L_j),   ! 'x_j (L_j)' not used GM1/00
     *        a1_j (L_j), a2_j (L_j), sig_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_08 / w_j_8 (L_j), sig_j_8 (L_j),
     *                  a1_j_8 (L_j),  a2_j_8 (L_j)
Cgal

        do while ( AA .ne. 'ClONO2' )
	   read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read (10, * ) ( w_j(i), sig_j(i), a1_j(i), a2_j(i),
     *       w_j(i+L_hlf), sig_j(i+L_hlf), a1_j(i+L_hlf),
     *	     a2_j(i+L_hlf), i = 1, L_hlf-1 )

       read (10, * ) w_j(L_hlf), sig_j(L_hlf), a1_j(L_hlf),
     *		      a2_j(L_hlf)

 1      format ( 2x, 0pf7.2, 1p3e10.2 )

Cgal
      do i=1,L_j
         w_j_8(i) =    w_j(i)
       sig_j_8(i) =  sig_j(i)
        a1_j_8(i) =   a1_j(i)
        a2_j_8(i) =   a2_j(i)
      end do
Cgal

        end

c =======================================================================
      Subroutine  gClONO2_O_X_97
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_hlf = 60, L_j = L_hlf*2-1  )

        real   w_j (L_j),      !'x_j (L_j)' not used GM1/00
     *        a1_j (L_j), a2_j (L_j), sig_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_09 / w_j_9 (L_j), sig_j_9 (L_j),
     *                  a1_j_9 (L_j),  a2_j_9 (L_j)
Cgal

        do while ( AA .ne. 'ClONO2' )
	   read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read (10, * ) ( w_j(i), sig_j(i), a1_j(i), a2_j(i),
     *       w_j(i+L_hlf), sig_j(i+L_hlf), a1_j(i+L_hlf),
     *	     a2_j(i+L_hlf), i = 1, L_hlf-1 )

       read (10, * ) w_j(L_hlf), sig_j(L_hlf), a1_j(L_hlf),
     *		      a2_j(L_hlf)

 1      format ( 2x, 0pf7.2, 1p3e10.2 )

Cgal
      do i=1,L_j
         w_j_9(i) =    w_j(i)
       sig_j_9(i) =  sig_j(i)
        a1_j_9(i) =   a1_j(i)
        a2_j_9(i) =   a2_j(i)
      end do
Cgal

        end

c =======================================================================
        Subroutine  gClONO2_Cl_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_hlf = 60, L_j = L_hlf*2-1  )

        real   w_j (L_j),      !'x_j (L_j)' not used GM1/00
     *        a1_j (L_j), a2_j (L_j), sig_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_10 / w_j_10 (L_j), sig_j_10 (L_j),
     *                  a1_j_10 (L_j),  a2_j_10 (L_j)
Cgal

        do while ( AA .ne. 'ClONO2' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), sig_j(i), a1_j(i), a2_j(i),
     *       w_j(i+L_hlf), sig_j(i+L_hlf), a1_j(i+L_hlf),
     *       a2_j(i+L_hlf), i = 1, L_hlf-1 )

       read ( 10, * ) w_j(L_hlf), sig_j(L_hlf), a1_j(L_hlf),
     *                a2_j(L_hlf)

 1      format ( 2x, 0pf7.2, 1p3e10.2 )

Cgal
      do i=1,L_j
         w_j_10(i) =    w_j(i)
       sig_j_10(i) =  sig_j(i)
        a1_j_10(i) =   a1_j(i)
        a2_j_10(i) =   a2_j(i)
      end do
Cgal

        end

c =======================================================================
        Subroutine  gClONO2_O_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_hlf = 60, L_j = L_hlf*2-1  )

        real   w_j (L_j),      ! 'x_j (L_j)' not used GM1/00
     *        a1_j (L_j), a2_j (L_j), sig_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_11 / w_j_11 (L_j), sig_j_11 (L_j),
     *                  a1_j_11 (L_j),  a2_j_11 (L_j)
Cgal

        do while ( AA .ne. 'ClONO2' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), sig_j(i), a1_j(i), a2_j(i),
     *       w_j(i+L_hlf), sig_j(i+L_hlf), a1_j(i+L_hlf),
     *       a2_j(i+L_hlf), i = 1, L_hlf-1 )

       read ( 10, * ) w_j(L_hlf), sig_j(L_hlf), a1_j(L_hlf),
     *                a2_j(L_hlf)

 1      format ( 2x, 0pf7.2, 1p3e10.2 )

Cgal
      do i=1,L_j
         w_j_11(i) =    w_j(i)
       sig_j_11(i) =  sig_j(i)
        a1_j_11(i) =   a1_j(i)
        a2_j_11(i) =   a2_j(i)
      end do
Cgal

        end

c =======================================================================

        Subroutine  gHNO3_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_hlf = 27, L_j = L_hlf*3  )

        real   w_j (L_j),     ! 'x_j (L_j)' not used GM1/00
     *        b_j (L_j), sig_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_12 / w_j_12 (L_j), sig_j_12 (L_j),
     *                   b_j_12 (L_j)
Cgal

        do while ( AA .ne. 'HNO3' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), sig_j(i), b_j(i),
     *       w_j(i+L_hlf), sig_j(i+L_hlf), b_j(i+L_hlf),
     *       w_j(i+L_hlf*2), sig_j(i+L_hlf*2), b_j(i+L_hlf*2),
     *       i = 1, L_hlf )

 1      format ( 2x, f6.0, 2f12.5 )

Cgal
      do i=1,L_j
         w_j_12(i) =    w_j(i)
       sig_j_12(i) =  sig_j(i)
         b_j_12(i) =    b_j(i)
      end do
Cgal

        end

c ======================================================================
        Subroutine  gN2O5_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_no_T = 17  )

        real  x_j (L_no_T), w_j (L_no_T)

        character*8  AA

Cgal
      COMMON / XSEC_13 / w_j_13 (L_no_T),
     *                   x_j_13 (L_no_T)
Cgal

        do while ( AA .ne. 'N2O5' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), x_j(i),  i = 1, L_no_T )

 1      format ( 2x, 2f6.1 )

Cgal
      do i=1,L_no_T
         w_j_13(i) =   w_j(i)
         x_j_13(i) =   x_j(i)
      end do
Cgal

        end

c =======================================================================
        Subroutine  gNO3_NO_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_p = 3 )

        character*8  AA

        real  wb(L_p), we(L_p), x_no2(L_p), x_no(L_p)

Cgal
      COMMON / XSEC_14 / wb_14(L_p),    we_14(L_p),
     *                x_no2_14(L_p),  x_no_14(L_p)
Cgal

        do while ( AA .ne. 'NO3_new' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

        read (10, *) ( wb(l), we(l), x_no2(l), x_no(l),
     *                 l = 1, L_p )
 1      format ( 2x, 0p2f6.2, 1p2e12.5 )

Cgal
      do i=1,L_p
         wb_14(i) =   wb(i)
         we_14(i) =   we(i)
      x_no2_14(i) =   x_no2(i)
       x_no_14(i) =   x_no(i)
      end do
Cgal

        end
c =========================================================================
        Subroutine  gNO3_NO2_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_p = 3 )

        character*8 AA

        real  wb(L_p), we(L_p), x_no2(L_p), x_no(L_p)

Cgal
      COMMON / XSEC_15 / wb_15(L_p),    we_15(L_p),
     *                x_no2_15(L_p),  x_no_15(L_p)
Cgal

        do while ( AA .ne. 'NO3_new' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

        read (10, *) ( wb(l), we(l), x_no2(l), x_no(l),
     *                 l = 1, L_p )

 1      format ( 2x, 0p2f6.2, 1p2e12.5 )

Cgal
      do i=1,L_p
         wb_15(i) =   wb(i)
         we_15(i) =   we(i)
      x_no2_15(i) =   x_no2(i)
       x_no_15(i) =   x_no(i)
      end do
Cgal

        end

c ==========================================================================
        Subroutine  gHO2_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_j = 7  )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_16 / w_j_16 (L_j),
     *                   x_j_16 (L_j)
Cgal

        do while ( AA .ne. 'HO2' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), x_j(i),  i = 1, L_j )

 1      format ( 2x, 2f6.1 )

Cgal
      do i=1,L_j
         w_j_16(i) =   w_j(i)
         x_j_16(i) =   x_j(i)
      end do
Cgal

         end
c ======================================================================
        Subroutine  gH2O2_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_no_T = 14  )

        real  x_j (L_no_T), w_j (L_no_T)

        character*8  AA

Cgal
      COMMON / XSEC_17 / w_j_17 (L_no_T),
     *                   x_j_17 (L_no_T)
Cgal

        do while ( AA .ne. 'H2O2' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), x_j(i),  i = 1, L_no_T )

 1      format ( 2x, 2f6.1 )

Cgal
      do i=1,L_no_T
         w_j_17(i) =   w_j(i)
         x_j_17(i) =   x_j(i)
      end do
Cgal

        end

c =========================================================================
        Subroutine  gHO2NO2_HO2_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_hlf = 14, L_j = L_hlf*2  )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_18 / w_j_18 (L_j),
     *                   x_j_18 (L_j)
Cgal

        do while ( AA .ne. 'HO2NO2' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), x_j(i),  w_j(i+L_hlf),
     *       x_j(i+L_hlf),  i = 1, L_hlf )

 1      format ( 2x, 0pf7.2, 1p3e10.2 )

Cgal
      do i=1,L_j
         w_j_18(i) =   w_j(i)
         x_j_18(i) =   x_j(i)
      end do
Cgal

        end

c =======================================================================
        Subroutine  gHO2NO2_OH_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_hlf = 14, L_j = L_hlf*2  )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_19 / w_j_19 (L_j),
     *                   x_j_19 (L_j)
Cgal

        do while ( AA .ne. 'HO2NO2' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), x_j(i),  w_j(i+L_hlf),
     *       x_j(i+L_hlf),  i = 1, L_hlf )

 1      format ( 2x, 0pf7.2, 1p3e10.2 )

Cgal
      do i=1,L_j
         w_j_19(i) =   w_j(i)
         x_j_19(i) =   x_j(i)
      end do
Cgal

        end

c =======================================================================
        Subroutine  gCH2O_H_X
c
c       Notation: same as in  X_SEC
c  !!!  Note: CH2O requires higher resolution spectrum then that
c       that adopted in current version of this photodiss. code,
c       especially above 325 nm. So, the averages of the initial
c       available JPL x-sect. at 2.5 nm resolution for each model
c       interval are calculated. If the wavelength grid is changed,
c       changes in this program are required.

        Parameter  ( L_j = 23 )

        real  w_j (L_j),
     *        a_j (L_j), b_j (L_j),
     *        qh_j (L_j), qh2_j (L_j), s1, s2

        character*8  AA

Cgal
      COMMON / XSEC_20 / w_j_20 (L_j),
     *                   a_j_20 (L_j),   b_j_20 (L_j),
     *                  qh_j_20 (L_j), qh2_j_20 (L_j)
Cgal

        do while ( AA .ne. 'CH2O' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), s1, s2, a_j(i), b_j(i),
     *       qh_j(i), qh2_j(i), i = 1, L_j )


 1      format ( 2x, 5f8.3 )

Cgal
      do i=1,L_j
          w_j_20(i) =     w_j(i)
          a_j_20(i) =     a_j(i)
          b_j_20(i) =     b_j(i)
         qh_j_20(i) =    qh_j(i)
        qh2_j_20(i) =   qh2_j(i)
      end do
Cgal

        end

c =======================================================================
        Subroutine  gCH2O_H2_X
c
c       Notation: same as in  X_SEC
c  !!!  Note: CH2O requires higher resolution spectrum then that
c       that adopted in current version of this photodiss. code,
c       especially above 325 nm. So, the averages of the initial
c       available JPL x-sect. at 2.5 nm resolution for each model
c       interval are calculated. If the wavelength grid is changed,
c       changes in this program are required.

        Parameter  ( L_j = 23 )

        real  w_j (L_j),
     *        a_j (L_j), b_j (L_j),
     *        qh_j (L_j), qh2_j (L_j), s1, s2

        character*8  AA

Cgal
      COMMON / XSEC_21 / w_j_21 (L_j),
     *                   a_j_21 (L_j),   b_j_21 (L_j),
     *                  qh_j_21 (L_j), qh2_j_21 (L_j)
Cgal

        do while ( AA .ne. 'CH2O' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), s1, s2, a_j(i), b_j(i),
     *       qh_j(i), qh2_j(i), i = 1, L_j )


 1      format ( 2x, 5f8.3 )

Cgal
      do i=1,L_j
          w_j_21(i) =     w_j(i)
          a_j_21(i) =     a_j(i)
          b_j_21(i) =     b_j(i)
         qh_j_21(i) =    qh_j(i)
        qh2_j_21(i) =   qh2_j(i)
      end do
Cgal

        end

c =======================================================================
        Subroutine  gCH3OOH_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_hlf = 8, L_j = L_hlf*2  )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_22 / w_j_22 (L_j),
     *                   x_j_22 (L_j)
Cgal

        do while ( AA .ne. 'CH3OOH' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), x_j(i),  w_j(i+L_hlf),
     *       x_j(i+L_hlf),  i = 1, L_hlf )

 1      format ( 2x, 0pf7.2, 1p3e10.2 )

Cgal
      do i=1,L_j
          w_j_22(i) =     w_j(i)
          x_j_22(i) =     x_j(i)
      end do
Cgal

        end

c =======================================================================
        Subroutine  gHCL_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_hlf = 9, L_j = L_hlf*2-1  )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_23 / w_j_23 (L_j),
     *                   x_j_23 (L_j)
Cgal

        do while ( AA .ne. 'HCl' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), x_j(i),  w_j(i+L_hlf),
     *       x_j(i+L_hlf),  i = 1, L_hlf-1 )

       read ( 10, * ) w_j(L_hlf), x_j(L_hlf)

 1      format ( 2x, 0pf7.2, 1p3e10.2 )

Cgal
      do i=1,L_j
          w_j_23(i) =     w_j(i)
          x_j_23(i) =     x_j(i)
      end do
Cgal

        end

c ==============================================================
        Subroutine  gHOCL_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_trd = 31, L_j = L_trd*3-2  )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_24 / w_j_24 (L_j),
     *                   x_j_24 (L_j)
Cgal

        do while ( AA .ne. 'HOCl' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), x_j(i),  w_j(i+L_trd),
     *       x_j(i+L_trd),  w_j(i+2*L_trd-1), x_j(i+2*L_trd-1),
     *             i = 1, L_trd-1 )

       read ( 10, * ) w_j(L_trd), x_j(L_trd)

 1      format ( 2x, 0pf7.2, 1p3e10.2 )

Cgal
      do i=1,L_j
          w_j_24(i) =     w_j(i)
          x_j_24(i) =     x_j(i)
      end do
Cgal

        end

c =========================================================================

        Subroutine  gCL2O2_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_4 = 33, L_j = L_4*4-1  )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_25 / w_j_25 (L_j),
     *                   x_j_25 (L_j)
Cgal

        do while ( AA .ne. 'ClOOCl' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), x_j(i), w_j(i+L_4), x_j(i+L_4),
     *       w_j(i+L_4*2), x_j(i+L_4*2), w_j(i+L_4*3), x_j(i+L_4*3),
     *       i = 1, L_4-1 )
       read ( 10, * )  w_j(L_4), x_j(L_4), w_j(L_4*2), x_j(L_4*2),
     *       w_j(L_4*3), x_j(L_4*3)

 1      format ( 2x, f6.0, f12.5 )

Cgal
      do i=1,L_j
          w_j_25(i) =     w_j(i)
          x_j_25(i) =     x_j(i)
      end do
Cgal
        end

c ======================================================================

      Subroutine  gBRONO2_X_97
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_hlf =21, L_j = L_hlf*3-2 )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_26 / w_j_26 (L_j),
     *                   x_j_26 (L_j)
Cgal

        lun_x = 10

        do while ( AA .ne. 'BrONO2 j' )
	   read (lun_x,12) AA
        end do

 12     format (2x,A8)
        read (lun_x,12) AA

       read (lun_x, * ) ( w_j(i), x_j(i),  w_j(i+L_hlf),
     *	     x_j(i+L_hlf),  w_j(i+2*L_hlf), x_j(i+2*L_hlf),
     *       i = 1, L_hlf-2 )

       read (lun_x,* )  ( w_j(i), x_j(i), w_j(i+L_hlf),
     *	     x_j(i+L_hlf), i=L_hlf-1,L_hlf )

 1      format ( 3(2x, 0pf7.2, 1pe10.2) )
 10	format ( 2(2x, 0pf7.2, 1pe10.2) )

Cgal
      do i=1,L_j
          w_j_26(i) =     w_j(i)
          x_j_26(i) =     x_j(i)
      end do
Cgal

	return
        end

c ===================================================================
C
        Subroutine  gBRONO2_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_hlf =19, L_j = L_hlf*2 )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_27 / w_j_27 (L_j),
     *                   x_j_27 (L_j)
Cgal

        do while ( AA .ne. 'BrONO2' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), x_j(i),  w_j(i+L_hlf),
     *       x_j(i+L_hlf),  i = 1, L_hlf )

 1      format ( 2x, 0pf7.2, 1p3e10.2 )

Cgal
      do i=1,L_j
          w_j_27(i) =     w_j(i)
          x_j_27(i) =     x_j(i)
      end do
Cgal

        end

c ===================================================================
        Subroutine  gCH3CL_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_j = 16, NT = 3 )

        real  x_j (L_j,NT), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_28 / w_j_28 (L_j),
     *                   x_j_28 (L_j,NT)
Cgal

        do while ( AA .ne. 'CH3Cl' )
           read (10,2) AA
        end do

 2      format (2x,A8)
        read (10,2) AA

        read ( 10, * ) ( w_j(i), ( x_j(i,k), k=3,1,-1 ),
     *                   i = 1, L_j )

 1      format ( 2x, f7.2, 3f10.3 )

Cgal
      do i=1,L_j
          w_j_28(i) =     w_j(i)
      do k=1,NT
          x_j_28(i,k) =   x_j(i,k)
      end do
      end do
Cgal

        end

c ======================================================================
        Subroutine  gCH3CCL3_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_j = 11, NT = 3 )

        real  x_j (L_j,NT), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_29 / w_j_29 (L_j),
     *                   x_j_29 (L_j,NT)
Cgal

        do while ( AA .ne. 'CH3CCl3' )
           read (10,2) AA
        end do

 2      format (2x,A8)
        read (10,2) AA

        read ( 10, * ) ( w_j(i), ( x_j(i,k), k=3,1,-1 ),
     *                   i = 1, L_j )

 1      format ( 2x, f7.2, 3f10.3 )

Cgal
      do i=1,L_j
          w_j_29(i) =     w_j(i)
      do k=1,NT
          x_j_29(i,k) =   x_j(i,k)
      end do
      end do
Cgal

        end

c ======================================================================
        Subroutine  gCCL4_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_hlf =22, L_j = L_hlf*2 )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_30 / w_j_30 (L_j),
     *                   x_j_30 (L_j)
Cgal

        do while ( AA .ne. 'CCl4' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), x_j(i),  w_j(i+L_hlf),
     *       x_j(i+L_hlf),  i = 1, L_hlf )

 1      format ( 2x, 0pf7.2, 1p3e10.2 )

Cgal
      do i=1,L_j
          w_j_30(i) =     w_j(i)
          x_j_30(i) =     x_j(i)
      end do
Cgal

        end

c ===================================================================
        Subroutine  gF11_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_hlf = 19, L_j = L_hlf*2-1  )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_31 / w_j_31 (L_j),
     *                   x_j_31 (L_j)
Cgal

        do while ( AA .ne. 'CCl3F' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), x_j(i),  w_j(i+L_hlf),
     *       x_j(i+L_hlf),  i = 1, L_hlf-1 )

       read ( 10, * )  w_j(L_hlf), x_j(L_hlf)

 1      format ( 2x, f6.2, f12.5 )

Cgal
      do i=1,L_j
          w_j_31(i) =     w_j(i)
          x_j_31(i) =     x_j(i)
      end do
Cgal

        end
c =========================================================================
        Subroutine  gF12_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_hlf = 15, L_j = L_hlf*2 )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_32 / w_j_32 (L_j),
     *                   x_j_32 (L_j)
Cgal

        do while ( AA .ne. 'CCl2F2' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), x_j(i),  w_j(i+L_hlf),
     *       x_j(i+L_hlf),  i = 1, L_hlf )

 1      format ( 2x, f6.2, f12.5 )

Cgal
      do i=1,L_j
          w_j_32(i) =     w_j(i)
          x_j_32(i) =     x_j(i)
      end do
Cgal

        end
c =========================================================================
        Subroutine  gCH3BR_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_hlf =20, L_j = L_hlf*2-4 )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_33 / w_j_33 (L_j),
     *                   x_j_33 (L_j)
Cgal

        do while ( AA .ne. 'CH3Br' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), x_j(i),  w_j(i+L_hlf),
     *       x_j(i+L_hlf),  i = 1, L_hlf-4 )

       read ( 10, * ) ( w_j(i), x_j(i), i = L_hlf-3, L_hlf )
 1      format ( 2x, 0pf7.2, 1p3e10.2 )

Cgal
      do i=1,L_j
          w_j_33(i) =     w_j(i)
          x_j_33(i) =     x_j(i)
      end do
Cgal

        end

c ===================================================================
        Subroutine  gCF3BR_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_j =40 )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_34 / w_j_34 (L_j),
     *                   x_j_34 (L_j)
Cgal

        do while ( AA .ne. 'CF3Br' )
           read (10,12) AA
        end do

 12     format (23x,A6)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), a, b, x_j(i), c, i = 1, L_j )

 1      format ( 2x, 0pf7.2, 1p3e10.2 )

Cgal
      do i=1,L_j
          w_j_34(i) =     w_j(i)
          x_j_34(i) =     x_j(i)
      end do
Cgal

        end

c ===================================================================
        Subroutine  gCF2CLBR_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_j =50 )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_35 / w_j_35 (L_j),
     *                   x_j_35 (L_j)
Cgal

        do while ( AA .ne. 'CF2ClBr' )
           read (10,12) AA
        end do

 12     format (6x,A7)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), x_j(i), a,b,c, i = 1, 40 )
       read ( 10, * ) ( w_j(i), x_j(i), a,b,   i = 41, 46 )
       read ( 10, * ) ( w_j(i), x_j(i), a,     i = 47, L_j )

 1      format ( 2x, f7.2, f10.4 )

Cgal
      do i=1,L_j
          w_j_35(i) =     w_j(i)
          x_j_35(i) =     x_j(i)
      end do
Cgal

        end

c ===================================================================
        Subroutine  gHCFC22_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_j = 16, NT = 5 )

        real  x_j (L_j,NT), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_36 / w_j_36 (L_j),
     *                   x_j_36 (L_j,NT)
Cgal

        do while ( AA .ne. 'CHClF2' )
           read (10,2) AA
        end do

 2      format (2x,A8)
        read (10,2) AA

        read ( 10, * ) ( w_j(i), ( x_j(i,k), k=5,1,-1 ),
     *                   i = 1, L_j )

 1      format ( 2x, f7.2, 5f10.4 )

Cgal
      do i=1,L_j
          w_j_36(i) =     w_j(i)
      do k=1,NT
          x_j_36(i,k) =   x_j(i,k)
      end do
      end do
Cgal

        end

c ======================================================================

        Subroutine  gC2CL3F3_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_j = 24, NT = 2 )

        real  x_j (L_j,NT), w_j (L_j)

        character*16  AA

Cgal
      COMMON / XSEC_37 / w_j_37 (L_j),
     *                   x_j_37 (L_j,NT)
Cgal

        do while ( AA .ne. 'CF2ClCFCl2' )
           read (10,2) AA
        end do

 2      format (8x,A10)

        do i = 1, 7
          read (10,2) AA
        enddo

        read ( 10, * ) ( w_j(i), ( x_j(i,k), k=2,1,-1 ),
     *                   a, b, c, i = 1, 11 )
        read ( 10, * ) ( w_j(i), ( x_j(i,k), k=2,1,-1 ),
     *                   a, b, i = 12, 19 )
        read ( 10, * ) ( w_j(i), ( x_j(i,k), k=2,1,-1 ),
     *                   i = 20, L_j )

 1      format ( 2x, f7.2, 2f10.4 )

Cgal
      do i=1,L_j
          w_j_37(i) =     w_j(i)
      do k=1,NT
          x_j_37(i,k) =   x_j(i,k)
      end do
      end do
Cgal

        end

c ======================================================================
        Subroutine  gC2CL2F4_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_j = 25, NT = 2 )

        real  x_j (L_j,NT), w_j (L_j)

        character*16  AA

Cgal
      COMMON / XSEC_38 / w_j_38 (L_j),
     *                   x_j_38 (L_j,NT)
Cgal

        do while ( AA .ne. 'CF2ClCF2Cl' )
           read (10,2) AA
        end do

 2      format (24x,A10)

        read (10,2) AA

        read ( 10, * ) ( w_j(i), ( x_j(i,k), k=2,1,-1 ),
     *                   c, i = 1, 6 )
        read ( 10, * ) ( w_j(i), a, b, ( x_j(i,k), k=2,1,-1 ),
     *                   c, i = 7, 17 )
        read ( 10, * ) ( w_j(i), a, b, ( x_j(i,k), k=2,1,-1 ),
     *                   i = 18, L_j )

 1      format ( 2x, f7.2, 2f10.4 )

Cgal
      do i=1,L_j
          w_j_38(i) =     w_j(i)
      do k=1,NT
          x_j_38(i,k) =   x_j(i,k)
      end do
      end do
Cgal

        end

c ======================================================================
        Subroutine  gC2CLF5_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_j = 17 )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_39 / w_j_39 (L_j),
     *                   x_j_39 (L_j)
Cgal

        do while ( AA .ne. 'CF3CF2Cl' )
           read (10,2) AA
        end do

 2      format (38x,A8)

        read (10,2) AA

        read ( 10, * ) ( w_j(i), a, b, x_j(i), i = 1, 6 )
        read ( 10, * ) ( w_j(i), a, b, c, d, x_j(i), i = 7, L_j )

 1      format ( 2x, f7.2, f10.4 )

Cgal
      do i=1,L_j
          w_j_39(i) =     w_j(i)
          x_j_39(i) =     x_j(i)
      end do
Cgal

        end

c ======================================================================
        Subroutine  gCLONO_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_hlf = 17, L_j = L_hlf*2  )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_40 / w_j_40 (L_j),
     *                   x_j_40 (L_j)
Cgal

        do while ( AA .ne. 'ClONO' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), x_j(i),  w_j(i+L_hlf),
     *       x_j(i+L_hlf),  i = 1, L_hlf )

 1      format ( 2x, 0pf7.2, 1p3e10.2 )

Cgal
      do i=1,L_j
          w_j_40(i) =     w_j(i)
          x_j_40(i) =     x_j(i)
      end do
Cgal

        end

c =============================================================
        Subroutine  gCHBR3_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_3 = 29, L_j = L_3*3  )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_41 / w_j_41 (L_j),
     *                   x_j_41 (L_j)
Cgal

        do while ( AA .ne. 'CHBr3' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), x_j(i),  w_j(i+L_3), x_j(i+L_3),
     *                    w_j(i+L_3*2), x_j(i+L_3*2), i = 1, L_3 )

 1      format ( 2x, 0pf7.2, 1p1e10.2 )

Cgal
      do i=1,L_j
          w_j_41(i) =     w_j(i)
          x_j_41(i) =     x_j(i)
      end do
Cgal

        end

c =======================================================================
        Subroutine  gCCL2O_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_j = 22 )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_42 / w_j_42 (L_j),
     *                   x_j_42 (L_j)
Cgal

        do while ( AA .ne. 'CCl2O' )
           read (10,2) AA
        end do

 2      format (11x,A8)

        read (10,2) AA

        read ( 10, * ) w_j(1), x_j(1)
        read ( 10, * ) ( w_j(i), x_j(i), a, b, i = 2, L_j )

 1      format ( 2x, f7.2, f10.4 )

Cgal
      do i=1,L_j
          w_j_42(i) =     w_j(i)
          x_j_42(i) =     x_j(i)
      end do
Cgal

        end

c ======================================================================

        Subroutine  gOCLO_X
c
c       Notation: same as in  X_SEC
c
c       cent   - band centers
c       hlfw   - band halfwidths
c       xmax   - abs. cross-sections at the band max
c
        Parameter  ( N_band = 24, N_tt = 3 )

        real   cent (N_band), xmax (N_tt, N_band)

        character*8  AA

Cgal
      COMMON / XSEC_43 / cent_43 (N_band),
     *                   xmax_43 (N_tt, N_band)
Cgal

        do while ( AA .ne. 'OClO' )
           read (10,2) AA
        end do

 2      format ( 2x, A8 )

        read (10,2) AA
        read (10,2) AA

        read ( 10, * ) ( cent(i), ( xmax(k,i), k = 1,3 ),
     *                    i = 1, N_band  )

 1      format ( 2x, f7.2, 3f10.4 )

Cgal
      do i=1,N_band
          cent_43(i) =     cent(i)
      do k=1,N_tt
          xmax_43(k,i) =   xmax(k,i)
      end do
      end do
Cgal

        end

c =======================================================================

        Subroutine  gCO2_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_hlf = 42, L_j = L_hlf*4+1  )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_44 / w_j_44 (L_j),
     *                   x_j_44 (L_j)
Cgal

        do while ( AA .ne. 'CO2' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( ( w_j((i-1)*4+k), x_j((i-1)*4+k), k=1, 4),
     *                    i=1, L_hlf )
       read ( 10, * ) w_j (L_j), x_j (L_j)

 1      format ( 2x, 0pf7.2, 1p3e10.2 )

Cgal
      do i=1,L_j
          w_j_44(i) =     w_j(i)
          x_j_44(i) =     x_j(i)
      end do
Cgal

        end

c =======================================================================
        Subroutine  gHOBR_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_trd = 31, L_j = L_trd*3-2  )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_45 / w_j_45 (L_j),
     *                   x_j_45 (L_j)
Cgal

        do while ( AA .ne. 'HOCl' )
           read (10,12) AA
        end do

 12     format (2x,A8)
        read (10,12) AA

       read ( 10, * ) ( w_j(i), x_j(i),  w_j(i+L_trd),
     *       x_j(i+L_trd),  w_j(i+2*L_trd-1), x_j(i+2*L_trd-1),
     *             i = 1, L_trd-1 )

       read ( 10, * ) w_j(L_trd), x_j(L_trd)

 1      format ( 2x, 0pf7.2, 1p3e10.2 )

Cgal
      do i=1,L_j
          w_j_45(i) =     w_j(i)
          x_j_45(i) =     x_j(i)
      end do
Cgal

        end

c =======================================================================

        Subroutine  gC2H3FCL2_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_j = 16 )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_46 / w_j_46 (L_j),
     *                   x_j_46 (L_j)
Cgal

        do while ( AA .ne. 'CH3CFCl2' )
           read (10,12) AA
        end do

 12     format (3x,A8)
        read (10,12) AA

        read ( 10, * ) ( w_j(i), x_j(i), a,b,c, i = 1, L_j )

 1      format ( 2x, 0pf7.2, 1p3e10.2 )

Cgal
      do i=1,L_j
          w_j_46(i) =     w_j(i)
          x_j_46(i) =     x_j(i)
      end do
Cgal

        end

        Subroutine gOCS_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_j = 41, NT = 2 )

        real  x_j (L_j,NT), w_j (L_j)

        character*3  AA

Cgal
      COMMON / XSEC_47 / w_j_47 (L_j),
     *                   x_j_47 (L_j,NT)
Cgal

        do while (AA .ne.'OCS')
           read (10,100)AA
        end do

 100    format(8x,A3)
        read(10,100)AA

        DO 1 I=1,L_j
   1       read (10,200) w_j(i),(x_j(i,k),k=2,1,-1 )

 200    format(F5.1,2F8.4)

Cgal
      do i=1,L_j
          w_j_47(i) =     w_j(i)
      do k=1,NT
          x_j_47(i,k) =   x_j(i,k)
      end do
      end do
Cgal

        end
c =======================================================================
        Subroutine  gSO2_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_j = 20 )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_48 / w_j_48 (L_j),
     *                   x_j_48 (L_j)
Cgal

        do while ( AA .ne. 'SO2' )
           read (10,2) AA
        end do

 2      format (2x,A8)
        read (10,2) AA

        DO 1 I=1,L_j
   1       read (10,200) w_j(i),x_j(i)

 200    format(F4.0,F7.2)

Cgal
      do i=1,L_j
          w_j_48(i) =     w_j(i)
          x_j_48(i) =     x_j(i)
      end do
Cgal

        end

c =======================================================================
        Subroutine  gSO3_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_j = 68 )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_49 / w_j_49 (L_j),
     *                   x_j_49 (L_j)
Cgal

        do while ( AA .ne. 'SO3' )
           read (10,2) AA
        end do

 2      format (2x,A8)
        read (10,2) AA

        DO 1 I=1,L_j
   1       read (10,200) w_j(i),x_j(i)

 200    format(F4.0,F6.3)

Cgal
      do i=1,L_j
          w_j_49(i) =     w_j(i)
          x_j_49(i) =     x_j(i)
      end do
Cgal

        end

c =======================================================================
        Subroutine  gCS2_X
c
c       Notation: same as in  X_SEC
c
        Parameter  ( L_j = 11 )

        real  x_j (L_j), w_j (L_j)

        character*8  AA

Cgal
      COMMON / XSEC_50 / w_j_50 (L_j),
     *                   x_j_50 (L_j)
Cgal

        do while ( AA .ne. 'CS2' )
           read (10,2) AA
        end do

 2      format (2x,A8)
        read (10,2) AA

        DO 1 I=1,L_j
   1       read (10,200) w_j(i),x_j(i)

 200    format(F4.0,F6.1)

Cgal
      do i=1,L_j
          w_j_50(i) =     w_j(i)
          x_j_50(i) =     x_j(i)
      end do
Cgal

        end

c ----------------------------------------------------
