LMAGと軌道¶
LMAG(Lunar MAGnetometer)は探査機上の磁場を測る磁力計です。公開ファイル(MAG_TS*.dat)には磁場と探査機の位置が
入っているため、SOPRANは同じファイルから軌道幾何(高度、直下点、太陽天頂角)と、磁力線が月面に届くかどうかも計算します。
軌道幾何の時刻はLMAGの観測時刻そのものです。
変数¶
| 入口 | 次元 | 単位 | 座標系 | 内容 |
|---|---|---|---|---|
kg.lmag.magnetic_field |
time, component |
nT | MOON_ME |
磁場ベクトル。別名b |
kg.lmag.magnetic_field_gse |
time, component |
nT | GSE |
ファイルに入っているGSE系の磁場。別名bgse |
kg.lmag.magnetic_field_magnitude |
time |
nT | 磁場の強さ\(\lvert B\rvert\)。別名bmag |
|
kg.lmag.magnetic_connection |
time |
MOON_ME |
磁力線と月面の接続(下記) | |
kg.orbit.position |
time, component |
km | MOON_ME |
探査機の位置 |
kg.orbit.position_gse |
time, component |
km | GSE |
探査機の位置 |
kg.orbit.radial_distance |
time |
km | 月中心からの距離 | |
kg.orbit.altitude |
time |
km | 半径1737.4 kmの球からの高度 | |
kg.orbit.subpoint |
time, component |
deg | MOON_ME |
球面上の直下点の経度・緯度 |
kg.orbit.sza |
time |
deg | 直下点の太陽天頂角 |
kg = spn.kaguya
time = spn.day("2008-01-01")
b = kg.lmag.magnetic_field.load(time)
altitude = kg.orbit.altitude.load(time)
spn.stack(kg.lmag.bmag.load(time).line(), altitude.line()).plot()
軌道幾何と磁力線の接続は計算結果を既定でStoreに保存し(cache="use")、2回目からは読み直すだけになります。
元ファイルが欠けてmissing="empty"や"warn"で読んだ結果は保存しません。
太陽天頂角¶
kg.orbit.szaは、SPICEで求めた太陽方向から直下点の太陽天頂角を計算します。
カーネルを渡さず、ダウンロード方針がneverでなければ、NAIFの汎用カーネルを自動で取得します(座標変換)。
太陽方向を自分で与えるときはsun_vector=を使います。
sza = kg.orbit.sza.load(time)
sza = kg.orbit.sza.load(time, sun_vector=[1.0, 0.0, 0.0], sun_frame="MOON_ME")
軌道の位置はframe=とcontext=(FrameContext)を渡すと、読み込み時に別の座標系へ変換できます。
磁力線と月面の接続¶
magnetic_connectionは、探査機の位置から局所の磁場方向へ直線を延ばし、半径radius_km(既定1737.4 km)の球と交わるかを調べます。
磁場の向き(plus)と逆向き(minus)の両方を調べます(direction="both")。
conn = kg.lmag.magnetic_connection.load(time)
conn.plot(kind="footpoint") # footpoint, altitude, incidence, distance
conn.to_xarray()
| 変数 | 内容 |
|---|---|
connected_any、connected_plus、connected_minus |
どちらか・各向きで球と交わるか |
footpoint_plus_lon、footpoint_plus_latなど |
交点の経度・緯度(deg) |
distance_plus_km、distance_minus_km |
交点までの距離 |
incidence_angle_plus_deg、incidence_angle_minus_deg |
磁力線と月面の法線のなす鋭角 |
altitude_km |
探査機の高度 |
これは直線で近似した幾何で、月面の磁気異常による磁力線の曲がりは含みません。
表面磁場モデルを使った追跡は試作API(sopran.experimental.moon.svm3d)にあります。
別の機器の時刻に合わせる¶
PACEなど別の機器の時刻に合わせるときはresample_likeを使います。
esa1 = kg.esa1.counts.load(time, missing="warn")
conn_on_esa1 = conn.resample_like(esa1, method="nearest", tolerance="2s")
altitude_on_esa1 = altitude.resample_like(esa1, method="linear", tolerance="10s")
方法の一覧は時刻をそろえるにあります。
制約¶
- SPICEで求めた太陽方向・座標変換と、SPEDASの幾何計算との照合テストはまだありません。
- 高度と直下点は球の月で計算しており、地形(DEM)は使いません。