Use of --subset with subscriber fails due to search_cycles check
As part of release 1.15.0, which contain the subsetting capability for both the subscriber and downloader, the following code is run on args for both the subscriber and downloader:
https://github.com/podaac/data-subscriber/blob/3ee78a4efbb3ade95e984cf6f2f8f10537ebaa91/subscriber/podaac_access.py#L224-L229
This ensures a "search cycle" is not used in combination with the subsetting capability, as Harmony does not support subsetting by cycle.
There is a bug here, because only the downloader has search_cycle in its argparse namespaces. The subscriber does not support searching by cycle. This code is raising the following error:
[2024-02-20 14:48:46,166] {podaac_data_subscriber.py:402} ERROR - Uncaught exception occurred during execution.
Traceback (most recent call last):
File "C:\Users\celiaou\Anaconda3\lib\site-packages\subscriber\podaac_data_subscriber.py", line 400, in main
run()
File "C:\Users\celiaou\Anaconda3\lib\site-packages\subscriber\podaac_data_subscriber.py", line 122, in run
pa.validate(args)
File "C:\Users\celiaou\Anaconda3\lib\site-packages\subscriber\podaac_access.py", line 224, in validate
if args.subset and args.search_cycles:
AttributeError: 'Namespace' object has no attribute 'search_cycles'
This issue can be reproduced using the following command:
poetry run python3 subscriber/podaac_data_subscriber.py -c SWOT_L2_NALT_OGDR_SSHA_2.0 -d ./data --start-date 2023-12-01T00:00:00Z --end-date 2023-12-21T00:00:00Z --subset -b="120,-30,160,20"
We can fix this by simply moving the above check into the downloader only, and out of the common podaac_access validate function.