Conversion of standardized ReadMe file for
file /./ftp/cats/III/92 into FORTRAN code for reading data files line by line.
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. III/92 A Library of Stellar Spectra (Jacoby+ 1984) *================================================================================ *A Library of Stellar Spectra * Jacoby G.H., Hunter D.A., Christian C.A. * <Astrophys. J. Suppl. Ser., 56, 257 (1984)> * =1984ApJS...56..257J C============================================================================= C Internal variables integer*4 i__ c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'stars.dat' ! Information on each star integer*4 nr__ parameter (nr__=161) ! Number of records character*100 ar__ ! Full-size record C J2000 position composed of: RAh RAm RAs DE- DEd DEm DEs real*8 RAdeg ! (deg) Right Ascension J2000 real*8 DEdeg ! (deg) Declination J2000 C ---------------------------------- ! (position vector(s) in degrees) character*1 f_Name ! [*] Name corrected from original version character*10 Name ! *Star identification (HD, BD, SAO, misc.) character*4 SpT ! Adopted spectral type. character*3 Lum ! Adopted luminosity class character*2 Sp1 ! Spectral type from lit. if different character*3 Lum1 ! Luminosity class from literature if different real*4 E_B_V ! (mag) *Derived color excess E(B-V) real*4 v_U_B_s ! (mag) U-B color synthesized from the spectrum. real*4 v_B_V_s ! (mag) B-V color synthesized from the spectrum. real*4 v_U_B_0 ! (mag) Dereddened color derived from (U-B)s real*4 v_B_V_0 ! Dereddened color derived from (B-V)s real*4 U_B ! (mag) ? U-B color taken from the literature. real*4 B_V ! (mag) ? B-V color taken from the literature. real*8 lambda1 ! (0.1nm) [3510] Wavelength of first pixel real*4 Dlambda ! (0.1nm) [1.40] Wavelength increment per pixel integer*4 RAh ! (h) *Right Ascension J2000 (hours) integer*4 RAm ! (min) *Right Ascension J2000 (minutes) real*4 RAs ! (s) *Right Ascension J2000 (seconds) character*1 DE_ ! *Declination J2000 (sign) integer*4 DEd ! (deg) *Declination J2000 (degrees) integer*4 DEm ! (arcmin) *Declination J2000 (minutes) real*4 DEs ! (arcsec) *Declination J2000 (seconds) *Note on E(B-V): * Derived color excess, E(B-V), used to to deredden the spectrum. *Note on Name, n_Name, RAh, RAm, RAs, DE-, DEd, DEm, DEs: * Four stars (# 47, 94, 124, 128) have an asterisk (*) in the first * byte, corresponding to the difficulties to identify them; for more * details, see the "History" section below. c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'fluxes.dat' ! The Library of Stellar Spectra, flux data integer*4 nr__1 parameter (nr__1=64400) ! Number of records character*80 ar__1 ! Full-size record character*10 Name_1 ! Star identification from headers.dat real*4 F_i (7) ! (cW/m2/nm) *? Flux values F(i) in erg/cm^2^/s/{AA} *Note on F(i): * Flux values F(i) in erg/cm2/s/Angstrom at wavelengths: * lambda(i) = lambda1 + (i-1+[7*(L-1)])*Dlambda * where L is the number of the line for the star of interest. There are * 400 lines of fluxes for each star. Hence, L is the line number in the * file, modulo 400. * * In the final record for each star, the seventh flux on the record * appears blank. C============================================================================= C Loading file 'stars.dat' ! Information on each star C Format for file interpretation 1 format( + A1,A10,1X,A4,A3,1X,A2,1X,A3,1X,F4.2,1X,F4.2,1X,F4.2,1X,F5.2, + 1X,F4.2,1X,F4.2,1X,F4.2,1X,F7.2,1X,F4.2,1X,I2,1X,I2,1X,F5.2, + 2X,A1,I2,1X,I2,1X,F4.1) C Effective file loading open(unit=1,status='old',file= +'stars.dat') write(6,*) '....Loading file: stars.dat' do i__=1,161 read(1,'(A100)')ar__ read(ar__,1) + f_Name,Name,SpT,Lum,Sp1,Lum1,E_B_V,v_U_B_s,v_B_V_s,v_U_B_0, + v_B_V_0,U_B,B_V,lambda1,Dlambda,RAh,RAm,RAs,DE_,DEd,DEm,DEs if(ar__(54:57) .EQ. '') U_B = rNULL__ if(ar__(59:62) .EQ. '') B_V = rNULL__ RAdeg = rNULL__ DEdeg = rNULL__ c Derive coordinates RAdeg and DEdeg from input data c (RAdeg and DEdeg are set to rNULL__ when unknown) if(RAh .GT. -180) RAdeg=RAh*15. if(RAm .GT. -180) RAdeg=RAdeg+RAm/4. if(RAs .GT. -180) RAdeg=RAdeg+RAs/240. if(DEd .GE. 0) DEdeg=DEd if(DEm .GE. 0) DEdeg=DEdeg+DEm/60. if(DEs .GE. 0) DEdeg=DEdeg+DEs/3600. if(DE_.EQ.'-'.AND.DEdeg.GE.0) DEdeg=-DEdeg c ..............Just test output........... write(6,1) + f_Name,Name,SpT,Lum,Sp1,Lum1,E_B_V,v_U_B_s,v_B_V_s,v_U_B_0, + v_B_V_0,U_B,B_V,lambda1,Dlambda,RAh,RAm,RAs,DE_,DEd,DEm,DEs write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'fluxes.dat' ! The Library of Stellar Spectra, flux data C Format for file interpretation 2 format(A10,7E10.3) C Effective file loading open(unit=1,status='old',file= +'fluxes.dat') write(6,*) '....Loading file: fluxes.dat' do i__=1,64400 read(1,'(A80)')ar__1 read(ar__1,2)Name_1,(F_i(j__,),j__=1,7) if(ar__1(11:80) .EQ. '') F_i = rNULL__ c ..............Just test output........... write(6,2)Name_1,(F_i(j__,),j__=1,7) c .......End.of.Just test output........... end do close(1) C============================================================================= stop end