[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

19990422: Using nv1opt(lit('ANG ') or satellite angles (cont.)



>From: Craig Motell <address@hidden>
>Organization: University of Hawaii
>Keywords: 199904222333.RAA00684 McIDAS email lists

Craig,

>I have a program (enclosed below) that seems to give me the correct
>latitude and longitude of a GVAR pixel. Unfortunately, I have
>two problems: (1) the satellite zenith angle makes no sense to me.
>At the satellite nadir point it should be 0 degrees -- I believe;

Or 90 degrees.  I will have to go back over my notes from my college
days to review what satellite zenith angle really means.

>in addition, the solar zenith angle and relative angles may also
>be off -- I don't know.

See below.

>(2) Secondly, the nadir point is given
>as 0 degrees, 135.0W. I expected either something different
>from the "perfect" 0N, 135W location or else I expected something
>like 0N, 130W degrees as given in IMGLIST command.
>
>I am using the function NV1OPT with the angle option. This function
>is not documented but I assume looling at some source code that
>I am entering the correct arguments?
>
>I have enclosed sample code and my make file for creating this program.
>
>Can you take a look?

<program not included here for brevity>

I grabbed your code for 'ax.f' and built it in my 7.5 distribution
development environment.  Here are some observations (which may or may
not be helpful):

o I too am surprised by the fact that my GOES-10 images give me
  a perfect subsatellite point of 0N 135W.  I did, however, go
  back to some GOES-8/9 images from awhile ago and got numbers that
  were not perfect.  For GOES-9 I got 0N and 134.5W; for GOES-8
  I got 0N and 74.5W.  I am suspicious that SSEC's calculation rounds
  to a half degree.

o I went through the code in nvxgvar.dlm that computes angles
  when 'ANG' is specified as the nv1opt OPTion.

  o xin(1) is the Julian date as you have specified

  o xin(2) needs to be a time in hours and fractional hours.
    The reason I say this is that the code in nvxgvar calls M0ITIME
    to convert this real number into a "packed integer" of the
    form HHMMSS.  You are passing a time that is already in 
    HHMMSS.  You should, therefore, change your code:

      xin(2) = jtime

to:

      xin(2) = jtime/10000. + MOD(jtime/100,100)/60. +
     &         MOD(jtime,100)/3600.

This change has the effect of causing the sun zenith angle to at least
move through a logical sequence.  After changing the debug messages in AX,
I ran a sequence of GOES-10 images through and got:

TE LISTANG "AX !1
REPEAT LISTANG 130 TO 139 BY 1
AX 130
area jday  jtime   satzen   sunzen   relazm
 130 99119 180000    98.59   132.57    18.81
Done
AX 131
area jday  jtime   satzen   sunzen   relazm
 131 99119 190000    98.59   118.22    15.65
Done
AX 132
area jday  jtime   satzen   sunzen   relazm
 132 99119 200000    98.59   103.72    14.17
Done
AX 133
area jday  jtime   satzen   sunzen   relazm
 133 99119 210000    98.59    89.16    13.78
Done
AX 134
area jday  jtime   satzen   sunzen   relazm
 134 99119 220000    98.59    74.60    14.31
Done
AX 135
area jday  jtime   satzen   sunzen   relazm
 135 99119 230000    98.59    60.11    15.97
Done
AX 136
area jday  jtime   satzen   sunzen   relazm
 136 99120      0    98.59    45.81    19.45
Done
AX 137
area jday  jtime   satzen   sunzen   relazm
 137 99120  10000    98.59    31.98    26.83
Done
AX 138
area jday  jtime   satzen   sunzen   relazm
 138 99119 160000    98.59   159.15    41.75
Done
AX 139
area jday  jtime   satzen   sunzen   relazm
 139 99119 170000    98.59   146.50    25.45
Done
REPEAT:  COMPLETED...

  
Other than specifying xin(2) incorrectly, I can not see that you are
doing anything else wrong.  I am suprised, however, that the satellite
zenith angle is 98.59!  I will have to think about this some more
to see if I am missing something.

>thankyou

Let me know if the above helped in any way.

Tom

>From address@hidden  Thu Apr 29 21:28:05 1999

for this one, I think I owe you a beer.

This does help it means I need to check my understanding of the input
parameters closer. Thanks.

But we still have the satellite zenith problem.

One solution I think I will use, at least short term, is to use
the navigation model that you guys used to provide in the old AREA.DOC.

I have the old orbital model that uses 6 orbital parameters plus time to
get the satellite position. This old model assume that the satellite
attitude angles were perfect. That is, the satellite was pointing straight
down.

Anyway, running the old "simple" orbital model I can calculate the
satellite view angles I would suspect to within a couple of degree. I will
see how this model does.


I'll let you know when I finish that what I find out!

Thankyou, Tom,
Sincerely,
craig motell