Anemoi Targets#
Anemoi target layouts are designed to create datasets that can work seamlessly with the Anemoi framework. For more information on Anemoi, check out the anemoi documentation.
In short, this layout involves collapsing data in a number of ways:
All variables are collapsed into a single array, which is called
"data"3D variables are expanded into individual 2D variables, with a separate variable per vertical layer (e.g.,
geopotentialis expanded togeopotential_250,geopotential_500,geopotential_850, … one per vertical level).The horizontal dimensions are stacked into a 1D
"cell"dimensionA number of statistics are computed on the data. For example, the mean, max, and min are computed over time, space, and ensemble members (if present).
Additionally, there are a number of additional features present for anemoi datasets:
Users can compute forcings, like solar insolation or cos/sin encodings of coordinate information
Users can control the time period over which statistics are computed
Users can optionally also compute statistics of the temporal residual. This feature is somewhat experimental, and does not currently scale well to large datasets, see some discussion on this in this issue. Note that it is currently only possible to compute statistics based on the timestep of the data, not an artbitrary timestep.
Anemoi#
The “standard” anemoi target is useful for the vast majority of cases, for example this is what’s used for creating a training dataset or a historical dataset for reforecasting.
target:
name: anemoi
sort_channels_by_levels: True
compute_temporal_residual_statistics: True
statistics_period:
start: 2022-02-01T06
end: 2022-02-28T18
forcings:
- cos_latitude
- sin_latitude
- cos_longitude
- sin_longitude
- cos_julian_day
- sin_julian_day
- cos_local_time
- sin_local_time
- cos_solar_zenith_angle
- insolation
chunks:
time: 1
variable: -1
ensemble: 1
cell: -1
Anemoi Inference With Forcings#
The main difference between this flavor of anemoi target and the standard one is how forcing variables are computed. In the previous target layout, it is assumed that we have data covering the entire temporal range requested, including for the forcing variables. In this target layout, however, the user can compute forcings that go into the future, and data is only required to cover the timestamps that are used for initial conditions for the model.
This layout is particularly useful for running a model in a near real time or operational environment, where we only have initial conditions for prognostic fields, and forcings must be computed for future timestamps.
target:
name: anemoi_inference_with_forcings
save_additional_step: True
sort_channels_by_levels: True
forcings:
- cos_latitude
- sin_latitude
- cos_longitude
- sin_longitude
- cos_julian_day
- sin_julian_day
- cos_local_time
- sin_local_time
- cos_solar_zenith_angle
- insolation
chunks:
time: 1
variable: -1
ensemble: 1
cell: -1