[Spice_discussion] Re: Subsolar independent of observer

Nat Bachman nathaniel.bachman at jpl.nasa.gov
Mon Apr 23 16:52:01 PDT 2012

Hi Michael,

It is not ambiguous to refer to the sub-solar point
at a given time, as long as the geometric definition
(closest point to sun vs sun-body center ray surface intercept),
location associated with the time, and aberration corrections
are specified. If aberration corrections are omitted, then the
location associated with the time is immaterial.

You can make a moderately accurate estimate of the
sub-solar point, independent of observer, at a given
time by using either of

    SPKPOS ( uses body names )
    SPKEZP ( uses body codes---this routine is faster )

to find the position of the sun relative to the body center.
The vector should be looked up in a body-centered, body-fixed
reference frame (for example, IAU_MARS if the body is Mars).

If you use light time and stellar aberration corrections
for the above call, they should be "reception style" (see
the header of SPKPOS for an explanation).

You can obtain body radii via a call to either of


provided a PCK containing body radii has been loaded.

You then can call either of the routines

    NEARPT ( for the "nearest point" sub-solar point definition )
    SURFPT ( for the "intercept" sub-solar point definition )

to find the sub-solar point. For the SURFPT call, use the
negative of the body-sun position as the ray's direction vector.

Another way of doing the computation is to use
coordinate conversion routines such as


to convert the body-sun position vector to any of the


coordinate systems, respectively. In the planetodetic
or planetographic cases, you can set the altitude of
the output coordinate sets to zero to obtain the sub-solar
point; in the latitudinal case you can call


to convert the solar lon/lat to a cartesian representation
of a surface point.

As usual, you can vary the aberration corrections
to determine their magnitudes and impact on your results.

Best regards,


Nathaniel.Bachman at jpl.nasa.gov

michael.aye at space.unibe.ch wrote:
> I found one solution that kinda works with using subslr function:
> If I set the parameter 'abcorr' of the subslr function to 'NONE' I can use any other standard solar system body as observer and will get the same answer for the subsolar point coordinates.
> This method works apart from one drawback: I have to NOT choose the target body as observer, which means I can not hardcode just 'EARTH' in that lookup for the rare case I actually want the subsolar point on the Earth, but instead I need to keep a list of bodies and check if target and obs are  the same and if yes, take the next one in the list as observer.
> Maybe there's a more elegant solution?
> Best regards,
> Michael
> On 23 Apr 2012, at 01:20, Aye, Klaus-Michael (SPACE) wrote:
>> Dear all,
>> I was wondering if there is not a way to determine the subsolar coordinates on a body independent of an observer?
>> If I understand things correctly, it is not ambiguous to ask at a given time 'et' which coordinate of a body is sub-solar?
>> The reason why I need this, is that I would like to stay away from observer kernels and light-time corrections as long as possible and only concentrate on local illumination scenarios at given times. Basically, 'I' am on the body's surface and I want to know now and 'here', where is the sub-solar point?
>> Best regards,
>> Michael
> ------------------------------------------------------------------------
> _______________________________________________
> Spice_discussion mailing list
> Spice_discussion at naif.jpl.nasa.gov
> http://naif.jpl.nasa.gov/mailman/listinfo/spice_discussion

More information about the Spice_discussion mailing list