Repository navigation
Conversation
MiniStackPlanner previously assumed all compressed SLCs form a contiguous prefix of each ministack, with a scalar first_real_slc_idx boundary standing in for both "count of compressed SLCs" and "index of the last compressed SLC". That assumption breaks in forward-mode / incremental-reprocessing: a compressed SLC's reference_date can be chronologically later than some real CSLC dates in the same input list, since opera_utils.sort_files_by_date has no compressed-first guarantee. - stack.py: chronologically merge compressed + real SLCs in MiniStackPlanner.plan() instead of blindly prefix-concatenating; chunk ministacks by real-SLC position rather than a contiguous range; add is_real_mask/last_compressed_slc_idx; fix real_slc_date_range's end-side assumption. - _compress.py / single.py: replace first_real_slc_idx slice boundaries with boolean is_real_mask selection, correct regardless of where compressed SLCs land. - _core.py: rename first_real_slc_idx to last_compressed_slc_idx (including the jit static_argnames), used directly as the CRLB reference index -- it was only consumed at that one call site. Behavior is unchanged in the fully-contiguous case (regression tests pass unmodified); new tests cover the interleaved case end-to-end. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
jax 0.9.2 added a FutureWarning when jax.scipy.linalg.solve is given an identity matrix as the RHS to compute a full inverse, since it hits an ambiguous batched-solve path internal to cho_solve. Both call sites in crlb.py were only ever using solve() this way to get a matrix inverse, so switch them to jnp.linalg.inv directly. Also cap numpy<2.5 in the dependency specs: gdal_calc.py (used via _average_or_rename) still relies on an in-place ndarray.shape assignment that numpy 2.5 deprecated. The fix landed upstream (OSGeo/gdal#15127) but hasn't shipped in a GDAL release yet, so pin around it until it does. Since this repo's filterwarnings = ["error"] promotes both warnings to hard failures, they were taking down ~54 tests across the CRLB and GDAL-averaging code paths. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Collaborator
Author
|
@scottstanie can you please review this PR? |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
and chunks the top-level real-SLC positions directly (fixing the same contiguity assumption in ministack_starts). Added is_real_mask/last_compressed_slc_idx properties; fixed
real_slc_date_range's end-side bug.
since it was only used at one call site.
last_compressed_slc_idx), test_workflows_single.py (end-to-end interleaved ministack).