In fluid mechanics, meteorology and oceanography, a trajectory traces the motion of a single point, often called a parcel, in the flow. Trajectories are useful for tracking atmospheric contaminants, such as smoke plumes, and as constituents to Lagrangian simulations, such as contour advection or semi-Lagrangian schemes. Suppose we have a time-varying flow field, \(\vec v(\vec x,~t)\). The motion of a fluid parcel, or trajectory, is given by the following system of ordinary differential equations:

\[ \frac{d \vec x}{dt} = \vec v(\vec x, ~t) \]

While the equation looks simple, there are at least three concerns when attempting to solve it numerically. The first is the integration scheme. This is typically a Runge-Kutta, although others can be useful as well, such as a leapfrog. The second is the method of determining the velocity vector, \(\vec v\) at a given position, \(\vec x\), and time, t. Normally, it is not known at all positions and times, therefore some method of interpolation is required. If the velocities are gridded in space and time, then bilinear, trilinear or higher dimensional linear interpolation is appropriate. Bicubic, tricubic, etc., interpolation is used as well, but is probably not worth the extra computational overhead. Velocity fields can be determined by measurement, e.g. from weather balloons, from numerical models or especially from a combination of the two, e.g. assimilation models.

The final concern is metric corrections. These are necessary for geophysical fluid flows on a spherical Earth. The differential equations for tracing a two-dimensional, atmospheric trajectory in longitude-latitude coordinates are as follows:

\[ \frac{d \theta}{dt} = \frac{u}{r \cos \phi} \]

\[ \frac{d \phi}{dt} = \frac{v}{r} \]

where, \(\theta\) and \(\phi\) are, respectively, the longitude and latitude in radians, r is the radius of the Earth, u is the zonal wind and v is the meridional wind.

Trajectories can be validated by balloons in the atmosphere and buoys in the ocean.

External links

  • ctraj: A trajectory integrator written in C++.

References

  • Script error