...
Panel |
---|
For this exercise, you will use the metview icons in the folder '
|
Forecast performance
Task
...
3: Precipitation over France
This task produces a plot similar to Figure 2 in Pantillon et al.
Choose a hres macro to use, plot the total precipitation (parameter: tp), near surface wind field, relative humidity (and any other parameters of interest).
As for the analyses, the macros hres_1x1.mv, hres_2x2.mv and hres_xs.mv can be used to plot and animate fields or overlays of fields from the HRES forecast.
Panel | ||
---|---|---|
| ||
Q. Was it a good or bad forecast? Why? |
Suggested plots for discussion
The following is a list of parameters and plots that might be useful to produce for later group discussion. Choose a few plots and use both the HRES forecast and the analyses.
For help on how to save images, see the beginning of this tutorial.
Panel | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
|
...
In this task, we'll look at the difference between the forecast and the analysis by using "root-mean-square error" (RMSE) curves as a way of summarising the performance of the forecast.
Root-mean square error curves are a standard measure to determine forecast error compared to the analysis and several of the exercises will use them. The RMSE is computed by taking the square-root of the mean of the forecast difference between the HRES and analyses. RMSE of the 500hPa geopotential is a standard measure for assessing forecast model performance at ECMWF (for more information see: http://www.ecmwf.int/en/forecasts/quality-our-forecasts).
Right-click the hres_rmse.mv icon, select 'Edit' and plot the RMSE curve for z500.
Repeat for the mean-sea-level pressure mslp.
Repeat for both geographical regions: mapType=1 (Atlantic) and mapType=2 (France).
Panel | ||
---|---|---|
| ||
Q. What do the RMSE curves show? |
Task 2: Compare forecast to analysis
Use the hres_to_an_diff.mv icon and plot the difference map between the HRES forecast and the analysis for z500 and mslp.
Panel | ||
---|---|---|
| ||
Q. What differences can be seen? |
If time: look at other fields to study the behaviour of the forecast.
Task 3: Precipitation over France
This task produces a plot similar to Figure 2 in Pantillon et al.
Choose a hres macro to use, plot the total precipitation (parameter: tp), near surface wind field, relative humidity (and any other parameters of interest).
As for the analyses, the macros hres_1x1.mv, hres_2x2.mv and hres_xs.mv can be used to plot and animate fields or overlays of fields from the HRES forecast.
Panel | ||
---|---|---|
| ||
Q. Was it a good or bad forecast? Why? |
Suggested plots for discussion
The following is a list of parameters and plots that might be useful to produce for later group discussion. Choose a few plots and use both the HRES forecast and the analyses.
For help on how to save images, see the beginning of this tutorial.
Panel | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Exercise 3 : The operational ensemble forecasts
Recap
- ECMWF operational ensemble forecasts treat uncertainty in both the initial data and the model.
- Initial analysis uncertainty: sampled by use of Singular Vectors (SV) and Ensemble Data Assimilation (EDA) methods. Singular Vectors are a way of representing the fastest growing modes in the initial state.
- Model uncertainty: sampled by use of stochastic parametrizations. In IFS this means the 'stochastically perturbed physical tendencies' (SPPT) and the 'spectral backscatter scheme' (SKEB)
- Ensemble mean : the average of all the ensemble members. Where the spread is high, small scale features can be smoothed out in the ensemble mean.
- Ensemble spread : the standard deviation of the ensemble members, represents how different the members are from the ensemble mean.
The ensemble forecasts
In this case study, there are two operational ensemble datasets and additional datasets created with the OpenIFS model, running at lower resolution, where the initial and model uncertainty are switched off in turn. The OpenIFS ensembles are discussed in more detail in later exercises.
An ensemble forecast consists of:
- Control forecast (unperturbed)
- Perturbed ensemble members. Each member will use slightly different initial data conditions and include model uncertainty pertubations.
2012 Operational ensemble
ens_oper: This dataset is the operational ensemble from 2012 and was used in the Pantillon et al. publication. A key feature of this ensemble is use of a climatological SST field (you should have seen this in the earlier tasks!).
2016 Operational ensemble
ens_2016: This dataset is a reforecast of the 2012 event using the ECMWF operational ensemble of March 2016. Two key differences between the 2016 and 2012 operational ensembles are: higher horizontal resolution, and coupling of NEMO ocean model to provide SST from the start of the forecast.
The analysis was not rerun for 20-Sept-2012. This means the reforecast using the 2016 ensemble will be using the original 2012 analyses. Also only 10 ensemble data assimilation (EDA) members were used in 2012, whereas 25 are in use for 2016 operational ensembles, so each EDA member will be used multiple times for this reforecast. This will impact on the spread and clustering seen in the tasks in this exercise.
Ensemble exercise tasks
Visualising ensemble forecasts can be done in various ways. During this exercise we will use a number of visualisation techniques in order to understand the errors and uncertainties in the forecast,
Key parameters: MSLP and z500. We suggest concentrating on viewing these fields. If time, visualize other parameters (e.g. PV320K).
Available plot types
Panel |
---|
For these exercises please use the Metview icons in the row labelled 'ENS'. ens_rmse.mv : this is similar to the hres_rmse.mv in the previous exercise. It will plot the root-mean-square-error growth for the ensemble forecasts. ens_to_an.mv : this will plot (a) the mean of the ensemble forecast, (b) the ensemble spread, (c) the HRES deterministic forecast and (d) the analysis for the same date. ens_to_an_runs_spag.mv : this plots a 'spaghetti map' for a given parameter for the ensemble forecasts compared to the analysis. Another way of visualizing ensemble spread. stamp.mv : this plots all of the ensemble forecasts for a particular field and lead time. Each forecast is shown in a stamp sized map. Very useful for a quick visual inspection of each ensemble forecast. stamp_diff.mv : similar to stamp.mv except that for each forecast it plots a difference map from the analysis. Very useful for quick visual inspection of the forecast differences of each ensemble forecast.
Additional plots for further analysis: pf_to_cf_diff.mv : this useful macro allows two individual ensemble forecasts to be compared to the control forecast. As well as plotting the forecasts from the members, it also shows a difference map for each. ens_to_an_diff.mv : this will plot the difference between the ensemble control, ensemble mean or an individual ensemble member and the analysis for a given parameter. |
Group working
If working in groups, each group could follow the tasks below with a different ensemble forecast. e.g. one group uses the 'ens_oper', another group uses 'ens_2016' and so on.
Choose your ensemble dataset by setting the value of 'expId', either 'ens_oper' or 'ens_2016' for this exercise.
One of the OpenIFS ensembles could also be used but it's recommended one of the operational ensembles is studied first.
Code Block | ||||
---|---|---|---|---|
| ||||
#The experiment. Possible values are:
# ens_oper = operational ENS
# ens_2016 = 2016 operational ENS
expId="ens_oper" |
Ensemble forecast performance
In these tasks, the performance of the ensemble forecast is studied.
|
Exercise 3 : The operational ensemble forecasts
Recap
- ECMWF operational ensemble forecasts treat uncertainty in both the initial data and the model.
- Initial analysis uncertainty: sampled by use of Singular Vectors (SV) and Ensemble Data Assimilation (EDA) methods. Singular Vectors are a way of representing the fastest growing modes in the initial state.
- Model uncertainty: sampled by use of stochastic parametrizations. In IFS this means the 'stochastically perturbed physical tendencies' (SPPT) and the 'spectral backscatter scheme' (SKEB)
- Ensemble mean : the average of all the ensemble members. Where the spread is high, small scale features can be smoothed out in the ensemble mean.
- Ensemble spread : the standard deviation of the ensemble members, represents how different the members are from the ensemble mean.
The ensemble forecasts
In this case study, there are two operational ensemble datasets and additional datasets created with the OpenIFS model, running at lower resolution, where the initial and model uncertainty are switched off in turn. The OpenIFS ensembles are discussed in more detail in later exercises.
An ensemble forecast consists of:
- Control forecast (unperturbed)
- Perturbed ensemble members. Each member will use slightly different initial data conditions and include model uncertainty pertubations.
2012 Operational ensemble
ens_oper: This dataset is the operational ensemble from 2012 and was used in the Pantillon et al. publication. A key feature of this ensemble is use of a climatological SST field (you should have seen this in the earlier tasks!).
2016 Operational ensemble
ens_2016: This dataset is a reforecast of the 2012 event using the ECMWF operational ensemble of March 2016. Two key differences between the 2016 and 2012 operational ensembles are: higher horizontal resolution, and coupling of NEMO ocean model to provide SST from the start of the forecast.
The analysis was not rerun for 20-Sept-2012. This means the reforecast using the 2016 ensemble will be using the original 2012 analyses. Also only 10 ensemble data assimilation (EDA) members were used in 2012, whereas 25 are in use for 2016 operational ensembles, so each EDA member will be used multiple times for this reforecast. This will impact on the spread and clustering seen in the tasks in this exercise.
Ensemble exercise tasks
Visualising ensemble forecasts can be done in various ways. During this exercise we will use a number of visualisation techniques in order to understand the errors and uncertainties in the forecast,
Key parameters: MSLP and z500. We suggest concentrating on viewing these fields. If time, visualize other parameters (e.g. PV320K).
Available plot types
Panel |
---|
For these exercises please use the Metview icons in the row labelled 'ENS'. ens_rmse.mv : this is similar to the hres_rmse.mv in the previous exercise. It will plot the root-mean-square-error growth for the ensemble forecasts. ens_to_an.mv : this will plot (a) the mean of the ensemble forecast, (b) the ensemble spread, (c) the HRES deterministic forecast and (d) the analysis for the same date. ens_to_an_runs_spag.mv : this plots a 'spaghetti map' for a given parameter for the ensemble forecasts compared to the analysis. Another way of visualizing ensemble spread. stamp.mv : this plots all of the ensemble forecasts for a particular field and lead time. Each forecast is shown in a stamp sized map. Very useful for a quick visual inspection of each ensemble forecast. stamp_diff.mv : similar to stamp.mv except that for each forecast it plots a difference map from the analysis. Very useful for quick visual inspection of the forecast differences of each ensemble forecast.
Additional plots for further analysis: pf_to_cf_diff.mv : this useful macro allows two individual ensemble forecasts to be compared to the control forecast. As well as plotting the forecasts from the members, it also shows a difference map for each. ens_to_an_diff.mv : this will plot the difference between the ensemble control, ensemble mean or an individual ensemble member and the analysis for a given parameter. |
Group working
If working in groups, each group could follow the tasks below with a different ensemble forecast. e.g. one group uses the 'ens_oper', another group uses 'ens_2016' and so on.
Choose your ensemble dataset by setting the value of 'expId', either 'ens_oper' or 'ens_2016' for this exercise.
One of the OpenIFS ensembles could also be used but it's recommended one of the operational ensembles is studied first.
Code Block | ||||
---|---|---|---|---|
| ||||
#The experiment. Possible values are:
# ens_oper = operational ENS
# ens_2016 = 2016 operational ENS
expId="ens_oper" |
Ensemble forecast performance
In these tasks, the performance of the ensemble forecast is studied.
Panel | ||
---|---|---|
| ||
Q. How does the ensemble | ||
Panel | ||
| ||
Q. How does the ensemble mean MSLP and Z500 fields compare to the HRES forecast and analysis? |
...
Panel | ||
---|---|---|
| ||
Right-click 'ens_oper_cluster.example.txt' and select Edit (or make a duplicate) The file contains two example lines:
The first line defines the list of members for 'Cluster 1': in this example, members 2, 3, 4, 9, 22, 33, 40. The second line defines the list of members for 'Cluster 2': in this example, members 10, 11, 12, 31, 49. Change these two lines!. You can create multiple cluster definitions by using the 'Duplicate' menu option to make copies of the file for use in the plotting macros.. The filename is important! |
Panel | ||
---|---|---|
| ||
Use the clusters of ensemble members you have created in Set Replot ensembles:RMSE: plot the RMSE curves using Stamp maps: the stamp maps will be reordered such at the ensemble members will be groups according to their cluster. Applies to Spaghetti maps: with clusters enabled, two additional maps are produced which show the contour lines for each cluster. The spaghetti maps are similar to Figure 10. in Pantillon et al. |
Panel | |||||
---|---|---|---|---|---|
| |||||
The macro Use If your cluster definition file is called 'ens_oper_cluster.example.txt', then Edit
If your cluster definition file is has another name, e.g. ens_oper_cluster.fred.txt, then members_1=["cl.fred.1"]. Plot other parameters:Plot total precipitation for France ( |
Panel | ||
---|---|---|
| ||
Q. Experiment with the choice of members in each clusters and plot z500 at t+96 (Figure 7 in Pantillon et al.). How similar are your cluster maps? |
Task 2: Empirical orthogonal functions / Principal component analysis
A quantitative way of clustering an ensemble is by computing empirical orthogonal functions from the differences between the ensemble members and the control forecast.
Although geopotential height at 500hPa at 00 24/9/2012 is used in the paper by Pantillon et al., the steps described below can be used for any parameter at any step.
The eof.mv
macro computes the EOFs and the clustering.
Warning |
---|
Always use the Otherwise cluster_to_an.mv and other plots with clustering enabled will fail or plot with the wrong clustering of ensemble members. If you change step or ensemble, recompute the EOFS and cluster definitions using eof.mv. Note however, that once a cluster has been computed, it can be used for all steps with any parameter. |
Panel | ||
---|---|---|
| ||
Edit 'eof.mv' Set the parameter to use, choice of ensemble and forecast step required for the EOF computation:
Run the macro. The above example will compute the EOFs of geopotential height anomaly at 500hPa using the 2012 operational ensemble at forecast step 00Z on 24/09/2012. A plot will appear showing the first two EOFs (similar to Figure 5 in Pantillon et al.) The geographical area for the EOF computation is: 35-55N, 10W-20E (same as in Pantillon et al). If desired it can be changed in |
Panel | |||||||
---|---|---|---|---|---|---|---|
| |||||||
The eof.mv macro will create a text file with the cluster definitions, in the same format as described above in the previous task. The filename will be different, it will have 'eof' in the filename to indicate it was created by using empirical orthogonal functions.
If a different ensemble forecast is used, for example This cluster definition file can then be used to plot any variable at all steps (as for task 1). |
Panel | ||
---|---|---|
| ||
Q. What do the EOFs plotted by eof.mv show? |
Panel | |||||
---|---|---|---|---|---|
| |||||
Use the cluster definition file computed by eof.mv to the plot ensembles and maps with clusters enabled (as described for task 1, but this time with the 'eof' cluster file). The macro Use Edit
Run the macro. If time also look at the total precipitation (tp) over France and PV/320K. |
The first line defines the list of members for 'Cluster 1': in this example, members 2, 3, 4, 9, 22, 33, 40. The second line defines the list of members for 'Cluster 2': in this example, members 10, 11, 12, 31, 49. Change these two lines!. You can create multiple cluster definitions by using the 'Duplicate' menu option to make copies of the file for use in the plotting macros.. The filename is important! |
Panel | ||
---|---|---|
| ||
Use the clusters of ensemble members you have created in Set Replot ensembles:RMSE: plot the RMSE curves using Stamp maps: the stamp maps will be reordered such at the ensemble members will be groups according to their cluster. Applies to Spaghetti maps: with clusters enabled, two additional maps are produced which show the contour lines for each cluster. The spaghetti maps are similar to Figure 10. in Pantillon et al. |
Panel | |||||
---|---|---|---|---|---|
| |||||
The macro Use If your cluster definition file is called 'ens_oper_cluster.example.txt', then Edit
If your cluster definition file is has another name, e.g. ens_oper_cluster.fred.txt, then members_1=["cl.fred.1"]. Plot other parameters:Plot total precipitation for France ( |
Panel | ||
---|---|---|
| ||
Q. Experiment with the choice of members in each clusters and plot z500 at t+96 (Figure 7 in Pantillon et al.). How similar are your cluster maps? |
Task 2: Empirical orthogonal functions / Principal component analysis
A quantitative way of clustering an ensemble is by computing empirical orthogonal functions from the differences between the ensemble members and the control forecast.
Although geopotential height at 500hPa at 00 24/9/2012 is used in the paper by Pantillon et al., the steps described below can be used for any parameter at any step.
The eof.mv
macro computes the EOFs and the clustering.
Warning |
---|
Always use the Otherwise cluster_to_an.mv and other plots with clustering enabled will fail or plot with the wrong clustering of ensemble members. If you change step or ensemble, recompute the EOFS and cluster definitions using eof.mv. Note however, that once a cluster has been computed, it can be used for all steps with any parameter. |
Panel | ||
---|---|---|
| ||
Edit 'eof.mv' Set the parameter to use, choice of ensemble and forecast step required for the EOF computation:
Run the macro. The above example will compute the EOFs of geopotential height anomaly at 500hPa using the 2012 operational ensemble at forecast step 00Z on 24/09/2012. A plot will appear showing the first two EOFs (similar to Figure 5 in Pantillon et al.) The geographical area for the EOF computation is: 35-55N, 10W-20E (same as in Pantillon et al). If desired it can be changed in |
Panel | |||||||
---|---|---|---|---|---|---|---|
| |||||||
The eof.mv macro will create a text file with the cluster definitions, in the same format as described above in the previous task. The filename will be different, it will have 'eof' in the filename to indicate it was created by using empirical orthogonal functions.
If a different ensemble forecast is used, for example This cluster definition file can then be used to plot any variable at all steps (as for task 1). |
Panel | ||
---|---|---|
| ||
Q. What do the EOFs plotted by eof.mv show? |
Panel | |||||
---|---|---|---|---|---|
| |||||
Use the cluster definition file computed by eof.mv to the plot ensembles and maps with clusters enabled (as described for task 1, but this time with the 'eof' cluster file). The macro Use Edit
Run the macro. If time also look at the total precipitation (tp) over France and PV/320K. |
Panel | ||
---|---|---|
| ||
Q. How similar is the PCA computed clusters to your manual clustering? |
Panel | ||
---|---|---|
| ||
For those interested: The code that computes the clusters can be found in the Python script: This uses the 'ward' cluster method from SciPy. Other cluster algorithms are available. See http://docs.scipy.org/doc/scipy/reference/generated/scipy.cluster.hierarchy.linkage.html#scipy.cluster.hierarchy.linkage The python code can be changed to a different algorithm or the more adventurous can write their own cluster algorithm! |
Exercise 5. Percentiles and probabilities
To further compare the 2012 and 2016 ensemble forecasts, plots showing the percentile amount and probabilities above a threshold can be made for total precipitation.
Use these icons:
Both these macros will use the 6-hourly total precipitation for forecast steps at 90, 96 and 102 hours, plotted over France.
Task 1. Plot percentiles of total precipitation
Edit the percentile_tp_compare.mv
icon.
Set the percentile for the total precipitation to 75%:
Code Block | ||
---|---|---|
| ||
#The percentile of ENS precipitation forecast
perc=75 |
Run the macro and compare the percentiles from both the forecasts. Change the percentiles to see how the forecasts differ.
Task 2: Plot probabilities of total precipitation
This macro will produce maps showing the probability of 6-hourly precipitation for the same area as in Task 1.
In this case, the maps show the probability that total precipitation exceeds a threshold expressed in mm.
Edit the prob_tp_compare.mv
and set the probability to 20mm:
Code Block | ||
---|---|---|
| ||
#The probability of precipitation greater than
prob=20 |
Run the macro and view the map. Try changing the threshold value and run.
Panel | ||
---|---|---|
| ||
Q. Using these two macros, compare the 2012 and 2016 forecast ensemble. Which was the better forecast for HyMEX flight planning? |
Exercise 6. Assessment of forecast errors
In this exercise, various methods for presenting the forecast error are presented.
Panel |
---|
hres_rmse.mv : this plots the root-mean-square-error growth curves for the operational HRES forecast compared to the ECMWF analyses. hres_to_an_diff.mv : this plots a single parameter as a difference map between the operational HRES forecast and the ECMWF analysis. Use this to understand the forecast errors. |
Task 1: Forecast error
In this task, we'll look at the difference between the forecast and the analysis by using "root-mean-square error" (RMSE) curves as a way of summarising the performance of the forecast.
Root-mean square error curves are a standard measure to determine forecast error compared to the analysis and several of the exercises will use them. The RMSE is computed by taking the square-root of the mean of the forecast difference between the HRES and analyses. RMSE of the 500hPa geopotential is a standard measure for assessing forecast model performance at ECMWF (for more information see: http://www.ecmwf.int/en/forecasts/quality-our-forecasts).
Right-click the hres_rmse.mv icon, select 'Edit' and plot the RMSE curve for z500.
Repeat for the mean-sea-level pressure mslp.
Repeat for both geographical regions: mapType=1 (Atlantic) and mapType=2 (France).
Panel | ||
---|---|---|
| ||
Q. What do the RMSE curves show? |
Task 2: Compare forecast to analysis
Use the hres_to_an_diff.mv icon and plot the difference map between the HRES forecast and the analysis for z500 and mslp.
Panel | ||
---|---|---|
| ||
Q. What differences can be seen? |
If time: look at other fields to study the behaviour of the forecast.
Panel | ||
---|---|---|
| ||
Q. How similar is the PCA computed clusters to your manual clustering? |
Panel | ||
---|---|---|
| ||
For those interested: The code that computes the clusters can be found in the Python script: This uses the 'ward' cluster method from SciPy. Other cluster algorithms are available. See http://docs.scipy.org/doc/scipy/reference/generated/scipy.cluster.hierarchy.linkage.html#scipy.cluster.hierarchy.linkage The python code can be changed to a different algorithm or the more adventurous can write their own cluster algorithm! |
Exercise 5. Percentiles and probabilities
To further compare the 2012 and 2016 ensemble forecasts, plots showing the percentile amount and probabilities above a threshold can be made for total precipitation.
Use these icons:
Both these macros will use the 6-hourly total precipitation for forecast steps at 90, 96 and 102 hours, plotted over France.
Task 1. Plot percentiles of total precipitation
Edit the percentile_tp_compare.mv
icon.
Set the percentile for the total precipitation to 75%:
Code Block | ||
---|---|---|
| ||
#The percentile of ENS precipitation forecast
perc=75 |
Run the macro and compare the percentiles from both the forecasts. Change the percentiles to see how the forecasts differ.
Task 2: Plot probabilities of total precipitation
This macro will produce maps showing the probability of 6-hourly precipitation for the same area as in Task 1.
In this case, the maps show the probability that total precipitation exceeds a threshold expressed in mm.
Edit the prob_tp_compare.mv
and set the probability to 20mm:
Code Block | ||
---|---|---|
| ||
#The probability of precipitation greater than
prob=20 |
Run the macro and view the map. Try changing the threshold value and run.
...
borderColor | red |
---|
...
Appendix
Further reading
For more information on the stochastic physics scheme in (Open)IFS, see the article:
...