Geometry
Global Geometry
ClimaCore.Geometry.AbstractGlobalGeometry — Type
AbstractGlobalGeometryDetermines the conversion from local coordinates and vector bases to a Cartesian basis.
sourceClimaCore.Geometry.CartesianGlobalGeometry — Type
CartesianGlobalGeometry()Specifies that the local coordinates align with the Cartesian coordinates, e.g. XYZPoint aligns with Cartesian123Point, and UVWVector aligns with Cartesian123Vector.
LocalGeometry
Internals
ClimaCore.Geometry.Δz_metric_component — Function
Δz_metric_component(::Type{<:AbstractPoint})The index of the z-component of an abstract point in an AxisTensor.
Coordinates
ClimaCore.Geometry.AbstractPoint — Type
AbstractPointRepresents 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)
ClimaCore.Geometry.float_type — Function
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.