- Created by Milana Vuckovic, last modified on Jan 27, 2025
Introduction
At ECMWF we use the sub-seasonal re-forecasts to build the Sub-seasonal (ex extended) Model Climate (currently still referred as ER-M-climate).
Re-forecasts are a fundamental component of all seasonal forecasting system; they have two applications:
- sub-seasonal range forecast verification metrics are based on the re-forecasts.
- re-forecasts allow computation of the ER-M-climate which allows actual forecasts to be converted into an anomaly format. Forecasts in terms of anomalies relative to a model climate (rather than relative to the observed climatology) mean that some calibration for model bias and drift into the products is incorporated.
In IFS Cycle 48r1 upgrade, we increased the frequency of the sub-seasonal (ex extended) range forecast to daily with 100 members. However, the re-forecast data remained twice per week on Monday and Thursday.
In 49r1, the re-forecast configuration will be change significantly. Instead of production being tied to the day of the week, it will be produced on the specific days of the month.
The main advantages of the new configuration are:
- Increased sub-seasonal range frequency will benefit skill assessment and calibration
- Running fixed days of the month will allow for direct comparisons between re-forecasts produced in different years, and direct comparisons with seasonal re-forecasts.
- Common dates for medium-range and sub-seasonal range re-forecasts provide opportunities for generation of calibrated dual-resolution ensemble products
- Common dates for the two re-forecast sets also facilitate an assessment of the impact of resolution
For sub-seasonal range, we will continue to produce weekly products based on calendar weeks (Monday-Sunday). However, other options will be possible (week starting on any day of the week).
In 49R1, land initial conditions for all re-forecasts (medium and sub-seasonal ranges) are provided by a separate offline land data assimilation reanalysis, instead of using ERA5 data as is, which had been the case for previous model cycles. This change improves the consistency of land initialisation between re-forecasts and the real-time forecasts which are initialised from the operational analysis, since the offline land data assimilation includes recent land model changes, such as multi-layer snow, which are not present in ERA5. In turn such a change naturally makes the re-forecasts and operational forecasts more consistent. This improves the quality and integrity of forecast products which use the two in tandem, such as the EFI and SOT, and indeed the vast majority of sub-seasonal products, which are presented as anomalies from a reforecast-based climatology.
Atmospheric and wave re-forecasts change summary
From the Cycle 49r1 atmospheric and wave model are fully coupled which means the re-forecasts are produced with identical configuration
- medium range every four days starting every 1st of the month: 1/5/9/13/17/21/25/29 (excluding 29 February)
- extended range every two days starting every 1st of the month: 1/3/5/7/9/11/13/15/17/19/21/23/25/27/29/31 (excluding 29 February)
ENS & ENS-WAM Sub-seasonal (ex extended) hindcast and hindcast statistics MARS Streams: eefh/eehs weeh/wees* | ||
---|---|---|
Current | Upgrade | |
Basetime & frequency | 00 Monday/Thursday | 00 1/3/5/7/9/11/13/15/17/19/21/23/25/27/29/31 (excluding 29 February) |
* There are no additional products from ENS-WAM Extended hindcast statistics (meaning nothing is produced in the stream .
Can I keep Monday/Thursday configuration for the re-forecasts?
In theory, technically, you can, but we strongly advise against it.
Each week only one of them will be an odd day, so with this configuration you will receive exactly one sub-seasonal range re-forecast per week, but on some weeks it will be on Monday and some on Thursday.
For medium range it will be even more scarce as there can be weeks when re-forecasts are not produced on neither of those days.
I kept Monday/Thursday configuration for the forecasts, how can I now match forecasts and re-forecasts?
Users can't match the forecasts and re-forecasts by day of the week anymore.
One workaround could be to put use=Sunday/Monday/Wednesday/Thursday in the requirements, to make sure there is always one re-forecast to match the forecast (at least one Sunday or Monday, and Wednesday or Thursday will be an odd date).
Then on Monday use either Sunday or Monday depending which one is available, and on Thursday, use either Wednesday or Thursday date, which ever is available.
Or read more in our Twice-weekly Recommendation for dissemination.
What re-forecast date will arrive on each date?
Each day the re-forecast for the day +6 (or +5 at the end of the month with 31 days) will arrive. Meaning:
On 1st of the month we will disseminate the 7th.
On 3rd of the month we will disseminate the 9th.
On 5th we will disseminate the 11th.
On 7th we will disseminate the 13th.
On 9th we will disseminate the 15th.
On 11th we will disseminate the 17th.
On 13th we will disseminate the 19th.
On 15th we will disseminate the 21st.
On 17th we will disseminate the 23rd.
On 19th we will disseminate the 25th.
On 21st we will disseminate the 27th.
On 23rd we will disseminate the 29th.
.....
If the month has 31 days:
On 25th we will disseminate the 31st.
On 27th we will disseminate the 1st of next month.
On 29th we will disseminate the 3rd of next month.
On 31st we will disseminate the 5th of next month.
If the month has 30 days:
On 25th we will disseminate the 1st of next month.
On 27th we will disseminate the 3rd of next month.
On 29th we will disseminate the 5th of next month.
In February:
On 23rd we will disseminate the 1st of next month.
On 25th we will disseminate the 3rd of next month.
On 27th we will disseminate the 5th of next month...
When can I expect updated data to arrive after I changed my dissemination request?
We disseminate data 6 days in advance, but we produce it another two days in advance. So you can expect update data to arrive 8-10 days after you've made the change, depending on the date of the change.
Why are we excluding 29 February?
To build the model climate we need to use dates that are present in every year. This is not the case with 29 February.
Sub-seasonal range re-forecast configuration
Sub-seasonal (ex-extended) range re-forecasts will be produced every other odd day of the month: 1/5/9/13/17/21/25/29 (excluding 29 February).
Mars streams in the Atmospheric model - Dissemination data stream indicator H :
- eefh - Ensemble forecast hindcast
- eehs - Ensemble forecast hindcast statistics
Mars streams in the Wave model - Dissemination data stream indicator Z:
- weeh - Wave ensemble forecast hindcast
Stream | Type | Steps | Other |
---|---|---|---|
eefh - Extended ensemble forecast hindcast weeh - Wave extended ensemble forecast hindcast |
| 6 hourly | |
| weekly steps | ||
eehs - Extended ensemble forecast hindcast statistics |
| 12 hourly | 2 Parameters: Geopotential and Temperature |
| weekly steps | ||
| 6 hourly from 0 to 1104 | 4 Parameters: 2 m temperature, 10m wind speed, Total cloud cover, Total precipitation 8 number values (1, 55, 56, 110, 111, 165, 166 and 220) |
Building a model climate
We will show here how to build the sub-seasonal Model Climate (ER-M-climate) using the re-forecast data from IFS 49r1 cycle.
What data do I need?
The set of re-forecasts for the ER-M-climate is made up from:
- a set of re-forecasts using the same calendar start dates for each of the last 20 years - we refer to these as Re-forecast date
- five consecutive re-forecasts (covering a 9 days period), the middle one of which corresponds to the preceding odd day of the month that is closest to the actual ensemble run date.
- each re-forecast is formed from an 11-member ensemble (1 control and 10 perturbed members) run over the 46-day ensemble forecast period.
In total, each set of re-forecasts consists of 20 years x 5 runs x 11 ensemble members = 1100 re-forecast values.
These are available for each forecast parameter and forecast lead-time at forecast intervals of 6 hours.
These are used to define the ER-M-climate.
Which dates do I need to build ER-M-climate?
Data will be disseminated sufficiently far enough ahead (more on that later) for you to build a model climate with the following configuration.
For sub-seasonal re-forecasts, the model climate can be built from 5 re-forecasts (1 central + 2 ahead + 2 behind) – annotated by the red dashed line.
On even days, it’s not possible to use a centralised re-forecast so we recommend using the previous re-forecast as the ‘central’ and then 2 either side.
You can use the same model re-forecast for 2 days in a row EXCEPT at the end of a 31-day month, when we have two odd days in a row (31st and 1st).
However be careful with using the weekly steps, as you will need to use different steps on different days (to match with the corresponding forecast)
Not to worry, because we have prepared a Python library that will calculate the dates needed to build the Model climate.
The library is called earthkit-time and the documentation can be found on the following link: https://earthkit-time.readthedocs.io/latest/index.html
And what should I do with these dates?
ER-M-climate consists of weekly means over all 11 ensemble members and 20 years of re-forecast.
In order to compare the ER-M-climate and the forecast their steps must match. This is where it gets slightly complicated.
Since we produce the forecast every day and the end product is weekly mean where week starts on the following Monday, every day we use different steps. You can see the steps on the right → → →
However, since we produce the re-forecast every other day, in order to build the ER-M-climate you can not use the same set of steps on the two consecutive days.
For example:
If today is Tuesday, 17th September, the forecast will have the steps 144-312/312-480 etc. So the re-forecasts used to build the ER-M-climate must use those steps.
Tomorrow is Wednesday, 18th September and we didn't produce new re-forecasts, so we use the set from the day before. But we need to use the steps from Wednesday, 120-228/228-456 etc.
Easy, so far...
Every sub-seasonal re-forecast date is being used 5 times, so in order to be able to build the ER-M-climate users need to order all the steps, because every day different steps will be used.
We are preparing a Jupyter notebook to show you how you can calculate the ER-M-climate using the re-forecast data available in the Test RCP server.
Installing your data in the Product Requirements Editor
The Primary Recommendation may have implications on your data volumes and may result in changes to your annual fees (where applicable). Please contact Data Support for more guidance on your options.
Primary Recommendation (easiest option)
The primary recommendation is that if you receive daily Sub-seasonal Forecasts, you should also receive all the re-forecasts.
To install this, you must apply the following to every dissemination block where you have used stream=eefh:
|
Twice-weekly Recommendation
In 48r1, it was possible to receive data twice a week on fixed days (Monday and Thursday). In 49r1, as we produce data every other day, this will not be possible (7 does not divide by 2).
With the current keywords, the recommendation here is to apply the following to every block where you have used stream=eefh:
|
With this, you will receive data on those days when they are odd. Note that the frequency is not equal per month. An example of the days you'd receive data for 2025 is shown below:
Note that this figure is provided as an example to demonstrate the impact of trying to receive twice-weekly reforecasts.
Once-weekly Recommendation
As per twice-weekly, to have a re-forecast approximately once per week, you would need to apply the following line to every dissemination block where stream=eefh:
|
Please note that use=all does not function as a command. Please explicitly write all days you require.
Please be cautious of inheritance. If you have data after stream=eefh that does not use the use= keyword, you must apply use=off to ensure it validates.
- No labels
6 Comments
Jonathan Demaeyer
Hi,
You do not specify when this change will happen in MARS.
Milana Vuckovic
Hi Jonathan,
This change was a part of implementation of the new cycle (49r1) of the IFS model, which happened on 12 November.
Best,
Milana
Jonathan Demaeyer
Hi Milana,
Thanks for you response.
I see now that the change of the reforecast products is mentioned in the mail announcing the cycle change.
To be honest, I tend to overlook these mails, because to me this is related to NWP technicalities.
So the next time, I would strongly advise you to make a mail dedicated to change in the products or dissemination structure with a proper related header.
I could not find such a mail in my mailbox. I learned about this change which will severely impact my next 2 weeks through LinkedIn...
Best,
Jonathan
Milana Vuckovic
Hi Jonathan,
Thank you for your feedback. We have taken it into account and will try to communicate product changes better in future.
Please keep in mind that almost every cycle upgrade contains parameters and/or dissemination changes as well. Our Data Support sends dedicated emails about products changes to all dissemination users.
After we start the parallel running of the next model cycle (Release Candidate Phase - RCP) we usually do a webinar specifically explaining technical changes and changes with products and data that may affect the users. Keep an eye on notification about this webinar, as the next couple of cycles will have significant changes in products, dissemination structure etc.
Best,
Milana
Jonathan Demaeyer
Hi there again,
Is the
use
keyword only available with the extended streameefh
, etc.. ??I tried to use it with a
enfh
request and I received an error.Thank you in advance,
Jonathan
Milana Vuckovic
Hi Jonathan,
Could you please raise a ticket in our Support portal: https://support.ecmwf.int/ explaining the issue, providing the MARS request that you have tried and the error that you receive, and our analysts will get back to you.
Best regards,
Milana