Reprojecting polar stereographic watermask to radargrid#271
Open
seongsujeong wants to merge 4 commits into
Open
Reprojecting polar stereographic watermask to radargrid#271seongsujeong wants to merge 4 commits into
seongsujeong wants to merge 4 commits into
Conversation
hfattahi
reviewed
May 21, 2026
Contributor
hfattahi
left a comment
There was a problem hiding this comment.
We went half way reviewing. Few comments so far.
| # north-up only, same practical assumption as most GeoTIFF use cases here | ||
| if gt[2] != 0 or gt[4] != 0: | ||
| raise NotImplementedError( | ||
| "_read_gdal_with_bbox currently supports only north-up rasters." |
Contributor
There was a problem hiding this comment.
Suggested change
| "_read_gdal_with_bbox currently supports only north-up rasters." | |
| "_read_gdal_with_bbox currently does not support affine transformation." |
|
|
||
| xmin, ymin, xmax, ymax = map(float, bbox) | ||
|
|
||
| # target SRS = bbox_epsg |
Comment on lines
+299
to
+300
| xmin_src, xmax_src = min(xs), max(xs) | ||
| ymin_src, ymax_src = min(ys), max(ys) |
Contributor
There was a problem hiding this comment.
If raster_srs is in 4326 and dst_srs is in polar epsg, then xs and ys are lat/lon here. In that case let's make sure this logic works in anti meridian boundary.
Comment on lines
+348
to
+351
| if not np.isfinite(est_dx) or est_dx <= 0: | ||
| est_dx = max((xmax - xmin) / 1000.0, 1e-6) | ||
| if not np.isfinite(est_dy) or est_dy <= 0: | ||
| est_dy = max((ymax - ymin) / 1000.0, 1e-6) |
Contributor
There was a problem hiding this comment.
This part does not make sense. Where does 1000 come from?
hfattahi
reviewed
May 27, 2026
Comment on lines
+540
to
+543
| use_complex = np.iscomplexobj(first_data_block) or np.iscomplexobj(second_data_block) | ||
| if use_complex: | ||
| first_data_block = _to_complex_if_needed(first_data_block) | ||
| second_data_block = _to_complex_if_needed(second_data_block) |
Contributor
There was a problem hiding this comment.
@oberonia78 @seongsujeong why do we need these changes to ionosphere.py in this PR?
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.
This PR is built upon #253 by @oberonia78 that addresses several issues in watermask reprojection. One of the issues was the necessity to reproject the watermask in polar stereographic (or any projection except for WGS84) to the radargrid.
This PR addresses the issue by transforming the longitude / latitude loaded from
x.rdrandy.rdrin scratch directory to polar stereographic.Below is the input watermask in EPSG 3413 (top), and reprojected to radargrid (bottom). of the test data.
For the record, below is the granule names of reference and secondary
NISAR_L1_PR_RSLC_012_015_A_037_7700_SHNA_A_20260203T054101_20260203T054138_X05012_N_P_J_001NISAR_L1_PR_RSLC_013_015_A_037_7700_SHNA_A_20260215T054102_20260215T054139_X05012_N_P_J_001