Closed truth-quark closed 4 years ago
From Chandrakanta Ojha on slack: This is an important function in the processing and consists of several imp steps. But this could be decomposed into smaller parts logically. I am not sure how much convincing theses but here are few suggestion that may help understanding the flow of the function used on the code. We may consider to make it 3 separate sub-processing steps and the steps could start from (1) initial baseline calculation, initial phase simulation from DEM then initial flattened of interferogram (2) refining the baseline model and second flattened interferogram using iterative method (3) Refine of baseline using ground control point, coherence file generation, phase unwrapping of interferograms, and again phase simulation using DEM, and final flattening of the unwrapped interferometric phase.
You can skip the iterative baseline refinement part which comes after the if-statement "if [ $ifg_base_iter_flag == yes ]; then". This was only used for InSAR data with large spatial baselines (i.e. ALOS and Envisat data) for test purposes and is not required for the Sentinel-1 workflow. Based on that it might not be necessary at all to split into smaller parts. If so you can split into two parts as suggested by Chandra (i.e. (1) and (3) in Chandra's list): (1) initial flattened interferogram: everything between 'base_orbit' and the second call of 'SLC_diff_intf' including the clean up of files after 'if [ $clean_up == yes ]; then' (2) final flattened interferogram from refined baseline model using ground control points: everything between 'if [ $sensor = CSK ] && [ $sensor_mode = SP ]; then' and 'base_perp'.
If so you can split into two parts as suggested by Chandra (i.e. (1) and (3) in Chandra's list):
Ok, I'll work with parts 1 & 3 for now.
(1) initial flattened interferogram: everything between 'base_orbit' and the second call of 'SLC_diff_intf' including the clean up of files after 'if [ $clean_up == yes ]; then' (2) final flattened interferogram from refined baseline model using ground control points: everything between 'if [ $sensor = CSK ] && [ $sensor_mode = SP ]; then' and 'base_perp'.
I'd like to give the Py functions some nice descriptive names, but lack the InSAR context to know what is being done. Would generate initial flattened interferogram
and generate final flattened interferogram
suffice?
If so you can split into two parts as suggested by Chandra (i.e. (1) and (3) in Chandra's list):
Ok, I'll work with parts 1 & 3 for now.
(1) initial flattened interferogram: everything between 'base_orbit' and the second call of 'SLC_diff_intf' including the clean up of files after 'if [ $clean_up == yes ]; then' (2) final flattened interferogram from refined baseline model using ground control points: everything between 'if [ $sensor = CSK ] && [ $sensor_mode = SP ]; then' and 'base_perp'.
I'd like to give the Py functions some nice descriptive names, but lack the InSAR context to know what is being done. Would
generate initial flattened interferogram
andgenerate final flattened interferogram
suffice?
yes, fine with me.
This large step needs to be broken up into smaller parts and reimplemented in Python: https://github.com/GeoscienceAustralia/gamma_insar/blob/develop/process_ifg.bash#L170-L364
@tfuhrmann & @adeane-ga are going to add some comments for the new design.