Reading Sentinel 1 incident angle from the metadata in python


I am really stuck trying to read the metadata of a Sentinel-1 product (S1_IW_GRD) in python. In SNAP it is possible to get an interpolated map of the incident angle (attached image) from the tie-point grids but doing it in SNAP isn’t scalable enough for my application - I have 100s of tiles. Is it possible to read the incident angle from the tie point grids directly from the metadata in python? From there I can write a function to do the interpolation.

I have tried using the xml.etree.ElementTree to parse the xml file but my lack of familiarity with the headers has limited what I have been able to do.

Any help would be awesome, thanks!

How about to calculate the incidence angle on your grid? See the interactive example on Google Colab: Google Colab