Работа с GrADS

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

Работа с GrADS

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

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

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

Владимирская область, г.Киржач
# Дата: 19 Ноя 2014 20:47 - Поправил: qwerty


*

qwerty
Участник

Владимирская область, г.Киржач
# Дата: 19 Ноя 2014 21:51


Alter
Там в файле вообще с 1984
qwerty, там в файле только один 1984-й.
Так что качайте еще 29 таких.


А если это и есть нормы. Просто год по умолчанию?

Alter
Участник

Москва, ЮЗАО
# Дата: 20 Ноя 2014 10:58


qwerty, Вы знаете, а, похоже, так и есть. Ничего общего с 1984 там нет, а на нормы вполне смахивает.
Любопытно.
Жаль, что ресурс на ремонте, хотел бы скачать оттуда данные для аномалий Н500.

qwerty
Участник

Владимирская область, г.Киржач
# Дата: 20 Ноя 2014 10:58 - Поправил: qwerty


Alter

А как с помощью скрипта xcbarn.gs сделать вертикальную цветовую шкалу?

Alter
Участник

Москва, ЮЗАО
# Дата: 20 Ноя 2014 11:00


qwerty, Вам нужен другой скрипт, cbarm.gs

qwerty
Участник

Владимирская область, г.Киржач
# Дата: 20 Ноя 2014 11:02 - Поправил: qwerty


Alter

Я хотел бы использовать именно xcbarn.gs

А cbarm определяет место шкалы автоматически.

Alter
Участник

Москва, ЮЗАО
# Дата: 20 Ноя 2014 11:23


А cbarm определяет место шкалы автоматически.
Тогда подкорректируйте его.

Вот, что примерно должно выйти. "Аномалии" на 21 ноября, 00 UTC.



qwerty
Участник

Владимирская область, г.Киржач
# Дата: 20 Ноя 2014 13:48


Alter

А что это за карта?

Alter
Участник

Москва, ЮЗАО
# Дата: 20 Ноя 2014 13:56


qwerty, аномалии Т850 по Вашему файлу.
Вот в таком формате понятнее.



qwerty
Участник

Владимирская область, г.Киржач
# Дата: 20 Ноя 2014 14:04


Alter

А можете скрипт скинуть?

Alter
Участник

Москва, ЮЗАО
# Дата: 20 Ноя 2014 14:31


qwerty


https://cloud.mail.ru/public/3f5c1e5af52c/t850anom .gs

Цвета и шкала

https://cloud.mail.ru/public/167d7608ae83/cbarm.gs

https://cloud.mail.ru/public/2de50fc6e314/color.gs

qwerty
Участник

Владимирская область, г.Киржач
# Дата: 20 Ноя 2014 14:32


Alter

https://cloud.mail.ru/public/167d7608ae83/cbarm.g s

https://cloud.mail.ru/public/2de50fc6e314/color.gs


Имеется давно. А вы пользовались скриптом xcbarn?

Alter
Участник

Москва, ЮЗАО
# Дата: 20 Ноя 2014 14:35


А вы пользовались скриптом xcbarn?
qwerty, нет. И этого хватает.

qwerty
Участник

Владимирская область, г.Киржач
# Дата: 20 Ноя 2014 14:37


Alter

А вот этот формат можно использовать?
nomads.ncep.noaa.gov:9090/dods/gfs_0p25/

Alter
Участник

Москва, ЮЗАО
# Дата: 20 Ноя 2014 14:48


qwerty, используйте.

qwerty
Участник

Владимирская область, г.Киржач
# Дата: 20 Ноя 2014 14:53


Alter

А вот эта часть кода зачем?

'reinit'
'sdfopen http://nomads.ncep.noaa.gov:9090/dods/gfs_hd/gfs_h d'y''m''d'/gfs_hd_'hrun'z'
*'sdfopen elev_0.25deg_reg_v10.0.nc'
*'sdfopen flxf00.gdas.1981010100.grb2.nc'

*'q ctlinfo'
*_ctl = result
return

function monthstr (ch_)
ch = ch_
if ( ch='01'); ch='JAN'; endif
if ( ch='02'); ch='FEB'; endif
if ( ch='03'); ch='MAR'; endif
if ( ch='04'); ch='APR'; endif
if ( ch='05'); ch='MAY'; endif
if ( ch='06'); ch='JUN'; endif
if ( ch='07'); ch='JUL'; endif
if ( ch='08'); ch='AUG'; endif
if ( ch='09'); ch='SEP'; endif
if ( ch='10'); ch='OCT'; endif
if ( ch='11'); ch='NOV'; endif
if ( ch='12'); ch='DEC'; endif
return ch

function str2 (ch_)
ch = ch_
if ( ch='1'); ch='01'; endif
if ( ch='2'); ch='02'; endif
if ( ch='3'); ch='03'; endif
if ( ch='4'); ch='04'; endif
if ( ch='5'); ch='05'; endif
if ( ch='6'); ch='06'; endif
if ( ch='7'); ch='07'; endif
if ( ch='8'); ch='08'; endif
if ( ch='9'); ch='09'; endif
return ch

function mdays (ch_)
ch = ch_
if ( ch='JAN'); ch='31'; endif
if ( ch='FEB'); ch='28'; endif
if ( ch='MAR'); ch='31'; endif
if ( ch='APR'); ch='30'; endif
if ( ch='MAY'); ch='31'; endif
if ( ch='JUN'); ch='30'; endif
if ( ch='JUL'); ch='31'; endif
if ( ch='AUG'); ch='31'; endif
if ( ch='SEP'); ch='30'; endif
if ( ch='OCT'); ch='31'; endif
if ( ch='NOV'); ch='30'; endif
if ( ch='DEC'); ch='31'; endif
return ch



qwerty
Участник

Владимирская область, г.Киржач
# Дата: 20 Ноя 2014 15:38


Alter

Выскакивает вот такая ошибка



Alter
Участник

Москва, ЮЗАО
# Дата: 20 Ноя 2014 15:47


qwerty, выкладывайте полный скрин ошибки.
У Вас первый файл(GFS) не открылся по каким-то причинам.

qwerty
Участник

Владимирская область, г.Киржач
# Дата: 20 Ноя 2014 15:49


Alter

Может неверный формат ввода года/месяца/дня/часа ?

qwerty
Участник

Владимирская область, г.Киржач
# Дата: 20 Ноя 2014 15:53


Alter

Вот



Alter
Участник

Москва, ЮЗАО
# Дата: 20 Ноя 2014 15:54


неверный формат
qwerty, у кого неверный?
У меня все работает, так что все верно.
Кстати, да. Забыл.
Я переименовал файл дескриптора на 'nt850.ctl'.
Видимо, все дело в нем.
Либо исправляйте и вносите имя своего файла, либо переименовывайте файл. Лучше сделать первое.

Alter
Участник

Москва, ЮЗАО
# Дата: 20 Ноя 2014 15:55


qwerty, Вы меняли скрипт?
Если да, давайте полный текст.

qwerty
Участник

Владимирская область, г.Киржач
# Дата: 20 Ноя 2014 15:58


function t850anom(args)

********************initialaze in case of empty input
y = 2014
m = 11
d = '01'
h = '00'


***dayint = 7

argnum = 0

if(args='')

say 'Climo func format using args in any order:'
say '-y yyy - year in 4-digit format.'
say '-m mm - month in 2-digit format. Example: for april type -m 04; for november -m 11'
say '-d dd - first day in 2-digit format. Example: for 1-st type -d 01; for 23-d -d 23'
say '-h hh - hour in 2-digit format. Example: for 6 utc type -h 06; for 12 -h 12'
return
endif

********************checking the args
while(1)

argnum = argnum + 1
arg = subwrd(args, argnum)
if(arg=''); break; endif
if (arg = '-d'); d = subwrd(args, argnum + 1); endif
if (arg = '-y'); y = subwrd(args, argnum + 1); endif
if (arg = '-m'); m = subwrd(args, argnum + 1); endif
if (arg = '-h'); h = subwrd(args, argnum + 1); endif
endwhile


********************check again for empty args
*y = subwrd(args,1)
*m = subwrd(args,2)
*d = subwrd(args,3)
*dayint = subwrd(args,4) - 1
*normys = subwrd(args,5)
***say ''y
if (y=''); y = 2014; endif
if (m=''); m = 11; endif
if (d=''); d = '22'; endif
if (h=''); d = '00'; endif

ms = monthstr(m)
***'set mpvals 40 70 20 50'
'set parea 0.02 9.54 0.8 7.50'

res = gfsrun123
'open nt850.ctl'

'set display color white'
'clear'

'set mpdraw off'
'set lat 30 90'
'set lon 20 190'

'define norm = tmp850mb.2(time='h'Z'd''ms''1984')'
'define forecast = tmpprs(lev=850, time='h'Z'd''ms''y')'
'define anom = re(forecast, 0.25, 0.25) - re(norm, 0.25, 0.25)'

'set gxout shade2b'
*'run temp_colors'
'color -20 20 2'
'set cint 2'

'd anom'

'cbarn'

'set rgb 100 100 100 100'
'set ccolor 100'
'set gxout contour'
'set cint 5'

'd anom'

'draw shp countries'

'draw title T850 anomalies(1981-2010) for 'd' 'ms' 'y' 'h':00 UTC'

'printim T850an'd''ms''y''h'.png x1200 y900'


return
function gfsrun123(args)
y = subwrd(args,1)
m = subwrd(args,2)
d = subwrd(args,3)
h = subwrd(args,4)

if (args='')
say 'no args' args
else
'reinit'
'sdfopen http://nomads.ncep.noaa.gov:9090/dods/gfs_hd/gfs_h d'y''m''d'/gfs_hd_'h'z'
return
endif

'@ !date "+%Y%m%d%H%M" --utc>t1.txt'
d = read('t1.txt')
d0 = sublin(d,2)
say 'Date est :='d0'='
h = substr(d0, 9,2)
d = substr(d0, 7,2)
m = substr(d0, 5,2)
y = substr(d0, 1,4)

say 'hour: 'h

h = h - 5

if(h < 0)

hrun = 12 - h

d = d - 1
if(d < 1)
ms = monthstr(m)
mdays = mdays(ms)

m = m - 1

d = mdays - d

if m = 12
y = y - 1
endif

endif

endif

hrun = 18
say 'hour: 'h

if (h > 0); hrun = '00'; endif
if (h > 6); hrun = '06'; endif
if (h > 12); hrun = '12'; endif
if (h > 18); hrun = '18'; endif

say 'Run ='y''m''d'/gfs_hd_'h'z'

*return


'reinit'
'sdfopen http://nomads.ncep.noaa.gov:9090/dods/gfs_hd/gfs_h d'y''m''d'/gfs_hd_'hrun'z'
*'sdfopen elev_0.25deg_reg_v10.0.nc'
*'sdfopen flxf00.gdas.1981010100.grb2.nc'

*'q ctlinfo'
*_ctl = result
return

function monthstr (ch_)
ch = ch_
if ( ch='01'); ch='JAN'; endif
if ( ch='02'); ch='FEB'; endif
if ( ch='03'); ch='MAR'; endif
if ( ch='04'); ch='APR'; endif
if ( ch='05'); ch='MAY'; endif
if ( ch='06'); ch='JUN'; endif
if ( ch='07'); ch='JUL'; endif
if ( ch='08'); ch='AUG'; endif
if ( ch='09'); ch='SEP'; endif
if ( ch='10'); ch='OCT'; endif
if ( ch='11'); ch='NOV'; endif
if ( ch='12'); ch='DEC'; endif
return ch

function str2 (ch_)
ch = ch_
if ( ch='1'); ch='01'; endif
if ( ch='2'); ch='02'; endif
if ( ch='3'); ch='03'; endif
if ( ch='4'); ch='04'; endif
if ( ch='5'); ch='05'; endif
if ( ch='6'); ch='06'; endif
if ( ch='7'); ch='07'; endif
if ( ch='8'); ch='08'; endif
if ( ch='9'); ch='09'; endif
return ch

function mdays (ch_)
ch = ch_
if ( ch='JAN'); ch='31'; endif
if ( ch='FEB'); ch='28'; endif
if ( ch='MAR'); ch='31'; endif
if ( ch='APR'); ch='30'; endif
if ( ch='MAY'); ch='31'; endif
if ( ch='JUN'); ch='30'; endif
if ( ch='JUL'); ch='31'; endif
if ( ch='AUG'); ch='31'; endif
if ( ch='SEP'); ch='30'; endif
if ( ch='OCT'); ch='31'; endif
if ( ch='NOV'); ch='30'; endif
if ( ch='DEC'); ch='31'; endif
return ch

Alter
Участник

Москва, ЮЗАО
# Дата: 20 Ноя 2014 16:01


qwerty, ну все отлично. Вставил у себя - работает.

С файлом поправили, как я писал?

qwerty
Участник

Владимирская область, г.Киржач
# Дата: 20 Ноя 2014 16:03


Alter

Поправил, но по прежнему ругается.

А файл nt850 это файл с нормами?

Alter
Участник

Москва, ЮЗАО
# Дата: 20 Ноя 2014 16:06


А файл nt850 это файл с нормами?
qwerty, да. Он самый.
Странно. Попробуйте тогда
'define forecast = tmpprs(lev=850, time='h'Z'd''ms''y')'

Заменить на

'define forecast = tmpprs.1(lev=850, time='h'Z'd''ms''y')'

Может, Ваш градс упорно требует номер, хотя такая переменная итак в одном файле.

qwerty
Участник

Владимирская область, г.Киржач
# Дата: 20 Ноя 2014 16:09


Alter

Теперь орёт на 'define anom = re(forecast, 0.25, 0.25) - re(norm, 0.25, 0.25)'

Alter
Участник

Москва, ЮЗАО
# Дата: 20 Ноя 2014 16:12


qwerty, версия ГрАДС какая?

qwerty
Участник

Владимирская область, г.Киржач
# Дата: 20 Ноя 2014 16:14


Alter

OpenGrADS версия 2.0.1

Alter
Участник

Москва, ЮЗАО
# Дата: 20 Ноя 2014 16:35


qwerty, давайте скрин ошибки. Желательно, начиная от строки ввода данных.

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

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

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


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