국지좌표계에서 단위 질량당 전향력은 다음과 같이 나타낼 수 있다.
$\overrightarrow{a}_{co}=fv\hat{i}-fu\hat{j} (f=2Ωsin𝜙)$
이를 이용하여 아래 문제를 한번 풀어보자.
북위 $43°(f=10^{-4}s^{-1})$에서 동쪽으로 수평속도 $1000ms^{-1}$로 $1000km$ 거리를 날아간 경우 전향력의 영향으로 남쪽으로 변위된 총 거리를 구해보자.
$\frac{dv}{dt}=-fu$
$v=-fu_{0}t $(u는 전향되는 정도가 충분히 작아 상수로 가정)
$\int _{y_{0}}^{y_{0} +\delta y} dy=\int _{0}^{t} vdt\\
\delta y=-fu_{0}\int _{0}^{t} tdt\ =\ -fu_{0} t^{2} /2\ =\ -\ \left( 10^{-4} s\right)\left( 1kms^{-1}\right)( 1000s)^{2} /2\\
\therefore \delta y=-50km$
위 계산 과정을 통해 남쪽으로 $50km$만큼 전향된다는 것을 계산해냈다.
이제 MATLAB으로 운동 궤도를 그려보자.
close all
disp('초기 경도 : 0도')
init_lat = input('초기 위도(degrees)를 입력해주세요');
u0 = input('동서바람 속도(m/s)를 입력해주세요 ' );
v0 = input('남북바람 속도(m/s)를 입력해주세요');
rad= 6.37e6;
omega=7.292e-5;
lat0 = pi*init_lat/180.;
runtime = input('적분 시간(s)을 입력해주세요');
time = runtime*1.*1.;
options = odeset('RelTol', 1.e-6);
[t,x] = ode45('xprim2',[0 time],[u0 v0 0 lat0],options,rad,omega);
long = x(:,3)*180/pi; % converts longitude to degrees
lat = x(:,4)*180./pi; % converts latitude to degrees
A1 = -1+min(long); A2 =1+max(long);
A3 = -1+min(lat); A4 = 1+max(lat);
figure(2)
plot(long,lat,'r')
axis([A1 A2 A3 A4])
xlabel ('위도')
ylabel ('경도')
title('곡률항을 고려하지 않은 궤도 계산')
hold on
plot(long(1),lat(1),'kd')
위 코드는 초기 위도, 수평 속도와 수직 속도, 적분 시간을 입력받아서 궤도를 계산해 그려주는 코드이다.
function xprim = xprim2(t,x,flag,rad,omega)
% Computes time derivatives for use with script coriolis.m.
xprim = zeros(4,1);
omega = 7.292e-5;
rad= 6.37e6;
xprim(1) = (2.*omega)*sin(x(4))*x(2);
xprim(2) = -(2.*omega)*sin(x(4))*x(1);
xprim(3) = x(1)/(rad*cos(x(4)));
xprim(4) = x(2)/rad;
위 코드는 ode45함수에 미분방정식 인자로 들어갈 xprim함수이다.
이를 MATLAB에서 실행하고 아래와 같이 문제의 값을 넣으면 궤도 그래프를 얻을 수 있다.
웹 프로그램에 얻은 위도,경도를 대입하여 아래로 전향된 거리를 구해보았다.
아래로 전향된 거리는 $49.11km$로 역시 위에서 수식으로 계산한 $50km$와 유사한 값이 나오는 것으로 보아 위 코드가 문제가 없음을 알 수 있다.
참고자료 : 대기역학 - James R. Holton 제5판