Closed MistBornPow closed 1 month ago
Hi Wei-Li, It's great to hear from you. I also know some of your great work. Regarding your Q1, I only use the subroutine named 'synthetic' to calculate dispersion data for every surface grid point for a 3D input model when doing synthetic tests. Compared to 'CalSurfG', it does not calculate the depth kernels. I'm not quite sure if it is because you are using different input models that could cause different dispersion values. For Q2, you are right about the 'gozd, goxd, dvzd, dvxd', which represent the location of the starting point and the intervals in latitude and longitude directions. Sorry about the confusing names, I was either a graduate student with bad naming habits or just following the naming convention in the original FMST code, I can not remember. Let me know if you have any further questions.
Cheers, Hongjian Fang
Dear Dr. Fang,
Since my input model size is 32x32 and the output model is 30x30. Does that mean we have to exclude the edge of the model? Is this issue related to the calulation of FMM? I'm not quite sure about that.
Dear Dr. Fang,
久仰大名。
In order to make the inversion results compatible with the FMST software for ray tracing, recently, I have been trying to modify the code to generate the dispersion map from the final Vs model. I noticed that there is a segment of code in CalSurfG.f90, subroutine "synthetic", that can generate the dispersion map .dat file which has the similar structure of output Vs model. So, I directly copied and modified that segment to make a new subroutine. However, I encountered some problems, the output was not the same as I expected. I have several questions to ask:
The 2-D surface wave dispersion map generated by the new subroutine I added on, the velocity values aren't the same as the original output from subroutine "synthetic"(file velmap2dRc.dat). Is it because the output from "synthetic" is not caluated from the final model? or did I make mistakes in the code?
I noticed that the output model doesn't include the boundary of the model. However, it's necessary to keep the boundary because I have to do another FMM calculation in FMST. Thus, I started modifying the code again but I found something I don't really understand. I tried to modify the index of the loop that write the dispersion file and found that I don't really understand the meaning of variables: gozd, goxd, dvzd and dvxd. and their relations with nx, ny and nz(or x, y and z axis / index i, j, k). I understand that the model is defined in 3-D and z axis pointed downward thus x axis should represent latitude and y axis should represent longitude. But I don't understand why the variables involve longitude were named with the letter 'z'. Do I understand the code properly? Was there any consideration when naming the variables I didn't figure out?
I have attached the modified code. There is a note inside that indicates where the segment I modified is located. DSurfTomo.gz
Thank you for reading this lengthy comment. I hope to get your advice, 非常感謝(非常感谢)
Best regards, Wei-Li Chen