AIFS ensemble model

Hi there,

on regarding the new released notebook to run AIFS_ens on Huggingface, I want to use it to run an ensemble forecast but I understood that the notebook is made to run only an element of the ensamble with the original initial state and there is no option to adding the noise to produce the remaining 50 runs used in the original operational ensemble product.
How the noise is added to the initial state? Is there a guide to produce an entire ensemble?

Regards

Individual member initial conditions come from the members of the IFS ensemble.

Assimilation

  • AIFS ENS uses the operational IFS ensemble initial conditions, regridded to an N320 grid. In other words, member n of AIFS ENS uses the same initial condition as member n of the IFS ensemble and the control of AIFS ENS uses the same initial condition as the control of the IFS ensemble.

Thanks Matt,
this is true for the operational product, but to reproduce the ensemble using the notebook on Huggingface it is not specified the source of the perturbed initial condition or how these are determined from the initial state.
I can see only that the initial state is retrieved from OpendataClient using the function get_open_data, I assume that these data contains the unperturbed conditions as specified in the notebook

“Here we make a single forecast, from the control initial condition of the ensemble. In operations, this model is run 51 times, once from the control and 50 more times from slightly different initial conditions.”

My question is, how I can recreate the 51 ensemble members perturbing the initial conditions in the same way?

It appears that the get_open_data function has a parameter of ‘number’, this number is the perturbation

fields.update(get_open_data(param=PARAM_SFC, number=number))

Right above that is:
“To get different ensemble initial conditions from the ifs pertubation, set number to an ensemble number, between 1-50.”

Hi Matt,

thanks, that option was just added, the original code did not include that possibility.