Conversion of standardized ReadMe file for
file /./ftp/cats/II/262 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-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. II/262 BATC Data Release One - BATC DR1 (Zhou+ 1995-2005) *================================================================================ *Large Field Multi-Color Sky Survey Data Release One - BATC DR1 * Xu ZHOU, Zhaoji JIANG * <National Astronomical Observatories of China (1995-2005)> C============================================================================= C Internal variables integer*4 i__ c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'filters.dat' ! Transmission curves of the 15 filters integer*4 nr__ parameter (nr__=7001) ! Number of records character*112 ar__ ! Full-size record integer*4 lambda (nr__) ! (0.1nm) Wavelength in Angstroms real*8 T_lambda (15,nr__) ! Transmission of the 15 filters (see also * the "Filter characteristics" section below) c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'summary.dat' ! Basic information for the following files integer*4 nr__1 parameter (nr__1=70) ! Number of records character*54 ar__1 ! Full-size record C J2000.0 position composed of: RAh RAm RAs DE- DEd DEm DEs real*8 RAdeg (nr__1) ! (deg) Right Ascension J2000.0 real*8 DEdeg (nr__1) ! (deg) Declination J2000.0 C ---------------------------------- ! (position vector(s) in degrees) character*4 Field (nr__1) ! Field name integer*4 RAh (nr__1) ! (h) Right ascension (J2000.0) of field center integer*4 RAm (nr__1) ! (min) Right ascension (J2000.0) of field center real*4 RAs (nr__1) ! (s) Right ascension (J2000.0) of field center character*1 DE_ (nr__1) ! Declination sign (J2000.0) of field center integer*4 DEd (nr__1) ! (deg) Declination (J2000.0) of field center integer*4 DEm (nr__1) ! (arcmin) Declination (J2000.0) of field center real*4 DEs (nr__1) ! (arcsec) Declination (J2000.0) of field center integer*4 FN (nr__1) ! Number of filters available in this field integer*4 Nsrc (nr__1) ! Number of sources in the file character*15 Filter (nr__1) ! [.a-km-p] List of filters in this field (see * the "Filter characteristics" section below) c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'batc/*' ! The contents of the catalog integer*4 nr__2 parameter (nr__2=70) ! Number of records character*235 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) character*1 Rem (nr__2) ! Comment (1) integer*4 Seq (nr__2) ! Sequence Number in the field 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*13 USNO_A2_0 (nr__2) ! Designation in USNO-A2.0 (I/252) catalogue real*4 Bmag (nr__2) ! (mag) ?Magnitude from blue plate (USNO-A2.0) real*4 Rmag (nr__2) ! (mag) ?Magnitude from red plate (USNO-A2.0) real*4 aMag (nr__2) ! (mag) ? AB magnitude from a filter (336+/-36nm) character*1 n_aMag (nr__2) ! [X] Mark on magnitude from a filter (2) real*4 e_aMag (nr__2) ! (mag) ? Error on magnitude from a filter real*4 bMag_1 (nr__2) ! (mag) ? AB magnitude from b filter (389+/-34nm) character*1 n_bMag (nr__2) ! [X] Mark on magnitude from b filter (2) real*4 e_bMag (nr__2) ! (mag) ? Error on magnitude from b filter real*4 cMag (nr__2) ! (mag) ? AB magnitude from c filter (421+/-32nm) character*1 n_cMag (nr__2) ! [X] Mark on magnitude from c filter (2) real*4 e_cMag (nr__2) ! (mag) ? Error on magnitude from c filter real*4 dMag (nr__2) ! (mag) ? AB magnitude from d filter (455+/-34nm) character*1 n_dMag (nr__2) ! [X] Mark on magnitude from d filter (2) real*4 e_dMag (nr__2) ! (mag) ? Error on magnitude from d filter real*4 eMag (nr__2) ! (mag) ? AB magnitude from e filter (492.5+/-39nm) character*1 n_eMag (nr__2) ! [X] Mark on magnitude from e filter (2) real*4 e_eMag (nr__2) ! (mag) ? Error on magnitude from e filter real*4 fMag (nr__2) ! (mag) ? AB magnitude from f filter (527+/-34nm) character*1 n_fMag (nr__2) ! [X] Mark on magnitude from f filter (2) real*4 e_fMag (nr__2) ! (mag) ? Error on magnitude from f filter real*4 gMag (nr__2) ! (mag) ? AB magnitude from g filter (579.5+/-31nm) character*1 n_gMag (nr__2) ! [X] Mark on magnitude from g filter (2) real*4 e_gMag (nr__2) ! (mag) ? Error on magnitude from g filter real*4 hMag (nr__2) ! (mag) ? AB magnitude from h filter (607.5+/-31nm) character*1 n_hMag (nr__2) ! [X] Mark on magnitude from h filter (2) real*4 e_hMag (nr__2) ! (mag) ? Error on magnitude from h filter real*4 iMag (nr__2) ! (mag) ? AB magnitude from i filter (666+/-48nm) character*1 n_iMag (nr__2) ! [X] Mark on magnitude from i filter (2) real*4 e_iMag (nr__2) ! (mag) ? Error on magnitude from i filter real*4 jMag (nr__2) ! (mag) ? AB magnitude from j filter (705+/-30nm) character*1 n_jMag (nr__2) ! [X] Mark on magnitude from j filter (2) real*4 e_jMag (nr__2) ! (mag) ? Error on magnitude from j filter real*4 kMag (nr__2) ! (mag) ? AB magnitude from k filter (749+/-33nm) character*1 n_kMag (nr__2) ! [X] Mark on magnitude from k filter (2) real*4 e_kMag (nr__2) ! (mag) ? Error on magnitude from k filter real*4 mMag (nr__2) ! (mag) ? AB magnitude from m filter (802+/-26nm) character*1 n_mMag (nr__2) ! [X] Mark on magnitude from m filter (2) real*4 e_mMag (nr__2) ! (mag) ? Error on magnitude from m filter real*4 nMag (nr__2) ! (mag) ? AB magnitude from n filter (848+/-18nm) character*1 n_nMag (nr__2) ! [X] Mark on magnitude from n filter (2) real*4 e_nMag (nr__2) ! (mag) ? Error on magnitude from n filter real*4 oMag (nr__2) ! (mag) ? AB magnitude from o filter (919+/-26nm) character*1 n_oMag (nr__2) ! [X] Mark on magnitude from o filter (2) real*4 e_oMag (nr__2) ! (mag) ? Error on magnitude from o filter real*4 pMag (nr__2) ! (mag) ? AB magnitude from p filter (974.5+/-27nm) character*1 n_pMag (nr__2) ! [X] Mark on magnitude from p filter (2) real*4 e_pMag (nr__2) ! (mag) ? Error on magnitude from p filter *Note (1): The first character of each object marks some special * character of the object checked by naked eyes: * b = saturated bright star, coordinates may inaccurate * d = polluted (CCD defect etc.) * e = near the edge and some band objects out of frame * f = very faint object but visible * g = galaxies determined by naked eyes * m = blended with nearby stars of similar brightness * n = Could not find the object by naked eyes * s = effected by bright star pollution (in halo or spark) * t = polluted by galaxies * x = may be false object detected star on bright galaxies *Note (2): * For some objects, if we have not got magnitude of PSF fitting in * normal way, the aperture magnitude is used instead of PSF magnitude * and the character X is marked before the error of the magnitude. C============================================================================= C Loading file 'filters.dat' ! Transmission curves of the 15 filters C Format for file interpretation 1 format(I5,2X,15F7.4) C Effective file loading open(unit=1,status='old',file= +'filters.dat') write(6,*) '....Loading file: filters.dat' do i__=1,7001 read(1,'(A112)')ar__ read(ar__,1)lambda(i__),(T_lambda(j__,i__),j__=1,15) c ..............Just test output........... write(6,1)lambda(i__),(T_lambda(j__,i__),j__=1,15) c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'summary.dat' ! Basic information for the following files C Format for file interpretation 2 format( + A4,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,F4.1,1X,I2,2X,I5,1X, + A15) C Effective file loading open(unit=1,status='old',file= +'summary.dat') write(6,*) '....Loading file: summary.dat' do i__=1,70 read(1,'(A54)')ar__1 read(ar__1,2) + Field(i__),RAh(i__),RAm(i__),RAs(i__),DE_(i__),DEd(i__), + DEm(i__),DEs(i__),FN(i__),Nsrc(i__),Filter(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,2) + Field(i__),RAh(i__),RAm(i__),RAs(i__),DE_(i__),DEd(i__), + DEm(i__),DEs(i__),FN(i__),Nsrc(i__),Filter(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 'batc/*' ! The contents of the catalog C Format for file interpretation 3 format( + A1,I5,1X,I2,1X,I2,1X,F5.2,1X,A1,I2,1X,I2,1X,F4.1,1X,A13,1X, + F4.1,1X,F4.1,2X,F5.2,1X,A1,F4.2,1X,F5.2,1X,A1,F4.2,1X,F5.2,1X, + A1,F4.2,1X,F5.2,1X,A1,F4.2,1X,F5.2,1X,A1,F4.2,1X,F5.2,1X,A1, + F4.2,1X,F5.2,1X,A1,F4.2,1X,F5.2,1X,A1,F4.2,1X,F5.2,1X,A1,F4.2, + 1X,F5.2,1X,A1,F4.2,1X,F5.2,1X,A1,F4.2,1X,F5.2,1X,A1,F4.2,1X, + F5.2,1X,A1,F4.2,1X,F5.2,1X,A1,F4.2,1X,F5.2,1X,A1,F4.2) C Effective file loading open(unit=1,status='old',file= +'batc/*') write(6,*) '....Loading file: batc/*' do i__=1,70 read(1,'(A235)')ar__2 read(ar__2,3) + Rem(i__),Seq(i__),RAh_1(i__),RAm_1(i__),RAs_1(i__),DE__1(i__), + DEd_1(i__),DEm_1(i__),DEs_1(i__),USNO_A2_0(i__),Bmag(i__), + Rmag(i__),aMag(i__),n_aMag(i__),e_aMag(i__),bMag_1(i__), + n_bMag(i__),e_bMag(i__),cMag(i__),n_cMag(i__),e_cMag(i__), + dMag(i__),n_dMag(i__),e_dMag(i__),eMag(i__),n_eMag(i__), + e_eMag(i__),fMag(i__),n_fMag(i__),e_fMag(i__),gMag(i__), + n_gMag(i__),e_gMag(i__),hMag(i__),n_hMag(i__),e_hMag(i__), + iMag(i__),n_iMag(i__),e_iMag(i__),jMag(i__),n_jMag(i__), + e_jMag(i__),kMag(i__),n_kMag(i__),e_kMag(i__),mMag(i__), + n_mMag(i__),e_mMag(i__),nMag(i__),n_nMag(i__),e_nMag(i__), + oMag(i__),n_oMag(i__),e_oMag(i__),pMag(i__),n_pMag(i__), + e_pMag(i__) if(ar__2(46:49) .EQ. '') Bmag(i__) = rNULL__ if(ar__2(51:54) .EQ. '') Rmag(i__) = rNULL__ if(ar__2(57:61) .EQ. '') aMag(i__) = rNULL__ if(ar__2(64:67) .EQ. '') e_aMag(i__) = rNULL__ if(ar__2(69:73) .EQ. '') bMag_1(i__) = rNULL__ if(ar__2(76:79) .EQ. '') e_bMag(i__) = rNULL__ if(ar__2(81:85) .EQ. '') cMag(i__) = rNULL__ if(ar__2(88:91) .EQ. '') e_cMag(i__) = rNULL__ if(ar__2(93:97) .EQ. '') dMag(i__) = rNULL__ if(ar__2(100:103) .EQ. '') e_dMag(i__) = rNULL__ if(ar__2(105:109) .EQ. '') eMag(i__) = rNULL__ if(ar__2(112:115) .EQ. '') e_eMag(i__) = rNULL__ if(ar__2(117:121) .EQ. '') fMag(i__) = rNULL__ if(ar__2(124:127) .EQ. '') e_fMag(i__) = rNULL__ if(ar__2(129:133) .EQ. '') gMag(i__) = rNULL__ if(ar__2(136:139) .EQ. '') e_gMag(i__) = rNULL__ if(ar__2(141:145) .EQ. '') hMag(i__) = rNULL__ if(ar__2(148:151) .EQ. '') e_hMag(i__) = rNULL__ if(ar__2(153:157) .EQ. '') iMag(i__) = rNULL__ if(ar__2(160:163) .EQ. '') e_iMag(i__) = rNULL__ if(ar__2(165:169) .EQ. '') jMag(i__) = rNULL__ if(ar__2(172:175) .EQ. '') e_jMag(i__) = rNULL__ if(ar__2(177:181) .EQ. '') kMag(i__) = rNULL__ if(ar__2(184:187) .EQ. '') e_kMag(i__) = rNULL__ if(ar__2(189:193) .EQ. '') mMag(i__) = rNULL__ if(ar__2(196:199) .EQ. '') e_mMag(i__) = rNULL__ if(ar__2(201:205) .EQ. '') nMag(i__) = rNULL__ if(ar__2(208:211) .EQ. '') e_nMag(i__) = rNULL__ if(ar__2(213:217) .EQ. '') oMag(i__) = rNULL__ if(ar__2(220:223) .EQ. '') e_oMag(i__) = rNULL__ if(ar__2(225:229) .EQ. '') pMag(i__) = rNULL__ if(ar__2(232:235) .EQ. '') e_pMag(i__) = rNULL__ 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) + Rem(i__),Seq(i__),RAh_1(i__),RAm_1(i__),RAs_1(i__),DE__1(i__), + DEd_1(i__),DEm_1(i__),DEs_1(i__),USNO_A2_0(i__),Bmag(i__), + Rmag(i__),aMag(i__),n_aMag(i__),e_aMag(i__),bMag_1(i__), + n_bMag(i__),e_bMag(i__),cMag(i__),n_cMag(i__),e_cMag(i__), + dMag(i__),n_dMag(i__),e_dMag(i__),eMag(i__),n_eMag(i__), + e_eMag(i__),fMag(i__),n_fMag(i__),e_fMag(i__),gMag(i__), + n_gMag(i__),e_gMag(i__),hMag(i__),n_hMag(i__),e_hMag(i__), + iMag(i__),n_iMag(i__),e_iMag(i__),jMag(i__),n_jMag(i__), + e_jMag(i__),kMag(i__),n_kMag(i__),e_kMag(i__),mMag(i__), + n_mMag(i__),e_mMag(i__),nMag(i__),n_nMag(i__),e_nMag(i__), + oMag(i__),n_oMag(i__),e_oMag(i__),pMag(i__),n_pMag(i__), + e_pMag(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