#!/opt/local/bin/perl #=============================================== # Marc 11 Sep 2008 # Create the links for web template #=============================================== # Set environment variables #----------------------------------- if ($ENV{'SCRIPT_NAME'} =~ /beta1/) { $menu_file="../beta1/menu.def"; $coreLink="www.met.reading.ac.uk/~extws/beta1"; } else { $menu_file="../menu.def"; $coreLink="www.europeanwindstorms.org"; } #----------------------------------- # Read the menu file #----------------------------------- &read_menu($menu_file, $ENV{'DOCUMENT_URI'}, *l_read, *home_link, *current_link, *links); if (! $l_read) { print "ERROR: failed to read file \n"; } #----------------------------------- # Decide which link to focus on #----------------------------------- if ( ($links{$current_link}{'nchildren'}) || ($links{$current_link}{'ancestors'} < 2) ) { #----------------------------------- # There's either links below this one to display or not links # above it so focus on this link #----------------------------------- $focus_link=$current_link; } else { #----------------------------------- # No links below to show this link as a link below parent #----------------------------------- $focus_link=$links{$current_link}{'parent'}; } #----------------------------------- # Display the buttons #----------------------------------- &display_buttons($coreLink, $focus_link, $current_link, $home_link, *links); #----------------------------------- # Exit script #----------------------------------- exit(0); #=============================================== # Read the menu file #=============================================== sub read_menu { #----------------------------------- # passed variables #----------------------------------- local ($menu_file, $document_uri, *l_read, *home_link, *current_link, *links)=@_; #----------------------------------- # local variables #----------------------------------- local ($generation); local ($menu_item); local ($nparts); local ($link); local ($parent); local ($child); local ($child2); local ($document_uri2); #----------------------------------- # Read the menu #----------------------------------- $l_read=0; open (MENU, "<" . $menu_file) || return; $l_read=1; @menu_raw = ; close (MENU); $tot_menu_raw=@menu_raw; #----------------------------------- # The first item is the home page #----------------------------------- (@parts)=split(/\|/, $menu_raw[0]); $home_link=$parts[2]; $links{$home_link}{'full_uri'}=$home_link; $links{$home_link}{'name'}=$parts[1]; $generation=1; #----------------------------------- # Decode the other information #----------------------------------- for ($i=1; $i<$tot_menu_raw; $i++) { #----------------------------------- # See if we've changed generation #----------------------------------- if ($menu_raw[$i] =~ /{/) { $generation++; } elsif ($menu_raw[$i] =~ /}/) { $generation--; } else { #----------------------------------- # Split information into parts #----------------------------------- (@parts)=split(/\|/, $menu_raw[$i]); #----------------------------------- # Determine the last URL part #----------------------------------- $link=$parts[2]; #----------------------------------- # Work out the parent #----------------------------------- if ($parts[0] eq "all") { $parent=$home_link; } else { $parent=$parts[0]; } $links{$link}{'parent'}=$parent; #----------------------------------- # Store other information #----------------------------------- $links{$link}{'name'}=$parts[1]; $links{$link}{'ancestors'}=$generation; if ($link =~ /http/) { $links{$link}{'full_uri'}=$link; } else { if ($generation == 1) { $links{$link}{'full_uri'}=$home_link . "/" . $link; } else { $links{$link}{'full_uri'}=$links{$parent}{'full_uri'} . "/" . $link; } } #----------------------------------- # Update parent information #----------------------------------- $links{$parent}{'nchildren'}++; $child="child" . $links{$parent}{'nchildren'}; $links{$parent}{$child}=$link; #----------------------------------- # See if this is the current link #----------------------------------- $thisLink=$links{$link}{'full_uri'}; $document_uri2=$home_link . $document_uri; $document_uri2 =~ s/\/index.html//; if ($thisLink eq $document_uri2) { $current_link=$link; } } } #----------------------------------- # Check generations make sense #----------------------------------- if ($generation != 1) { print "
ERROR: brackets are not closed \n"; } #----------------------------------- # If link isn't found take the home page #----------------------------------- if (! $current_link) { $current_link=$home_link; } } #=============================================== # Display the buttons #=============================================== sub display_buttons { #----------------------------------- # passed variables #----------------------------------- local ($coreLink, $focus_link, $current_link, $home_link, *links)=@_; #----------------------------------- # local variables #----------------------------------- local ($parent); local ($i); local ($child); local ($link); #----------------------------------- # Put in Met Department button #----------------------------------- print "Content-type: text/html\n"; print "\n"; print "
\n"; print " \n"; #----------------------------------- # Put in links of the same level #----------------------------------- print " \n"; print "
\n"; }

Organisations involved

What are extreme wind storms?

In this catalogue we focus on windstorms which have hit Europe. Most of the damaging windstorms in Europe are extra-tropical cyclones: synoptic-scale (~1000 km) low pressure systems, which grow from unstable frontal waves (Eady 1949, Shapiro & Keyser 1990). In order for these systems to grow, a strong north-south temperature gradient is needed, and a strongly baroclinic atmosphere. During the months October to March the North Atlantic Ocean satisfies these conditions, allowing extra-tropical cyclones to form (cyclogenesis) which travel eastwards towards Europe.

The path that these storms follow (storm track) tends to curve northwards (Hoskins & Hodges 2002), and so Iceland and northern European countries (e.g. the Faroe Islands, Ireland, the UK, and Scandinavia) are frequently hit. However, occasionally the storms can travel further southwards, for example when the jet stream is in a more southerly position (e.g. Liberato et al., 2013), affecting countries such as France, Portugal, and Spain.

High winds in Europe can also be a result of convective storms (the most severe of which are tornadoes) and cyclones formed in the Mediterranean basin (medicanes). However, these types of windstorm tend to be on a smaller scale and are not well captured by re-analysis data, so are not considered in this version of the catalogue.

[an error occurred while processing this directive]