earth2studio.models.px.AIFS#

class earth2studio.models.px.AIFS(model, latitudes, longitudes, interpolation_matrix, inverse_interpolation_matrix, variables=array(['q50', 'q100', 'q150', 'q200', 'q250', 'q300', 'q400', 'q500', 'q600', 'q700', 'q850', 'q925', 'q1000', 't50', 't100', 't150', 't200', 't250', 't300', 't400', 't500', 't600', 't700', 't850', 't925', 't1000', 'u50', 'u100', 'u150', 'u200', 'u250', 'u300', 'u400', 'u500', 'u600', 'u700', 'u850', 'u925', 'u1000', 'v50', 'v100', 'v150', 'v200', 'v250', 'v300', 'v400', 'v500', 'v600', 'v700', 'v850', 'v925', 'v1000', 'w50', 'w100', 'w150', 'w200', 'w250', 'w300', 'w400', 'w500', 'w600', 'w700', 'w850', 'w925', 'w1000', 'z50', 'z100', 'z150', 'z200', 'z250', 'z300', 'z400', 'z500', 'z600', 'z700', 'z850', 'z925', 'z1000', 'u10m', 'v10m', 'd2m', 't2m', 'lsm', 'msl', 'sdor', 'skt', 'slor', 'sp', 'tcw', 'zsl', 'stl1', 'stl2', 'swvl1', 'swvl2'], dtype='<U5'))[source]#

Artificial Intelligence Forecasting System (AIFS), a data driven forecast model developed by the European Centre for Medium-Range Weather Forecasts (ECMWF). AIFS is based on a graph neural network (GNN) encoder and decoder, and a sliding window transformer processor, and is trained on ECMWF’s ERA5 re-analysis and ECMWF’s operational numerical weather prediction (NWP) analyses. Consists of a single model with a time-step size of 6 hours.

Note

This model uses the checkpoints provided by ECMWF. For additional information see the following resources:

Warning

We encourage users to familiarize themselves with the license restrictions of this model’s checkpoints.

Parameters:
  • variables (np.array, optional) – Variables associated with model, by default 73 variable model.

  • model (Module)

  • latitudes (Tensor)

  • longitudes (Tensor)

  • interpolation_matrix (Tensor)

  • inverse_interpolation_matrix (Tensor)

__call__(x, coords)[source]#

Runs prognostic model 1 step.

Parameters:
  • x (torch.Tensor) – Input tensor

  • coords (CoordSystem) – Input coordinate system

Returns:

Output tensor and coordinate system 6 hours in the future

Return type:

tuple[torch.Tensor, CoordSystem]

create_iterator(x, coords)[source]#

Creates a iterator which can be used to perform time-integration of the prognostic model. Will return the initial condition first (0th step). :param x: Input tensor :type x: torch.Tensor :param coords: Input coordinate system :type coords: CoordSystem

Yields:

Iterator[tuple[torch.Tensor, CoordSystem]] – Iterator that generates time-steps of the prognostic model container the output data tensor and coordinate system dictionary.

Parameters:
  • x (Tensor)

  • coords (OrderedDict[str, ndarray])

Return type:

Iterator[tuple[Tensor, OrderedDict[str, ndarray]]]

classmethod load_default_package()[source]#

Load prognostic package

Return type:

Package

classmethod load_model(package)[source]#

Load prognostic from package

Parameters:

package (Package)

Return type:

PrognosticModel