ZeyuJin / geodetic_inversion

homogeneous/layered inversion using InSAR/GPS
17 stars 12 forks source link

Some documents are missing #4

Closed liy96 closed 1 month ago

liy96 commented 3 months ago

Hi, I would like to express my gratitude for sharing the 'geodetic_inversion' project on GitHub. I have recently started exploring this field and am very interested in your project. While attempting to understand and execute the sample code, I encountered some confusion. I noticed that the sign_mask_offset function requires files named /clean_left.txt and /clean_right.txt, but they seem to be absent from the project. Additionally, I am unable to find the los_list and fault_file files when executing the make_insar_data command. As a beginner, I am very keen to learn through practical examples, and I wonder if it would be possible for you to provide some data used in the tutorials to aid in my understanding and learning of this program. Furthermore, I have a few questions regarding the programme. Does it support setting faults as non-linear surfaces? And is it possible to invert for fault depth, dip, and length using InSAR deformation data? Your response would be immensely appreciated.

x3zou commented 3 months ago

Hi Zhigang, Thank you for your interest. Here are my answer for your questions.

  1. clean_left.txt clean_right.txt: those files need to be made manually. Assume you have the .kml file ready for the offset data, you can use 'polygon' feature on Google Earth and draw polygon to cover the area of interest. Then you can export the .kml file of your polygon, and make a .txt file based on the coordinates of your polygon:

lon1 lat1 lon2 lat2 lon3 lat3 ...... lon1 lat1 (remember to enter the coordinate of your first line so that the polygon can be closed)

But generally, if you are not using offset data, this step is not necessary.

  1. I just uploaded los_list and fault_file examples to the WorkExample directory. Those files should be created manually. los_list sets the path to where the data is and the number of points to be sampled (try 3000). The fault file is based on the location of the actual fault. (lon1 lat1 lon2 lat2). You can pin down the coordinates your faults by looking at the discontinuities of .kml file of your unwrapped data and drawing a path.

  2. Please go to the WorkExample directory to see the practical examples, with real data. In this directory, I modified the code so that it can read a configuration file for all parameters, paths, etc. Go to InverstionTest.m to see the procedure. The data are in the Work directory, ASC100/LOS2, DES100/LOS2. You can also find the example polygon and mask files I was talking about inside the data directories.

  3. Yes it can support non-linear surfaces. But I have never implemented it before, so Zeyu @ZeyuJin will tell you more.

  4. The fault geometry is set manually by the users. Therefore I don't think our code supports the inversion for fault geometry.

    Please let me know if you have more questions!

liy96 commented 3 months ago

Thank you immensely for sharing those files. Your comprehensive explanation has clarified the concepts I was previously uncertain about. I plan to delve deeper into the topic with the data you've provided. I hope I can continue to communicate with you if I encounter problems later. Thanks again.

liy96 commented 3 months ago

Hello, Upon running the script again, I noticed an issue that seems to arise from a missing function: read_plot_fault_segment. I've looked through the folder but couldn't find its definition anywhere. This function is called within plot_insar_model_resampled at line 83. I was wondering if you might have a moment to help me locate it or provide some guidance on how to proceed. Your assistance would be greatly appreciated.Thank you very much for your time and help!

x3zou commented 3 months ago

Hello, Upon running the script again, I noticed an issue that seems to arise from a missing function: read_plot_fault_segment. I've looked through the folder but couldn't find its definition anywhere. This function is called within plot_insar_model_resampled at line 83. I was wondering if you might have a moment to help me locate it or provide some guidance on how to proceed. Your assistance would be greatly appreciated.Thank you very much for your time and help!

Hello,

Yes it seems to be missing. I just uploaded a copy of 'read_plot_faut_segment.m' to the PLOT directory. Thanks for bringing this up. Sorry about that!

liy96 commented 3 months ago

I appreciate your assistance. Unfortunately, I've encountered a few issues in my subsequent attempts.

Firstly, when I started the inversion process at step five, there was an error: error read_plot_fault_segment (line 55) if strcmp(option, 'll'), from plot_insar_model_resampled (line 83) read_plot_fault_segment('SKFS_fault.txt','m');. I changed this command to read_plot_fault_segment('SKFS_fault.txt','m', 'll'), and then there were no more errors. However, the resulting plot of the slip distribution was two-dimensional and did not display the three-dimensional slip results of the fault.

The second problem occurred during step six, when I encountered the following error: error! resamp_insar_data (line 110) tmp = load('resample/misfit_include_MAI/homo_better_data.mat');. The file'resample/misfit_include_MAI/homo_better_data.mat' could not be read. No such file or directory was found. I checked the folder and did not find the homo_better_data.mat file, and I am uncertain about what this file is.

Furthermore, I would like to ask you a question. Based on the "model geometry of each patch" image you provided, how is the positive or negative sign of the dip angle determined? Is the dip angle the angle between the fault plane and the vertical plane that passes through the strike? I hope it's not too much trouble to ask for your help again. I truly appreciate your assistance.

x3zou commented 3 months ago

Hello,

'Plot_insar_model_resampled' is not intended for showing 3D model. What it shows is the original LOS displacement, the forward modeling of LOS displacement of the inversion model, and the residual. The command that shows 3D slip distribution model is the 'show_slip_model' command

For the resamp_insar_data (line 110), please comment out the line 110-111. I believe those steps are not used for general purposes. I have also updated the original codes.

I believe that the dip angle is the angle between fault plane the the horizontal ground surface. But you can experiment with different values and signs to make it sure.

Please don't hesitate to ask more questions.

Xiaoyu

liy96 commented 3 months ago

Thank you for your help; I've basically completed the process and roughly understood the principle. I haven't encountered any more errors during the operation. I'm very grateful for your sharing, which has allowed me to learn a lot. With this, I have a small question to ask. Following step 7, the slip distribution map I produced lacks depth information and is just a two-dimensional image, just as I have displayed.

Additionally, I have some questions regarding input parameters that I'd like to discuss with you. In step 4, when we need to input the geometry of the fault, for each segment of the fault, besides the dip angle, its length and width may also vary, which I did not find in the parameter settings, as it only seemed to allow setting a fixed length and width. Logically speaking, for a segmented fault, the length of each segment should vary, shouldn't it? untitled

x3zou commented 3 months ago

I'm glad that you can complete the whole process!

  1. You can use your mouse to rotate the slip distribution profile so that you will have a 3D view, assuming that your MATLAB is functioning.

  2. The 'fault file' has already described the coordinates of every fault segment tip, and hence the length of each fault segment is prescribed.

liy96 commented 3 months ago

I would like to know what format of .grd file is available and what software should be used to generate it. Some times I generate .grd format files that run without errors and other times they run with errors.

x3zou commented 3 months ago

The .grd files are expected to be generated using GMTSAR. Please refer to https://github.com/ZeyuJin/ALOS2_batch_processing And https://topex.ucsd.edu/gmtsar/tar/sentinel_time_series_2.pdf For tutorials

ZeyuJin commented 1 month ago

Hi, I would like to express my gratitude for sharing the 'geodetic_inversion' project on GitHub. I have recently started exploring this field and am very interested in your project. While attempting to understand and execute the sample code, I encountered some confusion. I noticed that the sign_mask_offset function requires files named /clean_left.txt and /clean_right.txt, but they seem to be absent from the project. Additionally, I am unable to find the los_list and fault_file files when executing the make_insar_data command. As a beginner, I am very keen to learn through practical examples, and I wonder if it would be possible for you to provide some data used in the tutorials to aid in my understanding and learning of this program. Furthermore, I have a few questions regarding the programme. Does it support setting faults as non-linear surfaces? And is it possible to invert for fault depth, dip, and length using InSAR deformation data? Your response would be immensely appreciated.

Hi, I just updated the package that supports the construction of non-linear fault using point sources. Here is the repo link path: https://github.com/ZeyuJin/geodetic_inversion/tree/master/curveFaultGeometry For how I construct Green's function of non-linear fault, you can refer to Figures 2&3 in my paper: https://doi.org/10.1029/2023JB026643. Hopefully it helps.

image