|
|
"Under the hood" - GrADS script snippets, formulas, equations, etc.
The majority of this expressions are from internet sources like Wikipedia.
Special thanks go to Oliver Schlenczek and Eerik Saarikalle for help with some special issues. Dewpoint temperatureCalculated for 2m above groundtc2m = temperature 2m above ground [°C] rh2m = relative humidity 2m above ground [%]
'define dewp2m = tc2m-((14.55+0.114*tc2m)*(1-0.01*rh2m)+pow((2.5+0.007*tc2m)
*(1-0.01*rh2m),3)+(15.9+0.117*tc2m)*pow((1-0.01*rh2m),14))'
Equivalent Potential Temperature 850hPatc850mb = temperature at 850hPa [°C]rh850mb = relative humidity at 850hPa [%]
'define dewp850mb = tc850mb-((14.55+0.114*tc850mb)*(1-0.01*rh850mb)+pow((2.5+0.007*tc850mb)
*(1-0.01*rh850mb),3)+(15.9+0.117*tc850mb)*pow((1-0.01*rh850mb),14))'
'define vapr850mb = 6.112*exp((17.67*dewp850mb)/(dewp850mb+243.5))'
'define e850mb = vapr850mb*1.001+(850-100)/900*0.0034'
'define w850mb = 0.62197*(e850mb/(850-e850mb))'
'define te850mb = tmp850mb+(2260000*w850mb/1004)'
'define ept850mb = (te850mb*pow((1000/850),(287/1004)))-273.16'
Equivalent Potential Temperature 500hPaThis procedure is designed for Northern / Central Europe and uses the equation for saturation pressure over ice.tc500mb = temperature at 500hPa [°C] rh500mb = relative humidity at 500hPa [%]
'define dewp500mb = tc500mb-((14.55+0.114*tc500mb)*(1-0.01*rh500mb)+pow((2.5+0.007*tc500mb)
*(1-0.01*rh500mb),3)+(15.9+0.117*tc500mb)*pow((1-0.01*rh500mb),14))'
'define vapr500mb = 6.1115*exp((23.036-dewp500mb/333.7)*dewp500mb/(279.82+dewp500mb))'
'define e500mb = vapr500mb*1.001+(500-100)/900*0.0034'
'define w500mb = 0.62197*(e500mb/(500-e500mb))'
'define te500mb = tmp500mb+(2260000*w500mb/1004)'
'define ept500mb = (te500mb*pow((1000/500),(287/1004)))-273.16'
Potential Instabilityept500mb = equivalent potential temperature at 500hPa [K]ept850mb = equivalent potential temperature at 850hPa [K] 'd ept500mb-ept850mb' Storm-relative Helicity 0-3kmugrdprs,vgrdprs = u/v component of wind at given level'define u1000=ugrdprs(lev=1000)' 'define u950=ugrdprs(lev=950)' 'define u900=ugrdprs(lev=900)' 'define u850=ugrdprs(lev=850)' 'define u800=ugrdprs(lev=800)' 'define u750=ugrdprs(lev=750)' 'define u700=ugrdprs(lev=700)' 'define u650=ugrdprs(lev=650)' 'define u600=ugrdprs(lev=600)' 'define u550=ugrdprs(lev=550)' 'define u500=ugrdprs(lev=500)' 'define u450=ugrdprs(lev=450)' 'define u400=ugrdprs(lev=400)' 'define v1000=vgrdprs(lev=1000)' 'define v950=vgrdprs(lev=950)' 'define v900=vgrdprs(lev=900)' 'define v850=vgrdprs(lev=850)' 'define v800=vgrdprs(lev=800)' 'define v750=vgrdprs(lev=750)' 'define v700=vgrdprs(lev=700)' 'define v650=vgrdprs(lev=650)' 'define v600=vgrdprs(lev=600)' 'define v550=vgrdprs(lev=550)' 'define v500=vgrdprs(lev=500)' 'define v450=vgrdprs(lev=450)' 'define v400=vgrdprs(lev=400)' 'define umean=(u1000+u950+u900+u850+u800+u750+u700+u650+u600+u550+u500+u450+u400)/13.0' 'define vmean=(v1000+v950+v900+v850+v800+v750+v700+v650+v600+v550+v500+v450+v400)/13.0' 'define ushear=u500-u1000' 'define vshear=v500-v1000' 'define shear=mag(ushear,vshear)' 'define umotion=((umean+(7.5/(shear))*vshear))' 'define vmotion=((vmean-(7.5/(shear))*ushear))' 'define srh1=((u950-umotion)*(v1000-vmotion)-(u1000-umotion)*(v950-vmotion))' 'define srh2=((u900-umotion)*(v950-vmotion)-(u950-umotion)*(v900-vmotion))' 'define srh3=((u850-umotion)*(v900-vmotion)-(u900-umotion)*(v850-vmotion))' 'define srh4=((u800-umotion)*(v850-vmotion)-(u850-umotion)*(v800-vmotion))' 'define srh5=((u750-umotion)*(v800-vmotion)-(u800-umotion)*(v750-vmotion))' 'define srh6=((u700-umotion)*(v750-vmotion)-(u750-umotion)*(v700-vmotion))' 'define srh3km=srh1+srh2+srh3+srh4+srh5+srh6' Total Totals Indextc500mb = temperature at 500hPa [°C]tc850mb = temperature at 850hPa [°C] dewp850mb = dew point temperature at 850hPa [°C] 'define ttindex = tc850mb+dewp850mb-(2*tc500mb)' Lifting Condensation Leveldewp2m = dew point temperature at 2m above ground [K]tmp2m = temperature at 2m above ground [K] pressfc = surface pressure [Pa] *Temperature at LCL 'define tlcl=(((1/(1/(dewp2m-56)+log((tmp2m/dewp2m))/800))+56)-273.16)' *Pressure at LCL 'define plcl=(pressfc*pow(((tlcl+273.16)/tmp2m),(7/2)))/100' Wind chill index (new method)tc2m = temperature at 2m above ground [°C] urgd10m, vgrd10m = u/v component of wind 10m above ground
'define windchill2m = 13.12+(0.6215*tc2m)-(11.37*pow((mag(ugrd10m,vgrd10m)*3.6),0.16))
+(0.3965*tc2m*pow((mag(ugrd10m,vgrd10m)*3.6),0.16))'
Wind shear (low level shear 0-1km and deep layer shear 0-6km)u500, v500 = u/v component of wind at 500hPau900, v900 = u/v component of wind at 900hPa urgd10m, vgrd10m = u/v component of wind 10m above ground 'define dls = mag(abs(u500-ugrd10m),abs(v500-vgrd10m))' 'define lls = mag(abs(u900-ugrd10m),abs(v900-vgrd10m))' |