Basierend auf der sehr hilfreichen Antwort von @ DavidHammen habe ich Fortschritte bei der Rekonstruktion des Schwerefelds von Ceres aus den radiometrischen Daten von Dawn gemacht. Die Frage dort enthält weitere Informationen, aber hier genügt es zu sagen, dass ich Version 2 der Daten unter https://sbn.psi.edu/pds/resource/dawn/dwncgravL2.html verwende
Unten ist ein Python-Skript, mit dem ich die JGDWN_CER18C_SHA.TAB
Datei gelesen und das Gravitationspotentialfeld erstellt habe. Ich verwende SciPy, sph_harm
das normalisiert ist, und ich frage mich, wie ich sicher sein kann, ob dies die gleiche Normalisierung ist , die von der Normalisierung des NASA Planetary Data System in der Phrase (in der JGDWN_CER18C_SHA.LBL
Datei) angenommen wird:
Einige Details, die dieses Modell beschreiben, sind:
- Die sphärischen harmonischen Koeffizienten sind vollständig normalisiert.
Die SciPy-Dokumentation sagt (ich habe gerade den HTML-Code von der Inspektion der Webseite kopiert und es wird auch hier auf magische Weise formatiert, yay!):
Ich würde zwar mit einer veröffentlichten Karte vergleichen, und ich habe das Bild unten gefunden, das Topographie und Schwerkraft zeigt, aber diese können aus mehreren Gründen nicht verglichen werden, darunter:
Ich verstehe, dass Sie, um eine Karte der Beschleunigungsgröße zu erhalten , mit dem Gradienten des Potenzials beginnen müssen, aber eine ausgewachsene Bouguer-Anomalie kann andere Korrekturen haben, die weit über das hinausgehen, was ich jetzt verstehen muss. Tatsächlich möchte ich Dawns Umlaufbahn mit niedriger Periapsis modellieren .
Frage: Anstatt mit diesem Diagramm der Bouguer-Anomalie zu vergleichen, möchte ich meine Rekonstruktion des Potenzials irgendwie direkt vergleichen. Wie kann ich das machen? Wie kann ich es überprüfen?
" Extra Credit: " Ergeben die PDS-Koeffizienten ein reduziertes Potential (Energie pro Masseneinheit) mit Einheiten von km^2/s^2 statt m^2/s^2?
unten: Von Park et al. Ein teilweise differenziertes Inneres für (1) Ceres, abgeleitet aus seinem Gravitationsfeld und seiner Form Nature Band 537, Seiten 515–517 (22. September 2016) https://doi.org/10.1038/nature18955
unten: Ich habe U für n ≥ 5 und 4 aufgetragen, weil die Terme niedriger Ordnung das r = Rref-Diagramm überwältigen. Dies ist natürlich (wahrscheinlich einer von mehreren Gründen), warum Menschen Bouguer-Diagramme verwenden und auf dem Ellipsoid auswerten.
import numpy as np
import matplotlib.pyplot as plt
from scipy.special import sph_harm
halfpi, pi, twopi = [f*np.pi for f in (0.5, 1, 2)]
degs, rads = 180/pi, pi/180
j = np.complex(0, 1)
fname = "JGDWN_CER18C_SHA.TAB"
with open(fname, 'r') as infile:
lines = infile.readlines()
header_data = lines[0].split(',')
Rref, GM, GMerr = [float(x) for x in header_data[0:3]]
Order_0, Order_1, normalization_state = [int(x) for x in header_data[3:6]]
if normalization_state == 1:
print "coefficients are normalized"
elif normalization_state == 0:
print "coefficients are NOT normalized"
else:
print "coefficients normalization is unclear"
h_lines = [line.split(',') for line in lines[1:]]
indices = np.array([[int(x) for x in line[0:2]] for line in h_lines])
coeffs = np.array([[float(x) for x in line[2:4]] for line in h_lines])
Cstars = (np.array([1, +j]) * coeffs).sum(axis=1) # make coefficient complex
ph = np.linspace(0, pi, 180+1)[:-1]
th = np.linspace(0, twopi, 360+1)[:-1]
phi, theta = np.meshgrid(ph, th, indexing='ij')
# https://docs.scipy.org/doc/scipy-1.1.0/reference/generated/scipy.special.sph_harm.html#scipy.special.sph_harm
harmonics = []
for (n, m), Cstar in zip(indices, Cstars):
Y = sph_harm(m, n, theta, phi)
harmonics.append((n, m, (Y * Cstar).real)) # 3-tuple of n, m, Y*C product
# evaluate gravitational potential
r = Rref
U_mono = -GM/r
nmins = (5, 4) # 5, 4, 3, 2
Us = []
for nmin in nmins:
count = 0
U = np.zeros_like(phi)
for n, m, h in harmonics:
if n >= nmin:
U += h * (Rref/r)**n
count += 1
print nmin, count
Us.append(U)
if True:
plt.figure()
for i, (nmin, U) in enumerate(zip(nmins, Us)):
plt.subplot(len(Us), 1, i+1)
plt.imshow(U, cmap='PuOr')
plt.title('U_ceres(r=' + str(round(r, 1)) + 'km), nmin = ' + str(nmin), fontsize = 16)
plt.colorbar()
plt.show()
Brandon A. Jones hat in seiner Dissertation von 2010, die hier verfügbar ist, eine hervorragende Zusammenfassung der verschiedenen Formulierungen und Methoden zur Berechnung von sphärischen Harmonischen verfasst . Besonders interessant ist Kapitel 2. Vielleicht möchten Sie auch Fantino & Casotto 2008 "Methoden der harmonischen Synthese für globale Geopotentialmodelle und ihre Gradienten erster, zweiter und dritter Ordnung" lesen, die eine leicht vereinfachte Berechnung der Harmonischen vorschlagen.
Wichtig: Der Rahmen, in dem die Harmonischen berechnet werden, ist ein körperfester Rahmen. Im Fall der Erde verwenden Sie den ECEF-Rahmen (vgl. Kapitel 2 von G. Xu und Y. Xu, GPS, DOI 10.1007/978-3-662-50367-6_2 – das frei zugänglich ist – für a durch Berechnung dieses Frames aus einem ECI-Frame unter Verwendung des IAU2000-Frameworks). Bei anderen Körpern und insbesondere bei Ceres müssen Sie einen körperfesten Rahmen erstellen. Diese GMAT-Dokumentation kann hilfreich sein.
Ich bin vor ein paar Wochen selbst auf ein ähnliches Problem gestoßen. In Bezug auf die Normalisierung und zumindest in den Fällen der Erde, des Mondes und anderer Kernel, die auf PDS Geosciences Node verfügbar sind, enthalten die SHADR-Dateien die normalisierten sphärischen Harmonischen. In ähnlicher Weise enthält das EGM2008 Tide Free-Modell auch normalisierte Harmonische. Dies vereinfacht die Berechnung erheblich, da Sie Oberschwingungen nicht mit Fakultätsmathematik neu berechnen müssen.
Der Überprüfungsschritt sollte recht einfach sein, die Validierung jedoch nicht. Der Verifizierungsprozess besteht meiner Erfahrung nach darin, sicherzustellen, dass die Dinge korrekt implementiert sind: Man überprüft die codierte Mathematik und dass alle Blöcke zusammenpassen. Der Validierungsschritt ist jedoch komplizierter. Dort möchten Sie sicherstellen, dass das Richtige implementiert wurde, dh dass trotz der richtigen Mathematik der richtige Rahmen verwendet wird, um die Wirkung der sphärischen Harmonischen auf das umlaufende Fahrzeug zu berechnen.
Wie oben erörtert, speichern sowohl die SHADR- als auch die SHBDR-Datei die normalisierten Koeffizienten. Daher besteht eine Validierungsmethode, für die ich mich für mein kommendes Tool entschieden habe , darin, Ergebnisse desselben Szenarios rigoros mit einem anderen bekannten Validierungstool zu vergleichen. In meinem Fall verwende ich GMAT und GMAT der NASA, STK und andere . Speziell im Fall von GMAT glaube ich jedoch nicht, dass es möglich ist, SHADR-Dateien zu importieren. Sie müssen es also in die unterstützende COF-Datei konvertieren oder ein anderes Ausbreitungstool finden, mit dem Sie auch bestimmte Dynamiken ein- und ausschalten können (in diesem Fall möchten Sie, dass die Harmonischen in einem bestimmten Grad und einer bestimmten Reihenfolge eingeschaltet werden, aber nur Ceres als Punktmasse).
David Hammen
David Hammen
äh
äh
Magische Oktopus-Urne
Julio
äh
WJB
äh