Skip to content

Load Data

Notebook

Converted from nbs/Tutorials/CLI/CampiFlegrei/01_load.ipynb (text and code cells; the outputs are not stored in the repository). Run it in Jupyter or VS Code for the interactive maps.

Data: Campi Flegrei. Sentinel-1A IW, descending track 22, VV, 92 dates from 2019-01-02 to 2021-12-29 (every 12 days, reference 2020-07-07), cropped to the caldera (Pozzuoli and the Gulf of Pozzuoli) at full resolution. A bell-shaped uplift of tens of centimetres in the centre; the town gives many PS. The data and how they were made are described in data/CampiFlegrei/README.md.

Currently, only interface to the GAMMA software is porvided.

Load GAMMA result

The data from gamma software needed for this tutorial:

!ls -R ../../../../data/CampiFlegrei/gamma/

Import Moraine:

import moraine.cli as mc
logger = mc.get_logger()
rslc_dir = '../../../../data/CampiFlegrei/gamma/rslc'
reference = '20200707'
rslc_par = '../../../../data/CampiFlegrei/gamma/rslc/20200707.rslc.par'
hgt = '../../../../data/CampiFlegrei/gamma/geocoding/20200707.hgt'
lt = '../../../../data/CampiFlegrei/gamma/geocoding/20200707.lt_fine'
diff_par = '../../../../data/CampiFlegrei/gamma/geocoding/20200707.diff_par'
dem_par = '../../../../data/CampiFlegrei/gamma/DEM/dem_seg_par'
theta = '../../../../data/CampiFlegrei/gamma/geocoding/20200707.lv_theta'
phi = '../../../../data/CampiFlegrei/gamma/geocoding/20200707.lv_phi'

scratch_dir = './load_data/scratch'
rslc_zarr = './load_data/rslc.zarr'
lat_zarr = './load_data/lat.zarr'
lon_zarr = './load_data/lon.zarr'
theta_zarr = './load_data/theta.zarr'
phi_zarr = './load_data/phi.zarr'
hgt_zarr = './load_data/hgt.zarr'
range_zarr = './load_data/range.zarr'
meta_file = './load_data/meta.toml'
!mkdir -p load_data/scratch
mc.load_gamma_flatten_rslc(rslc_dir,reference,hgt,scratch_dir,rslc_zarr,chunks=(1000,1000))
mc.load_gamma_lat_lon_hgt(diff_par,rslc_par,dem_par,hgt,scratch_dir,lat_zarr,lon_zarr,hgt_zarr,chunks=(1000,1000))
mc.load_gamma_look_vector(theta,phi,lt,rslc_par,dem_par,scratch_dir,theta_zarr,phi_zarr,chunks=(1000,1000))
mc.load_gamma_range(rslc_par,range_zarr,chunks=(1000,1000))
mc.load_gamma_metadata(rslc_dir,dem_par,reference,meta_file)

Here we get all needed data: look vector, latitude, lontitude, height, metadata, slant range distance, and flattened rslc stack.

visualize the loaded interferograms

Then we can visualize the loaded data, e.g., the interferograms:

mc.ras_pyramid(rslc_zarr, './load_data/rslc_pyramid')
import toml
with open(meta_file,'r') as f:
    meta = toml.load(f)
dates = meta['dates']

Interferograms with the first slc as reference:

mc.view('./load_data/rslc_pyramid', show='intf_0', dates=dates)

Or all of the interferograms:

mc.view('./load_data/rslc_pyramid', show='intf_all', dates=dates)

calculate Web Mercator coordinates

For visulization on Google Map tiles, coordinates on Web Mercator projection is needed:

e_zarr = './load_data/e.zarr'
n_zarr = './load_data/n.zarr'
mc.transform(lon_zarr,lat_zarr,e_zarr,n_zarr)