잡다한것 etc./지구과학

Determining and Measuring Earth's Layered Interior

杉山空 2022. 4. 17. 22:10
728x90

iris.edu 에서 제공하는 자료를 이용한다.

https://www.iris.edu/hq/inclass/lesson/determining_and_measuring_earths_layered_interior

 

Determining and Measuring Earth's Layered Interior- Incorporated Research Institutions for Seismology

Students work first in small groups, and then as a whole class to compare predicted seismic wave travel times, generated by students from a scaled Earth model, to observed seismic data from a recent earthquakes. This activity uses models, real data and emp

www.iris.edu

최종 목표를 이야기 하자면 그냥 외핵의 반지름을 추정하는 것이다.

 

[그림 1] IRIS.edu에서 제공하는 지진 관측 자료

위에 첨부해둔 링크에서 필요한 자료를 다운받을 수 있다.

위의 그림에서는 P파의 주행시간을 알 수 있다. IRIS에서 제공하는 자료를 이용하여 외핵의 반지름을 추정하는 방법은 다음과 같다.

 

1. 각거리별 P파의 주행시간을 구한다.

2. 관측소의 각거리별 수직 거리를 구하고 이론적 P파 주행시간을 구한다.

3. P파의 주행시간에 큰 차이가 나는 지점을 결정한다.

4. 위 데이터를 이용하여 외핵의 반지름을 추정한다.

 

위 방법은 충분히 자동화 시킬 수 있으며, 아래의 코드로 금방 끝낼 수 있다. (주행시간의 큰 차이는 2분으로 잡았다.)

#include <bits/stdc++.h>
using namespace std;
double pi=acos(-1);
vector<double>vd,vlf,d;
int main(){
    int N,part=-1;
    double R=4.6,ceta;
    cout<<"Number of Observatory: ";
    cin>>N;
    cout<<"input: Angular Distance(deg), Observed Arrival Time[min]\n";
    d.resize(N+1);
    bool flag=false;
    for(int i=0;i<N;i++){
        printf("%3d: ",i+1);
        double q;
        cin>>d[i]>>q;
        d[i]*=2*pi/360;
        vlf.push_back(q);
        vd.push_back(2*R*cos((d[i]>pi/2)?(pi-d[i])/2:(pi/2-d[i]/2)));
        if(flag)continue;
        if(abs(vlf[i]-vd[i]*1274.2/660)>2){
            flag=true;
            part=i;
            if(i==0){ceta=d[i];continue;}
            ceta=(d[i]+d[i-1])/2;
        }
    }
    cout<<"Theoretician Data\n(Model[cm], Theoretical[km], Arrival Time[min]\n";
    for(int i=0;i<N;i++){
        printf("(%4.1lf, %5.0lf, %4.1lf)",vd[i],1274.2*vd[i],1274.2*vd[i]/660);
        if(part==i)cout<<" <- Starting Point of a Big Diffrence";
        cout<<"\n";
    }
    cout<<"\nRadius of Outer Core: "<<1274.2*R*cos(ceta/2)<<"km\n";
    return 0;
}

[그림 2]

위와 같은 결과가 나오게 된다.

위 링크에서 자료를 다운받아 보면, 사용되는 모델의 축척은 (1cm : 1274.2km)이다.

 

대충 간단한 수학적인 방법으로 위의 코드가 나오는 것은 너무 쉬우므로(중등 교육과정이다.) 따로 설명은 하지 않는다.

728x90