Skip to content

Commit

Permalink
Merge c514762 into 55d2dbf
Browse files Browse the repository at this point in the history
  • Loading branch information
AndrewAnnex committed Feb 1, 2020
2 parents 55d2dbf + c514762 commit ec6f458
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 53 deletions.
4 changes: 2 additions & 2 deletions docs/binary_pck.rst
@@ -1,5 +1,5 @@
Binary PCK Hands-On Lesson (Python)
===================================
Binary PCK Hands-On Lesson
===========================

November 20, 2017

Expand Down
12 changes: 6 additions & 6 deletions docs/event_finding.rst
@@ -1,5 +1,5 @@
Geometric Event Finding Hands-On Lesson, using MEX (Python)
===========================================================
Geometric Event Finding Hands-On Lesson, using MEX
===================================================

November 20, 2017

Expand Down Expand Up @@ -569,7 +569,7 @@ Execute the program. The output is:
Find Times when Target is Visible
----------------------------------

.. _task-statement-1:
.. _task-statement-ef-1:

Task Statement
--------------
Expand Down Expand Up @@ -600,7 +600,7 @@ Display each of the intervals in each 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-1:
.. _learning-goals-ef-1:

Learning Goals
--------------
Expand All @@ -609,7 +609,7 @@ Familiarity with the GF occultation finding routine spiceypy.gfoclt.
Experience with Digital Shape Kernel (DSK) shape models. Further
experience with the SpiceyPy window functions.

.. _approach-1:
.. _approach-ef-1:

Approach
--------
Expand Down Expand Up @@ -664,7 +664,7 @@ A possible solution would consist of the following steps:

This completes the assignment.

.. _solution-1:
.. _solution-ef-1:

Solution
--------
Expand Down
79 changes: 40 additions & 39 deletions docs/insitu_sensing.rst
@@ -1,5 +1,5 @@
In-situ Sensing Hands-On Lesson, using CASSINI (Python)
=======================================================
In-situ Sensing Hands-On Lesson, using CASSINI
===============================================

November 20, 2017

Expand Down Expand Up @@ -186,29 +186,29 @@ ephemeris seconds past J2000, .
--------------------

Find out what SPICE kernel(s) is(are) needed to support this conversion.
Reference the "time.req" and/or" Time" tutorial.
Reference the "time.req" and/or "Time" tutorial.

Find necessary kernel(s) on the NAIF's FTP site.

Find out what routine should be called to load necessary kernel(s).
Reference the "kernel.req" and/or" Loading Kernels" tutorial.
Reference the "kernel.req" and/or "Loading Kernels" tutorial.

Find the
"loader" routine calling sequence specification. Look at the" time.req"and
"loader" routine calling sequence specification. Look at the "time.req"and
that routine's source code header. This routine may be an entry point,
in which case there will be no source file with the same name. To find
out in which source file this entry point is, search for its name in the
"Permuted Index".

Find the routine(s) used to convert time between UTC and ET. Look at the
"time.req" and/or" Time" tutorial.
"time.req" and/or "Time" tutorial.

Find the
"converter" routine(s) calling sequence specification. Look in the" time.req"
"converter" routine(s) calling sequence specification. Look in the "time.req"
and the routine's source code header.

Put all calls together in a program, add variable declarations (the
routine header's "Declarations" and" Examples" sections are a good
routine header's "Declarations" and "Examples" sections are a good
place to look for declaration specification and examples) and output
print statements.

Expand Down Expand Up @@ -250,7 +250,7 @@ or it can be listed in a meta-kernel:
\begintext
the name of which, let's call it "convrt.tm", can be then provided as
a sole argument of the :py:meth:`spiceypy.spiceypy.furnsh` routine:
a sole argument of the :py:func:`spiceypy.spiceypy.furnsh` routine:

.. code-block:: python
Expand All @@ -264,10 +264,10 @@ simply adding more kernels to the list in KERNEL_TO_LOAD without
changing the program code will accomplish that.

The highest level SpiceyPy time routine converting UTC to ET is
spiceypy.str2et :py:meth:`spiceypy.spiceypy.str2et` .
spiceypy.str2et :py:func:`spiceypy.spiceypy.str2et` .

It has two arguments – input time string representing UTC in a variety
of formats (see spiceypy.str2et header's section "Particulars" for
of formats (see :py:func:`spiceypy.spiceypy.str2et` header's section "Particulars" for
the complete description of input time formats) and output DP number of
ET seconds past J2000. A call to spiceypy.str2et converting a given UTC
to ET could look like this:
Expand All @@ -277,7 +277,7 @@ to ET could look like this:
utc = '2004-06-11T19:32:00'
et = spiceypy.str2et(utc)
By combining spiceypy.furnsh and spiceypy.str2et calls and required
By combining :py:func:`spiceypy.spiceypy.furnsh` and :py:func:`spiceypy.spiceypy.str2et` calls and required
declarations and by adding a simple print statement, one would get a
complete program that prints ET for the given UTC epoch.

Expand Down Expand Up @@ -355,25 +355,25 @@ CASSINI on-board clock epoch "1465674964.105".

Find out what additional (to those already loaded in Step-1) SPICE
kernel(s) is(are) needed to support SCLK to ET conversion. Look at the
"sclk.req" and/or" SCLK" tutorial.
"sclk.req" and/or "SCLK" tutorial.

Find necessary kernel(s) on the NAIF's FTP site.

Modify the program or meta-kernel to load this(these) kernels.
Modify the program or meta-kernel to load this (these) kernels.

Find the routine(s) needed to convert time between SCLK and ET. Look at
the "sclk.req" and/or" Time"and "SCLK" tutorials.
the "sclk.req" and/or "Time" and "SCLK" tutorials.

Find the
"converter" routine's calling sequence specification. Look in the" sclk.req"
"converter" routine's calling sequence specification. Look in the "sclk.req"
and the routine's source code header.

Look at "naif_ids.req" and the comments in the additional kernel(s)
that you have loaded for information on proper values of input arguments
of this routine.

Add calls to the
"converter" routine(s), necessary variable declarations (the routine header's" Declarations"and
"converter" routine(s), necessary variable declarations (the routine header's" Declarations"and
"Examples" sections are a good place to look for declaration
specification and examples), and output print statements to the program.

Expand Down Expand Up @@ -409,7 +409,7 @@ variable:
\begintext
The highest level SpiceyPy routine converting SCLK to ET is
spiceypy.scs2e :py:meth:`spiceypy.spiceypy.scs2e` .
spiceypy.scs2e :py:func:`spiceypy.spiceypy.scs2e` .

It has three arguments – NAIF ID for CASSINI s/c (-82 as described by
"naif_ids.req" document), input time string representing CASSINI
Expand Down Expand Up @@ -508,24 +508,24 @@ Ecliptic frame at the epoch specified by SCLK time from Step-2.

Find out what additional (to those already loaded in Steps-1&2) SPICE
kernel(s) is(are) needed to support state computation. Look at the
"spk.req" and/or" SPK" tutorial.
"spk.req" and/or "SPK" tutorial.

Find necessary kernel(s) on the NAIF's FTP site.

Verify that the kernels contain enough data to compute the state of
interest. Use "brief" utility program located under" toolkit/exe"
interest. Use "brief" utility program located under "toolkit/exe"
directory for that.

Modify the meta-kernel to load this(these) kernels.

Determine the routine(s) needed to compute states. Look at the
"spk.req" and/or" SPK" tutorial presentation.
"spk.req" and/or "SPK" tutorial presentation.

Find the the routine(s) calling sequence specification. Look in the
"spk.req" and the routine's source code header.

Reference the "naif_ids.req" and" frames.req"and the routine(s)
header "Inputs" and" Particulars" sections to determine proper
Reference the "naif_ids.req" and "frames.req"and the routine(s)
header "Inputs" and "Particulars" sections to determine proper
values of the input arguments of this routine.

Add calls to the routine(s), necessary variable declarations and output
Expand Down Expand Up @@ -569,7 +569,7 @@ the program:
\begintext
The highest level SpiceyPy routine computing states is spiceypy.spkezr
:py:meth:`spiceypy.spiceypy.spkezr` .
:py:func:`spiceypy.spiceypy.spkezr` .

We are interested in computing CASSINI position and velocity with
respect to the Sun, therefore the target and observer names should be
Expand All @@ -580,9 +580,9 @@ The state should be in ecliptic frame, therefore the name of the frame
in which the state should be computed is 'ECLIPJ2000' (see
"frames.req" document.)

Since we need only the geometric position, the \`abcorr' argument of the
Since we need only the geometric position, the 'abcorr' argument of the
routine should be set to 'NONE' (see aberration correction discussion in
the :py:meth:`spiceypy.spiceypy.spkezr` .
the :py:func:`spiceypy.spiceypy.spkezr` .

Putting it all together, we get:

Expand Down Expand Up @@ -710,7 +710,7 @@ frame orientation. Retrieve these kernels from the NAIF's FTP site.

Verify that the orientation data in the kernels have adequate coverage
to support computation of the direction of interest. Use
"ckbrief" utility program located under" toolkit/exe" directory
"ckbrief" utility program located under" toolkit/exe" directory
for that.

Modify the meta-kernel to load this(these) kernels.
Expand Down Expand Up @@ -776,8 +776,8 @@ to 'CASSINI'. The name of the INMS frame is 'CASSINI_INMS', the
definition and description of this frame are provided in the CASSINI FK
file, "cassini_v02.tf".

Since the apparent, or
:literal:`as seen", position is sought for, the `abcorr' argument of the routine should be set to 'LT+S' (see aberration correction discussion in the (`\ cspice/src/cspice/spkpos_c.c")
Since the apparent, or 'as seen', position is sought for, the 'abcorr'
argument of the routine should be set to 'LT+S' (see aberration correction discussion in the ("\cspice/src/cspice/spkpos_c.c")

If desired, the position can then be turned into a unit vector using
spiceypy.vhat function
Expand Down Expand Up @@ -956,14 +956,15 @@ print statements to the program.
"Sub-Spacecraft Point" Solution Steps
----------------------------------------

The spiceypy.subpnt routine
("`cspice/src/cspice/subpnt_c.c") can be used to compute the sub-observer point and the vector from the observer to that point with a single call. To determine this point as the closest point on the Phoebe ellipsoid, the" method'
The :py:func:`spiceypy.spiceypy.subpnt` routine can be
used to compute the sub-observer point and the vector from the observer
to that point with a single call. To determine this point as the closest point on the Phoebe ellipsoid, the 'method'
argument has to be set to 'NEAR POINT: ELLIPSOID'. For our case the
\`target' is 'PHOEBE', the target body-fixed frame is 'IAU_PHOEBE', and
'target' is 'PHOEBE', the target body-fixed frame is 'IAU_PHOEBE', and
the observer is 'CASSINI'.

Since the s/c is close to Phoebe, light time does not need to be taken
into account and, therefore, the \`abcorr' argument can be set to
into account and, therefore, the 'abcorr' argument can be set to
'NONE'.

In order for spiceypy.subpnt to compute the nearest point location, a
Expand Down Expand Up @@ -1009,27 +1010,27 @@ file name added to it, the updated meta-kernel will look like this:
The sub-spacecraft point Cartesian vector can be converted to
planetocentric radius, longitude and latitude using the spiceypy.reclat
routine :py:meth:`spiceypy.spiceypy.reclat` .
routine :py:func:`spiceypy.spiceypy.reclat` .

The vector from the spacecraft to the sub-spacecraft point returned by
spiceypy.subpnt has to be rotated from the body-fixed frame to the
instrument frame. The name of the routine that computes 3x3 matrices
rotating vectors from one frame to another is spiceypy.pxform
:py:meth:`spiceypy.spiceypy.pxform` .
:py:func:`spiceypy.spiceypy.pxform` .

In our case the
"from' argument should be set to 'IAU_PHOEBE' and the" to' argument
"from' argument should be set to 'IAU_PHOEBE' and the 'to' argument
should be set to 'CASSINI_INMS'

The vector should be then multiplied by this matrix to rotate it to the
instrument frame. The spiceypy.mxv routine performs that function :py:meth:`spiceypy.spiceypy.mxv` .
instrument frame. The spiceypy.mxv routine performs that function :py:func:`spiceypy.spiceypy.mxv` .

After applying the rotation, normalize the resultant vector using the
spiceypy.vhat function.

For output the longitude and latitude angles returned by spiceypy.reclat
in radians can be converted to degrees by multiplying by spiceypy.dpr
function :py:meth:`spiceypy.spiceypy.dpr` .
function :py:func:`spiceypy.spiceypy.dpr` .

Putting it all together, we get:

Expand Down Expand Up @@ -1303,7 +1304,7 @@ output:

Note that computing the spacecraft velocity in the instrument frame by a
single call to spiceypy.spkezr by specifying 'CASSINI_INMS' in the
\`ref' argument returns an incorrect result. Such computation will take
'ref' argument returns an incorrect result. Such computation will take
into account the spacecraft angular velocity from the CK files, which
should not be considered in this case.

Expand Down
12 changes: 6 additions & 6 deletions docs/remote_sensing.rst
@@ -1,5 +1,5 @@
Remote Sensing Hands-On Lesson, using CASSINI (Python)
======================================================
Remote Sensing Hands-On Lesson, using CASSINI
==============================================

November 20, 2017

Expand Down Expand Up @@ -589,7 +589,7 @@ computes the following quantities at that epoch:
and displays the results. Use the program to compute these quantities at
“2004 jun 11 19:32:00” UTC.

.. _learning-goals-1:
.. _learning-goals-rs-1:

Learning Goals
--------------
Expand All @@ -599,7 +599,7 @@ difference between spiceypy.spkezr and spiceypy.spkpos. Familiarity with
the Toolkit utility "brief". Exposure to unit conversion with
SpiceyPy.

.. _approach-1:
.. _approach-rs-1:

Approach
--------
Expand Down Expand Up @@ -647,7 +647,7 @@ may be of some use.
Consult its user's guide available in "cspice/doc/brief.ug" for
details.

.. _solution-1:
.. _solution-rs-1:

Solution
--------
Expand Down Expand Up @@ -846,7 +846,7 @@ Execute the program:
Actual distance between Sun and Phoebe body centers:
(AU): 9.012

.. _extra-credit-1:
.. _extra-credit-rs-1:

Extra Credit
------------
Expand Down

0 comments on commit ec6f458

Please sign in to comment.