Case description
In this exercise we will use Metview to explore the ways ensemble forecast can be processed and visualised. The case we will investigate is related to a low pressure system crossing the UK on 10 August 2014: it caused high winds and heavy rain especially in the South-Western part of the country. The system has picked up moisture and energy left over from Hurricane Bertha on the other side of the Atlantic.
The first three plots show the precipitation forecast for the period of August 24 00UTC - 25 00UTC from various model runs preceding the event by 1, 3 and 5 days, respectively. The last plot shows the observed rainfall for the same period.
We will use both Macro and icons to ....
XXX Download data
Verify that the data are as expected.
Remember to give your icons useful names!
Setting the map View
With a new Geographical View icon, set up a cylindrical projection with its area defined as
South/West/North/East: 43/-20/60/10
Set up a new Coastlines icon with the following:
- the land coloured in cream
- the coastlines thick black
- use grey grid lines at every 5 degrees.
Seeing what happened
The GRIB file fc_latest_oper.grib contains the latest forecast run preceding the event. Drag it into your view and apply the contouring stored in the wgust_shade Contouring icon to it. You will see the location of the areas heavily hit by the storm.
Part 1: Checking the forecast
In this part we will generate ....
Defining the layout
With a new Display Window icon define a 2x2 layout so that each plot should contain your view.
Seeing what happened
The GRIB file fc_latest_oper.grib contains the latest forecast run preceding the event. Drag it into the top left map customise it with the wgust_shade Contouring icon. Animate through the fields to see the location of the areas heavily hit by the storm.
Visualising the operational forecast
The GRIB file fc_oper.grib contains the operational forecast run at 7 August 00 TC (four days before the event). Drag it into the top right map and customise it with the wgust_shade Contouring icon and the title_oper Text Plotting icon. You will see that the wind storm was not present in the forecast.
Visualising the control forecast
The GRIB file fc_cf.grib contains the control forecast of the ENS for the investigated date. Drag it into the top left map and customise it in the same way as the previous plot. You will see that the wind storm was neither present in this forecast.
Visualising the ensemble mean
The GRIB file fc_pf.grib contains the 50 perturbed forecast member of the ENS run at 7 August 00 TC (four days before the event). We will write a macro to compute the mean of these members.
So create a Macro and edit it. First, read the GRIB file in:
g=read("fc_pf.grib")
Since this GRIB contains several time steps we need to write a loop to compute the ensemble mean for each time step individually. First, define the fieldset that will contain the resulting means:
e_mean=nil
We will process the fields in a loop going through the time steps:
tsLst=[84,90,96] loop step in tsLst ...your code will go here ... end loop
Within the loop, first read all the members for the given timestep
f=read(data: g, step: step )
Next, compute the probability in as follows:
f=f > val f=100*mean(f)
In t
Last, add it to the resulting fieldset:
e_prob = e_prob & f
We finish the macro by returning the resulting fieldset:
return e_prob
By using the return
statement our Macro behaves as if it were a fieldset (GRIB file). Drag it into the bottom left map and customise it with the prob_shade Contouring icon and the title_prob Text Plotting icon. You will see that the ensemble mean hints that high wind speed can happen.
Visualising the ensemble spread
The ensemble spread is the standard deviation of the perturbed forecast members. You can compute in a very similar way to the ensemble mean. The only difference is that this time you need to use the stdev()
function instead of mean(). Now do it.
Drag it into the bottom right map and customise it with the wgust_spread_shade Contouring icon and the spread_mean Text Plotting icon. . You will see that the ensemble ....
Part 2: checking the probabilities
The next step is to estimate the risk of the wind gust being higher than certain thresholds: i.e. we will compute some probabilities. We will write a macro to compute the probability of the wind gust exceeding 20 m/s,
So create a Macro and edit it. First, read the GRIB file with the perturbed forecasts in:
g=read("fc_pf.grib")
Since this GRIB contains several time steps we need to write a loop to compute the probability for each time step individually. First, define the fieldset that will contain the resulting probabilities:
e_prob=nil
Next, we define the threshold for wind gust. We will store it in a variable:
val=20
Now we can process the fields in a loop going through the time steps:
tsLst=[84,90,96] loop step in tsLst ...your code will go here ... end loop
Within the loop, simply read all the members for the given timestep
f=read(data: g, step: step )
then compute their mean with the mean()
macro function
f = mean(f)
and add it to the resulting fieldset:
e_mean = e_mean & f
We finish the macro by returning the resulting fieldset:
return e_mean
By using the return
statement our Macro behaves as if it were a fieldset (GRIB file). Drag it into the bottom left map and customise it with the wgust_shade Contouring icon and the title_mean Text Plotting icon. You will see that the ensemble mean hints that high wind speed can happen.
Part 3: ensemble members
We will create stamp plots
Plotting the observations
Now we will plot the observations into the last map of the layout. The observations are stored in the Geopoints file called prec_24.gpt. Simply add this piece of code to the end of the Macro to read and plot the observations:
gpt=read("prec_24.gpt") plot(dw[4],gpt)
Now run the Macro to check if the observations were correctly plotted.
Customising the forecast plots
The forecast plots need some customisation. Use the Contouring icon supplied in the folder to apply the contour shading as seen in the target plots. Just drag it into the forecast plots.
Now we will add these settings to the Macro. Drag the Contouring icon into the Macro editor just below the Display Window definition, then add it to the plot command like this (supposing it is named as cont
).
plot(dw[i],f,cont)
The titles also need to be changed. Within the loop define a custom title with
txt=" your title goes here " title=mtext(text_line_1: txt)
then add it to the plot command:
plot(dw[i],f,cont,title)
Your title should include the model run date and time, the forecast timestep and the name of the field. E.g. for the second forecast you should get something like this in the plot:
20140821 0 UTC 24h total precipitation T+72
Customising the observation plot
The observation also needs some customisation. Use the Contouring icon supplied in the folder to apply the contour shading as seen in the target plots. Use the Symbol Plotting icon supplied in the folder to apply the colour settings to the observations as used for the forecast. Just drag it into the observation plot.
Now we will add these settings to the Macro. Drag the Symbol Plotting icon into the Macro editor just above the last plot command for the Geopoints data, then add it to the plot command like this (supposing it is named as sym
)
plot(dw[4],gpt,sym)
You can also add a custom title to the observation plot. Now you surely know how to do it.