Conversion of standardized ReadMe file for
file /./ftp/cats/J/AcA/60/1 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 2026-Oct-13
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/AcA/60/1 VI light curves of LMC delta Scuti stars (Poleski+, 2010)
*================================================================================
*The Optical Gravitational Lensing Experiment.
*The OGLE-III catalog of variable stars.
*VI. Delta Scuti stars in the Large Magellanic Cloud.
* Poleski R., Soszynski I., Udalski A., Szymanski M.K., Kubiak M.,
* Pietrzynski G., Wyrzykowski L., Szewczyk O., Ulaczyk K.
* <Acta Astron., 60, 1-16 (2010)>
* =2010AcA....60....1P
C=============================================================================
C Internal variables
integer*4 i__
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'ident.dat' ! Identification of stars
integer*4 nr__
parameter (nr__=2788) ! Number of records
character*85 ar__ ! Full-size record
C J2000.0 position composed of: RAh RAm RAs DE- DEd DEm DEs
real*8 RAdeg ! (deg) Right Ascension J2000.0
real*8 DEdeg ! (deg) Declination J2000.0
C ---------------------------------- ! (position vector(s) in degrees)
integer*4 Star ! [1/2788] Star number (OGLE-LMC-DSCT-NNNN)
character*8 Field ! OGLE-III field
integer*4 OGLE ! OGLE-III database number
character*10 Mode ! SINGLEMODE/MULTIMODE
integer*4 RAh ! (h) Right ascension, equinox J2000.0 (hours)
integer*4 RAm ! (min) Right ascension, equinox J2000.0 (minutes)
real*4 RAs ! (s) Right ascension, equinox J2000.0 (seconds)
character*1 DE_ ! Declination, equinox J2000.0 (sign)
integer*4 DEd ! (deg) Declination, equinox J2000.0 (degrees)
integer*4 DEm ! (arcmin) Declination, equinox J2000.0 (arc minutes)
real*4 DEs ! (arcsec) Declination, equinox J2000.0 (arc seconds)
character*15 OGLE_II ! OGLE-II ID
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'single.dat' ! Parameters of single-mode stars
integer*4 nr__1
parameter (nr__1=2696) ! Number of records
character*85 ar__1 ! Full-size record
integer*4 Star_1 ! [1/2788] Star number (OGLE-LMC-DSCT-NNNN)
real*4 v_Imag_ ! (mag) Intensity mean I-band magnitude
real*4 v_Vmag_ ! (mag) ?=- Intensity mean V-band magnitude
real*8 Per ! (d) Period
real*8 e_Per ! (d) Uncertainty of period
real*8 Tmax ! (d) Time of maximum brightness (HJD-2450000)
real*4 Iamp ! (mag) I-band amplitude (maximum-minimum)
real*4 R21 ! Fourier coefficient R_21_
real*4 phi21 ! (rad) [0,6.283] Fourier coefficient phi_21_
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'multi.dat' ! Parameters of multi-mode stars
integer*4 nr__2
parameter (nr__2=221) ! Number of records
character*106 ar__2 ! Full-size record
integer*4 Star_2 ! [1/2788] Star number (OGLE-LMC-DSCT-NNNN)
* (multi-row for the same star)
real*8 Per_1 ! (d) Period
real*8 e_Per_1 ! (d) Uncertainty of period
real*4 Iamp_1 ! (mag) I-band amplitude (maximum-minimum)
real*8 Tmax_1 ! (d) Time of maximum brightness (HJD-2450000)
real*4 v_Imag__1 ! (mag) ?=- Intensity mean I-band magnitude
* (only first row for a given star)
real*4 v_Vmag__1 ! (mag) ?=- Intensity mean V-band magnitude
* (only first row for a given star)
character*32 Mode_1 ! Mode identification (1)
*Note (1): F, 1O, 2O or 3O for fundamental mode and first three overtones
* respectively) or combination period identification (e.g. "=1/(P1/2)")
c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C Declarations for 'remarks.dat' ! Remarks
integer*4 nr__3
parameter (nr__3=1512) ! Number of records
character*78 ar__3 ! Full-size record
integer*4 Star_3 ! [1/2788] Star number (OGLE-LMC-DSCT-NNNN)
character*59 Rem ! Remark
C=============================================================================
C Loading file 'ident.dat' ! Identification of stars
C Format for file interpretation
1 format(
+ 14X,I4,1X,A8,1X,I6,1X,A10,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,
+ 1X,F4.1,1X,A15)
C Effective file loading
open(unit=1,status='old',file=
+'ident.dat')
write(6,*) '....Loading file: ident.dat'
do i__=1,2788
read(1,'(A85)')ar__
read(ar__,1)
+ Star,Field,OGLE,Mode,RAh,RAm,RAs,DE_,DEd,DEm,DEs,OGLE_II
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)
+ Star,Field,OGLE,Mode,RAh,RAm,RAs,DE_,DEd,DEm,DEs,OGLE_II
write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'single.dat' ! Parameters of single-mode stars
C Format for file interpretation
2 format(
+ 14X,I4,1X,F6.3,1X,F6.3,1X,F11.9,1X,F11.9,1X,F10.5,1X,F5.3,1X,
+ F5.3,1X,F5.3)
C Effective file loading
open(unit=1,status='old',file=
+'single.dat')
write(6,*) '....Loading file: single.dat'
do i__=1,2696
read(1,'(A85)')ar__1
read(ar__1,2)
+ Star_1,v_Imag_,v_Vmag_,Per,e_Per,Tmax,Iamp,R21,phi21
if (idig(ar__1(27:32)).EQ.0) v_Vmag_ = rNULL__
c ..............Just test output...........
write(6,2)
+ Star_1,v_Imag_,v_Vmag_,Per,e_Per,Tmax,Iamp,R21,phi21
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'multi.dat' ! Parameters of multi-mode stars
C Format for file interpretation
3 format(
+ 14X,I4,1X,F11.9,1X,F11.9,1X,F5.3,1X,F10.5,1X,F6.3,1X,F6.3,1X,
+ A32)
C Effective file loading
open(unit=1,status='old',file=
+'multi.dat')
write(6,*) '....Loading file: multi.dat'
do i__=1,221
read(1,'(A106)')ar__2
read(ar__2,3)
+ Star_2,Per_1,e_Per_1,Iamp_1,Tmax_1,v_Imag__1,v_Vmag__1,Mode_1
if (idig(ar__2(61:66)).EQ.0) v_Imag__1 = rNULL__
if (idig(ar__2(68:73)).EQ.0) v_Vmag__1 = rNULL__
c ..............Just test output...........
write(6,3)
+ Star_2,Per_1,e_Per_1,Iamp_1,Tmax_1,v_Imag__1,v_Vmag__1,Mode_1
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
C Loading file 'remarks.dat' ! Remarks
C Format for file interpretation
4 format(14X,I4,1X,A59)
C Effective file loading
open(unit=1,status='old',file=
+'remarks.dat')
write(6,*) '....Loading file: remarks.dat'
do i__=1,1512
read(1,'(A78)')ar__3
read(ar__3,4)Star_3,Rem
c ..............Just test output...........
write(6,4)Star_3,Rem
c .......End.of.Just test output...........
end do
close(1)
C=============================================================================
stop
end
C Locate position of first digit in string; or return 0
integer function idig(c)
character*(*) c
character*1 c1
integer lc,i
lc=len(c)
idig=0
do i=1,lc
if(c(i:i).ne.' ') go to 1
end do
1 if(i.gt.lc) return
c1=c(i:i)
if(c1.eq.'.'.or.c1.eq.'-'.or.c1.eq.'+') i=i+1
if(i.gt.lc) return
c1=c(i:i)
if(c1.ge.'0'.and.c1.le.'9') idig=i
return
end