====== Orbfit ======
//Das OrbFit-Softwarepaket ist eine professionelle Anwendung für die Astrometrie und ein wertvolles Geschenk für Hobbyastronomen. Die Software wird unter anderem von AstDys-2, NeoDys-2 und dem Minor Planet Center genutzt. Sie ist in Fortran geschrieben und als Open-Source-Software für Linux verfügbar. Leider ist die Software nur begrenzt dokumentiert und es gibt kaum Tutorials. Trotzdem ist sie aufgrund ihrer Leistungsfähigkeit unverzichtbar.//
OrbFit enthält eine Reihe von Programmen:
* ''orbfit.x''
* Ein Programm, mit dem Berechnungen aus Beobachtungsdaten mithilfe einer Steuerdatei durchgeführt werden können.
* ''fitobs.x''
* wie ''orbfix.x'' jedoch interaktiv, d.h. Menügesteuert.
* ''bineph.x''
* Es kann verwendet werden, um Binärdateien zu erzeugen, die Störungen durch andere Asteroiden berücksichtigen.
OrbFit Homepage und Download der Software: http://adams.dm.unipi.it/orbfit/
wichtige Seiten die Orbfit einsetzen
* **AstDys-2** https://newton.spacedys.com/astdys/
* **NeoDys-2** https://newton.spacedys.com/neodys/
* **MPC** https://www.minorplanetcenter.net/iau/mpc.html
Tutorials
* http://astronotes.co.uk/categories/index.html#tutorials
Die wichtigsten Informationsquellen sind die ''Readme-Dateien'' die mit dem Quellcode zur Verfügung stehen.
====== Download, Installation & Configuration ======
===== Überblick =====
- **OrbFit Download**
- Herunterladen und auspacken der Software in einem Verzeichnis der eigenen Wahl
- **OrbFit Install**
- kompilieren & installieren
- **OrbFit Configuration**
- ''JPLEPH'' bereitstellen (erforderlich, d.h. ohne ''jpleph'' kann ''OrbFit'' nicht verwendet werden)
- Orbitalelemente Datei zur Verfügung stellen
Für die Installation von OrbFit sind keine Root-Rechte erforderlich. Die Installation ist nicht besonders kompliziert, erfordert jedoch das Durchführen einiger Schritte.
**Voraussetzungen**
* Falls ''make'' nicht installiert ist: ''apt install make''
* Ein FTP-Client wird benötigt
===== Details =====
==== OrbFit Download ====
//Dieser Schritt ist einfach, das Paket wird heruntergeladen und ausgepackt.//
OrbFit kann unter dem folgenden Link als ''tar.gz-Paket'' für Linux heruntergeladen werden.
* **OrbFit** Download der Software: http://adams.dm.unipi.it/orbfit/
Am Beispiel der Version: ''OrbFit5.0.7.tar.gz'' wird die Vorgehensweise beschrieben.
Legen Sie ein Verzeichnis an, wo sich fortan ''OrbFit'' befinden soll.
Anschließend wird die Datei ''OrbFit5.0.7.tar.gz'' in dieses Verzeichnis verschoben und ausgepackt.
* Hier wird im Homeverzeichnis ein Ordner ''orbfit'' verwendet
Diese Aufgaben können mit der ''Gui'' oder der ''Konsole'' erledigt werden.
mkdir orbfit # Verzeichnis anlegen
cd orbfit # in das Verzeichnis wechseln
# die Software OrbFit5.0.7.tar.gz in das Verzeichnis orbfit verschieben z.b. mit mv!
tar -xzf OrbFit5.0.7.tar.gz # Software auspacken
==== OrbFit Install ====
//Wenn ''make'' und ''fortran'' vorhanden sind, ist das installieren in 2 min. erledigt.
Zuerst mit ''cd'' in das Verzeichnis gewechselt in das Orbfit zuvor extrahiert wurde (hier ''~/orbfit'').
Anschießend wird der Fortran-Compiler gesetzt und dann noch einmal ''make'' aufgerufen.//
**Fortran**
./config -O gfortran # O for Optimized
default documentation directory is /home/student/orbfit/doc
default library directory is /home/student/orbfit/lib
**make**
make
Wenn keine Fehler aufgetreten sind, ist ''OrbFit'' damit installiert.
Je nach Wunsch kann auf der Konsole oder in der ''~/.bashrc'' das ''bin''-Verzeichnis von OrbFit bekannt gemacht werden.
export PATH="$PATH:$HOME/orbfit/bin" # ORBFIT PATH e.g. in ~/.bashrc
==== OrbFit Configuration ====
//Für die Berechnungen benötigt OrbFit eine ''jpleph''-Datei. Diese Datei muss erst erstellt werden, indem eine von vielen JPLEPH-Version dazu ausgewählt wird. Elegant ist es, verschiedene Versionen in einem Ordner bereitzustellen und dann zur Laufzeit einen Link auf die Version zu setzen, die OrbFit verwenden soll. Im Folgenden wird dieses Verfahren beschrieben.//
- JPLEPH-Version auswählen und herunterladen (es handelt sich um mehrere Dateien)
- Die JPLEPH erstellen (es wird eine Binärdatei erzeugt) und bereitstellen.
=== JPLEPH-Version auswählen und herunterladen ===
//Ein ''FTPClient'' ihrer Wahl wird jetzt benötigt :-). Um später verschiedene ''JPLEPH'' auswählen zu können, laden wir beispielhaft zwei Konfigurationen von Dateien herunter. Für jede wird dann eine Binärdatei erzeugt und jeweils eine zur Laufzeit von ''OrbFit'' mit Hilfe eines symbolischen links zur Verfügung gestellt. //
* **FTP Adresse** ftp://ssd.jpl.nasa.gov
Gehen Sie in das Verzeichnis ''/pub/eph/planets/ascii''
* ''/pub/eph/planets/ascii/de421''
* Laden Sie alle Dateien (4) in ein Verzeichnis Ihrer Wahl herunter
{{ :de421.png?400 |}}
* ''/pub/eph/planets/ascii/de440''
* Laden Sie auch hier alle Dateien (13) in ein Verzeichnis Ihrer Wahl herunter
Hiermit ist dann folgende Verzeichnisstruktur vorhanden
{{ :jpleph_path.png?400 |}}
Ziel ist es nun die Dateien **jpleph421** und **jpleph440** zu erzeugen. Ich zeige die Vorgehensweise an **jpleph421**.
== Step 1: ==
Inhalt des Ordners de421 ins das ''scr/jpleph'' Verzeichnis von ''OrbFit'' verschieben (oder kopieren).
cd jpleph/de421 # in das Verzeichnis der 4-Dateien wechseln
cp * ~/orbfit/src/jpleph # alles nach orbfit/src/jpleph kopieren
== Step 2: ==
cat header.421 ascp1900.421 ascp2050.421 | ./asc2eph.x
# ... nach einiger Zeit
3201 EPHEMERIS RECORDS WRITTEN. LAST JED = 2517424.50
3301 EPHEMERIS RECORDS WRITTEN. LAST JED = 2520624.50
3401 EPHEMERIS RECORDS WRITTEN. LAST JED = 2523824.50
3426 EPHEMERIS RECORDS WRITTEN. LAST JED = 2524624.50
STOP OK
Damit wurde die Datei ''JPLEPH'' erstellt.
Wenn nur eine Konfiguration ausreicht wird diese
Datei nun mit ''mv JPLEPH ../../lib/jpleph'' ins ''lib-Verzeichnis'' verschoben und ''OrbFit'' ist einsatzbereit.
== Step 3: ==
Die ''JPLEPH'' wird jetzt in jpleph421 umgenannt (''mv JPLEPH jpleph421'').
Um diese Datei ''OrbFit'' zur Verfügung zu stellen wird ein Link erstellt.
ln -s /pathto/jpleph421 /pathto-orbfit/lib/jpleph
Analog wird auch die ''jpleph440'' erstellt.
cat header.440 ascp01550.440 ascp01650.440 ascp01750.440 ascp01850.440 ascp01950.440 ascp02050.440 ascp02150.440 ascp02250.440 ascp02350.440 ascp02450.440 ascp02550.440 | ./asc2eph.x
Die Dateien ''jpleph440'' und ''jpleph421'' werden in ein zu erstellendes Verzeichnis (hier ''jpleph'') kopiert, damit ist folgende Ordnerstruktur entstanden:
{{ :setjpleph.png?400 |}}
Ein kleines Script liegt ebenfalls im Verzeichnis, damit verschiedene JPLEPH-Dateien schnell getestet bzw. gewechselt werden können.
#!/bin/bash
# note: q&d script without exception handling etc.
# ADJUST PATH if neccessary!
TODO_JPL=$1
rm ~/app/orbfit/lib/jpleph
ln -s ~/app/jpleph/$TODO_JPL ~/app/orbfit/lib/jpleph
echo "...done"
Je nach Wunsch kann jetzt die ''JPLEPH'' gewählt werden.
cd jpleph # ins Verzeichnis wechseln
./setJPLEPH.scr jpleph421 # Auswahl der jpleph421
=== Orbitalelemente zur Verfügung stellen ===
Orbitalelement können **täglich aktualisiert** von ''Lowell Observatory'' heruntergeladen werden.
* https://lowell.edu/
* https://www.sciencedirect.com/science/article/pii/S2213133722000750?via%3Dihub
* Download der ''astorb.dat'' Datei mit Orbitalelementen https://asteroid.lowell.edu/main/astorb/
cd path
wget http://ftp.lowell.edu/pub/elgb/astorb.dat.gz
gunzip astorb.dat.gz
Wie diese Datei benutzt wird, wird in den Beispielen gezeigt.
====== OrbFit Test & eigene Beispiele ======
Orbfit (''orbfit.x'') funktioniert immer nachdem gleichen Prinzip.
Beobachtungsdaten (''*.obs oder *.rwo'') und eine Steuerdatei (''*.oop'') (die sagt was mit den Daten gemacht werden sollen) werden dem Programm ''orbfit.x'' übergeben. Das Programm ''orbfit.x'' erzeugt dann eine Reihe von Ausgabedateien mit dem Ergebnissen.
Falls Störungen durch Asteroiden berücksichtigt werden sollen, müssen diese in Form einer ''*.bai'' und ''*.bep'' Datei vorliegen.
In den meisten Fällen wird auch eine Datei mit Orbitalelementen (z.b. ''astorb.dat'') benötigt.
* **OrbFit Test**
- mitgelieferte Tests kompilieren
* **OrbFit Example**
- eigene Beispiele einbinden und ausprobieren
==== OrbFit Test ====
Um die mitgelieferten Beispiele von ''OrbFit'' auszuprobieren, wechselt man in das Verzeichnis ''test'' und ruft den Befehl ''make'' auf.
cd ~/orbfit/tests/
make
Falls weitere Beispiele gewünscht sind, können ältere OrbFit-Versionen verwendet werden, da diese häufig andere Beispiele enthalten. Die Beispiele sind jeweils im ''test'' Verzeichnis der entsprechenden ''OrbFit''-Version zu finden.
* https://github.com/Unipisa/OrbFit-Depository/tree/master/browsable_source
Es kann hilfreich sein, das Studium der verschiedenen Konfigurationsmöglichkeiten von ''OrbFit'' in einem eigenen ''Workspace'' durchzuführen. Im nächsten Abschnitt wird erläutert, wie dies gemacht werden kann.
==== eigene Beispiele ====
FIXME Beispiele hinzufügen