load ionosphere stack from isce2/topsStack#780
Conversation
|
@mohseniaref-InSAR |
|
Thanks so much @yuankailiu . I have another solution, I am currently at EGU, I will contact you how to implement it in Mintpy , thanks so much for your message |
|
Thank you, @yunjunz for the modifications!
|
+ load_data.py --ionstack ionosphere files (unwrapPhase, coherence, connectComponent) from topsStack products + load_data.py --ionstack will create an independent `ionStack.h5` for ionosphere datasets + load_data.py --ionstack will handle dimensions (xstep, ystep) (topStack ionosphere interferograms were further multilook) + load_data.py --geom: this is an added option to load only the geometry files + add identidyable filenames to iono-related files in several places + trailing whitespaces removed in several places [updates]: suggested PR comments from insarlab#780 (comment)
|
@yunjunz, I have modify the above suggestions from #780 (comment) |
|
Thank you @yuankailiu, I will take a look again today. |
Set default TS ion file name without underscore, and move them out of "inputs", as we have ionStack inside "inputs" folder already.
+ smallbaselineApp.cfg: add descriptions for ionosphere stack + auto_path.py: support auto path for ionStack from isce2/topsStack + load_data: - split datasetName2templateKey into 4 dict objects, to help to distinguish between regular stack and ion stack, while setting the correct template key - set --ion / geom as mutually exclusive arg for more robust user typo checking - add example cmd in help msg - add Parameters/Returns comments for most functions - rename update_object() to run_or_skip() for consistency and a more intuitive name - remove the different y/xstep calculation for ionStack, for simplicity, on both the user side and the developer side. An extra PR to diff.py is needed to be able to handle the different resolution between two input files, to support the iono correction in TS.
+ load_data: roll back the read_subset_box() to the later location, after prepare_metadata(). + load_data.run_or_skip(): add the checking of dataset list between in/out stack file/obj + stackDict.ifgramStackDict: add get_dataset_list() + plot_network: disable color coding when no dataset found in file.
yunjunz
left a comment
There was a problem hiding this comment.
Thank you very much for the PR @yuankailiu. All look good to me.
Re-thinking the x/ystep and its explanations in the comment, I think it's easier to keep the same values for ionStack without special treatment, for both users and developers. Thus, I have removed related parts of the code. Nevertheless, another PR to the diff.py is needed to handle the different resolutions between two inputs TS files, when applying for the iono correction.
In these updates, the attempt is to load the ionosphere datasets from topsStack processor into MintPy as an independent
ionoStack.h5. Thus, it can be inverted separately to a time series for ionosphere correction in the time-series domain.New functionalities in
load_data.py:load_data.py --helpThe general workflow with ionospheric correction could be:
You will need to have a template configuration file containing the following:
We better set downsampling here, so it downsample the regular InSAR files 10 times:
Since topStack generated iono files are already 10 times less in size, in my code it will divide this {xstep, ystep} by 10 (10/10=1, thus no further down sampling for the iono) to handle that factor. Thus, after loading, the ionoStack and regular InSAR stack (ifgramStack) will have the same dimension.
But if you have {xstep, ystep}<10 here, then the downsampling for iono will be less than 1. The code will just skip downsampling the iono files. Then your iono stack and regular InSAR stack will have different size. You will need to sample them by yourself later on when you want to difference them. So unless you already sample the topsStack products using gdal externally, just always set {xstep, ystep} = {10,10} to save hassle.
Reminders