C C C MUSTER IN FILE /u/ari/s07/template/lies.f C ============================================ C C C SUBROUTINE LIES(LUN,XSTAR4,XSTAR8,KENNX4,KENNX8, F ISTAR2,ISTAR4,IRC) C C................................................................ C LESEPROGRAMM FUER DEN BEOBACHTUNGSKATALOG C TELEKI NR. "0147" TEIL "10" DES KATALOGS <======= * C IMPLICIT REAL*8 (A-H,O-Z) C REAL*4 XSTAR4(15) REAL*8 XSTAR8(20) INTEGER*2 ISTAR2(30) INTEGER*4 ISTAR4(10),KENNX4(15),KENNX8(20) CHARACTER*78 STR C C Konstanten fuer Transformation von Stunden bzw Grad C ins Bogenmass definieren. C TRA = 2.617993877991494D-01 TRD = 1.745329251994329D-02 C IRC = 0 C C Dokumentation von spaeter gefundenen und noch C nicht korrigierten Fehlern. C IF (1.GT.0) GOTO 440 C C Beschreibung des Fehlers, der im Leseprogramm gefunden wurde. C Die Zeile "IF(1.GT.0) ..." ist durch ein Kommentar ("C") in C Spalte 1 zu unterdruecken wodurch der folgende Block aktiviert C wird. C 4000 FORMAT(////,' DAS LESEPROGRAMM ENTHAELT FOLGENDEN FEHLER:',/, F ' TEXT ......................................',/, F ' TEXT ......................................',/, F ' TEXT ......................................',/, F ' TEXT ......................................',/, F ' TEXT ......................................',/, F ' TEXT ......................................',/, F ' TEXT ......................................',/, F ' TEXT ......................................',/, F ' ES WERDEN DAHERE KEINE DATEN GELESEN ',///) C GOTO 990 440 CONTINUE C C C KATALOGDATEN LESEN C ------------------- C C Der String "STR" enthaelt einen Satz des Beobachtungskatalogs. C C Die in "STR" enthaltene Information ist den Variablen C in den Feldern XSTAR4, XSTAR8, ISTAR2, ISTAR4 ueber ein C internes READ zuzuordnen. Siehe Beispiel bei XSTAR4(1). C 100 READ(LUN,'(A)',END=900) STR C hier eventuell eine 2. READ Anweisung einfuegen, < * C wenn die Eingabedatei aus 2 Zeilen besteht. C..................................................................... C C DEFINITION DER REAL*4 VARIABELN C ================================= C C C XSTAR4(1) : = CATMAG = Scheinbare Helligkeit im Katalog C C =======> Falls im Katalog gegeben, U N B E D I N G T eintragen C =======> falls nicht gegeben, dann den Wert der Variabeln als C =======> -8888.0 belassen. C =======> Das gilt ebenso fuer alle anderen nicht definierten C =======> Variabeln. Deren Wert ist immer -8888.0 zu belassen. C C =======> U N B E D I N G T FUER J E D E N S T E R N abfragen, C =======> ob auch tatsaechlich eine Helligkeit dasteht und nicht C =======> etwa weggelassen ist (z.B. kann es bei variablen Sternen C =======> vorkommen, dass die Helligkeit nicht erfasst ist). C C KENNX4(1) : = 1 ODER 0, 1: Helligkeit fuer diesen Stern gegeben, C 0: keine Helligkeit gegeben. C weitere Information ueber die Helligkeit C wird in ISTAR2(8) und ISTAR2(9) C uebergeben. C C C XSTAR4(1) = CATMAG = Scheinbare Helligkeit im Katalog C C XSTAR4(1) = -8888.0 <============= * * if (str(33:33) .eq. '&') str(33:33) = '0' * if (str(33:33) .eq. '-') then * READ(STR(31:32),'(F2.1)') XSTAR4(1) * else * READ(STR(31:33),'(bz,F3.2)') XSTAR4(1) * endif * KENNX4(1) = 1 * if (str(31:33) .eq. ' ') then xstar4(1) = -8888.0 kennx4(1) = 0 * endif C C C C XSTAR4(2) : = MERASC = Mittlerer Fehler der Rektaszension laut Kat. C KENNX4(2) : = siehe /u/ari/s07/doc/kennung/fehler C XSTAR4(2) = -8888.0 * READ(STR(46:47),'(F2.0)') XSTAR4(2) KENNX4(2) = 0 C C C C XSTAR4(3) : = NOBRAS = Anzahl der Beobachtungen in Rektaszension C KENNX4(3) : = 1 ODER 0. 1: NOBRAS gegeben 0: nicht gegeben. C XSTAR4(3) = -8888.0 kennx4(3) = 0 * READ(STR(22:23),'(F2.0)') XSTAR4(3) * KENNX4(3) = 1 C if (str(31:31) .eq. ' ') xstar4(3) = -8888.0 C if (str(31:31) .eq. ' ') kennx4(3) = 0 C C C C C XSTAR4(4) : = MEDE = Mittlerer Fehler der Deklination laut Kat. C KENNX4(4) : = siehe /u/ari/s07/doc/kennung/fehler C XSTAR4(4) = -8888.0 * READ(STR(37:38),'(F2.0)') XSTAR4(4) KENNX4(4) = 0 C C C C XSTAR4(5) : = NOBDEC = Anzahl der Beobachtungen in Deklination C KENNX4(5) : = 1 oder 0. 1: NOBDEC gegeben, 0: nicht gebeben. C * XSTAR4(5) = -8888.0 * kennx4(5) = 0 * READ(STR(13:14),'(F2.0)') XSTAR4(5) KENNX4(5) = 0 C IF (str(45:45) .eq. ' ') then xstar4(5) = -8888.0 C kennx4(5) = 0 C endif C C C C XSTAR4(6) : = MEPMRA = Mittlerer Fehler der EB in RA laut Katalog C KENNX4(6) : = siehe /u/ari/s07/doc/kennung/fehler C XSTAR4(6) = -8888.0 * READ(STR(55:56),'(F2.0)') XSTAR4(6) KENNX4(6) = 0 C C C C XSTAR4(7) : = NOBPMA = Anzahl der Beobachtungen fuer die EB (RA) C KENNX4(7) : = 1 oder 0. 1: NOBPMA gegeben, 0: nicht gegeben. C XSTAR4(7) = -8888.0 KENNX4(7) = 0 C C C C XSTAR4(8) : = MEPMDC = Mittlerer Fehler der EB in DEC laut Katalog C KENNX4(8) : = siehe /u/ari/s07/doc/kennung/fehler C XSTAR4(8) = -8888.0 * read(str(75:75),'(f1.0)') xstar4(8) KENNX4(8) = 0 C C C C XSTAR4(9) : = NOBPMD = Anzahl der Beobachtungen fuer die EB (DEC) C KENNX4(9) : = 1 oder 0. 1: NOBPMD gegeben, 0: nicht gegeben. C XSTAR4(9) = -8888.0 KENNX4(9) = 0 C C ................................................................... C C DEFINITION DER REAL*8 VARIABELN C ================================ C C C XSTAR8(1) : = EQRAS = Aequinox der Rektaszension, darf nie fehlen C KENNX8(1) : = siehe Datei /u/ari/s07/doc/kennung/timeunit C aber nur Groesse N1 eintragen !!! C XSTAR8(1) = 1790.D0 KENNX8(1) = 1 C C Bei Katalogen, die D I F F E R E N Z E N GEBEN: C XSTAR8(1) = 2000.D0; KENNX8(1) = 2 . C C C C XSTAR8(2) : = EPRAS = Epoche der RA, fuer die die RA tatsaechlich gilt C KENNX8(2) : = siehe Datei /u/ari/s07/doc/kennung/timeunit C aber nur Groesse N1 eintragen !!! C * XSTAR8(2) = -8888.D0 C if (str(27:30).eq.'&&&&') then XSTAR8(2) = -8888.D0 KENNX8(2) = 0 C else * READ(STR(19:21),'(F3.2)') XSTAR8(2) * xstar8(2) = xstar8(2) + 1950.d0 * KENNX8(2) = 1 C endif C C C C XSTAR8(13): = EPMRAS = Mittlere Beobachtungsepoche in Rektaszension C KENNX8(13): = siehe Datei /u/ari/s07/doc/kennung/timeunit C aber nur Groesse N1 eintragen !!! C XSTAR8(13) = xstar8(2) KENNX8(13) = kennx8(2) C C Falls Epoche in B U E R G E R L I C H E M Datum gegeben: C 1) Unterprogramm KALJUL aufrufen; damit wird das C BUERGERLICHE DATUM in JULIANISCHES DATUM umgewandelt. C 2) KENNX8(2) bzw. KENNX(13) ist 3 zu setzen. C C C C XSTAR8(3) : = RAS = Rektaszension in Radians, darf nie fehlen C (oder Differenzen gegen einen Referenzkatalog, C Differenzen N I C H T in Radians umrechnen). C KENNX8(3) : = siehe Datei /u/ari/s07/doc/kennung/posit C bzw. /u/ari/s07/doc/kennung/differ C C XSTAR8(3) = -8888.D0 <============ * * if (str(15:15).eq.'&') then * str(15:15) = '+' * kennx8(3) = 4910 * else kennx8(3) = 4910 * endif call charad(str(36:43),'hhmmss.s',xstar8(3),ier,6) if(ier.ne.0)stop * read(str(36:43),'(f3.0)') xstar8(3) * if (str(15:15).eq.'-') xstar8(3) = -xstar8(3) C C U N B E D I N G T fuer J E D E N S T E R N abfragen, ob es ein C BEOBACHTETES oder nur ein GENAEHERTES alpha ist und KENNX8(3) richtig C setzen. C Bei Differenzenkatalogen U N B E D I N G T abfragen, ob keine C Differenz (RAS) gegeben ( z. B. Zahl der Beobachtungen = 0) C C C C XSTAR8(4) : = EQDEC = Aequinox der Deklination, darf nie fehlen C KENNX8(4) : = siehe Datei /u/ari/s07/doc/kennung/timeunit C aber nur Groesse N1 eintragen !!! C XSTAR8(4) = XSTAR8(1) KENNX8(4) = KENNX8(1) C C Bei Katalogen, die D I F F E R E N Z E N GEBEN: C XSTAR8(4) = 2000.D0; KENNX8(4) = 2 . C C C C XSTAR8(5) : = EPDEC = Epoche der DEC, fuer die die DEC tatsaechlich gilt C KENNX8(5) : = siehe Datei /u/ari/s07/doc/kennung/timeunit C aber nur Groesse N1 eintragen !!! C XSTAR8(5) = xstar8(1) C if (str(41:44).EQ.'&&&&') THEN * XSTAR8(5) = -8888.d0 kennx8(5) = 1 C else * READ(STR(16:20),'(F5.2)') XSTAR8(5) * xstar8(5) = xstar8(5) + 1900.d0 * KENNX8(5) = 2 C endif C C C C XSTAR8(14): = EPMDEC = Mittlere Beobachtungsepoche in Deklination C KENNX8(14): = siehe Datei /u/ari/s07/doc/kennung/timeunit C aber nur Groesse N1 eintragen !!! C XSTAR8(14) = xstar8(5) KENNX8(14) = kennx8(5) C C C C XSTAR8(6) : = DEC = Deklination in Radians, darf nie fehlen C (oder Differenzen gegen einen Referenzkatalog, C Differenzen N I C H T in Radians umrechnen). C KENNX8(6) : = siehe Datei /u/ari/s07/doc/kennung/posit C bzw. /u/ari/s07/doc/kennung/differ C C XSTAR8(6) = -8888.D0 <============ * * if (str(44:47).eq.'&&&&') then * xstar8(6) = -8888.d0 kennx8(6) = 1010 * else * kennx8(6) = 0 * endif * if (str(23:23).eq.'-') str(22:23) = '- ' call charad(str(19:25),'vddmmss',xstar8(6),ier,6) * else * call charad(str(22:31),'vdd.dddddd',xstar8(6),ier,6) * endif * if(ier.ne.0)stop C C U N B E D I N G T fuer J E D E N S T E R N abfragen, ob es ein C BEOBACHTETES oder nur ein GENAEHERTES delta ist und KENNX8(6) richtig C setzen. C Bei Differenzenkatalogen U N B E D I N G T abfragen, ob keine C Differenz (DEC) gegeben ( z. B. Zahl der Beobachtungen = 0) C C C C XSTAR8(7) : = EQPMA = AEQU. der EB in RA, meistens nicht explizit C gegeben, dann = XSTAR8(1) setzen. C KENNX8(7) : = siehe Datei /u/ari/s07/doc/kennung/timeunit C aber nur Groesse N1 eintragen !!! C XSTAR8(7) = -8888.d0 KENNX8(7) = 0 C C C C XSTAR8(8) : = EPPMA = Epoche der EB in RA, in den meisten Katalogen C nicht explizit gegeben, dann = auf -8888.0 belassen. C KENNX8(8) : = siehe Datei /u/ari/s07/doc/kennung/timeunit C aber nur Groesse N1 eintragen !!! C XSTAR8(8) = -8888.D0 KENNX8(8) = 0 C C C C XSTAR8(9) : = PMA = Eigenbewegungen in RA wie publiziert C (oder Differenzen gegen einen Referenzkatalog, C Differenzen NICHT in Radians umrechnen) C KENNX8(9) : = siehe Datei /u/ari/s07/doc/kennung/eigbew C C XSTAR8(9) = -8888.D0 * if (str(52:52) .eq. '&') str(52:52) = '+' * READ(STR(52:54),'(F3.0)') XSTAR8(9) xstar8(9) = -8888.d0 KENNX8(9) = 0 C C C C XSTAR8(10): = EQPMD = AEQU. der EB in DEC, meistens nicht explizit C gegeben, dann = XSTAR8(4) setzen. C KENNX8(10): = siehe Datei /u/ari/s07/doc/kennung/timeunit C aber nur Groesse N1 eintragen !!! C XSTAR8(10) = -8888.d0 KENNX8(10) = 0 C C C C XSTAR8(11): = EPPMD = Epoche der EB in DEC, in den meisten Katalogen C nicht explizit gegeben, dann = auf -8888.0 belassen. C KENNX8(11): = siehe Datei /u/ari/s07/doc/kennung/timeunit C aber nur Groesse N1 eintragen !!! C XSTAR8(11) = -8888.D0 KENNX8(11) = 0 C C C C XSTAR8(12): = PMD = Eigenbewegungen in DEC wie publiziert C (oder Differenzen gegen einen Referenzkatalog, C Differenzen NICHT in Radians umrechnen) C KENNX8(12): = siehe Datei /u/ari/s07/doc/kennung/eigbew C C XSTAR8(12) = -8888.D0 * if (str(72:72) .eq. '&') str(72:72)='+' * READ(STR(72:74),'(F3.0)') XSTAR8(12) xstar8(12) = -8888.d0 KENNX8(12) = 0 C C C C XSTAR8(13): = EPMRAS siehe nach XSTAR8(2) C C XSTAR8(14): = EPMDEC siehe nach XSTAR8(5) C C C C ................................................................... C C C DEFINITION DER INTEGER*2 VARIABELN C ==================================== C C C ISTAR2(1) : = CSORT = Katalogart (Beobachtungskatalog, Kompilation) C vgl. Datei /u/ari/s07/doc/kennung/katsort C ISTAR2(1) = -2 C C C C ISTAR2(2) : = CAT = Teleki-Nummer des Katalogs C ISTAR2(2) = 0147 C C C C ISTAR2(3) : = CATPV = Katalogteil oder Version C siehe Datei /u/ari/s07/doc/kennung/katsort C ISTAR2(3) = 10 C C C C ISTAR2(4) : = CATCA = Appendix zur Katalognummer nach Originalkatalog C (numerisch), vgl. Datei /u/ari/s07/doc/kennung/appendic C ISTAR2(4) = 0 C C C C ISTAR2(5) : = CATDC = Doppelsternkomponentenbezeichnung im Katalog C (numerisch), vgl. Datei /u/ari/s07/doc/kennung/doppelst C ISTAR2(5) = 0 C call (dsconv(str,nn,nn,istar2(5),ierr) C if (ierr.ne.0)stop C C C C ISTAR2(6) : = QUSE = Benutzungskennzeichen C das kann man wohl erst spaeter vergeben ? C also derzeit -8888 belassen C ISTAR2(6) = -8888 C C C C ISTAR2(7) : = INDVAR = Veraenderlichen-Kennzeichen im katalog C (numerisch), vgl. Datei /u/ari/s07/doc/kennung/variable C * if (str(33:33).eq.'-') then * istar2(7) = 2 * else ISTAR2(7) = 0 * endif C if(kennx4(1).eq.0)istar2(7)=0 C C ISTAR2(8) : = INDMAG = Kennzeichen fuer Catmag C z.B.: beobachtet oder uebernommen, C vgl. Datei /u/ari/s07/doc/kennung/magnit C ISTAR2(8) = 0 C if(kennx4(1).eq.0)istar2(8)=0 C C ISTAR2(9): = SYSMAG = Helligkeitssystem von Catmag (numerisch), C vgl. Datei /u/ari/s07/doc/kennung/magnit C C =======> FALLS IM KATALOG GEGEBEN, U N B E D I N G T EINTRAGEN C C ISTAR2(9) = 0 C if(kennx4(1).eq.0)istar2(9)=0 C C ISTAR2(10): = IERAS = Kennzeichen fuer Epoche und Aequinox in RA C vgl. Datei /u/ari/s07/doc/kennung/timeunit C dort nur Kennzeichen fuer Praezession der C Variabeln N2 zuordnen. C Bei Katalogen die nur D I F F E R E N Z E N geben C ist N2 immer = 2 C C N2 = 9 ISTAR2(10) = 100*KENNX8(1) + 10*KENNX8(2) + N2 C C ISTAR2(11): = QRAS = Eignung der Rektaszension fuer Benutzung. C 1 = Beobachtung brauchbar. C 0 = Beobachtung unbrauchbar oder nicht C gegeben. C 2 = Beobachtung vermutlich brauchbar, aber: C es ist keine individuelle Epoche ange- C geben; statt dessen wurde die Epoche C geschaetzt (entweder aus anderen C Epochenangaben, aus dem Beobachtungs- C Zeitraum, oder Aehnlichem) C C Falls kein offensichtlicher Grund da ist, C die Beobachtung zu verwerfen (z.B. wenn die C Koordinate nur genaehert gegeben oder wenn C sie aus einem anderen Katalog stammt) dann C zunaechst QRAS = 1 setzen. C Im Verlaufe der weiteren Bearbeitung kann C sich dieses Kennzeichen aendern. C C C ISTAR2(11) = QRAS = Eignung der Rektaszension fuer Benutzung. ISTAR2(11) = 0 * if(kennx8(2).eq.0)istar2(11)=0 C C ISTAR2(12): = SYSRAS = Kennzeichen fuer System von RAS C vgl. Datei /u/ari/s07/doc/kennung/systkat C ISTAR2(12) = 0 C C C ISTAR2(13): = IEDEC = Kennzeichen fuer Epoche und Aequinox in DEC C vgl. Datei /u/ari/s07/doc/kennung/timeunit C dort nur Kennzeichen fuer Praezession der C Variabeln N2 zuordnen. C Bei Katalogen die nur D I F F E R E N Z E N geben C ist N2 immer = 2 C C N2 = 9 ISTAR2(13) = 100*KENNX8(4) + 10*KENNX8(5) + N2 C C ISTAR2(14): QDEC = Eignung der Deklination fuer die Benutzung. C vgl. hierzu "QRAS" = ISTAR2(11) C ISTAR2(14) = 2 * if(kennx8(5).eq.0)istar2(14)=0 C C ISTAR2(15): = SYSDEC = Kennzeichen fuer System von DEC C vgl. Datei /u/ari/s07/doc/kennung/systkat C ISTAR2(15) = 0 C C C ISTAR2(16): = IEPMA = Kennzeichen fuer Epoche und Aequinox C der Eigenbewegung in Rektaszension, C vgl. Datei /u/ari/s07/doc/kennung/timeunit C dort nur Kennzeichen fuer Praezession der C Variabeln N2 zuordnen. C C N2 = 0 ISTAR2(16) = 100*KENNX8(7) + 10*KENNX8(8) + N2 C C C ISTAR2(17): = QPMA = Eignung der Eigenbew. in RAS fuer Benutzung. C vgl. hierzu "QRAS" = ISTAR2(11) C ISTAR2(17) = 0 * if(kennx8(9).eq.0)ISTAR2(17) = 0 C C ISTAR2(18): = SYSPMA = Kennzeichen fuer System von PMA C vgl. Datei /u/ari/s07/doc/kennung/systkat C ISTAR2(18) = -8888 * if(kennx8(9).eq.0)ISTAR2(18) = -8888 C C C C ISTAR2(19): = IEPMD = Kennzeichen fuer Epoche und Aequinox C der Eigenbewegung in Deklination, C vgl. Datei /u/ari/s07/doc/kennung/timeunit C dort nur Kennzeichen fuer Praezession der C Variabeln N2 zuordnen. C C N2 = 0 ISTAR2(19) = 100*KENNX8(10) + 10*KENNX8(11) + N2 C C ISTAR2(20): = QPMD = Eignung der Eigenbew. in DEC fuer Benutzung. C vgl. hierzu "QRAS" = ISTAR2(11) C ISTAR2(20) = 0 * if(kennx8(12).eq.0)istar2(20) = 0 C C ISTAR2(21): = SYSPMD = Kennzeichen fuer System von PMD C vgl. Datei /u/ari/s07/doc/kennung/systkat C ISTAR2(21) = -8888 * if(kennx8(12).eq.0)istar2(21) = -8888 C C A C H T U N G !!!!!!!!!!!!!!! C C ISTAR2(22) : wird im Identifizierungsprogramm als Flag benutzt, C warum ein Stern nicht identifiziert wurde; C 0 = wegen KOORDINATE nicht identifiziert C 1 = wegen HELLIGKEIT nicht identifiziert C ALSO : ISTAR2(22) N I C H T M E H R V E R W E D E N C C ................................................................... C C C DEFINITION DER INTEGER*4 VARIABELN C ==================================== C C C ISTAR4(1) : = CATAN = Nummer des Sterns nach ARI-Zaehlung C ISTAR4(1) = ISTAR4(1) + 1 C C ISTAR4(2) : = CATCN = Nummer des Sterns im Originalkatalog C C =======> Falls im Katalog gegeben, U N B E D I N G T eintragen C C read(str(1:3),'(i3)') ISTAR4(2) C C C FALLS EIN KATALOG POSITIONEN GIBT, DANN NUR NOCH GEGEN ENDE C DES LESEPROGRAMMES (AB ZEILENNUMMER 87600) DIE NICHT C SPEZIFIZIERTEN VARIABELN EINTRAGEN. C DAS ANDERE ENTFAELLT. C C C PRUEFEN, OB KATALOG DIFFERENZEN GIBT C N1A = KENNX8(3)/10000 N2A = KENNX8(3) - N1A*10000 N2A = N2A/1000 N1D = KENNX8(6)/10000 N2D = KENNX8(6) - N1D*10000 N2D = N2D/1000 C WRITE(6,1234) ISTAR4(1),ISTAR4(2),N2A,N2D 1234 FORMAT(1X,4I10) IF ((N2A.NE.2).AND.(N2D.NE.2)) GOTO 850 C ...................................................... C C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C WENN KATALOG DIFFERENZEN GIBT, JETZT BEOBACHTETEN ORT C REKONSTRUIEREN C C Naeheres steht in /u/ari/s07/doc/kennung/differ C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C C Der Identifizierer hat IVERS zu definieren:<=============== C C C IVERS STEUERT DIE PRAEZESSION UND DAS LESEN DER DATEI C C IVERS IST EINE 2-STELLIGE ZAHL, C DEREN 1. ZIFFER SICH AUF DIE PRAEZESSION BEZIEHT, DIE C IM REFERENZKATALOG BENUTZT WURDE, UND C DIE 2. ZIFFER KENNZEICHNET ZUSAETZLICH DIE DATEI, C VON DER GELESEN WIRD. C DIE GESAMTE ZAHL = KANALNUMMER, UNTER DER DER REFERENZKATALOG C GELESEN WIRD. C C IAU(1976) - KATALOGE HABEN ALS 1. ZIFFER EINE 1 C NEWCOMB - KATALOGE HABEN ALS 1. ZIFFER EINE 2, 3 ODER 4 C STRUWE - KATALOGE HABEN ALS 1. ZIFFER EINE 5 C C FK5 - 2. ZIFFER 1 ALSO INSGESAMT IVERS = 11 C UND FK5-EXTENSION C C FK4 - 2. ZIFFER 1 C 1. ZIFFER 2 ALSO INSGESAMT: IVERS = 21 C UND FK4-SUP C C FK3 - 2. ZIFFER 2 ALSO INSGESAMT: IVERS = 22 (NUMMERN DER C 1. ZIFFER 2 TOTEN STERNE OHNE 4000 AUFADDIERT) C C NFK - 2. ZIFFER 3 ALSO INSGESAMT: IVERS = 23 C 1. ZIFFER 2 C GC - 2. ZIFFER 4 ALSO INSGESAMT: IVERS = 24 C 1. ZIFFER 2 C C FK3R - 2. ZIFFER 5 ALSO INSGESAMT: IVERS = 25 C 1. ZIFFER 2 C C PFKSZ - 2. ZIFFER 6 ALSO INSGESAMT: IVERS = 26 C 1. ZIFFER 2 C C FK3 - 2. ZIFFER 7 ALSO INSGESAMT: IVERS = 27 (NUMMERN DER C 1. ZIFFER 2 TOTEN STERNE MIT 4000 AUFADDIERT) C C EICHEL- 2. ZIFFER 8 ALSO INSGESAMT: IVERS = 28 C 1. ZIFFER 2 EICHEL = EICHELBERGER'S KATALOG C C NFK AV- 2. ZIFFER 9 ALSO INSGESAMT: IVERS = 29 C 1. ZIFFER 2 NFK MIT DEN VERBESSERUNGEN NACH C AN 231, S. 353 C C PGC - 2. ZIFFER 0 ALSO INSGESAMT: IVERS = 30 C 1. ZIFFER 3 C C NEWCOMB 2. ZIFFER 1 ALSO INSGESAMT: IVERS = 31 C 1. ZIFFER 3 C C EROS-REF 2. ZIFFER 2 ALSO INSGESAMT: IVERS = 32 C 1. ZIFFER 3 (KOPFF'S EROS-ANHALTS-STERNE) C C KSV - 2. ZIFFER 3 ALSO INSGESAMT: IVERS = 33 C 1. ZIFFER 3 C C BEISPIEL: EIN BEOBACHTUNGSKATALOG GIBT DIFFERENZEN GEGEN DER FK4; C DANN IST IVERS = 21 UND DAS IST AUCH DIE KANALNUMMER C AUS DER DER FK4 ZU LESEN IST. C C INUM = ISTAR4(1) C C DIE NUMMER DES STERNS LESEN, WIE SIE IM REFERENZKATALOG C GEGEBEN IST. C C ES KANN SEIN, DASS EIN KATALOG DIFFERENZEN ZU VERSCHIEDENEN C REFERENZKATALOGEN GIBT; C Z.B. GIBT DER CHINESISCHE GCPA DIFFERENZEN GEGEN FK4, FK4 SUP C UND FUER NICHT-FUNDAMENTALSTERNE ZU GC. C C IN DIESEM FALLE IST ABZUFRAGEN, GEGEN WELCHEN KATALOG DIE C DIFFERENZEN GEGEBEN SIND UND IVERS IST ENTSPRECHEND C VON STERN ZU STERN UNTERSCHIEDLICH ZU DEFINIEREN. C C DER BEOBACHTUNGSKATALOG MUSS AUFSTEIGEND NACH DEN NUMMERN C DER REFERENZKATALOGE SORTIERT SEIN. C C C BEISPIEL FUER EINEN KATALOG, DER DIFFERENZEN ZU C ----------------------------------------------------------- C 2 REFERENZKATALOGEN GIBT. C -------------------------- C C DAS SOLLTE DIE AUSNAHME SEIN C STANDARD-BEISPIEL, WENN DIFFERENZEN GEGEN 1 REFERENZKATALOG C GEGEBEN SIND, KOMMT ANSCHLIESSEND. C C C880 READ(STR(5:9),'(I5)') NRGC C READ(STR(10:13),'(I4)') NRFK4 C WRITE(6,2588) NRGC,NRFK4 C2588 FORMAT(1X,'NRGC = ',I10,' NRFK4 =',I10 ) C2589 FORMAT(1X,'NRFK = ',I10) C2587 FORMAT(1X,'IVERS = ',I10) C NRFK = NRFK4 C IF (NRFK4.EQ.0) NRFK = NRGC C WRITE(6,2589) NRFK C IVERS = 21 C IF(NRFK4.EQ.0) IVERS = 24 C WRITE(6,2587) IVERS C IF ( (NRFK.EQ.0).OR.(NRFK.GT.2000)) GOTO 100 C C C NORMALFALL: ES SIND DIFFERENZEN ZU NUR EINEM REFERENZKATALOG C ------------------------------------------------------------ C GEGEBEN, ANSONSTEN SIEHE OBIGES BEISPIEL. C ----------------------------------------- C NRFK = NUMMER DES REFERENZKATALOGES C NUR EINTRAGEN, WENN ES SICH UM EINEN DIFFERENZENKATALOG HANDELT C --------------------------------------------------------------- C NRFK = istar4(2) C C IVERS IST ENTSPRECHEND DEM REFERENZKATALOG ZU DEFINIEREN C VGL. DATEI ALL.ARIGFH.KENNUNG(DIFFER) C NUR EINTRAGEN, WENN ES SICH UM EINEN DIFFERENZENKATALOG HANDELT C --------------------------------------------------------------- C IVERS = 0 C CALL REKON (IVERS,NRFK,INUM,XSTAR8,KENNX8,ISTAR2) C C ...................................................... C C C ENDE DES LESETEILS UND DER VARIABELN DEFINITION C RUECKSPRUNG INS HAUPTPROGRAMM C 850 call applycor(xstar4,kennx4,xstar8,kennx8,istar2,istar4) RETURN C C Ende der Datei erreicht, RETURN-CODE -1 Definieren C 900 CONTINUE C C C ##################################################################### C C DOKUMENTATION DER NICHT AUSGEFUELLTEN FELDER, C D.H. VON DATEN, UEBER DIE SICH DER IDENTIFIZIERER NICHT C IM KLAREN WAR. C C Z.B.: C C 1) kennx4(4) und kennx4(6) konnten nicht gesetzt werden, weil C der zugehoerige Code nicht existiert C C C C C C ##################################################################### C IRC = -1 RETURN 990 STOP END