| Geometric Event Finding Hands-On Lesson, using TGO (MATLAB) |
Table of ContentsGeometric Event Finding Hands-On Lesson, using TGO (MATLAB) Overview Note About HTML Links References Tutorials Required Readings The Permuted Index Mice API Documentation Kernels Used Mice Modules Used Find View Periods Task Statement Learning Goals Approach Solution steps Solution Solution Meta-Kernel Solution Code Solution Sample Output Find Times when Target is Visible Task Statement Learning Goals Approach Solution steps Solution Solution Meta-Kernel Solution Code Solution Sample Output Extra Credit Task statements Solutions Geometric Event Finding Hands-On Lesson, using TGO (MATLAB)
Overview
In this lesson the student is asked to construct a program that finds the time intervals, within a specified time range, when the ExoMars-16 Trace Gas Orbiter (TGO) is visible from ESA's deep space station in New Norcia. Possible occultation of the spacecraft by Mars is to be considered. Note About HTML Links
In order for the links to be resolved, if not done already by installing the lessons package under the Toolkit's ``doc/html'' directory, create a subdirectory called ``lessons'' under the ``doc/html'' directory of the ``mice/'' tree and copy this document to that subdirectory before loading it into a Web browser. References
Of these documents, the ``Tutorials'' contains the highest level descriptions with the least number of details while the ``Required Reading'' documents contain much more detailed specifications. The most complete specifications are provided in the ``API Documentation''. In some cases the lesson explanations also refer to the information provided in the meta-data area of the kernels used in the lesson examples. It is especially true in case of the FK and IK files, which often contain comprehensive descriptions of the frames, instrument FOVs, etc. Since both FK and IK are text kernels, the information provided in them can be viewed using any text editor, while the meta information provided in binary kernels -- SPKs and CKs -- can be viewed using ``commnt'' or ``spacit'' utility programs located in ``mice/exe'' of Toolkit installation tree. Tutorials
Name Lesson steps/functions it describes ---------------- ----------------------------------------------- Time Time Conversion SCLK and LSK Time Conversion SPK Obtaining Ephemeris Data Frames Reference Frames Using Frames Reference Frames PCK Planetary Constants Data Lunar-Earth PCK Lunar and Earth Orientation Data GF The SPICE Geometry Finder (GF) subsystem DSK Detailed Target Shape (Topography) DataThese tutorials are available from the NAIF ftp server at JPL:
http://naif.jpl.nasa.gov/naif/tutorials.html Required Readings
Name Lesson steps/functions that it describes --------------- ----------------------------------------- frames.req Using reference frames gf.req The SPICE geometry finder (GF) subsystem kernel.req Loading SPICE kernels naif_ids.req Body and reference frame names pck.req Obtaining planetary constants data spk.req Computing positions and velocities time.req UTC to ET time conversion windows.req The SPICE window data type mice.req The Mice API The Permuted Index
This text document provides a simple mechanism by which users can discover which Mice functions perform functions of interest, as well as the names of the source files that contain these functions.
Mice API Documentation
For example, the document
mice/doc/html/mice/cspice_str2et.htmldescribes the cspice_str2et routine. Kernels Used
1. Solar System Ephemeris SPK, subsetted to cover only the time
range of interest:
de430.bsp
2. Martian Satellite Ephemeris SPK, subsetted to cover only the time
range of interest:
mar085.bsp
3. ESA stations SPK:
estrack_v01.bsp
4. ESA stations frame definitions:
estrack_v01.tf
5. EARTH_FIXED/ITRF93 frame connection:
earthfixeditrf93.tf
6. Binary PCK for Earth:
earth_070425_370426_predict.bpc
7. ExoMars-16 TGO Spacecraft Trajectory SPK, subsetted to cover only
the time range of interest:
em16_tgo_mlt_20171205_20230115_v01.bsp
8. Generic LSK:
naif0012.tls
9. Generic PCK:
pck00010.tpc
10. Low-resolution Mars DSK:
mars_lowres.bds
These SPICE kernels are included in the lesson package available from
the NAIF server at JPL:
ftp://naif.jpl.nasa.gov/pub/naif/toolkit_docs/Lessons/ Mice Modules Used
CHAPTER EXERCISE FUNCTIONS NON-VOID KERNELS
------- --------- ------------- ------------- ----------
1 viewpr cspice_furnsh cspice_rpd 1-9
cspice_kclear cspice_str2et
cspice_timout
cspice_wninsd
cspice_gfposc
cspice_wnfetd
2 visibl cspice_furnsh cspice_rpd 1-10
cspice_unload cspice_str2et
cspice_timout
cspice_wninsd
cspice_gfposc
cspice_gfoclt
cspice_wndifd
cspice_wncard
cspice_wnfetd
extra (*) cspice_gfdist 1-2,7-9
(*) Additional APIs and kernels used in Extra Credit tasks.
Refer to the Mice HTML API documentation pages located under
``mice/doc/html/mice'' for detailed interface specifications of these
functions.
Find View PeriodsTask Statement
2018 JUN 10 TDB 2018 JUN 14 TDBwhen the ExoMars-16 Trace Gas Orbiter (TGO) is visible from ESA's New Norcia station. These time intervals are frequently called ``view periods.'' The spacecraft is considered visible if its apparent position (that is, its position corrected for light time and stellar aberration) has elevation of at least 6 degrees in the topocentric reference frame NEW_NORCIA_TOPO. In this exercise, we ignore the possibility of occultation of the spacecraft by Mars. Use a search step size that ensures that no view periods of duration 5 minutes or longer will be missed by the search. Display the start and stop times of these intervals using TDB calendar dates and millisecond precision. Learning Goals
ApproachSolution steps
Preparation:
SolutionSolution Meta-Kernel
KPL/MK
This is the meta-kernel used in the solution of the tasks in the
Geometric Event Finding Hands On Lesson.
The names and contents of the kernels referenced by this
meta-kernel are as follows:
1. Solar System Ephemeris SPK, subsetted to cover only the
time range of interest:
de430.bsp
2. Martian Satellite Ephemeris SPK, subsetted to cover only
the time range of interest:
mar085.bsp
3. ESA stations SPK:
estrack_v01.bsp
4. ESA stations frame definitions:
estrack_v01.tf
5. EARTH_FIXED/ITRF93 frame connection:
earthfixeditrf93.tf
6. Binary PCK for Earth:
earth_070425_370426_predict.bpc
7. ExoMars-16 TGO Spacecraft Trajectory SPK, subsetted to
cover only the time range of interest:
em16_tgo_mlt_20171205_20230115_v01.bsp
8. Generic LSK:
naif0012.tls
9. Generic PCK:
pck00010.tpc
\begindata
KERNELS_TO_LOAD = (
'kernels/spk/de430.bsp'
'kernels/spk/mar085.bsp',
'kernels/spk/estrack_v01.bsp'
'kernels/fk/estrack_v01.tf'
'kernels/fk/earthfixeditrf93.tf'
'kernels/pck/earth_070425_370426_predict.bpc'
'kernels/lsk/naif0012.tls'
'kernels/spk/em16_tgo_mlt_20171205_20230115_v01.bsp'
'kernels/pck/pck00010.tpc'
)
\begintext
Solution Code
% % Find and display the window of times when the ExoMars-16 % TGO spacecraft is above a specified elevation limit in the % topocentric reference frame of ESA's New Norcia station. % function viewpr() % % The meta-kernel: % META = 'viewpr.tm'; % % Maximum number of intervals in any window: % MAXIVL = 1000; % % Time string length: % TIMLEN = 50; % % Format string for time output: % TDBFMT = 'YYYY MON DD HR:MN:SC.### (TDB) ::TDB'; % % Load the meta-kernel. % cspice_furnsh( META ); % % Assign the inputs for our search. % % Since we're interested in the apparent location of the % target, we use light time and stellar aberration % corrections. We use the "converged Newtonian" form % of the light time correction because this choice may % increase the accuracy of the occultation times we'll % compute using cspice_gfoclt. % srfpt = 'NEW_NORCIA'; obsfrm = 'NEW_NORCIA_TOPO'; target = 'TGO'; abcorr = 'CN+S'; start = '2018 JUN 10 TDB'; stop = '2018 JUN 14 TDB'; elvlim = 6.0; % % The elevation limit above has units of degrees; we convert % this value to radians for computation using SPICE routines. % We'll store the equivalent value in radians in REVLIM. % revlim = cspice_rpd() * elvlim; % % Since SPICE doesn't directly support the AZ/EL coordinate % system, we use the equivalent constraint % % latitude > REVLIM % % in the latitudinal coordinate system, where the reference % frame is topocentric and is centered at the viewing location. % crdsys = 'LATITUDINAL'; coord = 'LATITUDE'; relate = '>'; % % The adjustment value only applies to absolute extrema % searches; simply give it an initial value of zero % for this inequality search. % adjust = 0.0; % % STEPSZ is the step size, measured in seconds, used to search % for times bracketing a state transition. Since we don't expect % any events of interest to be shorter than five minutes, and % since the separation between events is well over 5 minutes, % we'll use this value as our step size. Units are seconds. % stepsz = 300.0; % % Display a banner for the output report: % disp( ' ' ); disp( 'Inputs for target visibility search:' ); disp( ' ' ); fprintf( ' Target = %s\n', target ); fprintf( ' Observation surface location = %s\n', srfpt ); fprintf( ' Observer''s reference frame = %s\n', obsfrm ); fprintf( ' Elevation limit (degrees) = %f\n', elvlim ); fprintf( ' Aberration correction = %s\n', abcorr ); fprintf( ' Step size (seconds) = %f\n', stepsz ); % % Convert the start and stop times to ET. % etbeg = cspice_str2et( start ); etend = cspice_str2et( stop ); % % Display the search interval start time and stop % times using the format shown below. % % 2004 MAY 06 20:15:00.000 (TDB) % timstr0 = cspice_timout( etbeg, TDBFMT ); timstr1 = cspice_timout( etend, TDBFMT ); fprintf( ' Start time = %s\n', timstr0 ); fprintf( ' Stop time = %s\n', timstr1 ); disp( ' ' ); % % Create the "confinement" window; store in this window % the interval over which we'll conduct the search. % cnfine = cspice_wninsd( etbeg, etend ); % % In the call below, the maximum number of window % intervals cspice_gfposc can store internally is % set to MAXIVL. We'll also use MAXIVL as the maximum % number of intervals in the result window. % % Now search for the time period, within our confinement % window, during which the apparent target has elevation % at least equal to the elevation limit. % riswin = cspice_gfposc ( target, obsfrm, abcorr, srfpt, ... crdsys, coord, relate, revlim, ... adjust, stepsz, MAXIVL, cnfine ); % % Let winsiz contain the number of intervals % in the SPICE window riswin. % winsiz = length( riswin )/2; % % Display the rise and set times. % if winsiz == 0 disp( 'No events were found.' ); else % % Display the visibility time periods. % fprintf( [ 'Visibility times of %s ' ... 'as seen from %s:\n\n' ], target, srfpt ); for i = 1:winsiz % % Fetch the Ith interval from the window. % [intbeg, intend] = cspice_wnfetd( riswin, i ); % % Convert the rise time to a TDB calendar string. % timstr = cspice_timout( intbeg, TDBFMT ); % % Write the string to standard output. % if i == 1 line = 'Visibility or window start time: '; else line = 'Visibility start time: '; end fprintf( '%s%s\n', line, timstr ); % % Convert the set time to a TDB calendar string. % timstr = cspice_timout( intend, TDBFMT ); % % Write the string to standard output. % if i == winsiz line = 'Visibility or window stop time: '; else line = 'Visibility stop time: '; end fprintf( '%s%s\n\n', line, timstr ); end end % % Unload kernels so they are not accidentally used by another % SPICE-based program during the current MATLAB session. % cspice_kclear; % % End of function viewpr % Solution Sample Output
Execute the program. The output is:
Inputs for target visibility search:
Target = TGO
Observation surface location = NEW_NORCIA
Observer's reference frame = NEW_NORCIA_TOPO
Elevation limit (degrees) = 6.000000
Aberration correction = CN+S
Step size (seconds) = 300.000000
Start time = 2018 JUN 10 00:00:00.000 (TDB)
Stop time = 2018 JUN 14 00:00:00.000 (TDB)
Visibility times of TGO as seen from NEW_NORCIA:
Visibility or window start time: 2018 JUN 10 00:00:00.000 (TDB)
Visibility stop time: 2018 JUN 10 02:11:17.355 (TDB)
Visibility start time: 2018 JUN 10 13:19:58.777 (TDB)
Visibility stop time: 2018 JUN 11 02:08:16.008 (TDB)
Visibility start time: 2018 JUN 11 13:16:50.542 (TDB)
Visibility stop time: 2018 JUN 12 02:05:12.548 (TDB)
Visibility start time: 2018 JUN 12 13:13:38.573 (TDB)
Visibility stop time: 2018 JUN 13 02:02:06.618 (TDB)
Visibility start time: 2018 JUN 13 13:10:23.432 (TDB)
Visibility or window stop time: 2018 JUN 14 00:00:00.000 (TDB)
Find Times when Target is VisibleTask Statement
Compute the final results twice as well, using the results of both occultation searches. For each of the two shape model cases, store the set of time intervals when the spacecraft is visible in a Mice window. We'll call this the ``result window.'' Display each of the intervals in the result window as a pair of start and stop times. Express each time as a TDB calendar date using the same format as in the previous program. Learning Goals
ApproachSolution steps
SolutionSolution Meta-Kernel
KPL/MK
This is the meta-kernel used in the solution of the tasks in the
Geometric Event Finding Hands On Lesson.
The names and contents of the kernels referenced by this
meta-kernel are as follows:
1. Solar System Ephemeris SPK, subsetted to cover only the
time range of interest:
de430.bsp
2. Martian Satellite Ephemeris SPK, subsetted to cover only
the time range of interest:
mar085.bsp
3. ESA stations SPK:
estrack_v01.bsp
4. ESA stations frame definitions:
estrack_v01.tf
5. EARTH_FIXED/ITRF93 frame connection:
earthfixeditrf93.tf
6. Binary PCK for Earth:
earth_070425_370426_predict.bpc
7. ExoMars-16 TGO Spacecraft Trajectory SPK, subsetted to
cover only the time range of interest:
em16_tgo_mlt_20171205_20230115_v01.bsp
8. Generic LSK:
naif0012.tls
9. Generic PCK:
pck00010.tpc
10. Low-resolution Mars DSK:
mars_lowres.bds
\begindata
KERNELS_TO_LOAD = (
'kernels/spk/de430.bsp'
'kernels/spk/mar085.bsp',
'kernels/spk/estrack_v01.bsp'
'kernels/fk/estrack_v01.tf'
'kernels/fk/earthfixeditrf93.tf'
'kernels/pck/earth_070425_370426_predict.bpc'
'kernels/lsk/naif0012.tls'
'kernels/spk/em16_tgo_mlt_20171205_20230115_v01.bsp'
'kernels/pck/pck00010.tpc'
'kernels/dsk/mars_lowres.bds'
)
\begintext
Solution Code
% % Find and display the window of times when the ExoMars-16 % TGO spacecraft is above a specified elevation limit in the % topocentric reference frame of ESA's New Norcia station % and is not occulted by Mars. % function visibl_m() % % The meta-kernel: % METAKR = 'visibl.tm'; % % MAXIVL is the maximum number of result window intervals. % MAXIVL = 1000; % % Format string for time output: % TDBFMT = 'YYYY MON DD HR:MN:SC.### TDB ::TDB'; % % Load the meta-kernel. % cspice_furnsh( METAKR ); % % Assign the inputs for our search. % % Since we're interested in the apparent location of the % target, we use light time and stellar aberration % corrections. We use the "converged Newtonian" form % of the light time correction because this choice may % increase the accuracy of the occultation times we'll % compute using cspice_gfoclt. % srfpt = 'NEW_NORCIA'; obsfrm = 'NEW_NORCIA_TOPO'; target = 'TGO'; abcorr = 'CN+S'; start = '2018 JUN 10 TDB'; stop = '2018 JUN 14 TDB'; elvlim = 6.0; % % The elevation limit above has units of degrees; we convert % this value to radians for computation using SPICE routines. % We'll store the equivalent value in radians in revlim. % revlim = cspice_rpd() * elvlim; % % We model the target shape as a point. We either model the % blocking body's shape as an ellipsoid, or we represent % its shape using actual topographic data. No body-fixed % reference frame is required for the target since its % orientation is not used. % back = target; bshape = 'POINT'; bframe = ' '; front = 'MARS'; fframe = 'IAU_MARS'; % % The occultation type should be set to 'ANY' for a point % target. % occtyp = 'any'; % % Since SPICE doesn't directly support the AZ/EL coordinate % system, we use the equivalent constraint % % latitude > REVLIM % % in the latitudinal coordinate system, where the reference % frame is topocentric and is centered at the viewing location. % crdsys = 'LATITUDINAL'; coord = 'LATITUDE'; relate = '>'; % % The adjustment value only applies to absolute extrema % searches; simply give it an initial value of zero % for this inequality search. % adjust = 0.0; % % STEPSZ is the step size, measured in seconds, used to search % for times bracketing a state transition. Since we don't expect % any events of interest to be shorter than five minutes, and % since the separation between events is well over 5 minutes, % we'll use this value as our step size. Units are seconds. % stepsz = 300.0; % % Display a banner for the output report: % disp( ' ' ); disp( 'Inputs for target visibility search:' ) disp( ' ' ); fprintf( ' Target = %s\n', target ) fprintf( ' Observation surface location = %s\n', srfpt ) fprintf( ' Observer''s reference frame = %s\n', obsfrm ) fprintf( ' Blocking body = %s\n', front ) fprintf( ' Blocker''s reference frame = %s\n', fframe ) fprintf( ' Elevation limit (degrees) = %f\n', elvlim ) fprintf( ' Aberration correction = %s\n', abcorr ) fprintf( ' Step size (seconds) = %f\n', stepsz ) % % Convert the start and stop times to ET. % etbeg = cspice_str2et( start ); etend = cspice_str2et( stop ); % % Display the search interval start time and stop % times using the format shown below. % % 2004 MAY 06 20:15:00.000 (TDB) % timstr0 = cspice_timout( etbeg, TDBFMT ); timstr1 = cspice_timout( etend, TDBFMT ); fprintf( ' Start time = %s\n', timstr0 ) fprintf( ' Stop time = %s\n', timstr1 ) disp( ' ' ); % % Create the "confinement" window; store in this window % the interval over which we'll conduct the search. % cnfine = cspice_wninsd( etbeg, etend ); % % In the call below, the maximum number of window % intervals cspice_gfposc can store internally is % set to MAXIVL. We'll also use MAXIVL as the maximum % number of intervals in the result window. % % Now search for the time period, within our confinement % window, during which the apparent target has elevation % at least equal to the elevation limit. % riswin = cspice_gfposc( target, obsfrm, abcorr, srfpt, ... crdsys, coord, relate, revlim, ... adjust, stepsz, MAXIVL, cnfine ); % % Now find the times when the apparent target is above % the elevation limit and is not occulted by the % blocking body (Mars). We'll find the window of times when % the target is above the elevation limit and *is* occulted, % then subtract that window from the view period window % riswin found above. % % For this occultation search, we can use riswin as % the confinement window because we're not interested in % occultations that occur when the target is below the % elevation limit. % % Find occultations within the view period window. % fprintf( ' Searching using ellipsoid target shape model...\n' ) fshape = 'ELLIPSOID'; eocwin = cspice_gfoclt( occtyp, front, fshape, fframe, ... back, bshape, bframe, abcorr, ... srfpt, stepsz, riswin, MAXIVL ); fprintf( ' Done.\n' ) % % Subtract the occultation window from the view period % window: this yields the time periods when the target % is visible. % evswin = cspice_wndifd( riswin, eocwin ); % % Repeat the search using low-resolution DSK data % for the front body. % fprintf( ' Searching using DSK target shape model...\n' ) fshape = 'DSK/UNPRIORITIZED'; docwin = cspice_gfoclt( occtyp, front, fshape, fframe, ... back, bshape, bframe, abcorr, ... srfpt, stepsz, riswin, MAXIVL ); fprintf( ' Done.\n\n' ) dvswin = cspice_wndifd( riswin, docwin ); % % The function cspice_wncard returns the number of intervals % in a SPICE window. % winsiz = cspice_wncard( evswin ); % % Display the rise and set times. % if winsiz == 0 disp( 'No events were found.' ); else % % Display the visibility time periods. % fprintf( [ 'Visibility start and stop times of %s ' ... 'as seen from %s\n' ... 'using both ellipsoidal and DSK target ' ... 'shape models:\n\n' ], target, srfpt ) for i = 1:winsiz % % Fetch the start and stop times of the ith interval % from the ellipsoid search result window evswin. % [intbeg, intend] = cspice_wnfetd( evswin, i ); % % Convert the rise and set times to TDB calendar strings. % Write the results. % btmstr = cspice_timout( intbeg, TDBFMT ); etmstr = cspice_timout( intend, TDBFMT ); fprintf( ' Ell: %s : %s\n', btmstr, etmstr ) % % Fetch the start and stop times of the ith interval % from the DSK search result window dvswin. % [dintbg, dinten] = cspice_wnfetd( dvswin, i ); % % Convert the rise and set times to TDB calendar strings. % Write the results. % btmstr = cspice_timout( dintbg, TDBFMT ); etmstr = cspice_timout( dinten, TDBFMT ); fprintf( ' DSK: %s : %s\n\n', btmstr, etmstr ) end end % % Unload kernels so they're not accidentally used by another % SPICE-based program during the current MATLAB session. % cspice_unload( METAKR ); % % End of function visibl % Solution Sample Output
Execute the program. The output is:
Inputs for target visibility search:
Target = TGO
Observation surface location = NEW_NORCIA
Observer's reference frame = NEW_NORCIA_TOPO
Blocking body = MARS
Blocker's reference frame = IAU_MARS
Elevation limit (degrees) = 6.000000
Aberration correction = CN+S
Step size (seconds) = 300.000000
Start time = 2018 JUN 10 00:00:00.000 TDB
Stop time = 2018 JUN 14 00:00:00.000 TDB
Searching using ellipsoid target shape model...
Done.
Searching using DSK target shape model...
Done.
Visibility start and stop times of TGO as seen from NEW_NORCIA
using both ellipsoidal and DSK target shape models:
Ell: 2018 JUN 10 00:00:00.000 TDB : 2018 JUN 10 01:00:30.640 TDB
DSK: 2018 JUN 10 00:00:00.000 TDB : 2018 JUN 10 01:00:28.220 TDB
Ell: 2018 JUN 10 01:41:03.610 TDB : 2018 JUN 10 02:11:17.355 TDB
DSK: 2018 JUN 10 01:41:01.630 TDB : 2018 JUN 10 02:11:17.355 TDB
Ell: 2018 JUN 10 13:28:28.785 TDB : 2018 JUN 10 14:45:38.197 TDB
DSK: 2018 JUN 10 13:28:26.205 TDB : 2018 JUN 10 14:45:35.493 TDB
Ell: 2018 JUN 10 15:26:21.981 TDB : 2018 JUN 10 16:43:32.192 TDB
DSK: 2018 JUN 10 15:26:19.598 TDB : 2018 JUN 10 16:43:28.927 TDB
Ell: 2018 JUN 10 17:24:17.290 TDB : 2018 JUN 10 18:41:27.535 TDB
DSK: 2018 JUN 10 17:24:15.690 TDB : 2018 JUN 10 18:41:24.797 TDB
Ell: 2018 JUN 10 19:22:13.628 TDB : 2018 JUN 10 20:39:21.785 TDB
DSK: 2018 JUN 10 19:22:12.222 TDB : 2018 JUN 10 20:39:19.310 TDB
Ell: 2018 JUN 10 21:20:08.856 TDB : 2018 JUN 10 22:37:12.445 TDB
DSK: 2018 JUN 10 21:20:07.160 TDB : 2018 JUN 10 22:37:09.488 TDB
Ell: 2018 JUN 10 23:18:00.834 TDB : 2018 JUN 11 00:35:01.034 TDB
DSK: 2018 JUN 10 23:17:58.772 TDB : 2018 JUN 11 00:34:58.698 TDB
Ell: 2018 JUN 11 01:15:50.883 TDB : 2018 JUN 11 02:08:16.008 TDB
DSK: 2018 JUN 11 01:15:48.915 TDB : 2018 JUN 11 02:08:16.008 TDB
Ell: 2018 JUN 11 13:16:50.542 TDB : 2018 JUN 11 14:20:09.789 TDB
DSK: 2018 JUN 11 13:16:50.542 TDB : 2018 JUN 11 14:20:07.002 TDB
Ell: 2018 JUN 11 15:01:08.370 TDB : 2018 JUN 11 16:18:03.385 TDB
DSK: 2018 JUN 11 15:01:05.872 TDB : 2018 JUN 11 16:18:00.245 TDB
Ell: 2018 JUN 11 16:59:03.014 TDB : 2018 JUN 11 18:15:58.739 TDB
DSK: 2018 JUN 11 16:59:00.798 TDB : 2018 JUN 11 18:15:55.713 TDB
Ell: 2018 JUN 11 18:56:59.199 TDB : 2018 JUN 11 20:13:54.308 TDB
DSK: 2018 JUN 11 18:56:57.725 TDB : 2018 JUN 11 20:13:51.980 TDB
Ell: 2018 JUN 11 20:54:55.301 TDB : 2018 JUN 11 22:11:47.045 TDB
DSK: 2018 JUN 11 20:54:53.724 TDB : 2018 JUN 11 22:11:44.029 TDB
Ell: 2018 JUN 11 22:52:48.925 TDB : 2018 JUN 12 00:09:35.868 TDB
DSK: 2018 JUN 11 22:52:47.004 TDB : 2018 JUN 12 00:09:33.513 TDB
Ell: 2018 JUN 12 00:50:39.046 TDB : 2018 JUN 12 02:05:12.548 TDB
DSK: 2018 JUN 12 00:50:37.040 TDB : 2018 JUN 12 02:05:12.548 TDB
Ell: 2018 JUN 12 13:13:38.573 TDB : 2018 JUN 12 13:54:43.524 TDB
DSK: 2018 JUN 12 13:13:38.573 TDB : 2018 JUN 12 13:54:41.265 TDB
Ell: 2018 JUN 12 14:35:54.054 TDB : 2018 JUN 12 15:52:36.256 TDB
DSK: 2018 JUN 12 14:35:51.624 TDB : 2018 JUN 12 15:52:34.091 TDB
Ell: 2018 JUN 12 16:33:47.502 TDB : 2018 JUN 12 17:50:30.988 TDB
DSK: 2018 JUN 12 16:33:45.089 TDB : 2018 JUN 12 17:50:29.020 TDB
Ell: 2018 JUN 12 18:31:42.896 TDB : 2018 JUN 12 19:48:26.827 TDB
DSK: 2018 JUN 12 18:31:41.085 TDB : 2018 JUN 12 19:48:23.878 TDB
Ell: 2018 JUN 12 20:29:39.039 TDB : 2018 JUN 12 21:46:20.933 TDB
DSK: 2018 JUN 12 20:29:37.575 TDB : 2018 JUN 12 21:46:18.430 TDB
Ell: 2018 JUN 12 22:27:33.596 TDB : 2018 JUN 12 23:44:11.473 TDB
DSK: 2018 JUN 12 22:27:31.895 TDB : 2018 JUN 12 23:44:08.681 TDB
Ell: 2018 JUN 13 00:25:24.992 TDB : 2018 JUN 13 01:42:00.777 TDB
DSK: 2018 JUN 13 00:25:22.950 TDB : 2018 JUN 13 01:41:58.417 TDB
Ell: 2018 JUN 13 13:10:23.432 TDB : 2018 JUN 13 13:29:19.789 TDB
DSK: 2018 JUN 13 13:10:23.432 TDB : 2018 JUN 13 13:29:18.021 TDB
Ell: 2018 JUN 13 14:10:38.985 TDB : 2018 JUN 13 15:27:11.882 TDB
DSK: 2018 JUN 13 14:10:36.850 TDB : 2018 JUN 13 15:27:09.686 TDB
Ell: 2018 JUN 13 16:08:31.566 TDB : 2018 JUN 13 17:25:06.068 TDB
DSK: 2018 JUN 13 16:08:29.172 TDB : 2018 JUN 13 17:25:04.013 TDB
Ell: 2018 JUN 13 18:06:26.219 TDB : 2018 JUN 13 19:23:01.820 TDB
DSK: 2018 JUN 13 18:06:23.924 TDB : 2018 JUN 13 19:22:59.754 TDB
Ell: 2018 JUN 13 20:04:22.175 TDB : 2018 JUN 13 21:20:57.296 TDB
DSK: 2018 JUN 13 20:04:20.652 TDB : 2018 JUN 13 21:20:54.998 TDB
Ell: 2018 JUN 13 22:02:17.650 TDB : 2018 JUN 13 23:18:49.624 TDB
DSK: 2018 JUN 13 22:02:16.147 TDB : 2018 JUN 13 23:18:47.458 TDB
Extra Credit
These ``extra credit'' tasks are provided as task statements, and unlike the regular tasks, no approach or solution source code is provided. In the next section, you will find the numeric solutions to the questions asked in these tasks. Task statements
2018 JUN 10 TDB
2018 JUN 11 TDB
2018 JUN 10 TDB
2018 JUN 11 TDB
2018 JUN 10 TDB
2018 JUN 11 TDB
Solutions
Inputs for equator crossing search:
Target = TGO
Observer = MARS
Observer's reference frame = IAU_MARS
Latitude limit (degrees) = 0.000000
Aberration correction = NONE
Step size (seconds) = 300.000000
Start time = 2018 JUN 10 00:00:00.000 (TDB)
Stop time = 2018 JUN 11 00:00:00.000 (TDB)
TGO MARS equator crossing times:
Equator crossing or start time: 2018 JUN 10 00:14:08.836 (TDB)
Equator crossing time: 2018 JUN 10 01:12:34.582 (TDB)
Equator crossing time: 2018 JUN 10 02:12:00.375 (TDB)
Equator crossing time: 2018 JUN 10 03:10:28.808 (TDB)
Equator crossing time: 2018 JUN 10 04:09:53.955 (TDB)
Equator crossing time: 2018 JUN 10 05:08:23.919 (TDB)
Equator crossing time: 2018 JUN 10 06:07:48.630 (TDB)
Equator crossing time: 2018 JUN 10 07:06:17.539 (TDB)
Equator crossing time: 2018 JUN 10 08:05:42.659 (TDB)
Equator crossing time: 2018 JUN 10 09:04:09.120 (TDB)
Equator crossing time: 2018 JUN 10 10:03:34.270 (TDB)
Equator crossing time: 2018 JUN 10 11:01:59.269 (TDB)
Equator crossing time: 2018 JUN 10 12:01:22.866 (TDB)
Equator crossing time: 2018 JUN 10 12:59:49.352 (TDB)
Equator crossing time: 2018 JUN 10 13:59:13.289 (TDB)
Equator crossing time: 2018 JUN 10 14:57:41.242 (TDB)
Equator crossing time: 2018 JUN 10 15:57:07.576 (TDB)
Equator crossing time: 2018 JUN 10 16:55:35.266 (TDB)
Equator crossing time: 2018 JUN 10 17:55:02.773 (TDB)
Equator crossing time: 2018 JUN 10 18:53:30.271 (TDB)
Equator crossing time: 2018 JUN 10 19:52:56.383 (TDB)
Equator crossing time: 2018 JUN 10 20:51:23.966 (TDB)
Equator crossing time: 2018 JUN 10 21:50:47.729 (TDB)
Equator crossing time: 2018 JUN 10 22:49:14.385 (TDB)
Equator crossing or stop time: 2018 JUN 10 23:48:37.583 (TDB)
Inputs for periapsis search:
Target = TGO
Observer = MARS
Aberration correction = NONE
Step size (seconds) = 300.000000
Start time = 2018 JUN 10 00:00:00.000 (TDB)
Stop time = 2018 JUN 11 00:00:00.000 (TDB)
TGO periapsis times:
Periapsis or start time: 2018 JUN 10 00:43:06.357 (TDB)
Periapsis time: 2018 JUN 10 02:40:47.168 (TDB)
Periapsis time: 2018 JUN 10 04:38:45.496 (TDB)
Periapsis time: 2018 JUN 10 06:36:32.706 (TDB)
Periapsis time: 2018 JUN 10 08:34:10.548 (TDB)
Periapsis time: 2018 JUN 10 10:31:49.108 (TDB)
Periapsis time: 2018 JUN 10 12:29:20.342 (TDB)
Periapsis time: 2018 JUN 10 14:27:07.089 (TDB)
Periapsis time: 2018 JUN 10 16:25:36.081 (TDB)
Periapsis time: 2018 JUN 10 18:24:02.653 (TDB)
Periapsis time: 2018 JUN 10 20:22:23.184 (TDB)
Periapsis or end time: 2018 JUN 10 22:20:12.453 (TDB)
Inputs for apoapsis search:
Target = TGO
Observer = MARS
Aberration correction = NONE
Step size (seconds) = 300.000000
Start time = 2018 JUN 10 00:00:00.000 (TDB)
Stop time = 2018 JUN 11 00:00:00.000 (TDB)
TGO apoapsis times:
Apoapsis or start time: 2018 JUN 10 01:41:44.632 (TDB)
Apoapsis time: 2018 JUN 10 03:39:31.106 (TDB)
Apoapsis time: 2018 JUN 10 05:37:22.115 (TDB)
Apoapsis time: 2018 JUN 10 07:34:59.674 (TDB)
Apoapsis time: 2018 JUN 10 09:32:25.708 (TDB)
Apoapsis time: 2018 JUN 10 11:29:47.945 (TDB)
Apoapsis time: 2018 JUN 10 13:27:30.200 (TDB)
Apoapsis time: 2018 JUN 10 15:26:02.524 (TDB)
Apoapsis time: 2018 JUN 10 17:24:37.842 (TDB)
Apoapsis time: 2018 JUN 10 19:23:11.265 (TDB)
Apoapsis time: 2018 JUN 10 21:21:13.530 (TDB)
Apoapsis or stop time: 2018 JUN 10 23:18:56.796 (TDB)
|