Conversion of standardized ReadMe file for
file /./ftp/cats/VI/90 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. VI/90 Wide-Field Plate Database (Tsvetkov+ 1997) *================================================================================ *Wide-Field Plate Database * Tsvetkov M.K., Stavrev K.Y., Tsvetkova K.P., Mutafov A.S., Semkov E.H. * <Institute of Astronomy, Bulgarian Academy of Sciences (1997)> C============================================================================= C Internal variables integer*4 i__ c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'maindata' ! Main data file integer*4 nr__ parameter (nr__=323635) ! Number of records character*104 ar__ ! Full-size record C J2000.0 position composed of: RAh RAm RAs DE- DEd DEm DEs real*8 RAdeg (nr__) ! (deg) Right Ascension J2000.0 real*8 DEdeg (nr__) ! (deg) Declination J2000.0 C ---------------------------------- ! (position vector(s) in degrees) character*3 IDobs (nr__) ! *WFPDB observatory identifier integer*4 IDins (nr__) ! (cm) *Instrument aperture character*1 IDsuf1 (nr__) ! *[A-Z] Suffix to the instrument identifier integer*4 IDno (nr__) ! *Original plate number character*1 IDsuf2 (nr__) ! *[A-Z] Suffix to the original plate number integer*4 RAh (nr__) ! (h) ? Right ascension (hours) (J2000.0) integer*4 RAm (nr__) ! (min) ? Right ascension (minutes) integer*4 RAs (nr__) ! (s) ? Right ascension (seconds) character*1 DE_ (nr__) ! ? Declination sign (J2000.0) integer*4 DEd (nr__) ! (deg) ? Declination, degrees integer*4 DEm (nr__) ! (arcmin) ? Declination, arcminutes integer*4 DEs (nr__) ! (arcsec) ? Declination, arcseconds character*1 CCOD (nr__) ! [EMU] Code for Error, Missing data, or * Uncertainty of coordinates integer*4 DATEy (nr__) ! (yr) ? Date of observation, year (UT) integer*4 DATEm (nr__) ! (month) ? Date of observation, month integer*4 DATEd (nr__) ! (d) ? Date of observation, day integer*4 UTh (nr__) ! (h) ? Observation time (hour) (UT) integer*4 UTm (nr__) ! (min) ? Observation time (min) integer*4 UTs (nr__) ! (s) ? Observation time (sec) character*1 TCOD (nr__) ! [EMU] Code for Error, Missing data, or * Uncertainty of observation time character*20 OBJNAM (nr__) ! Object or field designation character*2 OBJTYP (nr__) ! *Object type code integer*4 METHOD (nr__) ! *? Method of observation code integer*4 MULTEX (nr__) ! ? Multiplicity of exposure real*4 EXP (nr__) ! (min) *? Exposure time character*11 EMULS (nr__) ! Emulsion type character*7 FILT (nr__) ! Filter type character*2 SPEC (nr__) ! Spectral band integer*4 DIMx (nr__) ! (cm) ? X dimension of plate integer*4 DIMy (nr__) ! (cm) ? Y dimension of plate integer*4 PQUAL (nr__) ! [0,1] Pointer to file 'quality' integer*4 PNOT (nr__) ! [0,1] Pointer to file 'notes' integer*4 POBS (nr__) ! [0,1] Pointer to file 'observer' integer*4 PAVA (nr__) ! *[0,9] Pointer to file 'availability' integer*4 PDIG (nr__) ! *[0,1] Pointer to file 'digitisation' *Note on IDobs, IDins, IDsuf1, IDno, IDsuf2: * Fields from byte 1 to byte 14, taken together, constitute the WFPDB plate * identifier. Fields from byte 1 to byte 7 constitute the WFPDB instrument * identifier. *Note on OBJTYP: Object type in WFPDB is coded as follows: * A1 - planet * A2 - moon * A3 - sun * A4 - asteroid * A5 - comet * S1 - star * S2 - double star * S3 - variable star * S4 - star cluster * S5 - HII region * S6 - nebula * S7 - planetary nebula * S8 - supernova * S9 - fundamental star * SR - reference star around a radio source * G1 - galaxy * G2 - QSO * G3 - group of galaxies * G4 - cluster of galaxies * G5 - supercluster * G6 - void * F - field * * Remark: Object type for most of the observations is not yet available in * the WFPDB. *Note on METHOD: Method of observation in WFPDB is coded as follows: * 1 - direct photograph * 2 - direct photograph, multiexposure * 3 - stellar tracks * 4 - objective prism * 5 - objective prism, multiexposure * 6 - Metcalf's method * 7 - proper motions * 8 - no guiding * 9 - out of focus * 10 - test plate * 11 - Hartmann test * 12 - with mask * 14 - sub-beam (Pickering) prism * 24 - objective grating *Note on EXP: * For multiexposures with different duration of the separate exposures * the 2nd, 3rd, ... exposures are given in file 'notes', if available * in the original plate catalogs. *Note on PAVA, PDIG: * Files 'availability' and 'digitisation' are not available. c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'archives' ! List of plate archives integer*4 nr__1 parameter (nr__1=294) ! Number of records character*212 ar__1 ! Full-size record character*3 IDobs_1 (nr__1) ! *WFPDB observatory identifier integer*4 IDins_1 (nr__1) ! (cm) *Instrument aperture character*1 IDsuf1_1 (nr__1) ! *[A-Z ] Suffix to the instrument identifier character*17 LOCs (nr__1) ! Location of the plate archive, town (site) character*14 LOCc (nr__1) ! Location of the plate archive, country character*23 OBSn (nr__1) ! Observatory, name character*18 OBSs (nr__1) ! Observatory, site character*11 OBSc (nr__1) ! Observatory, country integer*4 MNo (nr__1) ! ? Marsden's number character*1 TZ_ (nr__1) ! Time zone, sign integer*4 TZ (nr__1) ! (h) ? Time zone character*1 LON_ (nr__1) ! ? Observatory longitude, sign integer*4 LONd (nr__1) ! (deg) ? Observatory longitude, deg real*4 LONm (nr__1) ! (arcmin) ? Observatory longitude, arcmin character*1 LAT_ (nr__1) ! ? Observatory latitude, sign integer*4 LATd (nr__1) ! (deg) ? Observatory latitude, deg real*4 LATm (nr__1) ! (arcmin) ? Observatory latitude, arcmin integer*4 ALT (nr__1) ! (m) ? Observatory altitude integer*4 MULT (nr__1) ! ? Multiplicity of telescope cameras real*4 APR (nr__1) ! (m) ? Clear aperture of the telescope real*4 MD (nr__1) ! (m) ? Diameter of telescope mirror real*4 FL (nr__1) ! (m) ? Focal length of the telescope integer*4 SCL (nr__1) ! (arcsec/mm) ? Plate scale character*3 ITYPE (nr__1) ! *Instrument type real*4 FIELD (nr__1) ! (deg) ? Field angular dimension integer*4 YEAR1 (nr__1) ! (yr) ? Year of beginning of telescope operation integer*4 YEAR2 (nr__1) ! (yr) ? Year of end of telescope operation character*1 PF (nr__1) ! [F ] Indication 'F' for 'film' integer*4 NPd (nr__1) ! ? Number of direct plates character*1 NPUNd (nr__1) ! [: ] Uncertainty of the number of plates character*2 CFORMd (nr__1) ! *Plate catalog form (direct plates) integer*4 NPs (nr__1) ! ?Number of objective prism plates character*1 NPUNs (nr__1) ! [: ] Uncertainty of the number of plates character*2 CFORMs (nr__1) ! *Plate catalog form (obj. prism plates) character*2 QUAL (nr__1) ! *[ABD ] Code for quality of the plate archive character*14 ANAME (nr__1) ! Astronomer in charge *Note on IDobs, IDins, IDsuf1: * Fields from byte 1 to byte 7, taken together, constitute the WFPDB * instrument identifier. *Note on ITYPE: * Ast - astrograph, Cam - camera, FEC - fish eye camera, Men - meniscus, * RCr - Ritchey-Chretien, Rfl - reflector, Rfr - refractor, Sch - Schmidt *Note on CFORMd, CFORMs: * C - computer-readable form, T - printed table form, TC - computer-readable * form in preparation *Note on QUAL: * A - very good, B - good, D - distributed c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'quality' ! Plate quality data integer*4 nr__2 parameter (nr__2=51549) ! Number of records character*80 ar__2 ! Full-size record character*3 IDobs_2 (nr__2) ! *WFPDB observatory identifier integer*4 IDins_2 (nr__2) ! (cm) *Instrument aperture character*1 IDsuf1_2 (nr__2) ! *[A-Z] Suffix to the instrument identifier integer*4 IDno_1 (nr__2) ! *Original plate number character*1 IDsuf2_1 (nr__2) ! *[A-Z] Suffix to the original plate number character*1 CONT (nr__2) ! Continuation sign (1, 2, ...) or blank character*65 QTEXT (nr__2) ! Text of quality information *Note on IDobs, IDins, IDsuf1, IDno, IDsuf2: * See notes to description of file 'maindata'. c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'notes' ! Notes integer*4 nr__3 parameter (nr__3=53217) ! Number of records character*80 ar__3 ! Full-size record character*3 IDobs_3 (nr__3) ! *WFPDB observatory identifier integer*4 IDins_3 (nr__3) ! (cm) *Instrument aperture character*1 IDsuf1_3 (nr__3) ! *[A-Z] Suffix to the instrument identifier integer*4 IDno_2 (nr__3) ! *Original plate number character*1 IDsuf2_2 (nr__3) ! *[A-Z] Suffix to the original plate number character*1 CONT_1 (nr__3) ! Continuation sign (1, 2, ...) or blank character*65 NTEXT (nr__3) ! Text of note *Note on IDobs, IDins, IDsuf1, IDno, IDsuf2: * See notes to the description of file 'maindata'. c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - C Declarations for 'observer' ! Observers' names integer*4 nr__4 parameter (nr__4=35993) ! Number of records character*57 ar__4 ! Full-size record character*3 IDobs_4 (nr__4) ! *WFPDB observatory identifier integer*4 IDins_4 (nr__4) ! (cm) *Instrument aperture character*1 IDsuf1_4 (nr__4) ! *[A-Z] Suffix to the instrument identifier integer*4 IDno_3 (nr__4) ! *Original plate number character*1 IDsuf2_3 (nr__4) ! *[A-Z] Suffix to the original plate number character*1 CONT_2 (nr__4) ! Continuation sign (1, 2, ...) or blank character*42 OBSNAM (nr__4) ! Observer's name(s) *Note on IDobs, IDins, IDsuf1, IDno, IDsuf2: * See notes to the description of file 'maindata'. C============================================================================= C Loading file 'maindata' ! Main data file C Format for file interpretation 1 format( + A3,I3,A1,I6,A1,I2,I2,I2,A1,I2,I2,I2,A1,I4,I2,I2,I2,I2,I2,A1, + A20,A2,I2,I2,F6.1,A11,A7,A2,I2,I2,I1,I1,I1,I1,I1) C Effective file loading open(unit=1,status='old',file= +'maindata') write(6,*) '....Loading file: maindata' do i__=1,323635 read(1,'(A104)')ar__ read(ar__,1) + IDobs(i__),IDins(i__),IDsuf1(i__),IDno(i__),IDsuf2(i__), + RAh(i__),RAm(i__),RAs(i__),DE_(i__),DEd(i__),DEm(i__), + DEs(i__),CCOD(i__),DATEy(i__),DATEm(i__),DATEd(i__),UTh(i__), + UTm(i__),UTs(i__),TCOD(i__),OBJNAM(i__),OBJTYP(i__), + METHOD(i__),MULTEX(i__),EXP(i__),EMULS(i__),FILT(i__), + SPEC(i__),DIMx(i__),DIMy(i__),PQUAL(i__),PNOT(i__),POBS(i__), + PAVA(i__),PDIG(i__) if(ar__(15:16) .EQ. '') RAh(i__) = iNULL__ if(ar__(17:18) .EQ. '') RAm(i__) = iNULL__ if(ar__(19:20) .EQ. '') RAs(i__) = iNULL__ if(ar__(22:23) .EQ. '') DEd(i__) = iNULL__ if(ar__(24:25) .EQ. '') DEm(i__) = iNULL__ if(ar__(26:27) .EQ. '') DEs(i__) = iNULL__ if(ar__(29:32) .EQ. '') DATEy(i__) = iNULL__ if(ar__(33:34) .EQ. '') DATEm(i__) = iNULL__ if(ar__(35:36) .EQ. '') DATEd(i__) = iNULL__ if(ar__(37:38) .EQ. '') UTh(i__) = iNULL__ if(ar__(39:40) .EQ. '') UTm(i__) = iNULL__ if(ar__(41:42) .EQ. '') UTs(i__) = iNULL__ if(ar__(66:67) .EQ. '') METHOD(i__) = iNULL__ if(ar__(68:69) .EQ. '') MULTEX(i__) = iNULL__ if(ar__(70:75) .EQ. '') EXP(i__) = rNULL__ if(ar__(96:97) .EQ. '') DIMx(i__) = iNULL__ if(ar__(98:99) .EQ. '') DIMy(i__) = iNULL__ 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) + IDobs(i__),IDins(i__),IDsuf1(i__),IDno(i__),IDsuf2(i__), + RAh(i__),RAm(i__),RAs(i__),DE_(i__),DEd(i__),DEm(i__), + DEs(i__),CCOD(i__),DATEy(i__),DATEm(i__),DATEd(i__),UTh(i__), + UTm(i__),UTs(i__),TCOD(i__),OBJNAM(i__),OBJTYP(i__), + METHOD(i__),MULTEX(i__),EXP(i__),EMULS(i__),FILT(i__), + SPEC(i__),DIMx(i__),DIMy(i__),PQUAL(i__),PNOT(i__),POBS(i__), + PAVA(i__),PDIG(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 'archives' ! List of plate archives C Format for file interpretation 2 format( + A3,I3,A1,1X,A17,1X,A14,1X,A23,1X,A18,1X,A11,1X,I3,1X,A1,I2,1X, + A1,I3,1X,F4.1,1X,A1,I2,1X,F4.1,1X,I4,1X,I2,1X,F4.2,1X,F4.2,1X, + F5.2,1X,I4,1X,A3,1X,F5.1,1X,I4,1X,I4,1X,A1,1X,I6,A1,1X,A2,1X, + I5,A1,1X,A2,1X,A2,1X,A14) C Effective file loading open(unit=1,status='old',file= +'archives') write(6,*) '....Loading file: archives' do i__=1,294 read(1,'(A212)')ar__1 read(ar__1,2) + IDobs_1(i__),IDins_1(i__),IDsuf1_1(i__),LOCs(i__),LOCc(i__), + OBSn(i__),OBSs(i__),OBSc(i__),MNo(i__),TZ_(i__),TZ(i__), + LON_(i__),LONd(i__),LONm(i__),LAT_(i__),LATd(i__),LATm(i__), + ALT(i__),MULT(i__),APR(i__),MD(i__),FL(i__),SCL(i__), + ITYPE(i__),FIELD(i__),YEAR1(i__),YEAR2(i__),PF(i__),NPd(i__), + NPUNd(i__),CFORMd(i__),NPs(i__),NPUNs(i__),CFORMs(i__), + QUAL(i__),ANAME(i__) if(ar__1(97:99) .EQ. '') MNo(i__) = iNULL__ if(ar__1(102:103) .EQ. '') TZ(i__) = iNULL__ if(ar__1(106:108) .EQ. '') LONd(i__) = iNULL__ if(ar__1(110:113) .EQ. '') LONm(i__) = rNULL__ if(ar__1(116:117) .EQ. '') LATd(i__) = iNULL__ if(ar__1(119:122) .EQ. '') LATm(i__) = rNULL__ if(ar__1(124:127) .EQ. '') ALT(i__) = iNULL__ if(ar__1(129:130) .EQ. '') MULT(i__) = iNULL__ if(ar__1(132:135) .EQ. '') APR(i__) = rNULL__ if(ar__1(137:140) .EQ. '') MD(i__) = rNULL__ if(ar__1(142:146) .EQ. '') FL(i__) = rNULL__ if(ar__1(148:151) .EQ. '') SCL(i__) = iNULL__ if(ar__1(157:161) .EQ. '') FIELD(i__) = rNULL__ if(ar__1(163:166) .EQ. '') YEAR1(i__) = iNULL__ if(ar__1(168:171) .EQ. '') YEAR2(i__) = iNULL__ if(ar__1(175:180) .EQ. '') NPd(i__) = iNULL__ if(ar__1(186:190) .EQ. '') NPs(i__) = iNULL__ c ..............Just test output........... write(6,2) + IDobs_1(i__),IDins_1(i__),IDsuf1_1(i__),LOCs(i__),LOCc(i__), + OBSn(i__),OBSs(i__),OBSc(i__),MNo(i__),TZ_(i__),TZ(i__), + LON_(i__),LONd(i__),LONm(i__),LAT_(i__),LATd(i__),LATm(i__), + ALT(i__),MULT(i__),APR(i__),MD(i__),FL(i__),SCL(i__), + ITYPE(i__),FIELD(i__),YEAR1(i__),YEAR2(i__),PF(i__),NPd(i__), + NPUNd(i__),CFORMd(i__),NPs(i__),NPUNs(i__),CFORMs(i__), + QUAL(i__),ANAME(i__) c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'quality' ! Plate quality data C Format for file interpretation 3 format(A3,I3,A1,I6,A1,A1,A65) C Effective file loading open(unit=1,status='old',file= +'quality') write(6,*) '....Loading file: quality' do i__=1,51549 read(1,'(A80)')ar__2 read(ar__2,3) + IDobs_2(i__),IDins_2(i__),IDsuf1_2(i__),IDno_1(i__), + IDsuf2_1(i__),CONT(i__),QTEXT(i__) c ..............Just test output........... write(6,3) + IDobs_2(i__),IDins_2(i__),IDsuf1_2(i__),IDno_1(i__), + IDsuf2_1(i__),CONT(i__),QTEXT(i__) c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'notes' ! Notes C Format for file interpretation 4 format(A3,I3,A1,I6,A1,A1,A65) C Effective file loading open(unit=1,status='old',file= +'notes') write(6,*) '....Loading file: notes' do i__=1,53217 read(1,'(A80)')ar__3 read(ar__3,4) + IDobs_3(i__),IDins_3(i__),IDsuf1_3(i__),IDno_2(i__), + IDsuf2_2(i__),CONT_1(i__),NTEXT(i__) c ..............Just test output........... write(6,4) + IDobs_3(i__),IDins_3(i__),IDsuf1_3(i__),IDno_2(i__), + IDsuf2_2(i__),CONT_1(i__),NTEXT(i__) c .......End.of.Just test output........... end do close(1) C============================================================================= C Loading file 'observer' ! Observers' names C Format for file interpretation 5 format(A3,I3,A1,I6,A1,A1,A42) C Effective file loading open(unit=1,status='old',file= +'observer') write(6,*) '....Loading file: observer' do i__=1,35993 read(1,'(A57)')ar__4 read(ar__4,5) + IDobs_4(i__),IDins_4(i__),IDsuf1_4(i__),IDno_3(i__), + IDsuf2_3(i__),CONT_2(i__),OBSNAM(i__) c ..............Just test output........... write(6,5) + IDobs_4(i__),IDins_4(i__),IDsuf1_4(i__),IDno_3(i__), + IDsuf2_3(i__),CONT_2(i__),OBSNAM(i__) c .......End.of.Just test output........... end do close(1) C============================================================================= stop end