Types
types
This module contains a set of type aliases for isqx physical quantity kinds
and units.
Usage
When annotating functions, use unconstrained generic types:
from aerocore import types as t
def foo(x: t.StaticTemperatureK) -> t.PressurePA:
...
This signals to the static type checker that we want an Unknown type, not the
Any type. Do not annotate with NDArray[np.float64] or float.
Reasoning: we wish to support a wide range of numerical libraries, so
restricting ourselves to numpy will lead to many false positives in strict
mode. See https://docs.jax.dev/en/latest/jep/12049-type-annotations.html
for more information.
TEMPERATURE_GRADIENT
Temperature lapse rate, e.g., in an atmosphere model.
BelowTropopause
BelowTropopause = 'below_tropopause'
STATIC_TEMPERATURE_BELOW_TROPO
STATIC_TEMPERATURE_BELOW_TROPO = STATIC_TEMPERATURE[
BelowTropopause
]
GravitationalAcceleration
GravitationalAcceleration = Annotated[
_T, ACCELERATION_OF_FREE_FALL(M_PERS2)
]
SpecificGasConstantJKGK
SpecificGasConstantJKGK = Annotated[
_T, SPECIFIC_GAS_CONSTANT(J * KG**-1 * K**-1)
]
StaticTemperatureKBelowTropo
StaticTemperatureKBelowTropo = Annotated[
_T, STATIC_TEMPERATURE_BELOW_TROPO(K)
]
StaticPressurePABelowTropo
StaticPressurePABelowTropo = Annotated[
_T, STATIC_PRESSURE_BELOW_TROPO(PA)
]
SpecificFuelConsumptionKgPNPS
SpecificFuelConsumptionKgPNPS = Annotated[
_T,
THRUST_SPECIFIC_FUEL_CONSUMPTION(KG * N**-1 * S**-1),
]