UNPKG

weather-formulas

Version:

A collection of atmospheric, meteorological weather calculations

73 lines (72 loc) 4.4 kB
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;