Closed thaisnuvoli closed 2 months ago
The passlist returns a list of tuples where the first and second elements are the start and end of the local pass relative to your "station", thus you are looking at the two horizons, the rise and set of the satellite.
You would need to pass the third element of the 3-tuple to get_observer_look
In your example above this is wrong!
rise_time, max_time, set_time = pass_time
It should be:
rise_time, set_time, max_time = pass_time
I have done the same mistake myself before. I think the order of the elements are not intuitive, perhaps something we should fix?
Example:
In [29]: aqua = Orbital('EOS-Aqua')
In [30]: passlist = aqua.get_next_passes(now, 6, 16, 59, 0, horizon=0)
In [31]: passlist
Out[31]:
[(datetime.datetime(2024, 5, 7, 23, 53, 34, 204465),
datetime.datetime(2024, 5, 8, 0, 5, 7, 636094),
datetime.datetime(2024, 5, 7, 23, 59, 22, 348750)),
(datetime.datetime(2024, 5, 8, 1, 30, 55, 637588),
datetime.datetime(2024, 5, 8, 1, 44, 53, 264153),
datetime.datetime(2024, 5, 8, 1, 37, 56, 314023))]
In [32]: aqua.get_observer_look(passlist[0][2], 16, 59, 0)
Out[32]: (82.34616159635466, 13.514754629087017)
@thaisnuvoli Can we close this issue now?
Hello!
I am working on processing the View Zenith Angles (VZA) of the MODIS instrument onboard the Terra satellite. I'm targeting specific latitude and longitude coordinates at predetermined times. My goal is to determine the closest overpasses with a VZA <= ~60°, to align with the maximum VZA of the MODIS instrument, within a 24/48 hour timeframe. Basically I would like to find the satellite overpass with the lowest VZA within the last 24 hours, meaning the satellite that was as close to directly overhead as possible.
Currently my code gives me output values of elevation (with which I compute VZA = 90° - abs(elevation)) that are very small (always close to 0) which makes me question how those satellite overpasses are determined. This would mean that MODIS did not capture any of these points, which is quite unlikely in practice. I wonder whether there is an issue with how I'm using the get_next_passes and get_observer_look functions, or perhaps I am misunderstanding some of the settings for filtering passes based on elevation. I tried filtering elevation between different values but it does not change the values. When I set the horizon to a specific value, the observations generally cluster around those values.
Does someone know how the Pyorbital overpass method works, or what I might be doing wrong?
Here is my code with a few coordinates set for a single time, which should be replicable:
Any help or guidance would be greatly appreciated!