This page was created by the IDL library routine
mk_html_help2
.
Last modified: Thu Oct 24 15:35:45 2019.
PROCEDURE: morbit PURPOSE: Given the orbit size and shape (based on 2 of 5 orbital parameters), calculates the orbital position and velocity of a satellite around a planet as a function of time. This routine is very fast when the orbital eccentricity is less than 0.95, but labors when it is very close to unity. This routine will not work at all for parabolic and hyperbolic orbits. Calculations assume a spherical central body with a spherically symmetric mass distribution, and that the mass of the central body dominates in the region of interest. You can also specify an orientation for the orbit and then create a 'fly-through' in cartesian coordinates. USAGE: morbit, param, dt=dt, result=dat INPUTS: PARAM: Orbit parameter structure, which has two of the following tags: period : orbital period (hours) sma : semi-major axis (km) palt : periapsis altitude (km) aalt : apoapsis altitude (km) ecc : eccentricity The two parameters you specify must define the size and shape of the orbit. Any two will work, except for period and sma, which both define the orbit size. The remaining parameters are calculated from the two you specify. KEYWORDS: ORIENT: A structure specifying the orientation of the orbit with three tags: lon : longitude of periapsis (deg) lat : latitude of periapsis (deg) incl : orbital inclination (deg) Lon and lat can be arrays, resulting in a grid of calculations. Incl must be a scalar. Note that abs(lat) <= abs(incl) is required. Default = {lon:0, lat:0, incl:90} Normally, the longitude, latitude, and inclination are specified in planetocentric coordinates (i.e., relative to the planet's spin axis); however, any coordinate system can be assumed, so long as all three parameters are in the SAME coordinate system. FLYTHRU: The name for a text output file containing the cartesian coordinates of the satellite vs. time for the orbit orientation specified in ORIENT. The columns for this table are: 1 -> time (sec after apoapsis) 2 -> X (km) 3 -> Y (km) 4 -> Z (km) 5 -> orbital velocity (km/s) If you don't specify this keyword, then the fly-through is still calculated and saved in RESULT. PLANET: This can be a string to select one of the eight planets. The following are also recognized: Moon, Sun, Pluto, Charon, Eris, and Ceres. It can also be a structure with the following tags: Mass : mass (g) Radius : radius (km) Name : 'name' [optional] Default = 'Mars'. If PLANET is unrecognized, you will be prompted for mass and radius. This routine is not expected to give good results for the Pluto- Charon system, because they have masses within a factor of 10 of each other. SHOCK: If PLANET = 'Mars' or 'Earth', then setting this keyword will show the nominal shock location on the orbit plots (see keyword OPLOT). Default = no. DT: Time resolution (sec). Default = PARAM.period/1000. NORBIT: Number of orbits for calculating the solution. Default = 1. NMAX: Maximum number of iterations for the orbit solver. Default = 400. Larger numbers might be needed if the orbital eccentricity is greater than 0.95. OERR: Maximum error in orbit solution, which translates roughly into fractional error in the position. Default = 1.e-6. Increase this only if you want a quicker solution at the expense of accuracy. RESULT: A structure containing the satellite altitude and true anomaly versus time. The true anomaly is the angle in the plane of the orbit about the center of the planet, with zero degrees at periapsis. The orbital velocity, and the orbit size and shape parameters are also given. OPLOT: The number of an IDL window for plotting the orbit with three orthogonal views. Default = none. TPLOT: The number of an IDL window for a time series plot of altitude and orbital velocity. Default = none. NODOT: Do not plot a symbol for periapsis. PS: Postscript plots are produced for OPLOT and TPLOT. SILENT: If set, then suppress output. SEGMENTS: Divide the orbit up into segments for color coding. This keyword should contain the time in minutes relative to apoapsis of each segment boundary. The first segment extends from APO to SEGMENTS[0]. The last segment extends from SEGMENTS[N-1] to APO, where N is the number of segments. SCOLORS: Color for each segment. Must have the same number of elements as SEGMENTS. $LastChangedBy: dmitchell $ $LastChangedDate: 2017-05-28 12:35:58 -0700 (Sun, 28 May 2017) $ $LastChangedRevision: 23358 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_3_2/projects/maven/morbit.pro $ CREATED BY: David L. Mitchell
(See projects/maven/morbit.pro)
Function: mvn_spc_met_to_unixtime Purpose: Convert MET (mission Elapsed Time) to Unix Time (which is almost equivalent to UTC) see also: "mvn_spc_unixtime_to_met" for the reverse conversion This routine is in the process of being modified to use SPICE Kernels to correct for clock drift as needed. Author: Davin Larson $LastChangedBy: davin-mac $ $LastChangedDate: 2015-10-21 11:55:01 -0700 (Wed, 21 Oct 2015) $ $LastChangedRevision: 19123 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_3_2/projects/maven/mvn_spc_met_to_unixtime.pro $
(See projects/maven/mvn_spc_met_to_unixtime.pro)