@@ -6,27 +6,30 @@ momentum spectrum decomposition
6
6
## open a .nc file containing spectral data
7
7
``` python
8
8
import datatree
9
- file_L1b = ' /home1/scratch/agrouaze/l1b /S1B_IW_SLC__1SDV_20210420T094142_20210420T094208_026549_032B99_7071.SAFE/s1b-iw3-slc-vv-20210420t094142-20210420t094208-026549-032b99-006_L1B_xspec_IFR_0.5.nc'
9
+ file_L1b = ' . /S1B_IW_SLC__1SDV_20210420T094142_20210420T094208_026549_032B99_7071.SAFE/s1b-iw3-slc-vv-20210420t094142-20210420t094208-026549-032b99-006_L1B_xspec_IFR_0.5.nc'
10
10
dt = datatree.open_datatree(file_L1b)
11
11
```
12
12
13
13
14
14
## symmetrize both imaginary and real part spectrum
15
15
``` python
16
16
import spectrum_momentum
17
- one_spec_re = dt[' intraburst_xspectra' ].ds[' xspectra_2tau_Re' ].isel(burst = 0 ,
18
- tile_sample = 0 ,tile_line = 0 ).mean(dim = ' 2tau' )
19
- one_spec_im = dt[' intraburst_xspectra' ].ds[' xspectra_2tau_Im' ].isel(burst = 0 ,
20
- tile_sample = 0 ,tile_line = 0 ).mean(dim = ' 2tau' )
17
+ cat_xspec = ' intra'
18
+ ds = dt[cat_xspec+ ' burst_xspectra' ].to_dataset()
19
+ for tautau in range (3 ):
20
+ ds[' xspectra_%s tau' % tautau] = ds[' xspectra_%s tau_Re' % tautau] + 1j * ds[' xspectra_%s tau_Im' % tautau]
21
+ ds = ds.drop([' xspectra_%s tau_Re' % tautau,' xspectra_%s tau_Im' % tautau])
22
+
23
+ xspec2tau = ds[' xspectra_2tau' ].swap_dims({' freq_sample' :' k_rg' ,' freq_line' :' k_az' })
24
+ xspec2tau = spectrum_momentum.symmetrize_xspectrum(xspec2tau, dim_range = ' k_rg' , dim_azimuth = ' k_az' )
25
+ one_spec_re = xspec2tau.isel(burst = 0 ,tile_sample = 0 ,tile_line = 0 ).mean(dim = ' 2tau' ).real
26
+ one_spec_im = xspec2tau.isel(burst = 0 ,tile_sample = 0 ,tile_line = 0 ).mean(dim = ' 2tau' ).imag
27
+
21
28
print (one_spec_re)
22
- one_spec_re = one_spec_re.swap_dims({' freq_sample' :' k_rg' ,' freq_line' :' k_az' })
23
- one_spec_re = spectrum_momentum.symmetrize_xspectrum(one_spec_re, dim_range = ' k_rg' , dim_azimuth = ' k_az' )
24
- one_spec_im = one_spec_im.swap_dims({' freq_sample' :' k_rg' ,' freq_line' :' k_az' })
25
- one_spec_im = spectrum_momentum.symmetrize_xspectrum(one_spec_im, dim_range = ' k_rg' , dim_azimuth = ' k_az' )
26
- one_spec_re
29
+
27
30
```
28
31
29
- ## compute 20 orthogonal momentum
32
+ ## compute 20 orthogonal momentum (floats) associated to convolution of the spectra with weights
30
33
``` python
31
34
import spectrum_momentum
32
35
decomp_moments = spectrum_momentum.orthogonalDecompSpec(real_part_spectrum = one_spec_re,
0 commit comments