Open weiji14 opened 2 months ago
:100:
Implementation-wise, I'm gonna try to increase code coverage on query.py
and granules.py
in #581 first, and then refactor ipx.Query
's internal logic to use earthaccess
's functions/methods to get the granule list. Intent is to try to retain backwards compatibility as much as possible in icepyx=1.x, and then make any breaking changes in icepyx=2.x.
To reduce the confusion of ICESat-2 users in choosing whether to use
icepyx
orearthaccess
to search for ATLAS products, this issue attempts to discuss a path forward to have proper separation of concerns in both libraries. Talking to @JessicaS11 and others at the 2024 UW Hackweek, we propose to change the 'search' workflow to:earthaccess
. Specifically useearthaccess
to return the Granule IDs from the NSDIC DAAC, and connect/open that (ideally cloud-hosted) dataset viafsspec
.earthaccess
to look for the Granule IDs, andicepyx
(as a plugin/extension) handles the smartopen_subset
logic.icepyx=v1.x
- Have the variable subsetting logic remain inicepyx
only, without integration intoearthaccess
. Users use this interface with a mix ofearthaccess
andicepyx
icepyx=v2.x
- Allow users to installicepyx
as an extension ofearthaccess
. Users will interface directly usingearthaccess.smart_open
, xref https://github.com/nsidc/earthaccess/issues/328.Taking a stab this week as part of https://github.com/ICESAT-2HackWeek/icepyx/issues/5