weather-formulas
Version:
A collection of atmospheric, meteorological weather calculations
73 lines (72 loc) • 4.4 kB
TypeScript
import { Reading } from '../common';
import { AtmospericConstants } from '../constants';
/**
* Calculates the pressure altitude based on the observed pressure.
* Pressure altitude is the altitude in the International Standard Atmosphere (ISA) where the observed pressure would occur.
*
* @param {number} pressure Observed pressure in Pascals (Pa).
* @returns {number} Pressure altitude in meters (m).
*/
declare function pressureAltitude(pressure: number): number;
/**
* Calculates the density altitude, which is the altitude relative to the standard atmosphere conditions
* at which the air density would be equal to the current air density.
*
* @param {number} pressureAltitude Pressure altitude in meters (m).
* @param {number} temperature Temperature in Kelvin (K).
* @returns {number} Density altitude in meters (m).
*/
declare function densityAltitude(pressureAltitude: number, temperature: number): number;
/**
* Calculates the barometric pressure at a given altitude using the barometric formula.
* The calculation accounts for both zero and non-zero lapse rates.
*
* @param {number} altitude Target altitude in meters (m).
* @param {number} referencePressure Pressure at the reference altitude in Pascals (Pa).
* @param {number} referenceAltitude Reference altitude in meters (m).
* @param {number} referenceTemperature Temperature at the reference altitude in Kelvin (K). Defaults to 288.15 K (15°C).
* @param {AtmospericConstants} constants Atmospheric constants (e.g., lapse rate, gravity, gas constant).
* @returns {number} Barometric pressure at the target altitude in Pascals (Pa).
*/
declare function barometricPressure(altitude: number, referencePressure: number, referenceAltitude: number, referenceTemperature?: number, constants?: AtmospericConstants): number;
/**
* Reduces the observed pressure to sea level using a simplified barometric formula.
* This method assumes a standard sea level mean temperature of 15°C (288.15 K) and is less accurate for non-standard temperatures.
*
* @param {number} pressureObserved Observed pressure in Pascals (Pa).
* @param {number} altitude Altitude of the observed pressure in meters (m).
* @param {number} temperatureAtSeaLevel Temperature at sea level in Kelvin (K). Defaults to 288.15 K (15°C).
* @returns {number} Pressure reduced to sea level in Pascals (Pa), rounded to two decimal places.
*/
declare function adjustPressureToSeaLevelSimple(pressureObserved: number, altitude: number, temperatureAtSeaLevel?: number): number;
/**
* Reduces the observed pressure to sea level with higher accuracy by using the barometric formula.
* This method allows customization of atmospheric constants for non-standard conditions.
*
* @param {number} pressureObserved Observed pressure in Pascals (Pa).
* @param {number} altitude Altitude of the observed pressure in meters (m).
* @param {number} temperature Temperature at sea level in Kelvin (K). Defaults to 288.15 K (15°C).
* @param {AtmospericConstants} constants Atmospheric constants (e.g., lapse rate, gravity, gas constant). Defaults to Earth's standard constants.
* @returns {number} Pressure reduced to sea level in Pascals (Pa), rounded to two decimal places.
*/
declare function adjustPressureToSeaLevelAdvanced(pressureObserved: number, altitude: number, temperature?: number, constants?: AtmospericConstants): number;
/**
*
* @param pressure Observed pressure
* @param altitude Observed altitude
* @param temperature Observed temperature
* @param lapseRate Lapse rate
* @returns Adjusted pressure
*/
declare function adjustPressureToSeaLevelByDynamicLapseRate(pressure: number, altitude: number, temperature: number, lapseRate: number): number;
declare function adjustPressureToSeaLevelByHistoricalData(pressure: number, altitude: number, readings: Reading[], hours?: number): number;
declare const _default: {
pressureAltitude: typeof pressureAltitude;
densityAltitude: typeof densityAltitude;
barometricPressure: typeof barometricPressure;
adjustPressureToSeaLevelSimple: typeof adjustPressureToSeaLevelSimple;
adjustPressureToSeaLevelAdvanced: typeof adjustPressureToSeaLevelAdvanced;
adjustPressureToSeaLevelByDynamicLapseRate: typeof adjustPressureToSeaLevelByDynamicLapseRate;
adjustPressureToSeaLevelByHistoricalData: typeof adjustPressureToSeaLevelByHistoricalData;
};
export default _default;