Metview's documentation is now on readthedocs!

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

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.

Waves crash against a lighthouse in Newhaven, East Sussex

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  ....

 

This exercise involves:

  • reading and visualising ENS forecast in GRIB data
  • using the date functions in Macro
  • performing fiieldset computations in Macro

Preparations

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.

 

 

  • No labels