Conversion of standardized ReadMe file for
file /./ftp/cats/J/A_A/439/265 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-20 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/439/265 Wolf-Rayet population in M83 (Hadfield+, 2005) *================================================================================ *A spectroscopic search for the non-nuclear Wolf-Rayet population of the *metal-rich spiral galaxy M83. * Hadfield L.J., Crowther P.A., Schild H., Schmutz W. * <Astron. Astrophys., 439, 265-277 (2005)> * =2005A&A...439..265H C============================================================================= C Internal variables integer*4 i__ c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'table1.dat' ! FORS2 Multi Object Spectroscopy (MOS) observing log for M83. integer*4 nr__ parameter (nr__=18) ! Number of records character*33 ar__ ! Full-size record character*10 Date ! ("YYYY-MM-DD") Observation date character*6 MOD ! MOD mask character*6 Exp ! (s) Exposure time(s) real*4 Seeing1 ! (arcsec) DIMM seeing real*4 Seeing2 ! (arcsec) ? DIMM seeing c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'tablea1.dat' ! Catalogue of sources with confirmed WR spectroscopic signatures in M83. integer*4 nr__1 parameter (nr__1=132) ! Number of records character*202 ar__1 ! 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 v_HCS2005_ ! Sequential number of the source character*1 n__HCS2005_ ! [a] Note on [HCS2005] (1) integer*4 RAh ! (h) Right ascension (J2000) integer*4 RAm ! (min) Right ascension (J2000) real*4 RAs ! (s) Right ascension (J2000) character*1 DE_ ! Declination sign (J2000) integer*4 DEd ! (deg) Declination (J2000) integer*4 DEm ! (arcmin) Declination (J2000) real*4 DEs ! (arcsec) Declination (J2000) real*4 rho_rho0 ! De-projected distances are expressed as a * fraction of the Holmberg radius * rho0=7.3'=9.56kpc character*1 l_m4686 ! Limit flag on m4686 real*4 m4686 ! (mag) ? He II (4686{AA}) band magnitude character*1 n_m4686 ! [)c] Note on m4686 (G2) real*4 Dm ! (mag) ? Magnitude difference, m4684-m4781 (G3) character*1 n_Dm ! [)] ): spectroscopic photometry real*4 E_B_V ! (mag) ? Reddening character*1 n_E_B_V ! [b] b: average E(B-V) value has been assumed character*1 l_BMAG ! Limit flag on BMAG real*4 BMAG ! (mag) ? Absolute B magnitude character*1 n_BMAG ! [)] ): spectroscopic photometry integer*4 v_DPD83_ ! ? HII region in de Vaucouleurs et al., * 1983ApJS...53...17D, [DPD83] NN, number character*1 l_EWC_He ! Limit flag on EWCIII/HeII integer*4 EWC_He ! (0.1nm) ? Equivalent width of CIII(4650)/HeII(4686) integer*4 FWHMC_He ! (0.1nm) ? FWHM of CIII/HeII character*2 n_FWHMC_He ! [ND] ND for No data real*4 FC_He ! (mW/m2) ? Observed line flux of CIII/HeII character*2 n_EWC_He ! [ND] ND for No data character*1 l_EWCIII ! Limit flag on EWCIII integer*4 EWCIII ! (0.1nm) ? Equivalent width of CIII(5696) character*1 l_FWHMCIII ! Limit flag on FWHMCIII integer*4 FWHMCIII ! (0.1nm) ? FWHM of CIII real*4 FCIII ! (mW/m2) ? Observed line flux of CIII character*1 l_EWCIV ! Limit flag on CIV integer*4 EWCIV ! (0.1nm) ? Equivalent width of CIV(5808) integer*4 FWHMCIV ! (0.1nm) ? FWHM of CIV real*4 FCIV ! (mW/m2) ? Observed line flux of CIV integer*4 WN2_5 ! ? Number of WN2-5 type stars in the source (4) integer*4 WN6_10 ! ? Number of WN6-10 type stars in the source (4) integer*4 WC4_6 ! ? Number of WC4-6 type stars in the source (4) integer*4 WC7 ! ? Number of WC7 type stars in the source (4) integer*4 WC8_9 ! ? Number of WC8-9 type stars in the source (4) character*8 MOS ! Multi Object Spectroscopy (MOS) mask used real*4 e_m4686 ! (mag) ? rms uncertainty on m4686 real*4 e_Dm ! (mag) ? rms uncertainty on Dm real*4 e_E_B_V ! (mag) ? rms uncertainty on E(B-V) real*4 e_BMAG ! (mag) ? rms uncertainty on BMAG real*4 e_FWHMC_He ! (0.1nm) ? rms uncertainty on FWHMC/He real*4 e_FWHMCIII ! (0.1nm) ? rms uncertainty on FWHMCIII real*4 e_FWHMCIV ! (0.1nm) ? rms uncertainty on FWHMCIV integer*4 e_WN2_5 ! ? rms uncertainty on WN2-5 integer*4 e_WN6_10 ! ? rms uncertainty on WN6-10 integer*4 e_WC4_6 ! ? rms uncertainty on WC4-6 integer*4 e_WC7 ! ? rms uncertainty on WC7 integer*4 e_WC8_9 ! ? rms uncertainty on WC8-9 *Note (1): 'a' f He II PSF or spectroscopic photometry was unavailable * and the average slit loss correction factor has been assumed. *Note (4): The number of, and error in, WR stars in each source are * estimated from the line luminosities indicated in Sect. 3.2 and * a distance of 4.5+/-0.3Mpc c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'tablea2.dat' ! Catalogue of sources with candidate WR signatures in M83, either from narrow-band imaging or for which MOS spectroscopy was ambiguous. integer*4 nr__2 parameter (nr__2=89) ! Number of records character*48 ar__2 ! Full-size record C J2000 position composed of: RAh RAm RAs DE- DEd DEm DEs real*8 RAdeg_1 ! (deg) Right Ascension J2000 real*8 DEdeg_1 ! (deg) Declination J2000 C ---------------------------------- ! (position vector(s) in degrees) integer*4 v_HCS2005__1 ! Sequential number of the source character*1 n__HCS2005__1 ! [pl] Note on [HCS2005] (1) integer*4 RAh_1 ! (h) Right ascension (J2000) integer*4 RAm_1 ! (min) Right ascension (J2000) real*4 RAs_1 ! (s) Right ascension (J2000) character*1 DE__1 ! Declination sign (J2000) integer*4 DEd_1 ! (deg) Declination (J2000) integer*4 DEm_1 ! (arcmin) Declination (J2000) real*4 DEs_1 ! (arcsec) Declination (J2000) real*4 rho_rho0_1 ! De-projected distances are expressed as a * fraction of the Holmberg radius * rho0=7.3'=9.56kpc character*1 l_m4686_1 ! Limit flag on m4686 real*4 m4686_1 ! (mag) ?=- He II (4686{AA}) band magnitude character*1 n_m4686_1 ! [c] Note on m4686 (G2) real*4 Dm_1 ! (mag) ?=- Magnitude difference, m4684-m4781 (G3) integer*4 v_DPD83__1 ! ? HII region in de Vaucouleurs et al., * 1983ApJS...53...17D, [DPD83] NN, number *Note (1): Note on [HCS2005] as follows: * p = Insufficient S/N for classification * l = insufficient spectral coverage for WN identification C============================================================================= C Loading file 'table1.dat' ! FORS2 Multi Object Spectroscopy (MOS) * observing log for M83. C Format for file interpretation 1 format(A10,1X,A6,1X,A6,1X,F3.1,2X,F3.1) C Effective file loading open(unit=1,status='old',file= +'table1.dat') write(6,*) '....Loading file: table1.dat' do i__=1,18 read(1,'(A33)')ar__ read(ar__,1)Date,MOD,Exp,Seeing1,Seeing2 if(ar__(31:33) .EQ. '') Seeing2 = rNULL__ c ..............Just test output........... write(6,1)Date,MOD,Exp,Seeing1,Seeing2 c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'tablea1.dat' ! Catalogue of sources with confirmed WR * spectroscopic signatures in M83. C Format for file interpretation 2 format( + I3,A1,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,F4.1,1X,F4.2,1X, + A1,F4.1,A1,2X,F4.1,A1,1X,F4.2,A1,A1,F5.1,A1,1X,I2,1X,A1,I4,1X, + I3,A2,1X,E7.2,1X,A2,2X,A1,I3,1X,A1,I2,1X,E7.2,1X,A1,I4,1X,I3, + 1X,E7.2,1X,I2,1X,I2,1X,I1,1X,I2,1X,I3,1X,A8,1X,F3.1,1X,F3.1, + 1X,F4.2,1X,F3.1,1X,E7.2,1X,E7.2,1X,E7.2,1X,I2,1X,I2,1X,I1,1X, + I2,1X,I3) C Effective file loading open(unit=1,status='old',file= +'tablea1.dat') write(6,*) '....Loading file: tablea1.dat' do i__=1,132 read(1,'(A202)')ar__1 read(ar__1,2) + v_HCS2005_,n__HCS2005_,RAh,RAm,RAs,DE_,DEd,DEm,DEs,rho_rho0, + l_m4686,m4686,n_m4686,Dm,n_Dm,E_B_V,n_E_B_V,l_BMAG,BMAG, + n_BMAG,v_DPD83_,l_EWC_He,EWC_He,FWHMC_He,n_FWHMC_He,FC_He, + n_EWC_He,l_EWCIII,EWCIII,l_FWHMCIII,FWHMCIII,FCIII,l_EWCIV, + EWCIV,FWHMCIV,FCIV,WN2_5,WN6_10,WC4_6,WC7,WC8_9,MOS,e_m4686, + e_Dm,e_E_B_V,e_BMAG,e_FWHMC_He,e_FWHMCIII,e_FWHMCIV,e_WN2_5, + e_WN6_10,e_WC4_6,e_WC7,e_WC8_9 if(ar__1(36:39) .EQ. '') m4686 = rNULL__ if(ar__1(43:46) .EQ. '') Dm = rNULL__ if(ar__1(49:52) .EQ. '') E_B_V = rNULL__ if(ar__1(55:59) .EQ. '') BMAG = rNULL__ if(ar__1(62:63) .EQ. '') v_DPD83_ = iNULL__ if(ar__1(66:69) .EQ. '') EWC_He = iNULL__ if(ar__1(71:73) .EQ. '') FWHMC_He = iNULL__ if(ar__1(77:83) .EQ. '') FC_He = rNULL__ if(ar__1(90:92) .EQ. '') EWCIII = iNULL__ if(ar__1(95:96) .EQ. '') FWHMCIII = iNULL__ if(ar__1(98:104) .EQ. '') FCIII = rNULL__ if(ar__1(107:110) .EQ. '') EWCIV = iNULL__ if(ar__1(112:114) .EQ. '') FWHMCIV = iNULL__ if(ar__1(116:122) .EQ. '') FCIV = rNULL__ if(ar__1(124:125) .EQ. '') WN2_5 = iNULL__ if(ar__1(127:128) .EQ. '') WN6_10 = iNULL__ if(ar__1(130:130) .EQ. '') WC4_6 = iNULL__ if(ar__1(132:133) .EQ. '') WC7 = iNULL__ if(ar__1(135:137) .EQ. '') WC8_9 = iNULL__ if(ar__1(148:150) .EQ. '') e_m4686 = rNULL__ if(ar__1(152:154) .EQ. '') e_Dm = rNULL__ if(ar__1(156:159) .EQ. '') e_E_B_V = rNULL__ if(ar__1(161:163) .EQ. '') e_BMAG = rNULL__ if(ar__1(165:171) .EQ. '') e_FWHMC_He = rNULL__ if(ar__1(173:179) .EQ. '') e_FWHMCIII = rNULL__ if(ar__1(181:187) .EQ. '') e_FWHMCIV = rNULL__ if(ar__1(189:190) .EQ. '') e_WN2_5 = iNULL__ if(ar__1(192:193) .EQ. '') e_WN6_10 = iNULL__ if(ar__1(195:195) .EQ. '') e_WC4_6 = iNULL__ if(ar__1(197:198) .EQ. '') e_WC7 = iNULL__ if(ar__1(200:202) .EQ. '') e_WC8_9 = iNULL__ 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,2) + v_HCS2005_,n__HCS2005_,RAh,RAm,RAs,DE_,DEd,DEm,DEs,rho_rho0, + l_m4686,m4686,n_m4686,Dm,n_Dm,E_B_V,n_E_B_V,l_BMAG,BMAG, + n_BMAG,v_DPD83_,l_EWC_He,EWC_He,FWHMC_He,n_FWHMC_He,FC_He, + n_EWC_He,l_EWCIII,EWCIII,l_FWHMCIII,FWHMCIII,FCIII,l_EWCIV, + EWCIV,FWHMCIV,FCIV,WN2_5,WN6_10,WC4_6,WC7,WC8_9,MOS,e_m4686, + e_Dm,e_E_B_V,e_BMAG,e_FWHMC_He,e_FWHMCIII,e_FWHMCIV,e_WN2_5, + e_WN6_10,e_WC4_6,e_WC7,e_WC8_9 write(6,'(6H Pos: 2F8.4)') RAdeg,DEdeg c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'tablea2.dat' ! Catalogue of sources with candidate WR signatures * in M83, either from narrow-band imaging or for * which MOS spectroscopy was ambiguous. C Format for file interpretation 3 format( + I3,A1,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,F4.1,1X,F4.2,1X, + A1,F4.1,A1,1X,F4.1,1X,I2) C Effective file loading open(unit=1,status='old',file= +'tablea2.dat') write(6,*) '....Loading file: tablea2.dat' do i__=1,89 read(1,'(A48)')ar__2 read(ar__2,3) + v_HCS2005__1,n__HCS2005__1,RAh_1,RAm_1,RAs_1,DE__1,DEd_1, + DEm_1,DEs_1,rho_rho0_1,l_m4686_1,m4686_1,n_m4686_1,Dm_1, + v_DPD83__1 if (idig(ar__2(36:39)).EQ.0) m4686_1 = rNULL__ if (idig(ar__2(42:45)).EQ.0) Dm_1 = rNULL__ if(ar__2(47:48) .EQ. '') v_DPD83__1 = iNULL__ RAdeg_1 = rNULL__ DEdeg_1 = 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 .GT. -180) RAdeg_1=RAh_1*15. if(RAm_1 .GT. -180) RAdeg_1=RAdeg_1+RAm_1/4. if(RAs_1 .GT. -180) RAdeg_1=RAdeg_1+RAs_1/240. if(DEd_1 .GE. 0) DEdeg_1=DEd_1 if(DEm_1 .GE. 0) DEdeg_1=DEdeg_1+DEm_1/60. if(DEs_1 .GE. 0) DEdeg_1=DEdeg_1+DEs_1/3600. if(DE__1.EQ.'-'.AND.DEdeg_1.GE.0) DEdeg_1=-DEdeg_1 c ..............Just test output........... write(6,3) + v_HCS2005__1,n__HCS2005__1,RAh_1,RAm_1,RAs_1,DE__1,DEd_1, + DEm_1,DEs_1,rho_rho0_1,l_m4686_1,m4686_1,n_m4686_1,Dm_1, + v_DPD83__1 write(6,'(6H Pos: 2F8.4)') RAdeg_1,DEdeg_1 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