Автор |
Сообщение |
Cumulonimbus incus
Участник
Кишинёв, Молдова
|
# Дата: 1 Дек 2012 20:00 - Поправил: Cumulonimbus incus
Corvus
ПТсм, рассчитанной для уровня 500 гПа
При влажности 100%. А то получится не ЛИ, а потенциальная неустойчивость.
П.С. Даже этот вариант не годится. Сильно занижает ЛИ, увеличивая неустойчивость в разы.
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 1 Дек 2012 20:09
Cumulonimbus incus
Потенциальная неустойчивость получается при сравнении ЭПТур.конд и ЭПТ500.
А при сравнении ПТсм.ур.конд и ПТсм500 должен получиться именно ЛИ, т.к. ПТсм учитывает влажность воздуха в слое. То есть влажноадиабатический процесс происходит при неизменной ПТсм. Это нам и нужно - подняться по влажной адиабате от УК до 500 гПа, чтобы найти ЛИ.
|
Cumulonimbus incus
Участник
Кишинёв, Молдова
|
# Дата: 1 Дек 2012 20:15 - Поправил: Cumulonimbus incus
Corvus
Потенциальная неустойчивость получается при сравнении ЭПТур.конд и ЭПТ500
Мне чего-то ЭПТ в Вашем сообщении привиделась.
Ещё раз о ЛИ. Если считать по Вашей методике, то получается, что ЛИ зависит от влажности на 500-ке. На деле же такого нет, переменные такие: давление, Т и влажность на 2 м и Т500.
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 1 Дек 2012 20:54
Если считать по Вашей методике, то получается, что ЛИ зависит от влажности на 500-ке
Cumulonimbus incus
Я тоже думал об этом. Видимо, надо считать ПТсм500, исходя из условного предположения, что Т500=Тд500=Тсм500, то есть без учёта влажности на 500-ке. Так мы полностью воссоздадим традиционный ручной расчёт ЛИ.
|
Cumulonimbus incus
Участник
Кишинёв, Молдова
|
# Дата: 1 Дек 2012 21:08
Corvus
Так мы полностью воссоздадим традиционный ручной расчёт ЛИ.
И тут прокол: я считал ЛИ по этой методике вручную, используя АД. В результате получились ещё более интересные значения: при отрицательных - занижение неустойчивости, при положительных - завышение. Так что старый добрый метод с вычислением градиента остаётся единственным точным.
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 2 Дек 2012 08:28
В результате получились ещё более интересные значения: при отрицательных - занижение неустойчивости, при положительных - завышение.
Cumulonimbus incus
Похоже, при расчёте ЛИ по ПТсм надо учитывать ещё и то, что давление на уровне 1000 гПа в 2 раза меньше, чем на уровне 500 гПа. В итоге, если двигаться с АТ-500 вниз по двум влажным адиабатам, отстоящим на 10 градусов, на уровне 1000 гПа между этими адиабатами будет лишь 5 градусов.
Например, см. бланк диаграммы
http://meteo.paraplan.net/forecast/aerological_dia gram.html?place=100119
|
bullterrier
Участник
Пермь
|
# Дата: 2 Дек 2012 17:26
Corvus
Я тогда буду рассчитывать LI по ПТсм, другого выхода у меня нет, тем более что в OpenGRADS подсчитать температуру поднимающейся частицы нереально, даже имея правильные формулы (из-за наличия цикла в алгоритме). Результаты по ПТсм ведь все равно получатся близкие к действительности.
LI мне нужен для прогноза града и еще кое-каких параметров по модели GEM.
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 2 Дек 2012 17:48
из-за наличия цикла в алгоритм
bullterrier
Да, цикл это самое слабое место.
У Вас есть формулы для расчёта ПТсм?
|
bullterrier
Участник
Пермь
|
# Дата: 2 Дек 2012 18:07 - Поправил: bullterrier
У Вас есть формулы для расчёта ПТсм?
Corvus
Есть, Вы их в этой теме уже публиковали:
Ссылка
Wet Bulb Temperature
Variables:
Tc = Temperature in Degrees C
RH = Relative Humidity in form 88 (not 0.88)
Optional Variable (for more accuracy):
P = Pressure
or
Constant (with up to 0.2° inaccuracy):
P = 985
Tdc = ((Tc - (14.55 + 0.114 * Tc) * (1 - (0.01 * RH)) - ((2.5 + 0.007 * Tc) *
(1 - (0.01 * RH))) ^ 3 - (15.9 + 0.117 * Tc) * (1 - (0.01 * RH)) ^ 14))
E = (6.11 * 10 ^ (7.5 * Tdc / (237.7 + Tdc)))
WBc = (((0.00066 * P) * Tc) + ((4098 * E) / ((Tdc + 237.7) ^ 2) * Tdc)) / ((0.00066 * P) + (4098 * E) / ((Tdc + 237.7) ^ 2))
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 3 Дек 2012 11:03
bullterrier
'E = 6.11 * pow ( 10 , (7.5 * Tdc / (237.7 + Tdc)) )'
'P = 850'
'GAMMA = 0.00066*P'
'DELTA = 4098*E/(Tdc+237.3)/(Tdc+237.3)'
'Tw = ((GAMMA*Tc)+(DELTA*Tdc))/(GAMMA+DELTA)'
Это расчёт Тсм, а потом ещё надо Тсм превратить в ПТсм, это делается особым образом (не по обычной формуле расчёта ПТ, а по формулам влажноадиабатического процесса):
'THD = (Tw +273.16)*pow(1000/P, 0.286) - 273.16'
'X = Tw'
'FT = 1.8199427E+01+X*( 2.1640800E-01+X*( 3.0716310E-04+X*(-3.8953660E-06+X*( 1.9618200E-08+X*( 5.2935570E-11+X*( 7.3995950E-14+X*(-4.1983500E-17)))))))'
'X = THD'
'FTHD = 1.8199427E+01+X*( 2.1640800E-01+X*( 3.0716310E-04+X*(-3.8953660E-06+X*( 1.9618200E-08+X*( 5.2935570E-11+X*( 7.3995950E-14+X*(-4.1983500E-17)))))))'
'Qw = THD + 6.071*( pow(2.72, Tw850/FT) - pow(2.72, THD/FTHD) )'
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 3 Дек 2012 11:04
По-видимому, в качестве Р надо брать давление на ур. конденсации и 500 гПа соответственно.
|
bullterrier
Участник
Пермь
|
# Дата: 3 Дек 2012 15:35 - Поправил: bullterrier
Corvus
Спасибо Вам за помощь, результаты получаются адекватные.
|
bullterrier
Участник
Пермь
|
# Дата: 3 Дек 2012 15:54
<...>
'define tc = tmp500-273.15'
'define tdc = dew500-273.15'
'define p = 500'
'define e = 6.11*pow(10,(7.5*Tdc/(237.7+Tdc)))'
'define gamma = 0.00066*p'
'define delta = 4098*e/(Tdc+237.3)/(Tdc+237.3)'
'define tw = ((gamma*tc)+(delta*tdc))/(gamma+delta)'
'define thd=(tw+273.16)*pow(1000/p,0.286)-273.16'
'define x=tw'
'define ft = 1.8199427E+01+x*(2.1640800E-01+x*(3.0716310E-04+x* (-3.8953660E-06+x*(1.9618200E-08+x*(5.2935570E-11+ x*(7.3995950E-14+x*(-4.1983500E-17)))))))'
'x=thd'
'define fthd = 1.8199427E+01+x*(2.1640800E-01+x*(3.0716310E-04+x* (-3.8953660E-06+x*(1.9618200E-08+x*(5.2935570E-11+ x*(7.3995950E-14+x*(-4.1983500E-17)))))))'
'q500 = thd+6.071* pow(2.72,tw/ft)-pow(2.72,thd/fthd))'
'define sli = 'li('t2m','dewpoint','spr','q500')
'define li1015 = 'li('tmp1015-273.15','dew1015-273.15','1015','q500 ')
'define li1000 = 'li('tmp1000-273.15','dew1000-273.15','1000','q500 ')
'define li985 = 'li('tmp985-273.15','dew985-273.15','985','q500')
'define li970 = 'li('tmp970-273.15','dew970-273.15','970','q500')
'define li950 = 'li('tmp950-273.15','dew950-273.15','950','q500')
'define li925 = 'li('tmp925-273.15','dew925-273.15','925','q500')
'define li900 = 'li('tmp900-273.15','dew900-273.15','900','q500')
'define li875 = 'li('tmp875-273.15','dew875-273.15','875','q500')
'define li875 = 'li('tmp875-273.15','dew875-273.15','875','q500')
'define li850 = 'li('tmp850-273.15','dew850-273.15','850','q500')
'define li800 = 'li('tmp800-273.15','dew800-273.15','800','q500')
<...>
function li(temp,dewp,press,q500)
'tempc='temp
'dewpc='dewp
'pres='press
'qw500='q500
'r=100*exp((18.678-dewpc/234.5)*(dewpc/(257.14+dew pc))-(18.678-tempc/234.5)*(tempc/(257.14+tempc)))'
'tc = tlcl(tempc+273.15,r)-273.15'
'p = plcl(tempc+273.15,r,pres)'
'tdc=dewpc'
'e = 6.11*pow(10,(7.5*Tdc/(237.7+Tdc)))'
'gamma = 0.00066*p'
'delta = 4098*e/(Tdc+237.3)/(Tdc+237.3)'
'tw = ((gamma*tc)+(delta*tdc))/(gamma+delta)'
'thd=(tw+273.16)*pow(1000/p,0.286)-273.16'
'x=tw'
'ft = 1.8199427E+01+x*(2.1640800E-01+x*(3.0716310E-04+x* (-3.8953660E-06+x*(1.9618200E-08+x*(5.2935570E-11+ x*(7.3995950E-14+x*(-4.1983500E-17)))))))'
'x=thd'
'fthd = 1.8199427E+01+x*(2.1640800E-01+x*(3.0716310E-04+x* (-3.8953660E-06+x*(1.9618200E-08+x*(5.2935570E-11+ x*(7.3995950E-14+x*(-4.1983500E-17)))))))'
'q = thd+6.071*pow(2.72,tw/ft)-pow(2.72,thd/fthd))'
return ('qw500-q')
|
bullterrier
Участник
Пермь
|
# Дата: 3 Дек 2012 17:30
Единственное, что не получается - это вычислить минимум среди переменных li1015...li800, чтобы найти Best LI.
|
bullterrier
Участник
Пермь
|
# Дата: 3 Дек 2012 18:41
Задача решена!
'define bli = li1015'
'define temp = 'mmin('bli','li1000')
'bli = temp'
'temp = 'mmin('bli','li985')
'bli = temp'
'temp = 'mmin('bli','li970')
'bli = temp'
'temp = 'mmin('bli','li950')
'bli = temp'
'temp = 'mmin('bli','li925')
'bli = temp'
'temp = 'mmin('bli','li900')
'bli = temp'
'temp = 'mmin('bli','li875')
'bli = temp'
'temp = 'mmin('bli','li850')
'bli = temp'
'temp = 'mmin('bli','li800')
'bli = temp'
'undefine temp'
<...>
function mmin (a,b)
'vara='a
'varb='b
'sred=(vara+varb)/2'
'varc=0.5*abs(vara-varb)'
'res=sred-varc'
return 'res'
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 4 Дек 2012 07:10
function mmin (a,b)
bullterrier
Спасибо! У меня не раз возникала потребность в нахождении мин/макс пользовательских переменных, но не знал как это сделать (в отличие от нахождения мин/макс стандартных модельных переменных, которое делается градсовской встроенной функцией).
|
Cumulonimbus incus
Участник
Кишинёв, Молдова
|
# Дата: 22 Дек 2012 18:43
Выкладываю метод прогноза града по Глушковой. Выражение для Wмакс было изменено мной для упрощения расчётов. В последней формуле коэф-т 0,003 я подобрал эмпирически.
|
TornadoF5
Участник
Харьков, Украина. (Игорь)
|
# Дата: 22 Дек 2012 19:31
Cumulonimbus incus
метод прогноза града по Глушковой
Спасибо, но не очень хорошо видно в таком формате. Есть ли возможность оцифровать эту страничку в редакторе Word?
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 22 Дек 2012 20:09
Выкладываю метод прогноза града по Глушковой.
Cumulonimbus incus
Это расчёт размера града в облаке. Но по пути к земле град тает (часто полностью, или сильно уменьшается в размере). Для учёта этого фактора обычно используют высоту нулевой изотермы (или высоту нулевой изотермы смоченного термометра). График для учёта этого фактора есть, кажется, в Руководстве по краткосрочным прогнозам 1986 г.
|
Cumulonimbus incus
Участник
Кишинёв, Молдова
|
# Дата: 22 Дек 2012 20:28
Corvus
Для учёта этого фактора обычно используют высоту нулевой изотермы
Пробовал я считать диаметр града. Хорошие результаты получаются и без учёта высоты нулевой изотермы.
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 22 Дек 2012 20:38
Хорошие результаты получаются
Cumulonimbus incus
Это при влажной ВМ и невысокой высоте нулевой изотермы. А при жаркой сухой погоде такая методика будет завышать размер града во много раз.
|
Cumulonimbus incus
Участник
Кишинёв, Молдова
|
# Дата: 22 Дек 2012 20:44
Corvus
Посмотрел способ учёта высоты нулевой изотермы смоченного термометра в одной статье голландских метеорологов. Они рекомендуют считать поправку при её высоте больше 3350 м:
|
Cumulonimbus incus
Участник
Кишинёв, Молдова
|
# Дата: 23 Дек 2012 12:04
TornadoF5
Оцифровка:
|
Cumulonimbus incus
Участник
Кишинёв, Молдова
|
# Дата: 23 Дек 2012 12:19
Corvus
Насчёт метода ГФП. Есть у него один существенный недостаток: он завышает вероятность гроз при очень сильной конвергенции в погранслое. Сегодняшний пример: высокие проценты над Германией, Бенилюксом и далее в Северном море. Стоит взглянуть на карты других индексов неустойчивости - сразу видна невозможность возникновения гроз.
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 23 Дек 2012 12:58
он завышает вероятность гроз при очень сильной конвергенции в погранслое
Cumulonimbus incus
Значит, надо менять коэффициент при члене, отвечающем за конвергенцию, делать его нелинейным.
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 27 Дек 2012 14:12
График для учёта этого фактора есть, кажется, в Руководстве по краткосрочным прогнозам 1986 г.
Вот графики оттуда:
Видно, что каждый километр высоты нулевой изотермы съедает, в зависимости от верт. скорости, 0.1-0.3 см диаметра градины.
При высоких приземных Т град вообще очень редко достигает земли: например, при нулевой изотерме 4 км - только при макс. верт. скорости более 20 м/с.
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 29 Дек 2012 07:50
function li(temp,dewp,press,q500)
Интересно скрестить ежа с ужом, то есть ЛИ с числом Ричардсона БРН, используемым при прогнозе туманов.
MRi = 4*(gammava-gamma)/beta^2, где gammava - влажноадиабатический градиент Т при данных давлении, Т и Тд, gamma - фактический градиент Т в погранслое, выраженный в С/100 м, beta - сдвиг (векторная разность) ветра на 10 м и границе погранслоя, выраженный в м/(с 100 м).
Вот эта формула мне нравится больше всего. При рассмотрении воздуха, близкого к насыщению водяным паром (облака и туманы), логично использовать влажноадиабатический процесс, а не сухоадиабатический.
Если пойти чуть дальше, можно внедрить в формулу ПТсм на границах слоя (и сделать её мистическим образом похожей на формулу для расчёта автофронтов). Например, так:
РИсм = 4 * (ПТсм_вг - ПТсм_нг) / Толщина_слоя / beta^2
http://meteoclub.ru/index.php?action=vthread&forum =16&topic=4540#15
Формула получится такая:
ЛИ_РИсм = 4 * ЛИ / Толщина_слоя / beta^2
где beta - сдвиг (векторная разность) ветра на границах слоя, выраженный в м/(с 100 м).
Можно посчитать ЛИ_РИсм для слоя, например, 850-500 гПа, и сопоставить его с картами гроз и ливней.
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 3 Янв 2013 20:02
РИсм = 4 * (ПТсм_вг - ПТсм_нг) / Толщина_слоя / beta^2
ЛИ_РИсм = 4 * ЛИ / Толщина_слоя / beta^2
Если продолжать размышления в этом направлении, можно попробовать посчитать полную (так сказать, энергетическую) температуру воздуха (с учётом кинетической энергии ветра).
Как-то читал статью (правда, старую - 1965 года) про изэнтропические процессы, там приводится формула энергии для адиабатического процесса при отсутствии трения*
v^2/2 + g*z + Cv*T + L*r = const
где v^2 - скорость ветра в квадрате
z - высота
L - скрытая теплота конденсации
r - отношение смеси
*- чтобы нивелировать силы трения, надо брать для расчётов уровень не ниже 850 гПа (то есть 850, 700 или 500 гПа).
Вот это выражение
g*z + Cv*T + L*r
можно заменить на Cv*Qe
где Qe - эквивалентно-потенциальная температура.
Тогда получим
v^2/2 + Cv*Qe = const
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 4 Янв 2013 07:49
v^2/2 + Cv*Qe = const
Cv = 717 Дж/(кг·К)
Тогда для 1 кг воздуха получаем
v^2/2 + 717*Qe = const (Дж)
Конечно, вклад ветра невелик, и ощутим только в струйных течениях.
При ветре 25 м/с первое слагаемое составит 312 Дж, то есть такой ветер энергетически равен увеличению Т примерно на полградуса.
|
Cumulonimbus incus
Участник
Кишинёв, Молдова
|
# Дата: 5 Янв 2013 20:38
Написал скрипт, который рисует карты индексов неустойчивости и АД по реанализу ГФС. Цветовую схему взял с польского сайта meteomodel.pl. Примеры карт:
|