fme: Full Model Emulation¶
fme (“full model emulation”) is a python package for training, running and evaluating climate model emulators, such as the Ai2 Climate Emulator (ACE), SamudrACE and HiRO-ACE.
Why use fme?¶
fme provides a unified interface for training, running and evaluating AI models with a range of architectures (SFNO, GNNs, UNets) and applications (e.g. global atmosphere, ocean and sea ice modeling, regional downscaling).
We strive for a balance of flexibility—to enable easy prototyping of new modeling strategies—with ease-of-use and performance.
Built by climate modelers for climate modelers! We follow similar configuration and evaluation practices as traditional climate models, making fme intuitive to adopt and use.
Flexible data loading and writing capabilities. fme supports netCDF and zarr, as well as streaming directly from/to cloud object storage. At inference time, reductions such as monthly means can be computed on the fly, saving time and storage space.
Warning
This codebase is primarily developed to support internal research efforts of the Ai2 Climate Modeling group. Use at your own risk! We are actively developing this software and sometimes make breaking changes to the API.
Existing capabilities¶
This codebase enables the training and evaluation of models with a variety of architectures and applications. For example, we support:
- Global atmosphere modeling:
deterministic global weather-climate atmospheric models like ACE2-ERA5
stochastic global weather-climate atmospheric models like ACE2S-SHiELD+
- Global ocean and sea ice modeling:
- Coupled climate modeling:
coupled atmosphere-ocean-sea ice models like SamudrACE (CM4-piControl, E3SMv3)
- Regional downscaling:
diffusion-based downscaling models like HiRO
Table of contents¶
Getting started:
Single component (e.g. ACE):
Coupled (e.g. SamudrACE):
Downscaling (e.g. HiRO):