Geometry

Global Geometry

ClimaCore.Geometry.CartesianGlobalGeometryType
CartesianGlobalGeometry()

Specifies that the local coordinates align with the Cartesian coordinates, e.g. XYZPoint aligns with Cartesian123Point, and UVWVector aligns with Cartesian123Vector.

source

LocalGeometry

Internals

Coordinates

ClimaCore.Geometry.AbstractPointType
AbstractPoint

Represents a point in space.

The following types are supported:

  • XPoint(x)
  • YPoint(y)
  • ZPoint(z)
  • XYPoint(x, y)
  • XZPoint(x, z)
  • XYZPoint(x, y, z)
  • LatPoint(lat)
  • LongPoint(long)
  • LatLongPoint(lat, long)
  • LatLongZPoint(lat, long, z)
  • Cartesian1Point(x1)
  • Cartesian2Point(x2)
  • Cartesian3Point(x3)
  • Cartesian12Point(x1, x2)
  • Cartesian13Point(x1, x3)
  • Cartesian123Point(x1, x2, x3)
source

Points represent locations in space, specified by coordinates in a given coordinate system (Cartesian, spherical, etc), whereas vectors, on the other hand, represent displacements in space.

An analogy with time works well: times (also called instants or datetimes) are locations in time, while, durations are displacements in time.

Note 1: Latitude and longitude are specified via angles (and, therefore, trigonometric functions: cosd, sind, acosd, asind, tand,...) in degrees, not in radians. Moreover, lat (usually denoted by $\theta$) $\in [-90.0, 90.0]$, and long (usually denoted by $\lambda$) $\in [-180.0, 180.0]$.

Note 2:: In a Geometry.LatLongZPoint(lat, long, z), z represents the elevation above the surface of the sphere with radius R (implicitly accounted for in the geoemtry).

Note 3: There are also a set of specific Cartesian points (Cartesian1Point(x1), Cartesian2Point(x2), etc). These are occasionally useful for converting everything to a full Cartesian domain (e.g. for visualization purposes). These are distinct from XYZPoint as ZPoint can mean different things in different domains.