FORTRAN Generation
(/./ftp/cats/VI/127)

Conversion of standardized ReadMe file for file /./ftp/cats/VI/127 into FORTRAN code for loading all data files into arrays.

Note that special values are assigned to unknown or unspecified numbers (also called NULL numbers); when necessary, the coordinate components making up the right ascension and declination are converted into floating-point numbers representing these angles in degrees.



      program load_ReadMe
C=============================================================================
C  F77-compliant program generated by readme2f_1.81 (2015-09-23), on 2024-Apr-19
C=============================================================================
*  This code was generated from the ReadMe file documenting a catalogue
*  according to the "Standard for Documentation of Astronomical Catalogues"
*  currently in use by the Astronomical Data Centers (CDS, ADC, A&A)
*  (see full documentation at URL http://vizier.u-strasbg.fr/doc/catstd.htx)
*  Please report problems or questions to   
C=============================================================================

      implicit none
*  Unspecified or NULL values, generally corresponding to blank columns,
*  are assigned one of the following special values:
*     rNULL__    for unknown or NULL floating-point values
*     iNULL__    for unknown or NULL   integer      values
      real*4     rNULL__
      integer*4  iNULL__
      parameter  (rNULL__=--2147483648.)  	! NULL real number
      parameter  (iNULL__=(-2147483647-1))	! NULL int  number
      integer    idig			! testing NULL number

C=============================================================================
Cat. VI/127              High accuracy line list of HDO           (Voronin+ 2009)
*================================================================================
*A high accuracy computed line list for the HDO molecule
*     Voronin B.A., Tennyson J., Tolchenov R.N., Lugovskoy A.A., Yurchenko S.N.
*    <Mon. Not. R. Astron. Soc. (2009)>
*    =2010MNRAS.402..492V
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for '00000-00250.txt'	! Zipped files of frequency-ordered transitions.
                                  Once unzipped, use as 'fort.13' in spectra-VTT

      integer*4 nr__
      parameter (nr__=25194779)	! Number of records
      character*24 ar__   	! Full-size record

      integer*4     Level1     (nr__) ! Reference level in Energy Level File
      integer*4     Level2     (nr__) ! Reference level in Energy Level File
      real*4        A          (nr__) ! (s-1) Einstein A coefficient

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

C  Declarations for '00250-00500.txt'	! 00250-00500cm-1 frequency ordered transitions

      integer*4 nr__1
      parameter (nr__1=24751793)	! Number of records
      character*24 ar__1  	! Full-size record

      integer*4     Level1_1   (nr__1) ! Reference level in Energy Level File
      integer*4     Level2_1   (nr__1) ! Reference level in Energy Level File
      real*4        A_1        (nr__1) ! (s-1) Einstein A coefficient

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

C  Declarations for '00500-00750.txt'	! 00500-00750cm-1 frequency ordered transitions

      integer*4 nr__2
      parameter (nr__2=24159557)	! Number of records
      character*24 ar__2  	! Full-size record

      integer*4     Level1_2   (nr__2) ! Reference level in Energy Level File
      integer*4     Level2_2   (nr__2) ! Reference level in Energy Level File
      real*4        A_2        (nr__2) ! (s-1) Einstein A coefficient

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

C  Declarations for '00750-01000.txt'	! 00750-01000cm-1 frequency ordered transitions

      integer*4 nr__3
      parameter (nr__3=23561681)	! Number of records
      character*24 ar__3  	! Full-size record

      integer*4     Level1_3   (nr__3) ! Reference level in Energy Level File
      integer*4     Level2_3   (nr__3) ! Reference level in Energy Level File
      real*4        A_3        (nr__3) ! (s-1) Einstein A coefficient

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

C  Declarations for '01000-01500.txt'	! 01000-01500cm-1 frequency ordered transitions

      integer*4 nr__4
      parameter (nr__4=45261872)	! Number of records
      character*24 ar__4  	! Full-size record

      integer*4     Level1_4   (nr__4) ! Reference level in Energy Level File
      integer*4     Level2_4   (nr__4) ! Reference level in Energy Level File
      real*4        A_4        (nr__4) ! (s-1) Einstein A coefficient

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

C  Declarations for '01500-02000.txt'	! 01500-02000cm-1 frequency ordered transitions

      integer*4 nr__5
      parameter (nr__5=42681174)	! Number of records
      character*24 ar__5  	! Full-size record

      integer*4     Level1_5   (nr__5) ! Reference level in Energy Level File
      integer*4     Level2_5   (nr__5) ! Reference level in Energy Level File
      real*4        A_5        (nr__5) ! (s-1) Einstein A coefficient

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

C  Declarations for '02000-02250.txt'	! 02000-02250cm-1 frequency ordered transitions

      integer*4 nr__6
      parameter (nr__6=20428347)	! Number of records
      character*24 ar__6  	! Full-size record

      integer*4     Level1_6   (nr__6) ! Reference level in Energy Level File
      integer*4     Level2_6   (nr__6) ! Reference level in Energy Level File
      real*4        A_6        (nr__6) ! (s-1) Einstein A coefficient

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

C  Declarations for '02250-02750.txt'	! 02250-02750cm-1 frequency ordered transitions

      integer*4 nr__7
      parameter (nr__7=39142235)	! Number of records
      character*24 ar__7  	! Full-size record

      integer*4     Level1_7   (nr__7) ! Reference level in Energy Level File
      integer*4     Level2_7   (nr__7) ! Reference level in Energy Level File
      real*4        A_7        (nr__7) ! (s-1) Einstein A coefficient

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

C  Declarations for '02750-03500.txt'	! 02750-03500cm-1 frequency ordered transitions

      integer*4 nr__8
      parameter (nr__8=54422645)	! Number of records
      character*24 ar__8  	! Full-size record

      integer*4     Level1_8   (nr__8) ! Reference level in Energy Level File
      integer*4     Level2_8   (nr__8) ! Reference level in Energy Level File
      real*4        A_8        (nr__8) ! (s-1) Einstein A coefficient

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

C  Declarations for '03500-04500.txt'	! 03500-04500cm-1 frequency ordered transitions

      integer*4 nr__9
      parameter (nr__9=65000716)	! Number of records
      character*24 ar__9  	! Full-size record

      integer*4     Level1_9   (nr__9) ! Reference level in Energy Level File
      integer*4     Level2_9   (nr__9) ! Reference level in Energy Level File
      real*4        A_9        (nr__9) ! (s-1) Einstein A coefficient

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

C  Declarations for '04500-05500.txt'	! 04500-05500cm-1 frequency ordered transitions

      integer*4 nr__10
      parameter (nr__10=56784976)	! Number of records
      character*24 ar__10 	! Full-size record

      integer*4     Level1_10  (nr__10) ! Reference level in Energy Level File
      integer*4     Level2_10  (nr__10) ! Reference level in Energy Level File
      real*4        A_10       (nr__10) ! (s-1) Einstein A coefficient

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

C  Declarations for '05500-07000.txt'	! 05500-07000cm-1 frequency ordered transitions

      integer*4 nr__11
      parameter (nr__11=71251023)	! Number of records
      character*24 ar__11 	! Full-size record

      integer*4     Level1_11  (nr__11) ! Reference level in Energy Level File
      integer*4     Level2_11  (nr__11) ! Reference level in Energy Level File
      real*4        A_11       (nr__11) ! (s-1) Einstein A coefficient

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

C  Declarations for '07000-09000.txt'	! 07000-09000cm-1 frequency ordered transitions

      integer*4 nr__12
      parameter (nr__12=72326470)	! Number of records
      character*24 ar__12 	! Full-size record

      integer*4     Level1_12  (nr__12) ! Reference level in Energy Level File
      integer*4     Level2_12  (nr__12) ! Reference level in Energy Level File
      real*4        A_12       (nr__12) ! (s-1) Einstein A coefficient

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

C  Declarations for '09000-14000.txt'	! 09000-14000cm-1 frequency ordered transitions

      integer*4 nr__13
      parameter (nr__13=98035804)	! Number of records
      character*24 ar__13 	! Full-size record

      integer*4     Level1_13  (nr__13) ! Reference level in Energy Level File
      integer*4     Level2_13  (nr__13) ! Reference level in Energy Level File
      real*4        A_13       (nr__13) ! (s-1) Einstein A coefficient

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

C  Declarations for '14000-20000.txt'	! 14000-20000cm-1 frequency ordered transitions

      integer*4 nr__14
      parameter (nr__14=31695022)	! Number of records
      character*24 ar__14 	! Full-size record

      integer*4     Level1_14  (nr__14) ! Reference level in Energy Level File
      integer*4     Level2_14  (nr__14) ! Reference level in Energy Level File
      real*4        A_14       (nr__14) ! (s-1) Einstein A coefficient

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

C  Declarations for '20000-26000.txt'	! 20000-26000cm-1 frequency ordered transitions

      integer*4 nr__15
      parameter (nr__15=2752731)	! Number of records
      character*24 ar__15 	! Full-size record

      integer*4     Level1_15  (nr__15) ! Reference level in Energy Level File
      integer*4     Level2_15  (nr__15) ! Reference level in Energy Level File
      real*4        A_15       (nr__15) ! (s-1) Einstein A coefficient

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

C  Declarations for 'levels.dat'	! File containing the 163,491 energy levels
                                  (some with ro-vibrational assignments).
                                  Once unzipped, use as 'fort.80' in spectra-VTT

      integer*4 nr__16
      parameter (nr__16=163491)	! Number of records
      character*52 ar__16 	! Full-size record

      integer*4     Level      (nr__16) ! [1,163491] Number of the level
      integer*4     J          (nr__16) ! [0,50] Total angular momentum quantum number
      integer*4     Sym        (nr__16) ! [0,1] Symmetry number (see paper)
      integer*4     Block      (nr__16) ! [1,4050] Reference in the block
      real*8        E          (nr__16) ! (cm-1) [0,30000] Energy of the level
      integer*4     v1         (nr__16) ! [-2,10]  v1 symmetric stretch quantum number
      integer*4     v2         (nr__16) ! [-2,19] v2 bend quantum number
      integer*4     v3         (nr__16) ! [-2,8]  v3 asymmetric stretch quantum number
      integer*4     Ka         (nr__16) ! [-2,40] Ka rotational quantum number
      integer*4     Kc         (nr__16) ! [-4,50] Kc rotational quantum number

C=============================================================================

C  Loading file '00000-00250.txt'	! Zipped files of frequency-ordered transitions.
*                                  Once unzipped, use as 'fort.13' in spectra-VTT

C  Format for file interpretation

    1 format(I7,I7,E10.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'00000-00250.txt')
      write(6,*) '....Loading file: 00000-00250.txt'
      do i__=1,25194779
        read(1,'(A24)')ar__
        read(ar__,1)Level1(i__),Level2(i__),A(i__)
c    ..............Just test output...........
        write(6,1)Level1(i__),Level2(i__),A(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file '00250-00500.txt'	! 00250-00500cm-1 frequency ordered transitions

C  Format for file interpretation

    2 format(I7,I7,E10.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'00250-00500.txt')
      write(6,*) '....Loading file: 00250-00500.txt'
      do i__=1,24751793
        read(1,'(A24)')ar__1
        read(ar__1,2)Level1_1(i__),Level2_1(i__),A_1(i__)
c    ..............Just test output...........
        write(6,2)Level1_1(i__),Level2_1(i__),A_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file '00500-00750.txt'	! 00500-00750cm-1 frequency ordered transitions

C  Format for file interpretation

    3 format(I7,I7,E10.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'00500-00750.txt')
      write(6,*) '....Loading file: 00500-00750.txt'
      do i__=1,24159557
        read(1,'(A24)')ar__2
        read(ar__2,3)Level1_2(i__),Level2_2(i__),A_2(i__)
c    ..............Just test output...........
        write(6,3)Level1_2(i__),Level2_2(i__),A_2(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file '00750-01000.txt'	! 00750-01000cm-1 frequency ordered transitions

C  Format for file interpretation

    4 format(I7,I7,E10.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'00750-01000.txt')
      write(6,*) '....Loading file: 00750-01000.txt'
      do i__=1,23561681
        read(1,'(A24)')ar__3
        read(ar__3,4)Level1_3(i__),Level2_3(i__),A_3(i__)
c    ..............Just test output...........
        write(6,4)Level1_3(i__),Level2_3(i__),A_3(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file '01000-01500.txt'	! 01000-01500cm-1 frequency ordered transitions

C  Format for file interpretation

    5 format(I7,I7,E10.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'01000-01500.txt')
      write(6,*) '....Loading file: 01000-01500.txt'
      do i__=1,45261872
        read(1,'(A24)')ar__4
        read(ar__4,5)Level1_4(i__),Level2_4(i__),A_4(i__)
c    ..............Just test output...........
        write(6,5)Level1_4(i__),Level2_4(i__),A_4(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file '01500-02000.txt'	! 01500-02000cm-1 frequency ordered transitions

C  Format for file interpretation

    6 format(I7,I7,E10.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'01500-02000.txt')
      write(6,*) '....Loading file: 01500-02000.txt'
      do i__=1,42681174
        read(1,'(A24)')ar__5
        read(ar__5,6)Level1_5(i__),Level2_5(i__),A_5(i__)
c    ..............Just test output...........
        write(6,6)Level1_5(i__),Level2_5(i__),A_5(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file '02000-02250.txt'	! 02000-02250cm-1 frequency ordered transitions

C  Format for file interpretation

    7 format(I7,I7,E10.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'02000-02250.txt')
      write(6,*) '....Loading file: 02000-02250.txt'
      do i__=1,20428347
        read(1,'(A24)')ar__6
        read(ar__6,7)Level1_6(i__),Level2_6(i__),A_6(i__)
c    ..............Just test output...........
        write(6,7)Level1_6(i__),Level2_6(i__),A_6(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file '02250-02750.txt'	! 02250-02750cm-1 frequency ordered transitions

C  Format for file interpretation

    8 format(I7,I7,E10.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'02250-02750.txt')
      write(6,*) '....Loading file: 02250-02750.txt'
      do i__=1,39142235
        read(1,'(A24)')ar__7
        read(ar__7,8)Level1_7(i__),Level2_7(i__),A_7(i__)
c    ..............Just test output...........
        write(6,8)Level1_7(i__),Level2_7(i__),A_7(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file '02750-03500.txt'	! 02750-03500cm-1 frequency ordered transitions

C  Format for file interpretation

    9 format(I7,I7,E10.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'02750-03500.txt')
      write(6,*) '....Loading file: 02750-03500.txt'
      do i__=1,54422645
        read(1,'(A24)')ar__8
        read(ar__8,9)Level1_8(i__),Level2_8(i__),A_8(i__)
c    ..............Just test output...........
        write(6,9)Level1_8(i__),Level2_8(i__),A_8(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file '03500-04500.txt'	! 03500-04500cm-1 frequency ordered transitions

C  Format for file interpretation

   10 format(I7,I7,E10.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'03500-04500.txt')
      write(6,*) '....Loading file: 03500-04500.txt'
      do i__=1,65000716
        read(1,'(A24)')ar__9
        read(ar__9,10)Level1_9(i__),Level2_9(i__),A_9(i__)
c    ..............Just test output...........
        write(6,10)Level1_9(i__),Level2_9(i__),A_9(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file '04500-05500.txt'	! 04500-05500cm-1 frequency ordered transitions

C  Format for file interpretation

   11 format(I7,I7,E10.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'04500-05500.txt')
      write(6,*) '....Loading file: 04500-05500.txt'
      do i__=1,56784976
        read(1,'(A24)')ar__10
        read(ar__10,11)Level1_10(i__),Level2_10(i__),A_10(i__)
c    ..............Just test output...........
        write(6,11)Level1_10(i__),Level2_10(i__),A_10(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file '05500-07000.txt'	! 05500-07000cm-1 frequency ordered transitions

C  Format for file interpretation

   12 format(I7,I7,E10.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'05500-07000.txt')
      write(6,*) '....Loading file: 05500-07000.txt'
      do i__=1,71251023
        read(1,'(A24)')ar__11
        read(ar__11,12)Level1_11(i__),Level2_11(i__),A_11(i__)
c    ..............Just test output...........
        write(6,12)Level1_11(i__),Level2_11(i__),A_11(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file '07000-09000.txt'	! 07000-09000cm-1 frequency ordered transitions

C  Format for file interpretation

   13 format(I7,I7,E10.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'07000-09000.txt')
      write(6,*) '....Loading file: 07000-09000.txt'
      do i__=1,72326470
        read(1,'(A24)')ar__12
        read(ar__12,13)Level1_12(i__),Level2_12(i__),A_12(i__)
c    ..............Just test output...........
        write(6,13)Level1_12(i__),Level2_12(i__),A_12(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file '09000-14000.txt'	! 09000-14000cm-1 frequency ordered transitions

C  Format for file interpretation

   14 format(I7,I7,E10.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'09000-14000.txt')
      write(6,*) '....Loading file: 09000-14000.txt'
      do i__=1,98035804
        read(1,'(A24)')ar__13
        read(ar__13,14)Level1_13(i__),Level2_13(i__),A_13(i__)
c    ..............Just test output...........
        write(6,14)Level1_13(i__),Level2_13(i__),A_13(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file '14000-20000.txt'	! 14000-20000cm-1 frequency ordered transitions

C  Format for file interpretation

   15 format(I7,I7,E10.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'14000-20000.txt')
      write(6,*) '....Loading file: 14000-20000.txt'
      do i__=1,31695022
        read(1,'(A24)')ar__14
        read(ar__14,15)Level1_14(i__),Level2_14(i__),A_14(i__)
c    ..............Just test output...........
        write(6,15)Level1_14(i__),Level2_14(i__),A_14(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file '20000-26000.txt'	! 20000-26000cm-1 frequency ordered transitions

C  Format for file interpretation

   16 format(I7,I7,E10.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'20000-26000.txt')
      write(6,*) '....Loading file: 20000-26000.txt'
      do i__=1,2752731
        read(1,'(A24)')ar__15
        read(ar__15,16)Level1_15(i__),Level2_15(i__),A_15(i__)
c    ..............Just test output...........
        write(6,16)Level1_15(i__),Level2_15(i__),A_15(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================

C  Loading file 'levels.dat'	! File containing the 163,491 energy levels
*                                  (some with ro-vibrational assignments).
*                                  Once unzipped, use as 'fort.80' in spectra-VTT

C  Format for file interpretation

   17 format(
     +  I6,1X,I2,1X,I1,1X,I4,2X,F13.6,2X,I2,1X,I2,1X,I2,6X,I2,1X,I2)

C  Effective file loading

      open(unit=1,status='old',file=
     +'levels.dat')
      write(6,*) '....Loading file: levels.dat'
      do i__=1,163491
        read(1,'(A52)')ar__16
        read(ar__16,17)
     +  Level(i__),J(i__),Sym(i__),Block(i__),E(i__),v1(i__),v2(i__),
     +  v3(i__),Ka(i__),Kc(i__)
c    ..............Just test output...........
        write(6,17)
     +  Level(i__),J(i__),Sym(i__),Block(i__),E(i__),v1(i__),v2(i__),
     +  v3(i__),Ka(i__),Kc(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

C=============================================================================
      stop
      end