implement recursive search for GOES products across hour boundaries
Checklist
- [ x] Closes #3842
- [x ] Tests added
- [ x] Fully documented
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
Krishna seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.
Hi, thanks for your PR! This will be super helpful. We'll open some PRs that will help us with some of the unrelated test issues. I have some general feedback that we would need in this functionality before a detailed code review:
- Right now, the search can find incorrect objects for nested products. eg
test_aws.py:test_goes_singlefails as it finds the nearest timed product in the directory but of the wrong mesoscale sector and channel. See the GOES on AWS docs for more info on filenames.
AssertionError: assert '.../OR_ABI-L1b-RadM2-M6C01_G18_s20250092355554_e20250092356011_c20250092356044.nc' == '.../OR_ABI-L1b-RadM1-M6C02_G18_s20250092356254_e20250092356311_c20250092356338.nc'
- If possible, we want to de-duplicate this search code borrowed from
NEXRADLevel3Archive.get_range()and refactor it into a helper function that multiple clients can use. This could be a bigger engineering task, but helpful for us. - Please remove
test_goes_client.pyat the repo root and move contents oftests/remote/test_goes_client.pytotests/remote/test_aws.py.
I hope this gives you some direction, let me know if we can answer any additional questions. Looking forward to it!
@dcamron I have updated the pull request, Can you please review it when you get a chance?
We will get this reviewed soon for our planned v1.8.0 release this Fall. Thanks!