Wie kann ich mein rekonstruiertes Schwerefeld von Ceres anhand von Kugelflächenfunktionen verifizieren?

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.TABDatei gelesen und das Gravitationspotentialfeld erstellt habe. Ich verwende SciPy, sph_harmdas 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.LBLDatei) 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!):

Y n m ( θ , ϕ ) = 2 n + 1 4 π ( n m ) ! ( n + m ) ! e ich m θ P n m ( cos ( ϕ ) )

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:

  1. Die veröffentlichte Karte ist die Gravitationsbeschleunigung , nicht das Potenzial
  2. Es ist eine Darstellung der Bouguer-Anomalie , die (für mich) etwas (zu) kompliziert ist, aber grob gesagt, wenn ich das richtig verstehe, bedeutet dies (unter anderem wie Projektion und andere Korrekturterme), dass es sich um die auf dem Ellipsoid bewertete Gravitationsbeschleunigung handelt Oberfläche und nicht auf einem festen Radius. Es wurde natürlich auch (mindestens) der Monopolbegriff entfernt.

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

Geben Sie hier die Bildbeschreibung ein


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.

Geben Sie hier die Bildbeschreibung ein

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()
Verwandte, wenn nicht ein Duplikat: Wie werden die Koeffizienten im EGM96-Modell normalisiert? Leider bleibt diese Frage unbeantwortet.
Das scipy sph_harm-Paket ist nicht das, was Sie wollen. Es verwendet die in der Quantenphysik bevorzugte Form der sphärischen Harmonischen. Geophysiker verwenden eine Form, die die reellen Sinus- und Kosinusfunktionen anstelle der komplexen Exponentialfunktion verwendet, und die Normalisierung ist anders.
@DavidHammen Danke für deinen Hinweis, das ist wirklich hilfreich! Beim Machen C s t a r = C + j S und dann auswerten r e a l ( Y   C s t a r ) hält sie effektiv getrennt (obwohl ich vielleicht ein Minuszeichen hätte verwenden sollen C s t a r = C j S jetzt, wo ich darüber nachdenke) ist die Normalisierung eine echte Wurmkiste, daher bin ich nicht überrascht, dass es mehr als einen Weg geben könnte, dies zu tun. Okay, ich werde in Geophysik-Papieren auf die Jagd gehen. Vielleicht enthält es eine PDF-Datei mit einer Anleitung, die einem WGS84-Modell zugeordnet ist.
Update: Ich bin auf Folgendes gestoßen und recherchiere jetzt; Physikalische Geodäsie, 2. (korrigierte) Ausgabe. Bernhard Hofmann-Wellenhof Helmut Moritz, SpringerWienNewYork, Abschnitt 1.10 Vollständig normierte sphärische Harmonische
Oh mein Herr ... das hat Spaß gemacht, Mann zu lesen. Vielen Dank für das Posten des Codes! Als Entwickler ist das großartig!!!
Wenn Sie versuchen, die Schwerkraft an der Oberfläche mit sphärischen Harmonischen abzugleichen, viel Glück. Es kann unmöglich sein, da sphärische Harmonische innerhalb der Brillouin-Sphäre divergieren, weshalb für Landeoperationen Polyeder- oder Mascon-Modelle bevorzugt werden. Aber vielleicht habe ich die Frage falsch verstanden. Wie auch immer, wenn Ihre endgültige Anwendung ein umlaufender Körper ist, würde ich vorschlagen, manuell eine Routine für die Beschleunigung manuell zu codieren (es gibt einen analytischen Ausdruck für den Gradienten) und zu prüfen, ob die Ergebnisse mit der SciPy-Funktion übereinstimmen (falls vorhanden). Entschuldigung, kein Python-Benutzer, aber das habe ich in MATLAB gemacht
@Julio danke für die schnelle Antwort! Okay, ich schaue mir das nochmal an (es ist eine Weile her). Ja, ich möchte Umlaufbahnen berechnen, aber hoffentlich wird es außerhalb einer minimalen Sphäre liegen, so dass die Harmonischen gültig sind. Ich schaue mir noch einmal an, welche Gravitationsdaten für Ceres verfügbar sind ...
@uhoh Ich bin mir nicht sicher, ob ich eine vollständige Antwort geben kann, aber meiner Erfahrung nach bedeuten normalisierte Schwerkraftkoeffizienten normalerweise echte Harmonische, 4pi normalisiert. Ich verstehe, dass Sie Dinge selbst codieren möchten, aber überprüfen Sie Ihre Berechnungen vielleicht anhand der SHTOOLS-Bibliothek, die für potenzielle Feldarbeiten in den Erd- / Planetenwissenschaften geschrieben wurde. Wenn Sie Zugriff auf Ellipsoid- und Topografieinformationen haben, macht es dieses Beispiel-Notebook einfach, den Bouguer-Vergleichsweg zu gehen: nbviewer.jupyter.org/github/SHTOOLS/SHTOOLS/blob/master/…
@WJB werde ich mir ansehen, vielen Dank! Wird ein Raumschiff, das Ceres umkreist, auf Jupyter funktionieren? :-)

Antworten (1)

Formulierung

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.

Normalisierung hin oder her

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.

Verifizierung & Validierung

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).

ChrisR zur Rettung (wieder)! Okay, ich werde mir das gründlich durchlesen. Kannst du mir aber zuerst ein tl;dr geben? Werde ich einige Datenpunkte mit Gravitationspotential an einigen Stellen finden, die ich als Bestätigungspunkte verwenden kann, oder ist Ihre Antwort, dass ich Platz auf meinem Laptop schaffen, herunterladen, unter MacOS installieren und dann ein ganz neues Programm lernen muss, bevor ich es kann? kann etwas nützliches bekommen?
Stimmt, tut mir leid, dass ich nicht wirklich zum Kern Ihrer Frage gekommen bin. Wenn Sie Ihre Implementierung überprüfen möchten, ist der Vergleich eines Bouguer-Diagramms meiner Meinung nach ein guter Anfang. Zur Validierung müssten Sie sich bestimmte numerische Werte ansehen. Dafür gibt es zwei Methoden. Die erste erfordert, dass Sie Werte aus einer vertrauenswürdigen Quelle (wie einem Papier) finden, dh "mit diesem gegebenen Zustand erhalten wir ein Gravitationspotential von X, wenn wir Grad N verwenden und M aus Datei Z bestellen". Die zweite Möglichkeit besteht darin, ein Ausbreitungsergebnis zu finden oder es aus einer Quelle wie GMAT zu generieren (funktioniert unter Windows, Linux und Mac).
@uhoh, vielleicht möchten Sie sich auch an die Planetenwissenschaftler von Open Planetary wenden. Sie sind sehr hilfsbereit und antworten ziemlich schnell auf ihr öffentliches Slack-Chat-System.
Okay, ich dachte, ich hätte erklärt, warum ein Vergleich mit einem Bouguer-Plot eine schlechte Idee für mich wäre. Ich habe noch nie von Open Planetary gehört, was ist das?
Okay, ich dachte, ich hätte erklärt, warum ein Vergleich mit einem Bouguer-Plot eine schlechte Idee für mich wäre. Ich habe noch nie von Open Planetary gehört, was ist das? Oh, ich verstehe, es ist eine Sammlung von Kopfschüssen von Menschen, die versuchen, klug, vorausschauend und sachkundig auszusehen. Ich denke, dass Websites, die eher ein Dutzend Vanity -Headshots als Wissenschaft zeigen, eher nicht sehr hilfreich sind, aber okay, ich werde es mir ansehen. Danke für diesen Vorschlag!
@uhoh, hast du dir ihren Slack angesehen ( openplanetary.slack.com ). Die Leute dort sind normalerweise ansprechbar. Wie auch immer, ich habe gerade noch einmal gelesen, warum Sie den Handlungsvergleich nicht durchführen konnten, und es macht Sinn. Dazu müssen Sie eine gute Referenz finden. Darüber hinaus beziehen sich die sphärischen Harmonischen ja auf ein Referenzellipsoid, daher benötigen Sie den Abflachungskoeffizienten dieser Referenz. Schließlich möchten Sie sich vielleicht NASA GEODYN ansehen, einen Fortran-Code für präzise Geodäsie, der selbst von heutigen Doktoranden ausgiebig verwendet wird (zwei Freunde verwenden ihn jeden Tag).
"sphärische Harmonische beziehen sich auf ein Referenzellipsoid" Nein, das sind sie nicht. Ein Bouguer-Diagramm könnte jedoch die Stärke der Gravitationsbeschleunigung auf dem Ellipsoid zeigen. Gibt es eine Möglichkeit, Definitionen in GEODYN für sphärische harmonische Koeffizienten zu erfahren, die dieselben sind wie die in den Dawn/Ceres-Daten verwendeten?
Sie haben Recht (und ich habe mich geirrt): Die Harmonischen entsprechen nicht dem Referenzellipsoid, zumindest nicht für Erdharmonische. Ich habe einen Freund gefragt, der sich viel besser mit Geodäsie auskennt als ich, und er hat den folgenden Link für eine gute Erklärung der Bouguer-Anomalie empfohlen: planetary.org/blogs/emily-lakdawalla/2012/… . Ich glaube auch nicht, dass GEODYN seine eigenen Harmonischen bereitstellt, sondern ich denke, dass der Benutzer sie spezifizieren muss. Nehmen Sie diese letzte Behauptung mit äußerster Vorsicht, denn ich habe GEODYN selbst noch nie verwendet!
Ich habe mich nach GEODYN erkundigt, um zu sehen, wie es sphärische harmonische Koeffizienten verwendet , um Potential- und Beschleunigungsfelder zu konstruieren, nicht um sie zu erzeugen.