FORTRAN Generation
(/./ftp/cats/J/A_A/494/403)

Conversion of standardized ReadMe file for file /./ftp/cats/J/A_A/494/403 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-Mar-28
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. J/A+A/494/403       Low temperature Rosseland opacities         (Lederer+, 2009)
*================================================================================
*Low temperature Rosseland opacities with varied abundances of carbon and
*nitrogen.
*    Lederer M.T., Aringer B.
*   <Astron. Astrophys. 494, 403 (2009)>
*   =2009A&A...494..403L
C=============================================================================

C  Internal variables

      integer*4 i__

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

C  Declarations for 'table3.dat'	! Metallicities contained in the database and
                              respective enhancement factors for C and N

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

      real*8        Z          (nr__) ! Metallicity (mass fraction)
      real*8        fC1        (nr__) ! 1st carbon enhancement factor
      real*8        fC2        (nr__) ! 2nd carbon enhancement factor
      real*8        fC3        (nr__) ! 3rd carbon enhancement factor
      real*8        fC4        (nr__) ! 4th carbon enhancement factor
      real*8        fC5        (nr__) ! 5th carbon enhancement factor
      real*8        fC6        (nr__) ! 6th carbon enhancement factor
      real*8        fC7        (nr__) ! 7th carbon enhancement factor
      real*8        fN1        (nr__) ! 1st nitrogen enhancement factor
      real*8        fN2        (nr__) ! 2nd nitrogen enhancement factor
      real*8        fN3        (nr__) ! 3rd nitrogen enhancement factor

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

C  Declarations for 'set.dat'	! Set of initial parameters

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

      real*4        Zinit      (nr__1) ! Initial metallicity
      integer*4     Set        (nr__1) ! [1/63] Set number
      real*4        X          (nr__1) ! Hydrogen mass fraction (X)
      real*8        Y          (nr__1) ! Helium mass fraction (Y)
      real*8        Z_1        (nr__1) ! Metal mass fraction (Z)
      real*8        C_O        (nr__1) ! C/O ratio
      real*8        v12C       (nr__1) ! Carbon (^12^C) enhancement factor
      real*8        v14N       (nr__1) ! Nitrogen (^14^N) enhancement factor
      real*8        alpha      (nr__1) ! [1.0] Alpha elements enhancement factor (1)
*Note (1): Note on the alpha elements enhancement factor: this factor is
*     always 1 in the current version of the database. It was introduced
*     for future compatibility.

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

C  Declarations for 'opac.dat'	! Rosseland opacity coefficients

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

      real*4        Zinit_1    (nr__2) ! Initial metalicity
      integer*4     Set_1      (nr__2) ! [1/63] Set number for initial values (1)
      real*4        logT       (nr__2) ! ([K]) logT value
      real*4        kR_7_0     (nr__2) ! ([---]) log(Rosseland opacity) for logR=-7.0, logT (2)
      real*4        kR_6_5     (nr__2) ! ([---]) log(Rosseland opacity) for logR=-6.5, logT (2)
      real*4        kR_6_0     (nr__2) ! ([---]) log(Rosseland opacity) for logR=-6.0, logT (2)
      real*4        kR_5_5     (nr__2) ! ([---]) log(Rosseland opacity) for logR=-5.5, logT (2)
      real*4        kR_5_0     (nr__2) ! ([---]) log(Rosseland opacity) for logR=-5.0, logT (2)
      real*4        kR_4_5     (nr__2) ! ([---]) log(Rosseland opacity) for logR=-4.5, logT (2)
      real*4        kR_4_0     (nr__2) ! ([---]) log(Rosseland opacity) for logR=-4.0, logT (2)
      real*4        kR_3_5     (nr__2) ! ([---]) log(Rosseland opacity) for logR=-3.5, logT (2)
      real*4        kR_3_0     (nr__2) ! ([---]) log(Rosseland opacity) for logR=-3.0, logT (2)
      real*4        kR_2_5     (nr__2) ! ([---]) log(Rosseland opacity) for logR=-2.5, logT (2)
      real*4        kR_2_0     (nr__2) ! ([---]) log(Rosseland opacity) for logR=-2.0, logT (2)
      real*4        kR_1_5     (nr__2) ! ([---]) log(Rosseland opacity) for logR=-1.5, logT (2)
      real*4        kR_1_0     (nr__2) ! ([---]) log(Rosseland opacity) for logR=-1.0, logT (2)
      real*4        kR_0_5     (nr__2) ! ([---]) log(Rosseland opacity) for logR=-0.5, logT (2)
      real*4        kR_0_0     (nr__2) ! ([---]) log(Rosseland opacity) for logR=+0.0, logT (2)
      real*4        kR_0_5_1   (nr__2) ! ([---]) log(Rosseland opacity) for logR=+0.5, logT (2)
      real*4        kR_1_0_1   (nr__2) ! ([---]) log(Rosseland opacity) for logR=+1.0, logT (2)
*Note (1): Initial abundances values are in set.dat files,
*          for Zinit and Set values.
*Note (2): R = {rho}/(T_6_)^3^ where T_6_=T/10^6^, expressed in g/cm^3^/MK^3^.
*      The 18 values of logT are:
*          3.200, 3.250, 3.300, 3.350, 3.400, 3.450, 3.500, 3.550, 3.600, 3.650,
*          3.700, 3.750, 3.800, 3.850, 3.900, 3.950, 4.000, 4.050
*      The 17 values of logR are:
*          -7.000, -6.500, -6.000, -5.500, -5.000, -4.500, -4.000, -3.500,
*          -3.000, -2.500, -2.000, -1.500, -1.000, -0.500, 0.000, 0.500, 1.000
*      In symbolic form the Rosseland opacities as a function of
*      logT and logR are arranged in rectangular arrays like that:
*           ##########################
*                          log R
*           log T -7.000   ...   1.000
*           3.200 ##.### ##.### ##.###
*           ...   ##.### ##.### ##.###
*           4.050 ##.### ##.### ##.###
*
*      The respective opacity coefficient (represented by ##.###) is located
*      at the crossing point of the log R vs. log T grid.

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

C  Loading file 'table3.dat'	! Metallicities contained in the database and
*                              respective enhancement factors for C and N

C  Format for file interpretation

    1 format(
     +  F7.5,1X,F7.1,1X,F7.1,1X,F7.1,1X,F7.1,1X,F7.1,1X,F7.1,1X,F7.1,
     +  1X,F7.1,1X,F7.1,1X,F7.1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'table3.dat')
      write(6,*) '....Loading file: table3.dat'
      do i__=1,14
        read(1,'(A87)')ar__
        read(ar__,1)
     +  Z(i__),fC1(i__),fC2(i__),fC3(i__),fC4(i__),fC5(i__),fC6(i__),
     +  fC7(i__),fN1(i__),fN2(i__),fN3(i__)
c    ..............Just test output...........
        write(6,1)
     +  Z(i__),fC1(i__),fC2(i__),fC3(i__),fC4(i__),fC5(i__),fC6(i__),
     +  fC7(i__),fN1(i__),fN2(i__),fN3(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'set.dat'	! Set of initial parameters

C  Format for file interpretation

    2 format(
     +  E5.1,1X,I2,3X,F3.1,3X,F8.6,3X,F8.6,4X,F8.3,3X,F7.1,3X,F7.1,3X,
     +  F7.1)

C  Effective file loading

      open(unit=1,status='old',file=
     +'set.dat')
      write(6,*) '....Loading file: set.dat'
      do i__=1,882
        read(1,'(A78)')ar__1
        read(ar__1,2)
     +  Zinit(i__),Set(i__),X(i__),Y(i__),Z_1(i__),C_O(i__),v12C(i__),
     +  v14N(i__),alpha(i__)
c    ..............Just test output...........
        write(6,2)
     +  Zinit(i__),Set(i__),X(i__),Y(i__),Z_1(i__),C_O(i__),v12C(i__),
     +  v14N(i__),alpha(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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

C  Loading file 'opac.dat'	! Rosseland opacity coefficients

C  Format for file interpretation

    3 format(
     +  E5.1,1X,I2,1X,F5.3,1X,F6.3,1X,F6.3,1X,F6.3,1X,F6.3,1X,F6.3,1X,
     +  F6.3,1X,F6.3,1X,F6.3,1X,F6.3,1X,F6.3,1X,F6.3,1X,F6.3,1X,F6.3,
     +  1X,F6.3,1X,F6.3,1X,F6.3,1X,F6.3)

C  Effective file loading

      open(unit=1,status='old',file=
     +'opac.dat')
      write(6,*) '....Loading file: opac.dat'
      do i__=1,15876
        read(1,'(A133)')ar__2
        read(ar__2,3)
     +  Zinit_1(i__),Set_1(i__),logT(i__),kR_7_0(i__),kR_6_5(i__),
     +  kR_6_0(i__),kR_5_5(i__),kR_5_0(i__),kR_4_5(i__),kR_4_0(i__),
     +  kR_3_5(i__),kR_3_0(i__),kR_2_5(i__),kR_2_0(i__),kR_1_5(i__),
     +  kR_1_0(i__),kR_0_5(i__),kR_0_0(i__),kR_0_5_1(i__),
     +  kR_1_0_1(i__)
c    ..............Just test output...........
        write(6,3)
     +  Zinit_1(i__),Set_1(i__),logT(i__),kR_7_0(i__),kR_6_5(i__),
     +  kR_6_0(i__),kR_5_5(i__),kR_5_0(i__),kR_4_5(i__),kR_4_0(i__),
     +  kR_3_5(i__),kR_3_0(i__),kR_2_5(i__),kR_2_0(i__),kR_1_5(i__),
     +  kR_1_0(i__),kR_0_5(i__),kR_0_0(i__),kR_0_5_1(i__),
     +  kR_1_0_1(i__)
c    .......End.of.Just test output...........
      end do
      close(1)

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