Summary
The integration test test_icesat asserts an exact difference count (num_differences == 5280), but the granule fixtures fetch data with an unpinned earthaccess.search_data(short_name="ATL06", temporal=..., count=1). When NASA reprocesses ATL06, the search returns a newer version and the exact count changes:
- ATL06
006_02 (older, cached locally) → 5280 differences
- ATL06
007_01 (current, downloaded on CI) → 4958 differences
This made develop CI red (assert 4958 == 5280) purely from data reprocessing — not any code change. Additionally, the fixtures' cache glob (ATL06_..._*.h5) is version-agnostic, so a stale cached version is reused even if the search is version-pinned.
Proposed fix
- Pin the ATL06 version in both granule fixtures (
search_data(..., version=...)) and make the cache glob version-specific, so the test data is reproducible.
- Recalibrate
test_icesat's exact count to the pinned version, keeping a num_differences > 0 sanity check and the output-file assertion.
Verification
- Download the pinned version locally and confirm the exact count matches CI (data-determined;
dims_errors=0 and root dims uncounted, so the count is stable across platforms for a fixed version).
Summary
The integration test
test_icesatasserts an exact difference count (num_differences == 5280), but the granule fixtures fetch data with an unpinnedearthaccess.search_data(short_name="ATL06", temporal=..., count=1). When NASA reprocesses ATL06, the search returns a newer version and the exact count changes:006_02(older, cached locally) → 5280 differences007_01(current, downloaded on CI) → 4958 differencesThis made
developCI red (assert 4958 == 5280) purely from data reprocessing — not any code change. Additionally, the fixtures' cache glob (ATL06_..._*.h5) is version-agnostic, so a stale cached version is reused even if the search is version-pinned.Proposed fix
search_data(..., version=...)) and make the cache glob version-specific, so the test data is reproducible.test_icesat's exact count to the pinned version, keeping anum_differences > 0sanity check and the output-file assertion.Verification
dims_errors=0and root dims uncounted, so the count is stable across platforms for a fixed version).