Conversion of standardized ReadMe file for
file /./ftp/cats/J/PASP/110/1012 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-18 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/PASP/110/1012 New double stars from HST (Schneider+, 1998) *================================================================================ *Duplicity in Hubble Space Telescope Guide Stars: *Fine Guidance Sensor serendipitous survey results. * Schneider G., Hershey J.L., Wenz M.T. * <Publ. Astron. Soc. Pac. 110, 1012 (1998)> * =1998PASP..110.1012S C============================================================================= C Internal variables integer*4 i__ c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'table2.dat' ! *Selected doubles from HST acquisition data, plus corrections from Saulius Raudeliunas integer*4 nr__ parameter (nr__=278) ! Number of records character*255 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) integer*4 RAOh ! (h) Original Right ascension, GSC position (J2000.0) integer*4 RAOm ! (min) Original Right ascension, GSC position (J2000.0) real*4 RAOs ! (s) Original Right ascension, GSC position (J2000.0) character*1 DEO_ ! Original Declination sign (J2000.0) integer*4 DEOd ! (deg) Original Declination, GSC position (J2000.0) integer*4 DEOm ! (arcmin) Original Declination, GSC position (J2000.0) integer*4 DEOs ! (arcsec) Original Declination, GSC position (J2000.0) character*10 GSC ! Guide Star Catalog number (G1) integer*4 Epoch_Y ! (yr) [1996/1997] Year of the epoch of observation integer*4 Epoch_D ! (d) Day of the epoch of observation integer*4 Epoch_h ! (h) Hour of the epoch of observation integer*4 Epoch_m ! (min) Minute of the epoch of observation real*4 mag ! (mag) Magnitude from the GSC (1) character*2 XY ! [XY ] Symbol for the FGS coordinate of * duplicity detection (2) real*4 Sep ! (mas) Separation (3) real*4 PA ! (deg) Position angle (4) real*4 Dmag ! (mag) Magnitude difference between the components as * computed from the ratio of the amplitudes of * the component S-curves (5) real*4 e_mag ! (mag) ? Standard error of the observations that * formed the delta magnitude mean if more * than one observation integer*4 o_SepX ! [1/39]? Number of observations in the X * coordinate combined to form the entries in * the table line real*8 SepX ! (mas) ? Mean of the X separations, or the X separation * if only one observation real*4 s_SepX ! (mas) ? Standard error of the observations that formed * the X mean real*4 e_SepX ! (mas) ? Error of the mean separation X integer*4 o_SepY ! [1/16]? Number of observations in the Y * coordinate combined to form the entries in * the table line real*4 SepY ! (mas) ? Mean of the Y separations, or the Y separation * if only one observation real*4 s_SepY ! (mas) ? Standard error of the observations that formed * the Y mean real*4 e_SepY ! (mas) ? Error of the mean separation Y character*30 SName ! Simbad name (as of 25 February 2014) * when empty, field GSC or 2MASS should be * used as main with coordinates from GSC 1.2 (6) character*1 n_SName ! [OMAP] type of Simbad identifier (6) (7) character*10 GSC1_2 ! GSC 1.2 identifier (6) character*16 v2MASS ! 2MASS identifier without prefix "2MASS J" (6) integer*4 RAh ! (h) Right ascension (J2000) from GSC 1.2 (6) integer*4 RAm ! (min) Right ascension (J2000) from GSC 1.2 (6) real*4 RAs ! (s) Right ascension (J2000) from GSC 1.2 (6) character*1 DE_ ! Declination sign from GSC 1.2 (6) integer*4 DEd ! (deg) Declination (J2000) from GSC 1.2 (6) integer*4 DEm ! (arcmin) Declination (J2000) from GSC 1.2 (6) integer*4 DEs ! (arcsec) [0/60] Declination (J2000) from GSC 1.2 (6) character*23 Child1 ! GSC 1.2 identifier (6) character*23 Child2 ! GSC 1.2 identifier (6) *Note (1): Photographic V in northern hemisphere, J (blue) in southern * hemisphere; see GSC references (I/220) *Note (2): The symbols are: * X = X-only duplicity * Y = Y-only duplicity * XY = duplicity in both X and Y *Note (3): Separation is: * * For a single coordinate, the separation is only the projection of the * separation of the double onto the FGS coordinate of observation. * * For a two-coordinate observation, it is the angular separation of * the components. The scale errors of the separations are estimated to * be at the level of a few parts per thousand. *Note (4): position angle is: * * For one-coordinate observations, it is the position angle (equatorial * coordinates) of the FGS coordinate at the time of observation (0-180{deg}). * * For a two-coordinate observation, it is the traditional double-star * position angle, the angle from North to East of the fainter component * relative to the brighter component. *Note (5): The bandpass of the FGSs in guidance is centered near the V * photometric band but spans spectra that range from the U to the R * bands, the mid-3000s to 7000s in Angstrom ({AA}) units. *Note (6): Corrections from Saulius Raudeliunas [Vilnius University Obs.], * 25 February 2014. *Note (7): Corrected positions (column 'n_SName') flag as follows: * O = current Simbad identifier is Ok * M = this Simbad identifier should be kept as main, GSC should be * fused with it * A = additional TYC identification should be added to Simbad as main, * GSC should be fused with it * P = This entry must be a parent object for two childs, * coordinates must be used from GSC 1.2 catalog c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'names.dat' ! List of observed HST guide stars searched for duplicity integer*4 nr__1 parameter (nr__1=2348) ! Number of records character*22 ar__1 ! Full-size record character*11 Filename ! Source catalog file containing entry character*10 GSC_1 ! Guide star catalog ID number (G1) c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'acquis.dat' ! *Planned acquisition description integer*4 nr__2 parameter (nr__2=16164) ! Number of records character*204 ar__2 ! Full-size record C J2000.0 position composed of: RAdeg DEdeg character*11 Filename_1 ! Source catalog file containing entry character*10 GSC_2 ! Guide star catalog ID number (G1) real*8 RAdeg_1 ! (deg) J2000.0 GS right ascension real*8 DEdeg_1 ! (deg) J2000.0 GS declination real*8 Roll ! (deg) Spacecraft roll angle (360 - Orient) real*8 Sunangle ! (deg) Angular distance of V1 axis to sun real*4 OBmag ! (mag) Observed magnitude in FGS instrumental system real*4 CTmag ! (mag) Magnitude in guide star catalog character*5 Filtr ! [PUPIL] Filter used in FGS for acquisition integer*4 TM ! (ms) [25/50] Fine error sensor averaging time integer*4 FGS ! [1/3] FGS interferometer number (1) integer*4 Acq ! [1/3] Acquisition type (2) character*8 CPName ! Guiding scenario (PCS logic): * PQ3AC1, PQ3M1X1, or PCPREACQ integer*4 LCT ! Low (PMT) count threshold for star detection real*4 WdlX ! (arcsec) Walk-down length along X axis real*4 WdlY ! (arcsec) Wald-down length along Y axis real*8 RAV1deg ! (deg) RA J2000.0 of S/C V1 axis real*8 DEV1deg ! (deg) DEC J2000.0 of S/C V1 axis real*8 K1X ! FGE X-axis interferometer coefficient real*8 K1Y ! FGE Y-axis interferometer coefficient real*8 K3X ! FGE X-axis Q-signal limit real*8 K3Y ! FGE Y-axis Q-signal limit integer*4 PP ! [0/1] Planetary Parallax (S/C rate) * correction, 0 = off, 1 = on character*8 RefCurve ! Reference S-curve used in fitting process integer*4 PicX ! (arcsec) Predicted FGS X coordinate of star integer*4 PicY ! (arcsec) Predicted FGS Y coordinate of star integer*4 Epoch_Y_1 ! (yr) Planned U.T. of acquisition start integer*4 Epoch_D_1 ! (d) [0/365] Planned U.T. of acquisition start integer*4 Epoch_h_1 ! (h) [0/24] Planned U.T. of acquisition start integer*4 Epoch_m_1 ! (min) [0/60] Planned U.T. of acquisition start *Note (1): For 1, FGS1 replacement by FGS1R on 1997 February, Servicing Mission *Note (2): Acquisition type (see sections 2, 3.2 and 3.3 of paper): * 1 = Double-star fitting for FGS in lock case (2-star FL) * 2 = Double-star fitting for FGS in no-lock case (2-star CT) * 3 = One-star fitting for FGS in lock case (1-star FL) c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'doubles.dat' ! *Double star solutions integer*4 nr__3 parameter (nr__3=63515) ! Number of records character*85 ar__3 ! Full-size record character*11 Filename_2 ! Source catalog file containing entry character*1 n_Filename ! [CDEF] Index for the different solutions character*4 Code ! Type of fitting process/solution (1) real*8 Null1 ! (mas) Relative position of star-1 X or Y null line real*8 Null2 ! (mas) Relative position of star-2 X or Y null line real*4 B1 ! Star-1 amplitude normalized to reference S-curve real*4 B2 ! Star-2 amplitude normalized to reference S-curve real*8 Sep_1 ! (mas) [-104/] Separation of stars real*4 Dmag_1 ! (mag) Magnitude difference between the components as * computed from the ratio of the amplitudes of * the component S-curves (2) real*4 e_Null1 ! (mas) 1-{sigma} error in star-1 null line position real*4 e_Null2 ! (mas) 1-{sigma} error in star-2 null line position real*4 e_B1 ! ? 1-{sigma} error in star-1 to reference * amplitude ratio real*4 e_B2 ! ? 1-{sigma} error in star-2 to reference * amplitude ratio *Note (1): Code is made of 4 characters: * Char 1: S/D for Single/Double * Char 2: X/Y indicates which axis of interferometer * Char 3: L/N for Lock/Nolock * Char 4: W/C for Wide/Close solution *Note (2): The bandpass of the FGSs in guidance is centered near the V * photometric band but spans spectra that range from the U to the R * bands, the mid-3000s to 7000s in angstrom units. c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'otab2.dat' ! Original table 2 (before 2014 corrections) integer*4 nr__4 parameter (nr__4=278) ! Number of records character*120 ar__4 ! Full-size record C J2000.0 position composed of: RAh RAm RAs DE- DEd DEm DEs real*8 RAdeg_2 ! (deg) Right Ascension J2000.0 real*8 DEdeg_2 ! (deg) Declination J2000.0 C ---------------------------------- ! (position vector(s) in degrees) integer*4 RAh_1 ! (h) Right ascension, GSC position (J2000.0) integer*4 RAm_1 ! (min) Right ascension, GSC position (J2000.0) real*4 RAs_1 ! (s) Right ascension, GSC position (J2000.0) character*1 DE__1 ! Declination sign (J2000.0) integer*4 DEd_1 ! (deg) Declination, GSC position (J2000.0) integer*4 DEm_1 ! (arcmin) Declination, GSC position (J2000.0) integer*4 DEs_1 ! (arcsec) [0/60] Declination, GSC position (J2000.0) character*10 GSC_3 ! Guide Star Catalog number (G1) integer*4 Epoch_Y_2 ! (yr) Year of the epoch of observation integer*4 Epoch_D_2 ! (d) Day of the epoch of observation integer*4 Epoch_h_2 ! (h) Hour of the epoch of observation integer*4 Epoch_m_2 ! (min) Minute of the epoch of observation real*4 mag_1 ! (mag) Magnitude from the GSC character*2 XY_1 ! Symbol for the FGS coordinate of * duplicity detection real*4 Sep_2 ! (mas) Separation real*4 PA_1 ! (deg) Position angle real*4 Dmag_2 ! (mag) Magnitude difference between the components as * computed from the ratio of the amplitudes of * the component S-curves real*4 e_mag_1 ! (mag) ? Standard error of the observations that * formed the delta magnitude mean if more * than one observation integer*4 o_SepX_1 ! ? Number of observations in the X coordinate * combined to form the entries in the table line real*8 SepX_1 ! (mas) ? Mean of the X separations, or the X separation * if only one observation real*4 s_SepX_1 ! (mas) ? Standard error of the observations that formed * the X mean real*4 e_SepX_1 ! (mas) ? Error of the mean separation X integer*4 o_SepY_1 ! ? Number of observations in the Y coordinate * combined to form the entries in the table line real*4 SepY_1 ! (mas) ? Mean of the Y separations, or the Y separation * if only one observation real*4 s_SepY_1 ! (mas) ? Standard error of the observations that formed * the Y mean real*4 e_SepY_1 ! (mas) ? Error of the mean separation Y C============================================================================= C Loading file 'table2.dat' ! *Selected doubles from HST acquisition data, * plus corrections from Saulius Raudeliunas C Format for file interpretation 1 format( + I2,1X,I2,1X,F4.1,1X,A1,I2,1X,I2,1X,I2,1X,A10,2X,I4,1X,I3,1X, + I2,1X,I2,1X,F5.2,1X,A2,1X,F6.1,1X,F5.1,1X,F4.2,1X,F4.2,1X,I2, + 1X,F7.1,1X,F4.1,1X,F4.1,1X,I2,1X,F6.1,1X,F4.1,1X,F4.1,1X,A30, + 1X,A1,6X,A10,1X,A16,1X,I2,1X,I2,1X,F4.1,1X,A1,I2,1X,I2,1X,I2, + 1X,A23,1X,A23) C Effective file loading open(unit=1,status='old',file= +'table2.dat') write(6,*) '....Loading file: table2.dat' do i__=1,278 read(1,'(A255)')ar__ read(ar__,1) + RAOh,RAOm,RAOs,DEO_,DEOd,DEOm,DEOs,GSC,Epoch_Y,Epoch_D, + Epoch_h,Epoch_m,mag,XY,Sep,PA,Dmag,e_mag,o_SepX,SepX,s_SepX, + e_SepX,o_SepY,SepY,s_SepY,e_SepY,SName,n_SName,GSC1_2,v2MASS, + RAh,RAm,RAs,DE_,DEd,DEm,DEs,Child1,Child2 if(ar__(76:79) .EQ. '') e_mag = rNULL__ if(ar__(81:82) .EQ. '') o_SepX = iNULL__ if(ar__(84:90) .EQ. '') SepX = rNULL__ if(ar__(92:95) .EQ. '') s_SepX = rNULL__ if(ar__(97:100) .EQ. '') e_SepX = rNULL__ if(ar__(102:103) .EQ. '') o_SepY = iNULL__ if(ar__(105:110) .EQ. '') SepY = rNULL__ if(ar__(112:115) .EQ. '') s_SepY = rNULL__ if(ar__(117:120) .EQ. '') e_SepY = 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) + RAOh,RAOm,RAOs,DEO_,DEOd,DEOm,DEOs,GSC,Epoch_Y,Epoch_D, + Epoch_h,Epoch_m,mag,XY,Sep,PA,Dmag,e_mag,o_SepX,SepX,s_SepX, + e_SepX,o_SepY,SepY,s_SepY,e_SepY,SName,n_SName,GSC1_2,v2MASS, + RAh,RAm,RAs,DE_,DEd,DEm,DEs,Child1,Child2 write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'names.dat' ! List of observed HST guide stars searched for * duplicity C Format for file interpretation 2 format(A11,1X,A10) C Effective file loading open(unit=1,status='old',file= +'names.dat') write(6,*) '....Loading file: names.dat' do i__=1,2348 read(1,'(A22)')ar__1 read(ar__1,2)Filename,GSC_1 c ..............Just test output........... write(6,2)Filename,GSC_1 c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'acquis.dat' ! *Planned acquisition description C Format for file interpretation 3 format( + A11,1X,A10,1X,F9.5,1X,F9.5,1X,F9.5,1X,F9.5,1X,F5.2,1X,F5.2,1X, + A5,4X,I2,1X,I1,1X,I1,1X,A8,1X,I4,1X,F5.2,1X,F5.2,1X,F9.5,1X, + F9.5,1X,F7.5,1X,F7.5,1X,F7.5,1X,F7.5,1X,I1,1X,A8,1X,I4,1X,I4, + 1X,I4,1X,I3,1X,I2,1X,I2) C Effective file loading open(unit=1,status='old',file= +'acquis.dat') write(6,*) '....Loading file: acquis.dat' do i__=1,16164 read(1,'(A204)')ar__2 read(ar__2,3) + Filename_1,GSC_2,RAdeg_1,DEdeg_1,Roll,Sunangle,OBmag,CTmag, + Filtr,TM,FGS,Acq,CPName,LCT,WdlX,WdlY,RAV1deg,DEV1deg,K1X,K1Y, + K3X,K3Y,PP,RefCurve,PicX,PicY,Epoch_Y_1,Epoch_D_1,Epoch_h_1, + Epoch_m_1 c ..............Just test output........... write(6,3) + Filename_1,GSC_2,RAdeg_1,DEdeg_1,Roll,Sunangle,OBmag,CTmag, + Filtr,TM,FGS,Acq,CPName,LCT,WdlX,WdlY,RAV1deg,DEV1deg,K1X,K1Y, + K3X,K3Y,PP,RefCurve,PicX,PicY,Epoch_Y_1,Epoch_D_1,Epoch_h_1, + Epoch_m_1 c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'doubles.dat' ! *Double star solutions C Format for file interpretation 4 format( + A11,1X,A1,1X,A4,1X,F9.1,1X,F9.1,1X,F4.2,1X,F4.2,2X,F8.1,1X, + F5.2,1X,F4.1,1X,F4.1,F5.2,F5.2) C Effective file loading open(unit=1,status='old',file= +'doubles.dat') write(6,*) '....Loading file: doubles.dat' do i__=1,63515 read(1,'(A85)')ar__3 read(ar__3,4) + Filename_2,n_Filename,Code,Null1,Null2,B1,B2,Sep_1,Dmag_1, + e_Null1,e_Null2,e_B1,e_B2 if(ar__3(75:79) .EQ. '') e_B1 = rNULL__ if(ar__3(80:84) .EQ. '') e_B2 = rNULL__ c ..............Just test output........... write(6,4) + Filename_2,n_Filename,Code,Null1,Null2,B1,B2,Sep_1,Dmag_1, + e_Null1,e_Null2,e_B1,e_B2 c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'otab2.dat' ! Original table 2 (before 2014 corrections) C Format for file interpretation 5 format( + I2,1X,I2,1X,F4.1,1X,A1,I2,1X,I2,1X,I2,1X,A10,2X,I4,1X,I3,1X, + I2,1X,I2,1X,F5.2,1X,A2,1X,F6.1,1X,F5.1,1X,F4.2,1X,F4.2,1X,I2, + 1X,F7.1,1X,F4.1,1X,F4.1,1X,I2,1X,F6.1,1X,F4.1,1X,F4.1) C Effective file loading open(unit=1,status='old',file= +'otab2.dat') write(6,*) '....Loading file: otab2.dat' do i__=1,278 read(1,'(A120)')ar__4 read(ar__4,5) + RAh_1,RAm_1,RAs_1,DE__1,DEd_1,DEm_1,DEs_1,GSC_3,Epoch_Y_2, + Epoch_D_2,Epoch_h_2,Epoch_m_2,mag_1,XY_1,Sep_2,PA_1,Dmag_2, + e_mag_1,o_SepX_1,SepX_1,s_SepX_1,e_SepX_1,o_SepY_1,SepY_1, + s_SepY_1,e_SepY_1 if(ar__4(76:79) .EQ. '') e_mag_1 = rNULL__ if(ar__4(81:82) .EQ. '') o_SepX_1 = iNULL__ if(ar__4(84:90) .EQ. '') SepX_1 = rNULL__ if(ar__4(92:95) .EQ. '') s_SepX_1 = rNULL__ if(ar__4(97:100) .EQ. '') e_SepX_1 = rNULL__ if(ar__4(102:103) .EQ. '') o_SepY_1 = iNULL__ if(ar__4(105:110) .EQ. '') SepY_1 = rNULL__ if(ar__4(112:115) .EQ. '') s_SepY_1 = rNULL__ if(ar__4(117:120) .EQ. '') e_SepY_1 = rNULL__ RAdeg_2 = rNULL__ DEdeg_2 = rNULL__ c Derive coordinates RAdeg_2 and DEdeg_2 from input data c (RAdeg_2 and DEdeg_2 are set to rNULL__ when unknown) if(RAh_1 .GT. -180) RAdeg_2=RAh_1*15. if(RAm_1 .GT. -180) RAdeg_2=RAdeg_2+RAm_1/4. if(RAs_1 .GT. -180) RAdeg_2=RAdeg_2+RAs_1/240. if(DEd_1 .GE. 0) DEdeg_2=DEd_1 if(DEm_1 .GE. 0) DEdeg_2=DEdeg_2+DEm_1/60. if(DEs_1 .GE. 0) DEdeg_2=DEdeg_2+DEs_1/3600. if(DE__1.EQ.'-'.AND.DEdeg_2.GE.0) DEdeg_2=-DEdeg_2 c ..............Just test output........... write(6,5) + RAh_1,RAm_1,RAs_1,DE__1,DEd_1,DEm_1,DEs_1,GSC_3,Epoch_Y_2, + Epoch_D_2,Epoch_h_2,Epoch_m_2,mag_1,XY_1,Sep_2,PA_1,Dmag_2, + e_mag_1,o_SepX_1,SepX_1,s_SepX_1,e_SepX_1,o_SepY_1,SepY_1, + s_SepY_1,e_SepY_1 write(6,'(6H Pos: 2F8.4)') RAdeg_2,DEdeg_2 c .......End.of.Just test output........... end do close(1) C============================================================================= stop end