disp-xr¶
Xarray tools for OPERA surface displacement. Open a frame of DISP-S1 or DISP-NISAR granules as one lazy dataset, chain the ministacks, check quality, estimate velocities with honest uncertainties, compare with GNSS, downsample and export, from a laptop to an AWS Batch cluster.
import disp_xr as dxr
ds = dxr.open_disp("F11116/") # lazy (time, y, x), CRS attached
ds = dxr.chain(dxr.mask(ds, "recommended")) # displacement from the first date
ds = dxr.rereference(ds, "median")
velocity = dxr.fit_velocity(ds, method="midas") # robust, with a sigma per pixel
What you can do¶
-
Open and chain frames
Local folders, S3 or HTTPS; ministacks chained across reference dates and across product changes; virtual frames that open in seconds.
-
Quality and references
Product masks, quality weights from similarity, coherence and inversion residuals, six reference methods, ionosphere and plate-motion corrections.
-
Velocities and time series
Trajectory fits, OLS, Whittle, MIDAS and GLS velocities with colored-noise sigmas, model diagnostics, Kalman and LOWESS denoising.
-
GNSS validation
Stations next to DISP through geepers, residuals against OPERA requirements, a GNSS tie that removes long-wavelength error.
-
Downsample
Quality-weighted grids, hexagons (planar and H3) and quadtrees, with cell uncertainties that account for spatial correlation.
-
Export and serve
Zarr v3, NetCDF, Cloud Optimized GeoTIFF, MintPy, Icechunk, GeoZarr for bowser, web map tiles, and region jobs for AWS Batch.
Where to go next¶
| If you want to | Read |
|---|---|
| install disp-xr | Install |
| run it on your own frame | Try it on your frame |
| understand ministacks, references and quality layers | Concepts |
| find and read granules from NASA's archive | Finding and reading granules remotely |
| process full frames or run on a cluster | Large frames and batch jobs |
| see what changed between DISP productions | Product notes |