johntruckenbrodt / pyroSAR

framework for large-scale SAR satellite data processing
MIT License
498 stars 110 forks source link

Add support for sarsen calibration #215

Open system123 opened 2 years ago

system123 commented 2 years ago

sarsen (https://github.com/bopen/sarsen) is a fairly recent initiative to re-implement Sentinel-1 preprocessing and calibration using modern Python libraries such as Dask and XArray. This enables better scalability over distributed clusters of workers and removes the reliance on SNAP for preprocessing (which we can all agree is sometimes a pain to work with).

It would be nice if PyroSAR wrapped sarsen as an alternative SAR preprocessing backend, so that existing pipelines could be moved to use sarsen with little to no change in code.

johntruckenbrodt commented 2 years ago

Interesting idea, @system123! I've followed the development a little but haven't tried it out myself yet. Sur looks promising. I'll give this issue a help wanted label as I might not be able to look into it in the near future. Maybe you or somebody else would like to collect some ideas here or develop something right away..

system123 commented 2 years ago

I'm happy to take a look at it when I get a free moment - but when I start work on it I will post here, in case someone else wants to give it some attention before then.

MarkusZehner commented 5 months ago

I have a workflow to get custom RTC from Planetary Computer and thought of handling the downloaded scenes with pyroSAR to reduce duplicates. Maybe we can use some of that?

johntruckenbrodt commented 5 months ago

@MarkusZehner are the MPC products processed with sarsen? I know they financed the RTC implementation in it but always thought that the products are still processed using Catalyst: https://planetarycomputer.microsoft.com/dataset/sentinel-1-rtc

MarkusZehner commented 5 months ago

@johntruckenbrodt the linked gist downloads GRD and COP GLO-30 from MPC and uses sarsen to process locally to RTC. The RTC data available at MPC has visibly worse correction: https://github.com/microsoft/PlanetaryComputerExamples/blob/main/tutorials/customizable-rtc-sentinel1.ipynb

johntruckenbrodt commented 5 months ago

@MarkusZehner I misinterpreted your message above and thought you directly get the RTC products from Planetary Computer (PC). I now understand that you do your own custom processing based on sarsen with some modifications (and just get the GRD products from PC). This is really interesting, especially since you mentioned that sarsen processes each polarization by its own instead of reusing the RTC correction layer for each (as it should be). Moreover, there hasn't been much activity in the sarsen repo lately so I wonder whether it is worth the effort.