SUN_SET_RISE_PRECISION=15# n_grid_points; higher is more precise but very costly; astropy defaults to 150, 15 seems to cause errors of typically one minute
@lru_cache(maxsize=256,typed=False)# does not like lists, so use sets to allow caching
@lru_cache(maxsize=256,typed=False)# does not like lists, so use tuples to allow caching
@lru_cache(maxsize=256,typed=False)# does not like lists, so use sets to allow caching
# Depending on usage patterns, we should consider refactoring this a little so that we cache on a function with a single timestamp as input. Requests with similar (but not identical) timestamps or bodies currently make no use of cached results for the subset computed in previous requests.
@lru_cache(maxsize=256,typed=False)# does not like lists, so use tuples to allow caching