Автор |
Сообщение |
Corvus
Автор сайта
###Corvus###
|
# Дата: 3 Авг 2012 18:27
PRECANV Surface precipitation flux from anvils kg m-2 s-1
PRECCON Surface precipitation flux from convection kg m-2 s-1
PRECLSC Surface precipitation flux from large-scale kg m-2 s-1
PRECSNO Surface snowfall flux kg m-2 s-1
PRECTOT Total surface precipitation flux kg m-2 s-1
То есть осадки даются в кг/м2 в секунду.
Для пересчёта в мм/3 ч надо умножить на 10800.
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 4 Авг 2012 11:13
tavg3d_dyn_v (1 time per file, 4 files/day: 00, 06, 12,18 GMT)
PS Surface pressure (two-dimensional field) Pa
DELP Pressure difference between layer edges Pa
DTDTTOT Temperature tendency from physics (total diabatic)K s-1
HGHT Geopotential height at mid-layer m
MFXC Eastward layer mass flux on the C-Grid Pa m2 s-1
MFYC Northward layer mass flux on the C-Grid Pa m2 s-1
O3 Ozone Mixing Ratio kg kg-1
OMEGA Vertical pressure velocity Pa s-1
EPV Ertel’s potential vorticity K m2 kg-1 sec-1
QV Specific humidity kg kg-1
RH Relative humidity percent
T Air emperature K
U Eastward wind m s-1
V Northward wind m s-1
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 4 Авг 2012 11:17
tavg3d_cld_v (1 time per file, 4 files/day: 00, 06, 12, 18 GMT)
PS Surface pressure (two-dimensional field) Pa
DELP Pressure difference between layer edges Pa
CLOUD 3-D Cloud fraction fraction
DQRCON Rain production rate – convective kg m-2 s-1
DQRLSC Rain production rate - large-scale kg m-2 s-1
DTRAIN Detrainment cloud mass flux kg m-2 s-1
QI Cloud ice water mixing ratio kg kg-1
QL Cloud liquid water mixing ratio kg kg-1
TAUCLI Layer total optical thickness of ice clouds dimensionless
TAUCLW Layer total optical thickness of liquid clouds dimensionless
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 4 Авг 2012 11:24
Pressure-level data will be output on the following 36 pressure levels:
Level P(hPa)
1 1000 13 600 25 50
2 975 14 550 26 40
3 950 15 500 27 30
4 925 16 450 28 20
5 900 17 400 29 10
6 875 18 350 30 7
7 850 19 300 31 5
8 825 20 250 32 3
9 800 21 200 33 2
10 750 22 150 34 1
11 700 23 100 35 0.4
12 650 24 70 36 0.2
|
bullterrier
Участник
Пермь
|
# Дата: 6 Авг 2012 21:34
Скрипт для градс. Строит карты по множеству метеопараметров, в том числе по индексам неустойчивости для Пермского края и прилегающих территорий. Есть возможность выбора папки для сохранения карт.
URL
|
mtclub14
Участник
Чайковский-Ижевск
|
# Дата: 7 Авг 2012 10:52 - Поправил: mtclub14
У меня такое ощущение, что я чего то не докачал в программе Grads.
Пытался прописать путь к скрипту,но окно больше чем на секунду не задерживается (
|
mtclub14
Участник
Чайковский-Ижевск
|
# Дата: 7 Авг 2012 11:05 - Поправил: mtclub14
Извиняюсь. Я просто не тот grads скачал. Нашел другой на вашем форуме и все стало нормально.
Теперь даже окно визуализации есть.
Но вот скрипт выдает ошибку
Затем в окне gfads вводите n; затем клавиша Enter.
Затем вводите run meteogram_gfs.gs и нужные параметры.
У вас должно получится такое окно (параметры свои)
ga->run meteogram_gfs.gs
Enter location name --> Troiizk
Enter forecast date (yyyymmddhh) --> 2011120400
Enter longitude --> 61
Enter latitude --> 54
Metric units? [y/n] --> y
No hardcopy metafile open
All files closed; all defined objects released
All GrADS attributes have been reinitialized
Скрипт начал свою работу, нужно подождать минут 10
ругается на meteogram_gfs (
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 8 Авг 2012 13:48
Данные METAR в формате OPeNDAP/DODS
http://monsoondata.org:9090/dods/stn/metar/past48. info
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 20 Авг 2012 06:11
Может и были эти ссылки уже, но повторюсь.
НАЕФС
http://nomads.ncep.noaa.gov:9090/dods/naefs_bc/nae fs20120819/geavg_00z.info
НОГАПС
http://nomads.ncep.noaa.gov:9090/dods/fens/fens201 20819/fens_all_12z.info
СМС
http://nomads.ncep.noaa.gov:9090/dods/cmcens/cmcen s20120819/cmcensavg_12z.info
Ансамбль ГФС одноградусный (мало переменных)
http://nomads.ncep.noaa.gov:9090/dods/gens_bc/gens 20120819/geavg_18z.info
ГФС 0.5 градуса (много переменных)
http://nomads.ncep.noaa.gov:9090/dods/gfs_hd/gfs_h d20120819/gfs_hd_18z.info
|
bullterrier
Участник
Пермь
|
# Дата: 23 Авг 2012 08:36
Работу скриптов в GRADS можно ускорить следующим образом. Если какая-либо переменная используется в скрипте более одного раза, то можно поступить так:
'define slpr = prmslmsl/100'
'define tmp500 = tmpprs(lev=500)'
'define tmp400 = tmpprs(lev=400)'
'define tmp600 = tmpprs(lev=600)'
'define tmp700 = tmpprs(lev=700)'
'define tmp850 = tmpprs(lev=850)'
'define rh400 = rhprs(lev=400)'
'define rh500 = rhprs(lev=500)'
'define rh600 = rhprs(lev=600)'
'define rh700 = rhprs(lev=700)'
'define rh850 = rhprs(lev=850)'
'define dew400 = dewpt(tmp400,rh400)'
'define dew500 = dewpt(tmp500,rh500)'
'define dew600 = dewpt(tmp600,rh600)'
'define dew700 = dewpt(tmp700,rh700)'
'define dew850 = dewpt(tmp850,rh850)'
'define bli = no4lftxsfc'
'define sli = lftxsfc'
'define gp850 = hgtprs(lev=850)/10'
'define gp500 = hgtprs(lev=500)/10'
'define u700 = ugrdprs(lev=700)'
'define v700 = vgrdprs(lev=700)'
'define u300 = ugrdprs(lev=300)'
'define v300 = vgrdprs(lev=300)'
'define u850 = ugrdprs(lev=850)'
'define v850 = vgrdprs(lev=850)'
'define u500 = ugrdprs(lev=500)'
'define v500 = vgrdprs(lev=500)'
'define u450 = ugrdprs(lev=450)'
'define v450 = vgrdprs(lev=450)'
'define u950 = ugrdprs(lev=950)'
'define v950 = vgrdprs(lev=950)'
'define u10m = ugrd10m'
'define v10m = vgrd10m'
И затем обращаться уже к этим переменным. Так экономится интернет траффик и скрипт работает быстрей. В частности, мой скрипт для Пермского края и прилегающих территорий стал работать в 2.5-3 раза быстрее.
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 23 Авг 2012 09:25
bullterrier
Спасибо, возьму на вооружение :)
|
bullterrier
Участник
Пермь
|
# Дата: 24 Авг 2012 19:02
Попробовал запустить скрипты для OpenGrads под Linux (Fedora). Скрипты работают быстрее, чем под Windows.Теперь запускать их буду только под Linux.
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 27 Авг 2012 20:29
Как заставить ГРАДС 2.0 выдавать сообщения о ходе работы скрипта?
Старая ГРАДС 1.9 выдавала сплошным потоком сообщения (названия открытых файлов, переменные и т.д.), а эта молчит, как рыба об лёд. При ошибке происходит бесконечное ожидание и непонятно что делать.
|
bullterrier
Участник
Пермь
|
# Дата: 27 Авг 2012 21:43 - Поправил: bullterrier
Corvus
Попробуйте say result.
Хотя у меня в OpenGrads 2.0.1 при ошибке выводится красный текст и содержание ошибки, при открытии файла тоже выводится информация о нем.
|
bullterrier
Участник
Пермь
|
# Дата: 27 Сен 2012 17:16 - Поправил: bullterrier
Скажите, пожалуйста, а как можно посчитать при помощи функций OpenGrads precipitable water [mm] (кол-во воды, доступной, для осадков) по модельным данным (модель СМС), если имеется температура на каждом уровне (TMPprs, K) и дефицит точки росы (DEPRprs)?
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 27 Сен 2012 17:22
Precipitable water [mm] (кол-во воды, доступной, для осадков) по модельным данным (модель СМС), если имеется температура на каждом уровне (TMPprs, K) и дефицит точки росы (DEPRprs)?
bullterrier
Надо рассчитать по Т и Д удельную влажность (г/кг) для всех уровней и потом взять интеграл этой величины от земли до уровня, скажем, 300 или 200 гПа.
|
bullterrier
Участник
Пермь
|
# Дата: 27 Сен 2012 17:26
Corvus
Спасибо большое. А удельная влажность по высотам уже посчитана моделью, так что моя работа упрощается.
|
bullterrier
Участник
Пермь
|
# Дата: 27 Сен 2012 18:06 - Поправил: bullterrier
Я сделал так:
'define ps = prmslmsl/100'
'define precwat = vint(ps,SPFHprs,200).
Получилось все правильно:
Еще раз спасибо за подсказку. Канадская модель, кстати, довольно неплохая. Поле ветра, например, у нее адекватнее, чем у GFS. А вот с приземной температурой у нее не очень, к сожалению.
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 27 Сен 2012 18:46
А вот с приземной температурой у нее не очень, к сожалению.
bullterrier
Поэтому я и ансамблирую ГФС и СМС.
ГФС завышает Тмин, занижает Тд, СМС завышает Тд. В среднем получается хорошо :)
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 28 Сен 2012 08:38
Многолетний архив данных радиозондирования по станциям России для использования в программе ГРАДС:
http://nomads.ncdc.noaa.gov/dods/IGRA_STATION_RAOB S/RS/
|
Mesocyclon
Участник
Троицк, Ключевка, Челябинская область
|
# Дата: 29 Окт 2012 12:45
28 уроков GRADS
http://www.met.wau.nl/education/atmospract/
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 29 Окт 2012 17:13
Mesocyclon
А где там про ГРАДС? Вижу 28 уроков синоптической метеорологии (с рисунками, анализом карт и примерами).
|
spralex
Участник
г. Конотоп, Сумская обл., Украина
|
# Дата: 29 Окт 2012 17:55
Corvus
Может, имеется ввиду вот это: http://www.met.wau.nl/education/atmospract/grads/g adocindex.html
|
Corvus
Автор сайта
###Corvus###
|
# Дата: 29 Окт 2012 18:29
spralex
А, ну это стандартный (родной) хэлп ГРАДСа.
|
Mesocyclon
Участник
Троицк, Ключевка, Челябинская область
|
# Дата: 4 Ноя 2012 18:09 - Поправил: Mesocyclon
Скрипт для ГРАДС текстовый прогон
'reinit'
'sdfopen http://nomads.ncep.noaa.gov:9090/dods/gfs_hd/gfs_h d20121104/gfs_hd_00z'
'set gxout print'
'set lat 54.05'
'set lon 61.63'
t = 3
while(t<=60)
'set t 't
'd prmslmsl/100'
r=sublin(result,2)
dtn=subwrd(r,1)
dt=substr(dtn,1,4)
'd apcpsfc'
r1=sublin(result,2)
dt1n=subwrd(r1,1)
dt1=substr(dt1n,1,4)
'd tmp2m-273.16'
r2=sublin(result,2)
dt2n=subwrd(r2,1)
dt2=substr(dt2n,1,4)
'd capesfc'
r3=sublin(result,2)
dt3n=subwrd(r3,1)
dt3=substr(dt3n,1,4)
'd tmpprs(lev=975)-273.16'
r4=sublin(result,2)
dt4n=subwrd(r4,1)
dt4=substr(dt4n,1,4)
rc=write(temp.txt,'+'t' 'dt' 'dt2' 'dt3' 'dt4' 'dt1,append)
t = t + 3
endwhile
******
вставил только 5 параметров но можно вставить больше.
Выводит вот что
+3 1022 0.00 0 -1.7 0
+6 1023 -0.2 0 -0.0 0
+9 1021 -0.3 0 0.34 0.3
+12 1021 3.69 0 2.44 0.1
+15 1017 2.96 0 3.34 0.2
+18 1016 1.31 0 2.54 0
+21 1022 1.38 4 1.14 0
+24 1027 -2.0 0 -3.0 0
+27 1025 -0.0 0 -1.9 0.2
+30 1020 0.57 0 1.34 0
+33 1014 2.59 0 2.84 0.7
+36 1015 4.28 0 4.04 0
+39 1017 1.03 0 3.54 0
+42 1016 0.00 0 1.94 0
+45 1014 -0.9 0 2.44 0
+48 1014 -0.4 0 1.23 0
+51 1015 1.26 0 0.34 0
+54 1015 0.41 0 2.23 0
+57 1009 0.88 0 0.94 2.3
+60 1013 -2.1 3 -3.3 0.1
Сохраняет в файле gfs.txt в папке C:\OpenGrADS\Contents\Resources\SampleDatasets
|
bullterrier
Участник
Пермь
|
# Дата: 8 Ноя 2012 19:56
Mesocyclon
Спасибо за пример. Я тоже сделал текстовый прогноз по модели GEM. У меня получилось так:
'reinit'
say 'script v0.1.0 06.11.2012'
infile = '/home/bullterrier/work/models/gem/gem.ctl'
textpath = '/home/bullterrier/work/text/gem/'
'open 'infile
nperiod = 25
forecast (58,56,'Perm',nperiod,textpath)
'quit'
function forecast (latx,lony,cityname,np,tp)
'set t 1'
'q time'
times = sublin(result,1)
runtime = subwrd(times,3)
timex = 1
'set gxout print'
'set lat 'latx
'set lon 'lony
'crp = 0'
'ncrp = 0'
filename=tp%cityname%'.txt'
prompt 'Build forecast for'
prompt cityname
say '...'
rc=write(filename,'DATE WINDN WINDS T2M DEWPT SLP PREC PRECCONV PRECWAT W850N W850S T850 H850 W500N W500S T500 H500 CLOUD SNOW',append)
while(timex <= np)
if (timex>1)
prompt 'Time period #'
prompt timex
say '...'
'set t ' timex
'q time'
times = sublin(result,1)
timeword = subwrd(times,3)
'define slpr = prmslmsl/100'
'define tmp500 = tmpprs(lev=500)-273.15'
'define tmp850 = tmpprs(lev=850)-273.15'
'define u10m = ugrd10m'
'define v10m = vgrd10m'
'define gp500 = hgtprs(lev=500)/10'
'define gp850 = hgtprs(lev=850)/10'
'define t2m = tmp2m-273.15'
'define dewpoint = DPT2m-273.15'
'd wdir10m'
d=sublin(result,2)
d1=subwrd(d,1)
'd mag (u10m,v10m)'
d=sublin(result,2)
d2=subwrd(d,1)
'd t2m'
d=sublin(result,2)
d3=subwrd(d,1)
'd dewpoint'
d=sublin(result,2)
d4=subwrd(d,1)
'd slpr'
d=sublin(result,2)
d5=subwrd(d,1)
'rain=apcpsfc-ncrp'
'ncrp=apcpsfc'
'd rain'
d=sublin(result,2)
d6=subwrd(d,1)
'rain=acpcpsfc-crp'
'crp=acpcpsfc'
'd rain'
d=sublin(result,2)
d7=subwrd(d,1)
'ps = slpr'
'precwat = vint(ps,SPFHprs,200)'
'd precwat'
d=sublin(result,2)
d8=subwrd(d,1)
'd wdirprs(lev=850)'
d=sublin(result,2)
d9=subwrd(d,1)
'd mag (ugrdprs(lev=850),vgrdprs(lev=850))'
d=sublin(result,2)
d10=subwrd(d,1)
'd tmp850'
d=sublin(result,2)
d11=subwrd(d,1)
'd gp850'
d=sublin(result,2)
d12=subwrd(d,1)
'd wdirprs(lev=500)'
d=sublin(result,2)
d13=subwrd(d,1)
'd mag (ugrdprs(lev=500),vgrdprs(lev=500))'
d=sublin(result,2)
d14=subwrd(d,1)
'd tmp500'
d=sublin(result,2)
d15=subwrd(d,1)
'd gp500'
d=sublin(result,2)
d16=subwrd(d,1)
'd TCDCsfc'
d=sublin(result,2)
d17=subwrd(d,1)
'd SNODsfc*100'
d=sublin(result,2)
d18=subwrd(d,1)
mystr=timeword' 'd1' 'd2' 'd3' 'd4' 'd5' 'd6' 'd7' 'd8' 'd9' 'd10' 'd11' 'd12' 'd13' 'd14' 'd15' 'd16' 'd17' 'd18
rc=write(filename,mystr,append)
endif
timex = timex + 1
endwhile
return
|
bullterrier
Участник
Пермь
|
# Дата: 8 Ноя 2012 19:58
Подскажите, а как в OpenGrads посчитать направление ветра в градусах, зная u и v компоненты ветра?
|
Cumulonimbus incus
Участник
Кишинёв, Молдова
|
# Дата: 8 Ноя 2012 21:20
bullterrier
Вот так:
'define dir = 57.2957795131*atan2(u,v)+180'
|
bullterrier
Участник
Пермь
|
# Дата: 8 Ноя 2012 21:31
Cumulonimbus incus
Большое спасибо!
|
Cumulonimbus incus
Участник
Кишинёв, Молдова
|
# Дата: 9 Ноя 2012 23:05
Написал небольшую функцию для округления переменных.
function roundvar(arg)
'd 'arg
argstr = subwrd(result,4)
appxarg = math_nint(argstr)
'define appxarg = 'appxarg
return
Многие спросят: зачем эта функция нужна, если и так есть math_nint? Отвечаю: если ввести просто имя переменной как аргумент функции, то вылетит ошибка Argument is not a valid numeric, так как любая переменная поначалу есть строка. Её-то, понятно, округлить нельзя. Функция позволяет обойти это ограничение.
|