CDS.headStuff2
FORTRAN Generation
Conversion of standardized ReadMe file for
catalog 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-23 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/123B Dwarf K and M stars of small proper motion (Stephenson 1986) *================================================================================ *Dwarf K And M Stars of small proper motion found in a Large Spectroscopic Survey * Stephenson C.B. * <Astron. J. 91, 144 (1986)> * =1986AJ.....91..144S C============================================================================= C Internal variables integer*4 i__ c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'catalog.dat' ! The original catalogue of 2201 stars integer*4 nr__ parameter (nr__=2201) ! Number of records character*80 ar__ ! Full-size record C 1900 position composed of: RAh RAm RAs DE- DEd DEm DEs real*8 RAdeg (nr__) ! (deg) Right Ascension 1900 real*8 DEdeg (nr__) ! (deg) Declination 1900 C ---------------------------------- ! (position vector(s) in degrees) integer*4 Star (nr__) ! [1/2201]+ Star number (StKM 1-NNNN in Simbad) character*1 n_Star (nr__) ! [*] The asterisk indicates a note * detailed in file 'notes.dat' integer*4 RAh (nr__) ! (h) Right ascension 1900 (hours) integer*4 RAm (nr__) ! (min) Right ascension 1900 (minutes) real*4 RAs (nr__) ! (s) Right ascension 1900 (seconds) character*1 DE_ (nr__) ! Declination 1900 (sign) integer*4 DEd (nr__) ! (deg) Declination 1900 (degrees) integer*4 DEm (nr__) ! (arcmin) Declination 1900 (minutes) integer*4 DEs (nr__) ! (arcsec) Declination 1900 (seconds) real*4 Pmag (nr__) ! (mag) Stellar photographic magnitude character*5 Sp (nr__) ! Spectral type character*39 Names (nr__) ! Names from other lists c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'notes.dat' ! Individual notes of the original catalog integer*4 nr__1 parameter (nr__1=185) ! Number of records character*80 ar__1 ! Full-size record integer*4 Star_1 (nr__1) ! [1/2201]+= Star number character*74 Text (nr__1) ! Text of note c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'stkm1.dat' ! The catalog revisited (B. Skiff, May 2006; see the "Revision" section below) integer*4 nr__2 parameter (nr__2=2214) ! Number of records character*124 ar__2 ! Full-size record C J2000 position composed of: RAh RAm RAs DE- DEd DEm DEs real*8 RAdeg_1 (nr__2) ! (deg) Right Ascension J2000 real*8 DEdeg_1 (nr__2) ! (deg) Declination J2000 C ---------------------------------- ! (position vector(s) in degrees) integer*4 Star_2 (nr__2) ! [1/2201]+= Star number (StKM 1-NNNN in Simbad) character*2 m_Star (nr__2) ! [abc ] Multiplicity integer*4 RAh_1 (nr__2) ! (h) ? Right Ascension J2000 (hours) integer*4 RAm_1 (nr__2) ! (min) ? Right Ascension J2000 (minutes) real*4 RAs_1 (nr__2) ! (s) ? Right Ascension J2000 (seconds) character*1 DE__1 (nr__2) ! ? Declination J2000 (sign) integer*4 DEd_1 (nr__2) ! (deg) ? Declination J2000 (degrees) integer*4 DEm_1 (nr__2) ! (arcmin) ? Declination J2000 (minutes) real*4 DEs_1 (nr__2) ! (arcsec) ? Declination J2000 (seconds) character*1 rPos (nr__2) ! [UTMbCBLDS] Source of position (1) integer*4 UCAC2 (nr__2) ! ? Designation in UCAC2 (I/289) character*11 Tycho_2 (nr__2) ! Designation in Tycho-2 (I/259) real*4 Vmag (nr__2) ! (mag) Stellar V magnitude mainly from CMC11 (I/256) character*5 Sp_1 (nr__2) ! Spectral type (2) character*57 Notes (nr__2) ! Additional identifications and remarks *Note (1): the letter indicates the origin of the position, as follows: * B = Bordeaux meridian circle PM2000 (2006A&A...448.1235D, Cat. I/300) * b = USNO-B1.0 (2003AJ....125..984M, Cat. I/284) * C = Carlsberg CMC11 (1999, Cat. I/256) * L = Lepine LSPM (2005AJ....129.1483L, Cat. I/298) * M = 2MASS (2006AJ....131.1163S, Cat. II/246) * S = SDSS DR3 (2005AJ....129.1755A, Cat. II/259 * T = Tycho-2 (2000A&A...357..367H, Cat. I/259) * U = UCAC2 (2004AJ....127.3043Z, Cat. I/289) *Note (2): About halt of the stars are actually ordinary giants (see the * "revision" section below). The luminosity class 'V' was added only * when Stephenson specifically remarked on strong MgH + MgI 'b' and/or * NaD lines in the spectra. C============================================================================= C Loading file 'catalog.dat' ! The original catalogue of 2201 stars C Format for file interpretation 1 format( + 1X,I4,A1,1X,I2,1X,I2,1X,F4.1,2X,A1,I2,1X,I2,1X,I2,2X,F4.1,1X, + A5,1X,A39) C Effective file loading open(unit=1,status='old',file= +'catalog.dat') write(6,*) '....Loading file: catalog.dat' do i__=1,2201 read(1,'(A80)')ar__ read(ar__,1) + Star(i__),n_Star(i__),RAh(i__),RAm(i__),RAs(i__),DE_(i__), + DEd(i__),DEm(i__),DEs(i__),Pmag(i__),Sp(i__),Names(i__) RAdeg(i__) = rNULL__ DEdeg(i__) = rNULL__ c Derive coordinates RAdeg and DEdeg from input data c (RAdeg and DEdeg are set to rNULL__ when unknown) if(RAh(i__) .GT. -180) RAdeg(i__)=RAh(i__)*15. if(RAm(i__) .GT. -180) RAdeg(i__)=RAdeg(i__)+RAm(i__)/4. if(RAs(i__) .GT. -180) RAdeg(i__)=RAdeg(i__)+RAs(i__)/240. if(DEd(i__) .GE. 0) DEdeg(i__)=DEd(i__) if(DEm(i__) .GE. 0) DEdeg(i__)=DEdeg(i__)+DEm(i__)/60. if(DEs(i__) .GE. 0) DEdeg(i__)=DEdeg(i__)+DEs(i__)/3600. if(DE_(i__).EQ.'-'.AND.DEdeg(i__).GE.0) DEdeg(i__)=-DEdeg(i__) c ..............Just test output........... write(6,1) + Star(i__),n_Star(i__),RAh(i__),RAm(i__),RAs(i__),DE_(i__), + DEd(i__),DEm(i__),DEs(i__),Pmag(i__),Sp(i__),Names(i__) write(6,'(6H Pos: 2F8.4)') RAdeg(i__),DEdeg(i__) c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'notes.dat' ! Individual notes of the original catalog C Format for file interpretation 2 format(I4,2X,A74) C Effective file loading open(unit=1,status='old',file= +'notes.dat') write(6,*) '....Loading file: notes.dat' do i__=1,185 read(1,'(A80)')ar__1 read(ar__1,2)Star_1(i__),Text(i__) c ..............Just test output........... write(6,2)Star_1(i__),Text(i__) c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'stkm1.dat' ! The catalog revisited (B. Skiff, May 2006; see * the "Revision" section below) C Format for file interpretation 3 format( + I4,A2,2X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,F4.1,1X,A1,1X,I8, + 1X,A11,1X,F4.1,1X,A5,2X,A57) C Effective file loading open(unit=1,status='old',file= +'stkm1.dat') write(6,*) '....Loading file: stkm1.dat' do i__=1,2214 read(1,'(A124)')ar__2 read(ar__2,3) + Star_2(i__),m_Star(i__),RAh_1(i__),RAm_1(i__),RAs_1(i__), + DE__1(i__),DEd_1(i__),DEm_1(i__),DEs_1(i__),rPos(i__), + UCAC2(i__),Tycho_2(i__),Vmag(i__),Sp_1(i__),Notes(i__) if(ar__2(9:10) .EQ. '') RAh_1(i__) = iNULL__ if(ar__2(12:13) .EQ. '') RAm_1(i__) = iNULL__ if(ar__2(15:19) .EQ. '') RAs_1(i__) = rNULL__ if(ar__2(22:23) .EQ. '') DEd_1(i__) = iNULL__ if(ar__2(25:26) .EQ. '') DEm_1(i__) = iNULL__ if(ar__2(28:31) .EQ. '') DEs_1(i__) = rNULL__ if(ar__2(35:42) .EQ. '') UCAC2(i__) = iNULL__ RAdeg_1(i__) = rNULL__ DEdeg_1(i__) = rNULL__ c Derive coordinates RAdeg_1 and DEdeg_1 from input data c (RAdeg_1 and DEdeg_1 are set to rNULL__ when unknown) if(RAh_1(i__) .GT. -180) RAdeg_1(i__)=RAh_1(i__)*15. if(RAm_1(i__) .GT. -180) RAdeg_1(i__)=RAdeg_1(i__)+RAm_1(i__)/4. if(RAs_1(i__) .GT. -180) RAdeg_1(i__)=RAdeg_1(i__)+RAs_1(i__)/240. if(DEd_1(i__) .GE. 0) DEdeg_1(i__)=DEd_1(i__) if(DEm_1(i__) .GE. 0) DEdeg_1(i__)=DEdeg_1(i__)+DEm_1(i__)/60. if(DEs_1(i__) .GE. 0) DEdeg_1(i__)=DEdeg_1(i__)+DEs_1(i__)/3600. if(DE__1(i__).EQ.'-'.AND.DEdeg_1(i__).GE.0) DEdeg_1(i__)=-DEdeg_1(i__) c ..............Just test output........... write(6,3) + Star_2(i__),m_Star(i__),RAh_1(i__),RAm_1(i__),RAs_1(i__), + DE__1(i__),DEd_1(i__),DEm_1(i__),DEs_1(i__),rPos(i__), + UCAC2(i__),Tycho_2(i__),Vmag(i__),Sp_1(i__),Notes(i__) write(6,'(6H Pos: 2F8.4)') RAdeg_1(i__),DEdeg_1(i__) c .......End.of.Just test output........... end do close(1) C============================================================================= stop end