Transects
The mpas_tools.transects
module contains functions used to define
transects through MPAS meshes. These transects can be used to create masks
of the cells, edges or dual-mesh cells (in some sense “vertices”) that
intersect the transect. They can also be used for visualization such as
plotting vertical cross-sections of MPAS data along the transect.
Subdividing transects
For both visualization and intersection detection, it is often useful to
subdivide a transect into smaller segments. This is performed with the
function mpas_tools.transects.subdivide_great_circle()
for spherical
meshes and with mpas_tools.transects.subdivide_planar()
for planar
meshes.
For spherical meshes, subdivision is performed in Cartesian coordinates. Since
transects are typically provided as a sequence of longitude/latitude points,
it is typically necessary to convert to Cartesian coordinates using
mpas_tools.transects.lon_lat_to_cartesian()
and then back to
longitude/latitude coordinates using
mpas_tools.transects.cartesian_to_lon_lat()
.
Low-level functions
The module also shares some lower-level functions used elsewhere in the package.
The arc length (in radians) along a transect can be found with
mpas_tools.transects.angular_distance()
.
The function mpas_tools.transects.intersects()
can be used to
determine if 2 arcs on the sphere intersect one another and
mpas_tools.transects.intersection()
can be used to find the
intersection point of 2 intersecting arcs.