Atmospheric Correction for InSAR

Hi, I have run into an issue that with StaMPS and the TRAIN linear correction. I have run the following steps:
1 command: stamps(1,6)
2 command: aps_linear
3 command: stamps(7,7)
4 command: stamps(6,6)
5 command: setparm(‘subtr_tropo’, ‘y’)
6 command: stamps(7,7)

Everything looks very good but what seems strange is that the v-do (left) seems to make more sense then v-dao (right)

In the lower left corner there are high mountains and I would not expect displacement in the area, especially not introduced by the tropospheric correction. Perhaps I have not applied the steps correctly or a_linear should not be used in areas with large topography changes?

I would be grateful for any advice as what this may be caused by.

2 Likes

Hi @Tereza_S,

The point in there relays in the sentence: "seems to make more sense" .
Is this based on any ground truth data?
This is the most important part, taking the correct assumptions using knowledge over the AOI, over the phenomena that you may encounter or using any other valuable information (previous works over the area or similar) that could provide you with a hint to understand whether the linear APS correction is the more appropriate to this scenario.

it could be that only after the correction you see the very real deformation on that low/left mountainous area. But as you say, it also could be that the correction introduces an undesired effect on the data.

In the end, all come from experience and from ancillary data.
I hope this helps

2 Likes

Thank you @mdelgado for the quick response,
Unfortunately, I have no ancillary data. It is only an assumption based on the fact that this is a mountainous area and I would expect no or little subsidence, I have also found no reference to subsidence in this are in literature. Moreover, when I check if any images contain strong atmosphere using the vdrop-do option, it seems that they do not.


I wonder if you know of any reason why the linear correction would introduce this however. I have not been able to find anything in literature.

1 Like

Well, I am not sure, so please check, but that mountainous area in the lower-left could be composed by 2 volcanoes?

Searching just in Google, I have seen that there are 2 volcanoes in the South-West of Mexico City:
Ajusco and Volcan el Muneco.

Maybe this could bring you some more information to analyse. Could it be this deformation real?
Good luck with your research.

2 Likes

Indeed they are there, but outside of the study area, this is a different mountain just north of Ajusco volcano. There seems to be not much information about it. Anyway thank you, I will try to find more information.

1 Like

Good morning, could someone help me with the installation of TRAIN please. I read the manual and I’m a bit confused

Hi,

I am facing the same problem?

Did you get a solution for this error?

Thansk.

@CDE hi, have you figured out how we can apply our dataset? I have same trouble, the example dataset working however I can’t apply my dataset? It is giving the size error?

Thanks in advance

Hello everyone!
Does anybody know how to get accepted in the TRAIN forum because I send the request like 8 mouth ago.
Thanks in advance!

Hello everyone, I am sharing my recent findings with TRAIN.

This fixes the error and warnings related to K>>, missing lambda, and missing heading. I think it should be correct. Please correct me if I am wrong.

  1. If you get K>>. Type dbcont and press ENTER which will continue the analysis. If you know how, just remove the line from the code. I think this was a debug command that they forgot to remove. MATLAB page on keyboard command.

  2. For missing lambda and heading parameters. see below.

Here are the commands I run:

stamps(1,6);

% Load parameters to workspace
load('parms.mat');
% Write missing lambda file
fid = fopen('lambda.1.in', 'w');
fprintf(fid, num2str(lambda));
fclose(fid);
% Write missing heading file
fid = fopen('heading.1.in', 'w');
fprintf(fid, num2str(heading));
fclose(fid);

% Run TRAIN
aps_linear;

stamps(7,7);
stamps(6,6);
setparm('subtr_tropo', 'y');
stamps(7,7);

On a side note, I’m sharing some insight with running TRAIN using ECMWF.
I’ve been able to download ECMWF data using my credentials using StaMPS. But I can only go so far as step 2.

I’ve been trying to run atmospheric correction with actual data using ECMWF with TRAIN and it’s an absolute nightmare. I needed to install Generic Mapping Tools (GMT) (undocumented requirement), fix paths, add logic to create missing DEM in .GRD format converted from SNAP elevation band. There is something wrong with my code with regards to creating a GRD/XYZ format elevation band so I’m looking into it.

Regarding the missing DEM file, the TRAIN documentation refers to construct_dem.sh which is not in the repo. I looked it up and found it in DORIS a completely separate software to construct missing DEM files. And turns out the shell script file is deprecated because USGS doesn’t support direct linking of SRTM files. I haven’t looked into gacos yet.

Picture to show some output from the ERA model. This was a very unreasonable looking DEM.

EDIT: I fixed the issue with the today() command requiring the Financial Toolbox. I found a way to use standard MATLAB functions.

3 Likes

Would you mind sharing how this step can be accomplished if it is possible through SNAP? I have generated an LOS phase to displacement image from the unwrapped interferogram but so far I can not implement reference points.

Hi Shadi1.

You can use the coherence value (or coherence map) to select your reference stable area. You can investigate a group of pixels within your AOI first. If the group of pixels has a coherence value of unity (1 or close to unity), you can assume that within the group of pixels, the phase difference using two SAR images is negligible; hence, is the displacement. Then, you can take the immediate displacement of one pixel within the group (or the mean displacement within the group) and subtract that value to your displacement map. However, I suggest that you make sure that your reference area/pixel is a ‘ground surface’.

Stamps(8,8) command running without any error for atmospheric error elimination. Is it required to download the GACOS data manually?

Hi @panjibrotoisworo @ABraun @thho , Please tell me, is it required to install Train software in StaMPS4.1b for atmospheric corrections?
Is it removing the atmospheric errors in all the Interferograms once we will run the stamps(8,8) command?
Please give me some idea to remove the APS correction in StaMPS

1 Like

Dear @panjibrotoisworo @ABraun @thho @gnwiii , i want include the tropospheric delay in my result for that, i set the setparm(‘subtr_tropo’, ‘y’) and setparm(‘tropo_method’, ‘a_l’). Now I’m getting the below error please give me some suggestions
Thanks.

stamps(7,7)

STAMPS: ########################################
STAMPS: ####### StaMPS/MTI Version 4.0b6 #######
STAMPS: ####### Beta version, Jun 2018 #######
STAMPS: ########################################

STAMPS: Will process current directory only

STAMPS: ########################################
STAMPS: ################ Step 7 ################
STAMPS: ########################################
STAMPS: Directory is INSAR_20180426

PS_CALC_SCLA: Starting
PS_CALC_SCLA: Estimating spatially-correlated look angle error…
GETPARM: small_baseline_flag=‘n’
GETPARM: drop_ifg_index=
GETPARM: scla_method=‘L2’
GETPARM: scla_deramp=‘y’
GETPARM: subtr_tropo=‘y’
GETPARM: tropo_method=‘a_l’
GETPARM: scla_drop_index=
Error using load
Unable to read file ‘./tca2’. No such file or directory.

Error in ps_calc_scla (line 121)
aps = load(apsname);

Error in stamps (line 524)
ps_calc_scla(0,1)

@suribabu concerning TRAIN, I am not very familiar with it, so I can not help.

However, from what I see is that relative to your location should be a file or directory tca2 which does not exist. I would start checking the installation.

1 Like

Please tell me how can i create dem.rsc or .xml file?
K>> aps_powerlaw(0,0)


D.P.S. Bekaert, A.J. Hooper and T.J. Wright,
A spatially-variable power-law tropospheric correction technique for InSAR data, JGR, doi:10.1029/2014JB011558


Set lambda manual in parms_aps!
Set heading manual in parms_aps!
PARM: sounding_data=‘n’
Set lambda manual in parms_aps!
Set heading manual in parms_aps!
PARM: stamps_processed=‘y’
Set lambda manual in parms_aps!
Set heading manual in parms_aps!
PARM: powerlaw_ridge_constraint=‘y’
Set lambda manual in parms_aps!
Set heading manual in parms_aps!
Set lambda manual in parms_aps!
Set heading manual in parms_aps!
Set lambda manual in parms_aps!
Set heading manual in parms_aps!
GMT works with executable: gmt
You are using GMT version: 5.4.3
gmt psxy: Signal 122
WARNING: GMT functions need to be preceded by gmt: e.g. gmt xyz2grd
Set lambda manual in parms_aps!
Set heading manual in parms_aps!
Set lambda manual in parms_aps!
Set heading manual in parms_aps!
Set lambda manual in parms_aps!
Set heading manual in parms_aps!
PARM: region_lon_range=71.9583 74.0417
Set lambda manual in parms_aps!
Set heading manual in parms_aps!
PARM: region_lat_range=19.9583 22.0417
Set lambda manual in parms_aps!
Set heading manual in parms_aps!
PARM: region_res=0.008333
Your DEM is not .grd.
This is fine but you need a .rsc or.xml file
Error using get_DEM (line 110)
/media/rakesh/GPS_LAB1/valsad_IW2/INSAR_20180426/dummy.dem.rsc or.xml not found

Error in aps_powerlaw_watershed (line 47)
[dem,xmin,xmax,ymin,ymax,smpres,nncols,nnrows] = get_DEM;

Error in aps_powerlaw (line 126)
[mountain_ridge] = aps_powerlaw_watershed;

K>>

I’m trying to use my grid file(it contains SRTM 1Arc second data). First i set the path of my grd file using below command.
setparm_aps(‘demfile’,’~/srtm_studyarea.grd’).
It is nicely reading the grd file and generating the topo map.

Please check it once.

Dear @ABraun @panjibrotoisworo @EJFielding @thho @Gijs @mengdahl,
Up to now, I thought TRAIN is directly linked with StaMPS, this is wrong (I came to know after reading the StaMPS manual clearly). I want to process the TRAIN software for my PS-InSAR data set, please help me which data set is better for reducing the APS corrections.

1 Like