Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Data Subscriber RTC Download Code Refactor #1059

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from

Conversation

collinss-jpl
Copy link
Collaborator

Purpose

  • This branch introduces some light refactoring of the code used for RTC-S1 product download and DSWx-S1 job triggering. The primary goal is to consolidate all RTC download code to the AsfDaacRtcDownload to make the class more suitable for future extension and reuse when download/triggering is implemented for DSWx-NI.

Proposed Changes

  • The run_rtc_download function (and associated helper functions) within daac_data_subscriber.py has been refactored into the run_download implementation within the AsfDaacRtcDownload class. This also simplifies the logic of the factory functions within daac_data_subscriber.py
  • The superclass call to DaacDownload.run_download() in AsfDaacCslcDownload.run_download() has been modified to bypass the version now implemented in AsfDaacRtcDownload
  • The --file argument has been removed from the daac_data_subscriber.py argparser since it was unused.
  • To further simplify the logic within the factory functions in daac_data_subscriber.py, a run_query method has been added to RtcCmrQuery that wraps the asynchronous version (now called run_query_async)

Testing

  • Branch has been deployed and tested on development cluster with all PGEs running in simulation mode.
  • Updates to download logic has been tested by enabling the download triggers and letting the cluster run for about ~8 hours
  • Downloads have also been tested by submitting a few ad-hoc queries directly from mozart

Scott Collins added 3 commits January 13, 2025 11:44
…ion.

This is to give RtcCmrQuery an equivalent interface to the other inheritors of CmrQuery, while maintaining the async behavior of the previous run_query()
…oad() method of the AsfDaacRtcDownload class

This was done to bring the interface of AsfDaacRtcDownload in line with the other inheritors of DaacDownload, and simplify the logic within daac_data_subscriber.py
@philipjyoon
Copy link
Contributor

Looks good to me. To be clear:

  1. When the testing was run for ~8 hrs were the PGEs in simulation mode or non-sim mode?
  2. If in simulation mode, does that still effectively validate (explicit check or consumption) of all ancillary input files that are downloaded by RTCDownload? (if any)

@collinss-jpl
Copy link
Collaborator Author

Looks good to me. To be clear:

1. When the testing was run for ~8 hrs were the PGEs in simulation mode or non-sim mode?

2. If in simulation mode, does that still effectively validate (explicit check or consumption) of all ancillary input files that are downloaded by RTCDownload? (if any)

PGEs were in simulation mode for all testing. In simulation mode no validation of inputs is performed, but I don't think the RTC download code is pulling any ancillaries, just the RTC products.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants