Прогностические модели NAEFS, CFS, RASP

Полезные ссылки:
Метеоцентр.Азия - наш сайт с высокодетализированными прогнозами погоды по пунктам Pоссии и мира
Облегчённая версия Метеоклуба (для смартфонов)

Прогностические модели NAEFS, CFS, RASP

Сейчас в Метеоклубе:
Участников - 1 [ ded ]
Максимальное одновременное количество посетителей: 308 [2 Ноя 2013 22:42]
Гостей - 296 / Участников - 12

 - Начало - Ответить - Статистика - Pегистрация - Поиск -

МЕТЕОКЛУБ : независимое сообщество любителей метеорологии (Европа и Азия) : ФОРУМ О ПОГОДЕ И ПРИРОДЕ / Компьютерная техника и интернет в метеорологии / Прогностические модели NAEFS, CFS, RASP
<< . 1 . 2 . 3 . 4 . 5 . 6 . >>
Автор Сообщение
Corvus
Автор сайта

###Corvus###
# Дата: 11 Апр 2012 13:59


Вот ещё на эту тему

http://gradsusr.org/pipermail/gradsusr/2006-Septem ber/003681.html

http://grads.iges.org/grads/gadoc/pdef.html

http://www.ecmwf.int/products/data/software/downlo ad/grib_api.html

Klimatolog
Участник

Москва
# Дата: 14 Апр 2012 16:45


HIRLAM - отличная региональная модель, так что если нашлись ее данные в открытом виде - надо пользоваться, если регион совпадает

Corvus
Автор сайта

###Corvus###
# Дата: 14 Апр 2012 21:51


Klimatolog

И я про тоже :) Осталось только разобраться с хитрой сеткой, которая там используется.

LESS
Участник

Приокский лесс на юге МО
# Дата: 17 Апр 2012 16:41


Наблюдаю за результатами работы (прогнозами) вот этой модели:

http://meteocenter.asia/?m=nae&p=27612

Хорошо прогнозирует грозы на большой срок.

Tuskar
Участник

Мессажай Туапсинский район
# Дата: 17 Апр 2012 16:49 - Поправил: Tuskar


LESS

Не соглашусь. Тоже наблюдаю, правда, по температуре (t850) - не по грозам - по моему мнению, модель заносит почище ГФС, для Москвы. То есть лично у меня доверия к этой модели нет, все ИМХО.

met2
Участник

Минск
# Дата: 5 Сен 2012 19:43 - Поправил: met2


Великая и ужасная GFS обновилась. Все модели, которые получают на вход данные GFS должны иметь это ввиду.
Тут подробнее: Прогностические модели и международный обмен метеоинформацией.

Не открывается! Я всячески испробовал открыть ссылку, но тщетно.

Поправил ссылку.

Anaxagoras
Участник

# Дата: 5 Сен 2012 20:52


Тут подробнее
met2

Не открывается! Я всячески испробовал открыть ссылку, но тщетно.

met2
Участник

Минск
# Дата: 14 Сен 2012 12:33 - Поправил: met2


Нравится CMC. Теплее и влажнее, чем GFS и UKMET, нулевой прогон во всяком случае. Выложили http://meteoinfo.by/21/.

Corvus, можно как-то посчитать Li и CAPE, имея данные поля:
http://dd.weatheroffice.gc.ca/model_gem_global/hig h_resolution/grib2/lat_lon/00/012/

Corvus
Автор сайта

###Corvus###
# Дата: 14 Сен 2012 13:14


Нравится CMC. Теплее и влажнее, чем GFS и UKMET
met2

Идеально смешивать СМС и ГФС, что я и делаю в ансамблевом прогнозе ГСС.

ГФС занижает точку росы и завышает ночную Т, а СМС занижает скорость ветра и дневную Т, немного завышает точку росы.

Среднее между СМС и ГФС оказыватся как раз близко к истине.

Corvus
Автор сайта

###Corvus###
# Дата: 14 Сен 2012 13:16


можно как-то посчитать Li и CAPE
met2

Я пока считаю псевдоЛИ по эквивалентно-потенциальной температуре (ЭПТ). Из ЭПТ500 вычитаю максимальную ЭПТ в слое земля - 700 гПа.

Правильнее считать всё это не по ЭПТ, а по потенциальной Т смоченного термометра на соотв. уровнях (она отображает влажноадиабатический процесс).

Corvus
Автор сайта

###Corvus###
# Дата: 14 Сен 2012 13:34 - Поправил: Corvus


.....................

met2
Участник

Минск
# Дата: 14 Сен 2012 16:20 - Поправил: met2


Честно говоря ничего не поняли. Даже программисты.

Не описана, так же: Met_Teqp_func($v['TMP']['2m'], $v['TMP']['2m'] - $v['DEPR']['2m'], $p_last);

Corvus
Автор сайта

###Corvus###
# Дата: 14 Сен 2012 20:49


Met_Teqp_func рассчитывает ЭПТ по Т (С), Tд (С), давлению (гПа). Остальные - стандартные функции для перехода между характеристиками влажности.

function Met_Teq_func($T, $Td, $p) { // C
$e = Met_E_func($Td);
$s = Met_s_func($e, $p);
$Teq = $T + 2500*$s;
return round( $Teq, 1);
}

function Met_Tp_func($T, $p) { // C
$k = 0.2854;
$Tp = ($T + 273) * pow(1000/$p, $k);
$Tp = $Tp - 273;
return round( $Tp, 1);
}


function Met_Teqp_func($T, $Td, $p) { // C
$Teq = Met_Teq_func($T, $Td, $p);
$Teqp = Met_Tp_func($Teq, $p);
return round( $Teqp, 1);
}

function Met_E_func($t) {// hPa, C
$Eo=6.107; $a=7.63; $b=241.9;
$Result = $Eo*pow(10,($a*$t/($b+$t)));
$Result = round($Result,2);
return $Result;
}

function Met_f_func($t,$td) {// %
if(isset($td) && $td !== "") {
$Eo = Met_E_func($t);
$E = Met_E_func($td);
if($Eo > 0)
$Result = round(100*$E/$Eo);
else $Result = "";
if($Result > 100) $Result = 100;
}
else $Result = "";
return $Result;
}

function Met_Td_func($t,$f_percent) { // C
$Eo=6.107; $a=7.63; $b=241.9;
$e = Met_E_func($t)*$f_percent/100;
$Tempo = Met_Lg($e/$Eo);
$Result = $b*$Tempo/($a-$Tempo);
$Result = round($Result,1);
return $Result;
}


function Met_s_func($e,$p) { // g/g
$Result = 0.622*$e/($p-0.378*$e);
return $Result;
}

Corvus
Автор сайта

###Corvus###
# Дата: 14 Сен 2012 21:04 - Поправил: Corvus


$low_lewels = array('1000','975','950','925','900','850','800',' 750');

// проход по уровням (кроме приземного) и заполнение массива со значениями псевдоЛИ
foreach($low_lewels as $p) {
if($p < ($v['PRES'] - 15)) {
$Teqp = Met_Teqp_func($v['TMP'][$p], $v['TMP'][$p] - $v['DEPR'][$p], $p);
$LI2_ar[$p] = $Teqp500 - $Teqp;
}
}

// проход по массиву псевдоЛИ и отыскание минимального псевдоЛи (наибольшая неустойчивость)
// $y_kns - верт. градиент Т в слое от земли до уровня конденсации
// если он меньше 0.9 - термическая конвекция невозможна, уровень 2 м пропускаем
// $k_i_conv - индекс динамической конвекции, равен 1 при близости фронта
foreach($LI2_ar as $p => $LI) {

if($p == '2m' && $y_kns < 0.9)
continue;

$din_conv = false;

if($p !== '2m' && $k_i_conv == 1 )
$din_conv = true;

if($LI < 0) {
if( ($p_conv_start == '2m') || $din_conv )
$LI3_ar[$p] = $LI;
}

if($p !== '2m' && !$din_conv)
continue;

$p_conv_start = $p;

if($LI < $LI_min)
$LI_min = $LI;

}


// рассчитываем ЭПТ на уровне, от которого развивается самая сильная неустойчивость
if($p_conv_start == '2m') {
$h_last = $Alt;
$p_last = 1.33 * $v['p0'];
$Teqp_start = Met_Teqp_func($v['TMP']['2m'], $v['TMP']['2m'] - $v['DEPR']['2m'], $p_last);
} else {
$h_last = $v['HGT'][$p_conv_start];
$p_last = $p_conv_start;
$Teqp_start = Met_Teqp_func($v['TMP'][$p_last], $v['TMP'][$p_last] - $v['DEPR'][$p_last], $p_last);
}


$cape = 0;

// пробегаем по уровням и считаем (упрощённо) интеграл от разности ЭПТ частицы и среды
foreach($lewels as $p)
if($p < $p_last) {
$Teqp_cur = Met_Teqp_func($v['TMP'][$p], $v['TMP'][$p], $p);
$dt = $Teqp_start - $Teqp_cur;

$dt = 0.7 * $dt;

if($dt>0) {
$dt_sum = $dt_sum + $dt;
$dt_fin = $p;
$dt_cnt++;
}

$h = $v['HGT'][$p];
$dh_ = $h - $h_last;
$dc = $dt*0.001*$dh_;
if($dc>0) $cape = $cape + $dc;
$p_last = $p;
$h_last = $h;

}

// полученную интегральную сумму пересчитываем в КАПЕ
$cape = 38*$cape;
$v['CAPE'] = 50*round($cape/50);

met2
Участник

Минск
# Дата: 21 Сен 2012 16:07


Спасибо. Стало немного понятнее, но еще сложнее ))).

Просто бы формулку, а? Или буквально на пальцах: какие поверхности и поля берём и что с ними делаем, и что (для контроля) примерно должно получиться на выходе?

А то мы, вроде, повторяем, но ерундень какая-то ((

Хоть скриншот рукописного документа.

Corvus
Автор сайта

###Corvus###
# Дата: 22 Сен 2012 11:26 - Поправил: Corvus


Или буквально на пальцах: какие поверхности и поля берём и что с ними делаем, и что (для контроля) примерно должно получиться на выходе?
met2

0. Работаем везде ниже с уровнями '1000','975','950','925','900','850','800',' 750'.
1. Проходим по всем уровням (кроме самого нижнего, на котором давление меньше чем на 15 гПа отличается от приземного) и создаём массив псевдоЛИ как разности ЭПТ500 и ЭПТ на данном уровне.
2. Рассчитываем псевдоЛи на уровне 2 м и добавляем в массив псевдоЛИ.
3. Проход по массиву псевдоЛИ и отыскание минимального псевдоЛИ (наибольшая неустойчивость).
4. Рассчитываем $y_kns - верт. градиент Т в слое от 2 м до уровня конденсации.
5. Проходим по массиву псевдоЛи и формируем массив ЛИ3 (это реализуемый ЛИ, который может приводить к конвекции).
Если $y_kns меньше 0.9 - термическая конвекция невозможна, уровень 2 м пропускаем.
Если ситуация не фронтальная (например, минимальный дефицит в слое 1000-700 гПа более 10 градусов и
верт. движения на уровнях 850 и 700 гПа в гПа/3 ч положительные (нисходящие); критерии могут быть уточнены),
по массиву псевдоЛИ не проходим, в массив ЛИ3 попадает только ЛИ, рассчитанный с уровня 2 м (если $y_kns 0.9 и более).
6. Рассчитываем ЭПТчастицы - это ЭПТ на уровне, где ЛИ3 самый низкий (большие отрицательные значения или малые положительные).
7. $cape =0
8. Проходим по уровням и считаем (упрощённо) интеграл от разности ЭПТчастицы и ЭПТсреды на этом уровне. Находим разность $dt = 0.7 * (ЭПТчастицы-ЭПТсреды).
$dh_ = $h - $h_last (толщина слоя в метрах)
$dc = $dt*0.001*$dh_
if($dc>0) $cape = $cape + $dc (накапливаем сумму в переменной саре).
9. Переходим от суммы градусокилометров к САРЕ в Дж:
$cape = 38*$cape.
10. Всё :)
Можно округлить САРЕ до 50.
$v['CAPE'] = 50*round($cape/50);

Corvus
Автор сайта

###Corvus###
# Дата: 22 Сен 2012 11:51


Вероятно, это алгоритм можно упростить и свести к единой огромной формуле.

met2
Участник

Минск
# Дата: 24 Сен 2012 15:49 - Поправил: met2


Спасибо. Разбираемся.

P.S.
Поставили обновляться модель GEM (CMC, Канада) 2 раза в сутки.
Прогоны 00 и 12 ч. Заблаговременность 144 ч, шаг 3 часа.
Разрешение пространственное 0.6°.
Юзайте. Для Беларуси вполне адекватна.

Corvus
Автор сайта

###Corvus###
# Дата: 27 Сен 2012 17:36


Реанализ Рединга с 1979 года по июнь 2012 г. (ERA-40)

http://data-portal.ecmwf.int/data/d/interim_full_d aily

met2
Участник

Минск
# Дата: 27 Сен 2012 18:42


Реанализ Рединга с 1979 года по июнь 2012 г. (ERA-40)

http://data-portal.ecmwf.int/data/d/interim_full_d aily


Ух ты!

Corvus
Автор сайта

###Corvus###
# Дата: 27 Сен 2012 18:48


met2

Я только не разобрался до конца, бесплатно ли. Вроде да :)

bullterrier
Участник

Пермь
# Дата: 6 Окт 2012 14:02


Пожалуйста, подскажите, какие grib-ы нужно скачивать отсюда

http://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/ prod/gfs.2012100600/

Просто очень хочется иметь прогноз по модели GFS с максимальным количеством переменных. Может скачивать все файлы подряд, как в случае с моделью GEM-CMC?

Corvus
Автор сайта

###Corvus###
# Дата: 6 Окт 2012 19:30


bullterrier

Лучше качать вот отсюда
http://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/ prod/gfs.2012100600/master/

можно использовать технологию частичной закачки благодаря файликам .idx

Или тоже самое (я качаю отсюда) вот тут (0.5 градусная ГФС):
http://nomad3.ncep.noaa.gov/pub/gfs/rotating-0.5/
с помощью файликов .inv

Corvus
Автор сайта

###Corvus###
# Дата: 6 Окт 2012 19:36


Эта технология позволяет качать не всё подряд, а избранные переменные.
Например, строка из моего шелл-файлика (это под линуксом, а под виндой можно написать батник)

#!/bin/sh
#
get_inv.pl http://nomad3.ncep.noaa.gov/pub/gfs/rotating-0.5/g fs.t00z.pgrb2f03.inv | egrep "(PRES:surface:|:PRMSL:|:TMP:2 m above ground:|:RH:2 m above ground:|:TMAX:2 m above ground:|:TMIN:2 m above ground:|:UGRD:10 m above ground:|:VGRD:10 m above ground:|:APCP:surface:|:HGT:surface:|:TMP:surface: |:HGT:1000 mb:|:TMP:1000 mb:|:RH:1000 mb:|:UGRD:1000 mb:|:VGRD:1000 mb:|:HGT:975 mb:|:TMP:975 mb:|:RH:975 mb:|:UGRD:975 mb:|:VGRD:975 mb:|:HGT:950 mb:|:TMP:950 mb:|:RH:950 mb:|:UGRD:950 mb:|:VGRD:950 mb:|:HGT:925 mb:|:TMP:925 mb:|:RH:925 mb:|:UGRD:925 mb:|:VGRD:925 mb:|:HGT:900 mb:|:TMP:900 mb:|:RH:900 mb:|:UGRD:900 mb:|:VGRD:900 mb:|:HGT:850 mb:|:TMP:850 mb:|:RH:850 mb:|:VVEL:850 mb:|:UGRD:850 mb:|:VGRD:850 mb:|:HGT:800 mb:|:TMP:800 mb:|:RH:800 mb:|:UGRD:800 mb:|:VGRD:800 mb:|:HGT:750 mb:|:TMP:750 mb:|:RH:750 mb:|:UGRD:750 mb:|:VGRD:750 mb:|:HGT:700 mb:|:TMP:700 mb:|:RH:700 mb:|:VVEL:700 mb:|:UGRD:700 mb:|:VGRD:700 mb:|:HGT:650 mb:|:TMP:650 mb:|:RH:650 mb:|:UGRD:650 mb:|:VGRD:650 mb:|:HGT:600 mb:|:TMP:600 mb:|:RH:600 mb:|:UGRD:600 mb:|:VGRD:600 mb:|:HGT:550 mb:|:TMP:550 mb:|:RH:550 mb:|:UGRD:550 mb:|:VGRD:550 mb:|:HGT:500 mb:|:TMP:500 mb:|:RH:500 mb:|:VVEL:500 mb:|:UGRD:500 mb:|:VGRD:500 mb:)" | get_grib.pl http://nomad3.ncep.noaa.gov/pub/gfs/rotating-0.5/g fs.t00z.pgrb2f03 03.gfs
#
...

bullterrier
Участник

Пермь
# Дата: 6 Окт 2012 19:57


Corvus
Большое спасибо!

Мне второй сервер понравился, вроде все нужные мне переменные там есть в наличии. С частичным скачиванием заморачиваться не буду, интернет-канал довольно быстрый.

Раньше я пытался скачивать грибы отсюда:
http://nomads.ncdc.noaa.gov/data/gfs4/
Но там все обновляется не пойми как. С другой стороны, там архив прогнозов аж за 2 года!

Corvus
Автор сайта

###Corvus###
# Дата: 6 Окт 2012 21:13


там архив прогнозов аж за 2 года!


Да, это ценно для исследований (разработка методов прогноза и т.д.).

met2
Участник

Минск
# Дата: 7 Окт 2012 02:55


bullterrier

мы еще берем
CAPE
CIN
GUST
4LFTX
TCDC

Corvus
Автор сайта

###Corvus###
# Дата: 7 Окт 2012 07:54


met2

А я эти параметры рассчитываю по самопальным алгоритмам :)

bullterrier
Участник

Пермь
# Дата: 8 Окт 2012 18:22 - Поправил: bullterrier


Corvus
Я попробовал скачать grib-ы отсюда:
http://nomads.ncep.noaa.gov/pub/data/nccf/com/gfs/ prod/gfs.2012100600/master/
Скачиваю грибы за трое суток:
wget -N ...
Затем объединяю их в один
copy /B gfs.t* gfs.grb2
Создаю ctl файл
perl g2ctl.pl gfs.grb2>gfs.ctl
Создаю индексный файл
gribmap -i gfs.ctl

Потом открываю gfs.ctl в OpenGrads. Карты строятся вплоть до временного периода +60 часов, затем на временном шаге +63 ошибка, что градс не может найти переменные, причем все, и так всегда, независимо от того, за какую дату я скачал grib-ы. Кто нибудь сталкивался с такой проблемой?

Corvus
Автор сайта

###Corvus###
# Дата: 8 Окт 2012 18:40


bullterrier

Может быть файл слишком большой и потому не хватает памяти для работы ГРАДС?

Я бы не стал объединять файл, работал бы с каждым по отдельности.

<< . 1 . 2 . 3 . 4 . 5 . 6 . >>
Ваш ответ

          Отменить *Что это?

 » Логин  » Пароль 
 
 


Поддержка: miniBB forum software © 2001-2024