Модуль PhysVapor содержит функции, относящиеся к физике воды и пара (vapor - англ. пар, испарение).
В тексте модуля содержится много ссылок для уточнения деталей.
Здесь описано только назначение функций.
_con_PhysVapor.inc константы
_var_PhysVapor.inc переменные
_fun_PhysVapor.inc функции
function vapor_efactor(p,t,es:Real; mFactor:Integer):Real;
Вычисляет безразмерный "поправочный фактор" (enhancement factor) для расчета давления водяного пара
в зависимости от давления и температуры влажного воздуха.
Давление водяного пара рассчитывается по формулам:
e=ew(t)*f(p,t) для воды
e=ei(t)*f(p,t) для льда
где ew(t), ei(t) - давление пара в "чистой фазе" над поверхностью воды (water) или льда (ice).
f(p,t) - поправочный фактор, близкий к 1, который вводится в случае газовой смеси (воздух).
Параметр p [mBar] задает давление воздуха.
Параметр t [°C] задает температуру водяного пара.
Параметр es [mBar] задает "идеальное" давление пара, рассчитанное для "чистой фазы".
Параметр mFactor задает номер формулы для расчета. Его знак (+/-) определяется фазой (вода/лед).
mFactor = 0 задает фактор 1. Применяется для расчета "чистой фазы".
mFactor = +1..+6 применяется для расчета давления пара над водой.
mFactor = -1..-6 применяется для расчета давления пара над льдом.
Детали алгоритмов см. в тексте программы.
function vapor_pressure(t,pa:Real; nFormula,mFactor:Integer):Real;
Вычисляет давление насыщенного водяного пара [mBar] для "чистой фазы" или для влажного воздуха,
в зависимости от параметров.
Параметр t [°C] задает температуру пара. Это не обязательно температура воздуха.
Например, для расчета влажности в расчет берется температура точки росы.
Температура предполагается в диапазоне (-100,200)°C.
Параметр pa [mBar] задает давление воздуха. Оно используется для расчета поправочного фактора.
Параметр nFormula задает номер формулы для расчета давления. Его знак (+/-) определяется фазой (вода/лед).
nFormula = 0 задает формулу по умолчанию (1), применяемую чаще всего.
nFormula = +1..+25 применяется для расчета давления пара над водой.
nFormula = -1..-25 применяется для расчета давления пара над льдом.
nFormula = +1 или -1 для воды или льда является значением по умолчанию, рекомендуемым в большинстве случаев.
nFormula = ±1..±4 взяты из ГОСТ Р 8.811-2012, другие формулы найдены в литературе, см. ссылки в тексте программы.
Детали алгоритмов см. в тексте программы.
Параметр mFactor задает номер формулы для расчета поправочного фактора, см. описание функции vapor_efactor.
Для расчета "чистой фазы" используется mFactor = 0.
function dewpoint_to_rh(td,ta,pa:Real; nFormula,mFactor:Integer):Real;
Преобразует температуру точки росы в относительную влажность %RH.
Относительная влажность RH (relative humidity) рассчитывается как отношение
давления насыщенного водяного пара при температуре точки росы к
давлению насыщенного водяного пара при текущей температуре воздуха.
RH = 100 * e(td,pa) / e (ta,pa) [%]
Параметр td [°C] задает температуру точки росы (dewpoint) [°C].
Параметр ta [°C] задает температуру воздуха.
Параметр pa [mBar] задает давление воздуха.
Параметр nFormula задает номер формулы для расчета давления пара, см. описание функции vapor_pressure.
Параметр mFactor задает номер формулы для расчета поправочного фактора, см. описание функции vapor_efactor.
function dewpoint_to_ppmv(td,pa:Real; nFormula,mFactor:Integer):Real;
Преобразует температуру точки росы в объемную долю пара на миллион [ppm(v)].
Название ppm(v) берется от "part per million (of volume)".
Объемная доля ppm(v) рассчитывается как отношение давления водяного пара в точке росы к текущему давлению воздуха.
Параметры такие же как в функции dewpoint_to_rh.
function vapor_nFormula(n:Integer; t:Real):Integer;
Функция рассчитывает рекомендуемый номер формулы nFormula,
которую предполагается использовать для расчета давления водяного пара
в зависимости от желаемого алгоритма n и температуры воздуха t.
Параметр n=1..25 задает желаемый номер алгоритма (1-значение по умолчанию).
Параметр t [°C] задает температуру воздуха.
При t>0 используется формула для фазы воды +abs(n).
При t<0 используется формула для фазы льда -abs(n).
Пример использования функции:
p:=vapor_pressure(t,pa,vapor_nFormula(n,ta),vapor_mFactor(m,ta));
где t=температура пара, pa,ta=давление,температура воздуха,
n,m- желаемые формулы для расчета давления (n) и поправочного фактора (m).
function vapor_mFactor(n:Integer; t:Real):Integer;
Функция рассчитывает рекомендуемый номер формулы mFactor,
которую предполагается использовать для расчета давления водяного пара
в зависимости от желаемого алгоритма m и температуры воздуха t.
Параметр m=0..6 задает желаемый номер алгоритма.
Для чистой фазы m=0. Для влажного воздуха рекомендуемое значение m=1.
Параметр t [°C] задает температуру воздуха.
При t>0 используется формула для фазы воды +abs(m).
При t<0 используется формула для фазы льда -abs(m).
Пример использования функции:
p:=vapor_pressure(t,pa,vapor_nFormula(n,ta),vapor_mFactor(m,ta));
где t=температура пара, pa,ta=давление,температура воздуха,
n,m- желаемые формулы для расчета давления (n) и поправочного фактора (m).