[Spice_discussion] Subsolar independent of observer

michael.aye at space.unibe.ch michael.aye at space.unibe.ch
Tue Apr 24 01:17:41 PDT 2012

Hi Nat,

thanks for the comprehensive explanations.

I have one remaining question:

For a given time at a given body I believe I *should* use 'receiving' correction for a more correct sub-solar point, no?
But I believe if I would use subslr with 'NONE' corrections the call to SPKPOS/SPKEZP is executed as well with 'NONE' and then my subsolar point could be several hundred meters wrong.

In other words, I believe it's actually more correct to do (using Icy style reception of results):

1. target_center_to_sun = spkpos(..,..,"LT+S")
2. subsolar = nearpt(target_center_to_sun, a,b,c)


subsolar = subslr(..., ..., 'NONE' ,'ANY') #using 'ANY' as any body

because subslr with 'NONE' would actually call spkpos or spkezp with 'NONE' as argument for the corrections.

I see differences for et='now' on Mars like this:

With the more precise method:
subsolar = (-1583.4710879693594, 2652.3666484879827, 1402.9611333997216)

just by using subslr with 'NONE' as correction:
subsolar = (-1583.6919801731583, 2652.2458296473565, 1402.940457170704)
Do you concur?

Best regards,

On 24 Apr 2012, at 01:52, Nat Bachman wrote:

> 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
>   latitudinal
>   geodetic/planetodetic
>   planetographic
> 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,
>  -Nat
> 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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 487 bytes
Desc: Message signed with OpenPGP using GPGMail
Url : http://naif.jpl.nasa.gov/pipermail/spice_discussion/attachments/20120424/db907296/signature-0001.bin

More information about the Spice_discussion mailing list