GrADS Scripts

Die folgenden Scripts erstellen/plotten die jeweiligen Wettermodell-Karten anhand der vorhandenen Daten aus der vergangenen Simulation. Die Scripts müssen die Dateiendung .gs besitzen und können mit dem Programm GrADS oder OpenGrADS verwendet werden.
Alle Rechte liegen bei UwBe International.

2m Temperature

*Run Script without Display with follow command:
*Command: grads -h GD -bpcx „run aws_temp2m.gs DOMAIN DATE HOUR CYCLE“
*Example for Use this Script: grads -h GD -blcx „run plot_temp2m.gs ch4km 2003011800 144“
*Script by Dominic Kurz, UwBe International
*meteo@weather.uwbeinternational.org
*Standard PNG bXl: x570 y435

* Parse the File to open
*prompt ‚Enter Domain name (eu, switzerland, ch_nest) –> ‚
*pull domain
*prompt ‚Enter forecast date (yymmddhhmm ex. 2004021200) –> ‚
*pull openfile
*prompt ‚Enter the Hours (ex. 12, 24, 32, 48, 72, 84, 120, 160, 180) –> ‚
*pull hours

function main(args)

domain=subwrd(args,1)
openfile=subwrd(args,2)
hours=subwrd(args,3)

file=’/home/uwbe/uems/runs/’domain’/emsprd/grads/’openfile’_wrfout_arw_d01.ctl‘

‚open ‚file

if (domain = ‚it4km‘) ; dom=“it4km“ ; endif
if (domain = ‚ch4km‘) ; dom=“ch4km“ ; endif

i = 1

while (i < hours)
say ‚i = ‚i

if (dom = ‚it4km‘)
’set lon 6.85 18.5′
’set lat 37.08 46.25′
#Wenn Draw Title unten verwendet wird: set parea 0 8.5 1 10.5, falls KEIN Titel verwendet wird, dann set parea 0 8.5 1 11
#’set parea 0 8.5 1 10.5′
endif
if (dom = ‚ch4km‘)
’set lon 5.5 11′
’set lat 45 48.5′
#Wenn Draw Title unten verwendet wird: set parea 0 8.5 1 10.5, falls KEIN Titel verwendet wird, dann set parea 0 8.5 1 11
#’set parea 0 8.5 1 10.5′
endif

’set mpdset hires‘
’set map 1 1 7′
’set mproj scaled‘
’set t ‚i
‚q time‘
if (i = 1)
runwrd=subwrd(result,3)
cyc=substr(runwrd,1,2)
say ‚cyc = ‚cyc
rundate=substr(runwrd,4,2)
runmo=substr(runwrd,6,3)
runyear=substr(runwrd,9,4)
‚q files‘
runlin=sublin(result,1)
say ‚runlin = ‚runlin
runwrd=subwrd(runlin,4)
runfile=substr(runwrd,1,10)
endif
‚q time‘
fwrd=subwrd(result,3)
fhr=substr(fwrd,1,2)
fdate=substr(fwrd,4,2)
fmo=substr(fwrd,6,3)
fyear=substr(fwrd,9,4)
’set gxout shaded‘
’set grads off‘
# ’set clevs 1 3 5′
# ’set ccols 15 2 7 0′
# ‚d tmp2m-273.15‘

if (borders = „shp“)
’set mpdraw off‘
endif

xcbarside = „r“

* Map options & resolution
**************************
’set mproj scaled‘
’set mpvals -2 19 47 59′
’set display color white‘
’set csmooth on‘
’set mpdset hires‘
’set strsiz 0.2′
’set xlab off‘
’set ylab off‘
if (dom = ‚it4km‘)
if (xcbarside = ‚l‘)
’set parea 1.05 11 1 8.1′
endif
if (xcbarside = ‚r‘)
’set parea 0 10 1 8.1′
endif
endif
if (dom = ‚ch4km‘)
if (xcbarside = ‚l‘)
’set parea 1.05 11 1 8.1′
endif
if (xcbarside = ‚r‘)
’set parea 0 10 1 8.1′
endif
endif
’set grads off‘
’set grid off‘

’set gxout shaded‘

’set rgb 39 165 0 190′
’set rgb 40 160 0 200′
’set rgb 41 150 0 205′
’set rgb 42 145 0 210′
’set rgb 43 137 0 215′
’set rgb 44 130 0 220′
’set rgb 45 70 0 230′
’set rgb 46 30 60 255′
’set rgb 47 15 110 255′
’set rgb 48 0 160 255′
’set rgb 49 0 180 255′
’set rgb 50 0 200 200′
’set rgb 51 0 205 170′
’set rgb 52 0 210 140′
’set rgb 53 0 215 70′
’set rgb 54 0 220 0′
’set rgb 55 80 225 25′
’set rgb 56 160 230 50′
’set rgb 57 195 225 50′
’set rgb 58 230 220 50′
’set rgb 59 230 195 47′
’set rgb 60 230 175 45′
’set rgb 61 235 155 42′
’set rgb 62 240 130 40′
’set rgb 63 248 65 20′
’set rgb 64 255 0 0′
’set rgb 65 255 30 30′
’set rgb 66 250 60 60′
’set rgb 67 245 30 95′
’set rgb 68 240 0 130′
’set rgb 69 235 0 150′
’set rgb 70 230 0 160′

#’set clevs -20 -18 -16 -14 -12 -10 -8 -6 -4 -2 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40′
#’set ccols 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70′
’set clevs -15 -10 -8 -5 -3 0 3 5 8 10 15 18 20 25 28 30 33 35 40′
’set ccols 41 43 44 45 48 49 50 51 52 53 55 57 58 60 61 63 67 68 69 70′

#Plot Shaded Temps
‚d tmp2m-273.15‘

if (domain = ‚ch4km‘)
#Plot TEmp-Values in the Grid
’set gxout grid‘
’set gridln off‘
’set grid off‘
‚d skip(tmp2m-273.15,3,3)‘
endif

if (domain = ‚it4km‘)
#Plot TEmp-Values in the Grid
’set gxout grid‘
’set gridln off‘
’set grid off‘
‚d skip(tmp2m-273.15,3,3)‘
endif

if (domain = ‚ch4km‘)
’set line 1 1 6′
‚draw shp /home/uwbe/uems/grads_scripts/shp/CHE_water_areas_dcw.shp‘
endif

if (domain = ‚it4km‘)
’set line 1 1 6′
‚draw shp /home/uwbe/uems/grads_scripts/shp/ITA_water_areas_dcw.shp‘
endif

‚plot_cities_’dom
ghr = i – 1

’set strsiz 0.2 0.2′
‚draw string 3.5 8.33 2m Temperature (Celsius)‘
if (domain = ‚ch4km‘) ; gtx=“Switzerland 3km Grid“ ; endif
if (domain = ‚it4km‘) ; gtx=“Italy 3km Grid“ ; endif

if(xcbarside = ‚l‘)
#xcbar left
‚/home/uwbe/uems/grads_scripts/auto_without_sim/xcbar 0.28 0.53 1 8.1 -direction v -line on -fskip 0.5 -fwidth 0.10 -fheight 0.11‘
endif

if(xcbarside = ‚r‘)
#xcbar right
‚/home/uwbe/uems/grads_scripts/auto_without_sim/xcbar 10.25 10.5 1.05 8.05 -direction v -line on -fskip 0.5 -fwidth 0.10 -fheight 0.11‘
endif

#Set Boxes under the Chart
’set line 0 1 2′
‚draw recf 0 0.5 2.5 1‘
‚draw recf 0 0 2.5 0.5‘
‚draw recf 2.5 0 8.5 0.5‘
‚draw recf 8.5 0.5 11 1‘

’set line 1 1 2′
‚draw rec 0 0.5 2.5 1‘
‚draw rec 0 0 2.5 0.5‘
‚draw rec 2.5 0 8.5 0.5‘
‚draw rec 8.5 0.5 11 1‘

#Draw ARW/NMM Text Box Left
’set string 1 bl 6 0′
’set strsiz 0.095 0.095′
‚draw string 0.15 0.8 NMM/ARW‘
’set string 1 bl 0′
‚draw string 1 0.8 v4.2.1 3km Grid‘
’set strsiz 0.085 0.085′
‚draw string 0.15 0.6 (c)weather.uwbeinternational.org‘

#Draw Text in the right 2nd bottom Box
’set string 1 bl 4′
’set strsiz 0.1 0.1′
‚draw string 0.15 0.2 Run: ‚rundate‘ ‚runmo‘ ‚runyear’_’cyc‘ UTC‘

#Draw Text in the middle Bottom Box
’set string 1 bl 4′
’set strsiz 0.11 0.11′
‚draw string 5 0.3 Valid for‘
’set string 1 bl 6′
’set strsiz 0.11 0.11′
‚draw string 4.35 0.1 ‚fdate‘ ‚fmo‘ ‚fyear’_’fhr‘ UTC‘

#Draw Text in the right bottom Box
’set strsiz 0.1 0.1′
’set string 1 bl 5′
‚draw string 9 0.8 UwBe International‘
‚draw string 8.75 0.6 Severe Weather Research‘
’set strsiz 0.08 0.08′
‚draw string 8.65 0.2 https://www.uwbeinternational.org‘

#Draw Text in the middle white field
’set string 1 bl 4′
’set strsiz 0.08 0.08′
‚draw string 2.6 0.8 Temperature: Celsius in a Range from -20 to 45 degree‘
‚draw string 2.6 0.6 Conversion of F to C: temp2m(F) -273.15 = temp2m(C)‘

#Draw Lines in Picture
’set line 1 1 2′
‚draw line 0 0.01 11 0.01‘
‚draw line 10.99 0 10.99 8.1‘
‚draw line 0 8.1 11 8.1‘

if (ghr < 10)
#’printim /home/uwbe/uems/runs/’domain’/wrf_out/temp_2m/’cyc’/temp_2m_’runfile’f0’ghr‘.png x950 y950 png white‘
‚printim /home/uwbe/uems/runs/’domain’/wrf_out/temp_2m/’cyc’/temp_2m_UwBeGFSf0’ghr‘.png x950 y950 png white‘
else
#’printim /home/uwbe/uems/runs/’domain’/wrf_out/temp_2m/’cyc’/temp_2m_’runfile’f’ghr‘.png x950 y950 png white‘
‚printim /home/uwbe/uems/runs/’domain’/wrf_out/temp_2m/’cyc’/temp_2m_UwBeGFSf’ghr‘.png x950 y950 png white‘
endif
‚clear‘
i = i + 1
endwhile