data-subscriber icon indicating copy to clipboard operation
data-subscriber copied to clipboard

Use of --subset with subscriber fails due to search_cycles check

Open stephenykp opened this issue 2 years ago • 0 comments

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.

stephenykp avatar Mar 04 '24 19:03 stephenykp