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 eu 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/datasets/last_ctl/last_ctl.ctl‘

if (domain = ‚eu‘) ; file=’/home/uwbe/uems/datasets/last_ctl/last_ctl1.ctl‘ ; endif
if (domain = ‚it‘) ; file=’/home/uwbe/uems/datasets/last_ctl/last_ctl2.ctl‘ ; endif
if (domain = ‚ch‘) ; file=’/home/uwbe/uems/datasets/last_ctl/last_ctl2.ctl‘ ; endif

‚open ‚file

if (domain = ‚eu‘) ; dom=“eu“ ; endif
if (domain = ‚it‘) ; dom=“it“ ; endif
if (domain = ‚ch‘) ; dom=“ch“ ; endif

i = 1

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

if (dom = ‚it‘)
’set lon 7.6 12.45′
’set lat 44.08 47′
#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 = ‚ch‘)
’set lon 5.91 10.54′
’set lat 45.3 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
if (dom = ‚eu‘)
’set lon 2.9 14.35′
’set lat 41.8 51.4′
#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 = ‚it‘)
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 = ‚eu‘)
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 = ‚ch‘)
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 = ‚eu‘)
#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 = ‚ch‘)
#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 = ‚it‘)
#Plot TEmp-Values in the Grid
’set gxout grid‘
’set gridln off‘
’set grid off‘
‚d skip(tmp2m-273.15,3,3)‘
endif

*Draw Shapefiles, Water Areas & Cities
***************************************
if (dom = ‚eu‘)
’set line 1 1 1′
‚draw shp /home/uwbe/uems/grads_scripts/shp/CHE_water_areas_dcw.shp‘
‚draw shp /home/uwbe/uems/grads_scripts/shp/ITA_water_areas_dcw.shp‘
‚draw shp /home/uwbe/uems/grads_scripts/shp/DEU_water_areas_dcw.shp‘
‚/home/uwbe/uems/grads_scripts/plot_cities_eu.gs‘
endif

if (dom = ‚ch‘)
’set line 1 1 1′
‚draw shp /home/uwbe/uems/grads_scripts/shp/CHE_water_areas_dcw.shp‘
‚/home/uwbe/uems/grads_scripts/plot_cities_ch.gs‘
endif

if (dom = ‚it‘)
’set line 1 1 1′
‚draw shp /home/uwbe/uems/grads_scripts/shp/ITA_water_areas_dcw.shp‘
‚/home/uwbe/uems/grads_scripts/plot_cities_it.gs‘
endif

ghr = i – 1

’set strsiz 0.15 0.15′
‚draw string 3.6 8.31 2m Temperature (Celsius)‘
if (domain = ‚ch‘) ; gtx=“Switzerland 3km Grid“ ; endif
if (domain = ‚eu‘) ; gtx=“CTRL Europe 10km Grid“ ; endif
if (domain = ‚it‘) ; gtx=“Italy 3km Grid“ ; endif

if(xcbarside = ‚l‘)
#xcbar left
‚/home/uwbe/uems/grads_scripts/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/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.4.2‘
’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‘
‚draw string 8.65 0.3 ‚gtx
’set strsiz 0.08 0.08′
‚draw string 8.65 0.15 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/wrf_out/’domain’/temp_2m/’cyc’/temp_2m_UwBeGFSf0’ghr‘.png x950 y950 png white‘
else
‚printim /home/uwbe/uems/wrf_out/’domain’/temp_2m/’cyc’/temp_2m_UwBeGFSf’ghr‘.png x950 y950 png white‘
endif
‚clear‘
i = i + 1
endwhile

Best Lifted Index (LI)

*Run Script without Display with follow command:
*Example for Use this Script: grads -h GD -blcx „plot_lindex.gs ch 2004021800 180“
*Actual hPa for use: 500, 750
*Script by Dominic Kurz, UwBe International
*meteo@weather.uwbeinternational.org

function main(args)

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

*file=’/home/uwbe/uems/datasets/last_ctl/last_ctl.ctl‘

if (domain = ‚eu‘) ; file=’/home/uwbe/uems/datasets/last_ctl/last_ctl1.ctl‘ ; endif
if (domain = ‚it‘) ; file=’/home/uwbe/uems/datasets/last_ctl/last_ctl2.ctl‘ ; endif
if (domain = ‚ch‘) ; file=’/home/uwbe/uems/datasets/last_ctl/last_ctl2.ctl‘ ; endif

‚open ‚file

if (domain = ‚eu‘) ; dom=“eu“ ; endif
if (domain = ‚it‘) ; dom=“it“ ; endif
if (domain = ‚ch‘) ; dom=“ch“ ; endif

i = 1

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

if (dom = ‚it‘)
’set lon 7.6 12.45′
’set lat 44.08 47′
#Wenn Draw Title unten verwendet wird: set parea 0 8.5 1 10.5, falls KEIN Titel verwendet wird>
#’set parea 0 8.5 1 10.5′
endif
if (dom = ‚ch‘)
’set lon 5.91 10.54′
’set lat 45.3 48.5′
#Wenn Draw Title unten verwendet wird: set parea 0 8.5 1 10.5, falls KEIN Titel verwendet wird>
#’set parea 0 8.5 1 10.5′
endif
if (dom = ‚eu‘)
’set lon 2.9 14.35′
’set lat 41.8 51.4′
#Wenn Draw Title unten verwendet wird: set parea 0 8.5 1 10.5, falls KEIN Titel verwendet wird>#’set parea 0 8.5 1 10.5′
endif

’set map 1 1 7′

’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)

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

xcbarside = „r“

********************************************************
* Best Lifted Index above SFC *
********************************************************

* 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 = ‚it‘)
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 = ‚eu‘)
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 = ‚ch‘)
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 grfill‘

* Colortable
************
‚/home/uwbe/uems/grads_scripts/color.gs -14 14 1 -gxout shaded -kind (187,62,232)->(216,32,229)->(245,2,226)->(223,7,169)->(201,11,113)->(179,16,56)->(158,20,0)->(178,67,0)->(197,114,0)->(217,161,0)->(236,208,0)->(255,255,0)->(186,237,76)->(40,219,31)->(34,184,26)->(13,242,253)->(42,212,249)->(71,182,246)->(100,152,243)->(130,130,130)->(255,255,255)‘

* Define Shaded LIndex
**********************
‚d no4LFTX180_0mb‘

* Define Contour Lines
**********************
’set gxout contour‘
’set rgb 99 0 0 0 10′
’set ccolor 99′
’set cstyle 3′
’set gridln off‘
’set grid off‘
‚d no4LFTX180_0mb‘

* Colorbar & annotations
************************
‚q dims‘
times = sublin(result,5)
hub = subwrd(times,6)

*Draw Shapefiles, Water Areas & Cities
***************************************
if (dom = ‚eu‘)
’set line 1 1 1′
‚draw shp /home/uwbe/uems/grads_scripts/shp/CHE_water_areas_dcw.shp‘
‚draw shp /home/uwbe/uems/grads_scripts/shp/ITA_water_areas_dcw.shp‘
‚draw shp /home/uwbe/uems/grads_scripts/shp/DEU_water_areas_dcw.shp‘
‚/home/uwbe/uems/grads_scripts/plot_cities_eu.gs‘
endif

if (dom = ‚ch‘)
’set line 1 1 1′
‚draw shp /home/uwbe/uems/grads_scripts/shp/CHE_water_areas_dcw.shp‘
‚/home/uwbe/uems/grads_scripts/plot_cities_ch.gs‘
endif

if (dom = ‚it‘)
’set line 1 1 1′
‚draw shp /home/uwbe/uems/grads_scripts/shp/ITA_water_areas_dcw.shp‘
‚/home/uwbe/uems/grads_scripts/plot_cities_it.gs‘
endif

ghr = i – 1

’set strsiz 0.15 0.15′
‚draw string 3.6 8.31 2m Temperature (Celsius)‘
if (domain = ‚ch‘) ; gtx=“Switzerland 3km Grid“ ; endif
if (domain = ‚eu‘) ; gtx=“CTRL Europe 10km Grid“ ; endif
if (domain = ‚it‘) ; gtx=“Italy 3km Grid“ ; endif

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

’set strsiz 0.12′
’set string 1 r 3 270′ ; ‚draw string 0.15 1.05 <– negative value means instability and thunderstorm potential ->‘
endif

if(xcbarside = ‚r‘)
#xcbar right
‚/home/uwbe/uems/grads_scripts/xcbar 10.25 10.5 1.05 8.05 -direction v -line on -fskip 1 -fwidth 0.11 -fheight 0.11‘
’set strsiz 0.12′
’set string 1 r 3 270′ ; ‚draw string 10.13 1.05 <– negative value means instability and thunderstorm potential ->‘
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 8.5 0 11 1‘
‚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 8.5 0 11 1‘
‚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.4.2 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 right bottom Box
’set strsiz 0.1 0.1′
’set string 1 bl 5′
‚draw string 9.5 0.8 Valid‘
’set string 1 bl 6′
‚draw string 8.85 0.6 ‚fdate‘ ‚fmo‘ ‚fyear’_’fhr‘ UTC‘
’set string 1 bl 5′
’set strsiz 0.1 0.1′
‚draw string 9 0.3 UwBe International‘
‚draw string 8.7 0.15 Severe Weather Research‘

#Draw Text in the middle white field
’set string 1 bl 4′
’set strsiz 0.08 0.08′
‚draw string 2.62 0.78 LI 1 to 6 : stable conditions, thunderstorms unlikely‘
‚draw string 2.62 0.58 LI -2 to 0 : slightly unstable, thunderstorms possible with additional uplift mechanisms‘
‚draw string 2.62 0.38 LI -6 to -2: unstable, thunderstorms likely, strong thunderstorms with add. uplift mech.‘
‚draw string 2.62 0.18 LI < as -6 : very unstable, very strong thunderstorms likely with uplift mechanisms‘

#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/wrf_out/’domain’/best_lindex/’cyc’/best_lindex_UwBeGFSf0’ghr‘.png x950 y950 png white‘
else
‚printim /home/uwbe/uems/wrf_out/’domain’/best_lindex/’cyc’/best_lindex_UwBeGFSf’ghr‘.png x950 y950 png white‘
endif
‚clear‘
i = i + 1
endwhile

Max Radar Reflictivity (dBz) - 1000km, 3000km or 6000km

*Run Script without Display with follow command:
*Command: grads -h GD -blcx „run plot_refdbz.gs HPA DOMAIN DATE HOUR CYCLE“
*Example for Use this Script: grads -h GD -blcx „plot_refdbs.gs 1000 ch4km 2004021800 180“
*Script by Dominic Kurz, UwBe International
*meteo@weather.uwbeinternational.org

* 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)

*******************************************************************
**************** Parsing van de argumenten: dag, uur **************

‚reinit‘

*******************************************************************
******************* Opening of datafile: opendap ******************

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

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 map 1 1 7′

’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)

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

xcbarside = „r“

*********************************************************************
* Max Reflectivity (db) / DBZ *
*********************************************************************

* 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 grfill‘

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

* Colortable
************
‚/home/uwbe/uems/grads_scripts/dBcols‘
’set clevs 0 3 9 13 17 21 25 30 35 39 43 47 51 55 58 60 70′
’set ccols 0 53 59 63 67 71 75 80 85 89 93 97 98 99 108 110 120′

if(abovegrd = ‚1000‘) ; map=“REFDmax1000m“ ; endif
if(abovegrd = ‚3000‘) ; map=“REFDmax3000m“ ; endif
if(abovegrd = ‚6000‘) ; map=“REFDmax6000m“ ; endif

‚d ‚map

* Colorbar & annotations
************************
‚q dims‘
times = sublin(result,5)
hub = subwrd(times,6)

‚/home/uwbe/uems/grads_scripts/plot_cities_’dom
ghr = i – 1

’set strsiz 0.15 0.15′
‚draw string 2.8 8.33 ‚abovegrd’m aGr Max Reflectivity (dB)‘
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 5 -fwidth 0.12 -fheight 0.11‘

’set strsiz 0.12′
’set string 1 r 3 270′ ; ‚draw string 0.15 1.05 <– higher Reflictivity (dBZ) means higher severe weather potential –>‘
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 5 -fwidth 0.12 -fheight 0.11‘
’set strsiz 0.12′
’set string 1 r 3 270′ ; ‚draw string 10.13 1.05 <– higher Reflictivity (dBZ) means higher severe weather potential –>‘
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 8.5 0 11 1‘
‚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 8.5 0 11 1‘
‚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 right bottom Box
’set strsiz 0.1 0.1′
’set string 1 bl 5′
‚draw string 9.5 0.8 Valid‘
’set string 1 bl 6′
‚draw string 8.85 0.6 ‚fdate‘ ‚fmo‘ ‚fyear’_’fhr‘ UTC‘
’set string 1 bl 5′
’set strsiz 0.1 0.1′
‚draw string 9 0.3 UwBe International‘
‚draw string 8.7 0.15 Severe Weather Research‘

#Draw Text in the middle white field
’set string 1 bl 4′
’set strsiz 0.09 0.09′
‚draw string 2.65 0.78 SW Index values have been emprically linked to convective events as follows:‘
‚draw string 2.65 0.58 150-300: Slight severe‘
‚draw string 2.65 0.38 300-400: Severe possible‘
‚draw string 2.65 0.18 400 or higher: Tornadic possible‘

#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/ref_dbmax_’abovegrd’/’cyc’/ref_dbmax_’abovegrd’_UwBeGFSf0’ghr‘.png x950 y950 png white‘
else
‚printim /home/uwbe/uems/runs/’domain’/wrf_out/ref_dbmax_’abovegrd’/’cyc’/ref_dbmax_’abovegrd’_UwBeGFSf’ghr‘.png x950 y950 png white‘
endif
‚clear‘
i = i + 1
endwhile

Severe Weather Index (SWI)

*Run Script without Display with follow command:
*Command: grads -h GD -blcx „run aws_bow_di.gs HPA DOMAIN DATE HOUR CYCLE“
*Example for Use this Script: grads -h GD -blcx „plot_swindex.gs ch4km 2004021800 180“
*Script by Dominic Kurz, UwBe International
*meteo@weather.uwbeinternational.org

* 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)

*******************************************************************
**************** Parsing van de argumenten: dag, uur **************

‚reinit‘

*******************************************************************
******************* Opening of datafile: opendap ******************

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 map 1 1 7′

’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)

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

xcbarside = „r“

*********************************************************************
* Sweat Index (Rel. Hm, Dewpoint & Wind) – Severe Weather Potential *
*********************************************************************

* 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 grfill‘

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

* Colortable
************
‚/home/uwbe/uems/grads_scripts/color.gs 0 600 5 -gxout shaded -kind (255,255,255)->(130,130,130)->(100,152,243)->(71,182,246)->(42,212,249)->(13,242,253)->(190,190,63)->(255,255,0)->(236,208,0)->(217,161,0)->(197,114,0)->(178,67,0)->(158,20,0)->(179,16,56)->(201,11,113)->(223,7,169)->(245,2,226)->(216,32,229)->(187,62,232)->(158,92,236)->(129,122,239)‘

* Define v&u winds
**********************
’set lev 850′
‚define part1=(112+0.9*(tmpprs-273.15))*pow((rhprs/100),0.125)‘
‚define td850=part1-112+0.1*(tmpprs-273.15)‘
‚define t850=tmpprs(lev=850)-273.15‘
‚define u850=ugrdprs(lev=850)‘
‚define v850=vgrdprs(lev=850)‘
‚define t500=tmpprs(lev=500)-273.15‘
‚define dir850=180+atan2(u850,v850)*180/3.14159‘

* Define uv,delta & maskout
***************************
’set lev 500′
‚define u500=ugrdprs(lev=500)‘
‚define v500=vgrdprs(lev=500)‘
‚define dir500=180+atan2(u500,v500)*180/3.14159‘
‚define deltafi=dir500-dir850‘
‚define termine1=12*maskout(td850,td850)‘
‚define termine1b=const(termine1,0.0,-u)‘
‚define termi=td850+t850-2*t500‘
‚define termi2=20*(termi-49)‘
‚define termine2=maskout(termi2,termi2)‘
‚define termine2b=const(termine2,0.0,-u)‘
‚define effe8=2*1.942*sqrt(u850*u850+v850*v850)‘
‚define termine3=maskout(effe8,effe8)‘
‚define termine3b=const(termine3,0.0,-u)‘
‚define effe5=1.942*sqrt(u500*u500+v500*v500)‘
‚define termine4=maskout(effe5,effe5)‘
‚define termine4b=const(termine4,0.0,-u)‘
‚define esse=sin(deltafi*3.14159/180)‘
‚define termi5=125*(esse+0.2)‘
‚define a=maskout(dir850,130-dir850)‘
‚define one1=const(const(a,1),0,-u)‘
‚define a=maskout(dir850,dir850-250)‘
‚define one1b=const(const(a,1),0,-u)‘
‚define a=maskout(dir500,210-dir500)‘
‚define one2=const(const(a,1),0,-u)‘
‚define a=maskout(dir500,dir500-310)‘
‚define one2b=const(const(a,1),0,-u)‘
‚define a=maskout(deltafi,-deltafi)‘
‚define one3=const(const(a,1),0,-u)‘
‚define a=maskout(effe8,15-effe8)‘
‚define one4=const(const(a,1),0,-u)‘
‚define b=maskout(effe5,15-effe5)‘
‚define one5=const(const(b,1),0,-u)‘
‚define termin5=termi5*(1-one1)*(1-one2)*(1-one3)*(1-one4)*(1-one5)*(1-one1b)*(1-one2b)‘
‚define termine5=maskout(termin5,termin5)‘
‚define termine5b=const(termine5,0.0,-u)‘
‚define sw=termine1b+termine2b+termine3b+termine4b+termine5b‘

‚d sw‘

* Plot Contours
************************
’set gxout contour‘
’set rgb 333 0 0 0 10′
’set ccolor 333′
’set cstyle 3′
’set gridln off‘
’set grid off‘
‚d sw‘

* Colorbar & annotations
************************
‚q dims‘
times = sublin(result,5)
hub = subwrd(times,6)

‚/home/uwbe/uems/grads_scripts/plot_cities_’dom
ghr = i – 1

’set strsiz 0.15 0.15′
‚draw string 2.8 8.33 Severe Weather Potential-Index (SWEAT)‘
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 5 -fwidth 0.12 -fheight 0.11‘

’set strsiz 0.12′
’set string 1 r 3 270′ ; ‚draw string 0.15 1.05 <– higher SWEAT Index means higher severe weather potential –>‘
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 5 -fwidth 0.12 -fheight 0.11‘
’set strsiz 0.12′
’set string 1 r 3 270′ ; ‚draw string 10.13 1.05 <– higher SWEAT Index means higher severe weather potential –>‘
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 8.5 0 11 1‘
‚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 8.5 0 11 1‘
‚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 right bottom Box
’set strsiz 0.1 0.1′
’set string 1 bl 5′
‚draw string 9.5 0.8 Valid‘
’set string 1 bl 6′
‚draw string 8.85 0.6 ‚fdate‘ ‚fmo‘ ‚fyear’_’fhr‘ UTC‘
’set string 1 bl 5′
’set strsiz 0.1 0.1′
‚draw string 9 0.3 UwBe International‘
‚draw string 8.7 0.15 Severe Weather Research‘

#Draw Text in the middle white field
’set string 1 bl 4′
’set strsiz 0.09 0.09′
‚draw string 2.65 0.78 SW Index values have been emprically linked to convective events as follows:‘
‚draw string 2.65 0.58 150-300: Slight severe‘
‚draw string 2.65 0.38 300-400: Severe possible‘
‚draw string 2.65 0.18 400 or higher: Tornadic possible‘

#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/sw_index/’cyc’/sw_index_UwBeGFSf0’ghr‘.png x950 y950 png white‘
else
‚printim /home/uwbe/uems/runs/’domain’/wrf_out/sw_index/’cyc’/sw_index_UwBeGFSf’ghr‘.png x950 y950 png white‘
endif
‚clear‘
i = i + 1
endwhile