-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Output data in Spyro #118
Comments
I will review these files later to fully address your questions. However, I'm currently behind on my thesis, so it might take some time. In the meantime, here are a few points I can already highlight:
|
Thank you for your reply. I hope your thesis goes well. I will continue researching this issue in the meantime, and I will let you know if I figure it out. Thanks!
Sent from Outlook for iOS<https://aka.ms/o0ukef>
…________________________________
From: Alexandre Olender ***@***.***>
Sent: Thursday, July 4, 2024 3:31:33 PM
To: NDF-Poli-USP/spyro ***@***.***>
Cc: Wu, Yifan ***@***.***>; Author ***@***.***>
Subject: Re: [NDF-Poli-USP/spyro] Output data in Spyro (Issue #118)
This email from ***@***.*** originates from outside Imperial. Do not click on links and attachments unless you recognise the sender. If you trust the sender, add them to your safe senders list<https://spam.ic.ac.uk/SpamConsole/Senders.aspx> to disable email stamping for this address.
I will review these files later to fully address your questions. However, I'm currently behind on my thesis, so it might take some time.
In the meantime, here are a few points I can already highlight:
* For acoustic propagation problems, I strongly recommend avoiding degree=1. Ideally, use degree=4 for better runtime and reduced memory usage. Degree=1 results in significant error, even with refined meshes. For more details, please refer to this paper: GMD, 2022<https://gmd.copernicus.org/articles/15/8639/2022/>. Figure 8 in the paper illustrates why it is best to avoid degree=1.
* Before completing the major refactoring in PR #104<#104>, I compared results and some computational aspects with Devito. I recall having to scale the Devito results by dx^2 (with dx from Devito). As shown in this Devito tutorial<https://slimgroup.github.io/Devito-Examples/tutorials/accuracy/>, Devito also needs to do this when comparing with the forward analytical solution. I think they also do it internally when calculating gradients.
—
Reply to this email directly, view it on GitHub<#118 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/BDENNF6PIKDTCXGQIHVVSO3ZKVMELAVCNFSM6AAAAABKLFAUY2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMBZGEZTIMRSG4>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Some more observations: Starting from line 181 in the Devito file operators.py, it's clear that you also need to also consider Additionally, it is important to note that our source and Devito's source probably have different starting delays for the Ricker wavelet. I recommend plotting the results from a single receiver to better understand the discrepancies, or examining where Devito defines their delay. For degree and mesh sizes, please follow the specifications mentioned in the spyro paper. If you are doing an in depth look in accuracy between devito and spyro I also suggest switching to the newest version of spyro. |
Thanks! It is almost finished |
Yes! I also notice the PDEs they are solving is a bit different ( putting the c^2 in different places)! I'm having the look now.
Ok. Will have a look on the delay and other parameters! Thanks!
…________________________________
From: Alexandre Olender ***@***.***>
Sent: Thursday, July 4, 2024 3:47 PM
To: NDF-Poli-USP/spyro ***@***.***>
Cc: Wu, Yifan ***@***.***>; Author ***@***.***>
Subject: Re: [NDF-Poli-USP/spyro] Output data in Spyro (Issue #118)
This email from ***@***.*** originates from outside Imperial. Do not click on links and attachments unless you recognise the sender. If you trust the sender, add them to your safe senders list<https://spam.ic.ac.uk/SpamConsole/Senders.aspx> to disable email stamping for this address.
Some more observations:
Starting from line 181 in the Devito file operators.py<https://github.com/devitocodes/devito/blob/master/examples/seismic/acoustic/operators.py>, it's clear that you also need to also consider m (which should be c^2 where the source is located) to properly scale the Devito forward results. Applying this adjustment to the latest result you showed me, 0.32277313 becomes 5.164370080000001e-06. While this is still not 6.19580433e-06, it is closer. The remaining difference is likely due to various factors such as different delays, errors related to meshing, and the degree of 1 (please go higher).
Additionally, it is important to note that our source and Devito's source probably have different starting delays for the Ricker wavelet. I recommend plotting the results from a single receiver to better understand the discrepancies, or examining where Devito defines their delay.
For degree and mesh sizes, please follow the specifications mentioned in the spyro paper.
If you are doing an in depth look in accuracy between devito and spyro I also suggest switching to the newest version of spyro.
—
Reply to this email directly, view it on GitHub<#118 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/BDENNF35UH2DI2GYI5WQPZLZKVOA5AVCNFSM6AAAAABKLFAUY2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMBZGE3DGMZYGY>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Hello, I applied the adjustment to the latest result, but this is what I get
I attached the code I adjusted here.
Could you please tell me where my code might be incorrect, or if there is a simpler way to adjust it? Many thanks for your help!!!! |
I concurrently use Spyro and Devito tools to process the most simple velocity model. In Spyro, I obtained minimal data values in true_d.data, as shown below:
Conversely, in Devito, the amplitude values are significantly larger, as illustrated below:
How should I interpret these differences? Does Spyro implement any form of automatic data scaling or normalization for the amplitude values in seismic simulations? How should I manually change the data scalling? will also attach the relevant sections of code from both Devito and Spyro for your reference.
For devito:
For spyro:
Many thanks for your time!! Thanks for the help a lot!!!!
The text was updated successfully, but these errors were encountered: