Skip to content
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

need at least one receiver #1603

Open
liaohaiyang1534 opened this issue May 5, 2023 · 2 comments
Open

need at least one receiver #1603

liaohaiyang1534 opened this issue May 5, 2023 · 2 comments

Comments

@liaohaiyang1534
Copy link

Hi,

I encountered this error: "need at least one receiver"

QQ图片20230505161039

I am not using the in-house mesher xmeshfem3D. I am using the cubit mesher and CPML conditions.

The size of the mesh is as follows:

X direction: 0 to 300
Y direction: 0 to 80
Z direction: -100 to 0

CPML layer thickness:

Xmin face: 40
Xmax face: 40
Ymin face: 20
Ymax face: 20
Zmin face: 20

These are the parameters of my source:

FORCE 001
time shift: 0.0000
hdurorf0: 0.08
latorUTM: 50.0
longorUTM: 40.0
depth: 0.0
source time function: 0
factor force source: 1.d5
component dir vect source E: 0.d0
component dir vect source N: 0.d0
component dir vect source Z_UP: -1.d0

The format of my stations is correct, with X direction ranging from 100 to 250.

X01 DB 100.00 40.00 0.0 0.0
X02 DB 102.00 40.00 0.0 0.0
......
X76 DB 100.00 40.00 0.0 0.0

However, when I change the X coordinate of the station to start from 50, there will be station output files again, but only stations with X = 50 to 80 have data, and the other stations do not.

X01 DB 50.00 40.00 0.0 0.0
X02 DB 52.00 40.00 0.0 0.0
......
X101 DB 250.00 40.00 0.0 0.0

This is very confusing, and I have searched through the issues and documentation PDF on the GitHub page but still have not found a solution.

I'm very appreciated to have any advice and suggestions for this issue.
(If you need any more clarifications, please let me know)

Regards

Haiyang Liao
haiyangliao@smail.nju.edu.cn

@danielpeter
Copy link
Contributor

hi Haiyang,

i think you just have to switch the X and Y positions in your STATIONS file.

the STATIONS file format comes originally with a "lat/lon" position in mind (as it all started with regional seismology), so the format typically is something like

#sta #net #LAT #LON #elevation #burial_depth

with a mesh created in Cartesian coordinates, this then translates to LATITUDES going in Y-direction (like "North" being at higher Y values) and LONGITUDES in X-direction (like "going East" is towards positive X values). well, and burial_depth along the Z-coordinate.

in your case, you don't use lat/lon (so likely the UTM conversion is suppressed with SUPPRESS_UTM_PROJECTION == .true.?), and you specify directly the x/y/z position of the stations. therefore, the #LAT becomes #Y and #LON becomes #X, i.e., the STATIONS file has a format like

#sta #net #Y #X #elevation #burial_depth

hope that explains it. you can also see the explanation in the doc/wiki:
https://github.com/SPECFEM/specfem3d/wiki/A_reference_frame#reference-frame-convention

also, in case the solver cannot place any stations onto the mesh (given they are too far away from the actual mesh location), it will stop running, assuming that it makes no sense in computing waves when there is nothing to record at the end - so, don't waste your compute cycles :)

@liaohaiyang1534
Copy link
Author

Hi, daniel

This is helpful, thank you! Although it seems like a very simple question now, I indeed overlooked it due to inertia in my thinking.
Thanks again for your patience and attention to detail in your explanation.

the UTM conversion should be suppressed with SUPPRESS_UTM_PROJECTION == .true.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants