Resources for Getting to Know EAMxx/SCREAM
The E3SM Atmosphere Model in C++ (EAMxx) is E3SM’s new atmosphere model. So far only the km-scale configuration of EAMxx (known as the Simple Cloud-Resolving E3SM Atmosphere Model, or SCREAM) is available, but a low-resolution version of EAMxx should be available in the next few years. Because EAMxx is the only weather/climate-prediction model able to run on all of the different types of GPUs that power DOE’s major supercomputers and because global convection-permitting simulations are a very popular new technology, a lot of researchers are interested in using EAMxx. Although EAMxx won’t be officially released or supported until the E3SMv4 release in ~2027, several resources for getting started with EAMxx are available:
- General information on how to run and modify EAMxx is provided in the EAMxx User+Developer Guides. The developer guide in particular is still under development.
- It is often easiest to learn by example. Run scripts for previous SCREAM campaigns are available at https://github.com/E3SM-Project/e3sm_data_docs/tree/main/run_scripts
- Because global km-scale simulations are incredibly expensive, we expect output from the simulation campaigns produced by the EAMxx development team to be used much more broadly than for typical GCMs where users can easily generate their own data. In accordance with E3SM policy, all SCREAM simulation campaigns will be made publicly available after the first paper documenting them has been submitted. See E3SM_data_docs for a list of currently-available output from SCREAM simulations.
- Users conducting their own experiments will probably want to use our cost-effective configurations. We have 3 methods for doing this:
- Doubly Periodic Mode – This configuration is the convection-permitting equivalent of the Single-Column Model (SCM) configuration of the older E3SM model. It simulates a small planar patch with doubly-periodic lateral boundary conditions and is colloquially referred to as DPxx. DPxx can take advantage of the 30+ ARM case studies compiled for the SCM. See DPxx Documentation for instructions on how to run this mode and for the list of available case studies.
- Regionally-Refined Mode (RRM) – This capability allows horizontal resolution to be concentrated where it is needed and uses cost-efficient lower resolution over the rest of the planet. Though its scope is global, RRM’s computational cost is typically similar to a regional configuration simulating only the high-resolution region because the number of grid cells in the low-resolution region is usually a negligible fraction of the total columns. Users should be aware that no version of E3SM provides scale-aware physics and the gradients between low- and high-resolution regions are typically large when RRM is used at km-scale. Thus to prevent poorly-tuned coarse-region results from contaminating the high-resolution results, winds in the coarse-resolution portion of the RRM are typically nudged to reanalysis or low-resolution E3SM results. Ability to control the strength of nudging in both the horizontal and vertical is enabled by a vector of nudging weights of the same dimensions as a typical 3d variable on the model grid used. The EAMxx-RRM documentation provides end-to-end guidance from developing your RRM grid to running it with EAMxx. Creating a RRM grid is difficult and labor intensive, but the process is very similar to adding support for a standard cube-sphere grid. Various aspects of the process are different between EAM and EAMxx, such as the generation of initial condition data, but most of the process will be similar. Differences between EAMf90 and EAMxx are flagged throughout the guide but due to the diversity of use cases some details are surely missing.
- Short Forecast/Hindcast Simulations – Although EAMxx has no data assimilation capability, users can perform hindcasts by creating initial conditions for specific events from ERA5 reanalysis and NOAA SST data using using HICCUP, which streamlines the remapping and adjustment tasks needed to create a viable atmospheric initial condition.
- In order to truly understand how a weather/climate model works, it is often essential to dig into individual processes in the code. To make this easy, users have the ability to call individual EAMxx functions from python. See the pyscream documentation for details.
- A community forum for solving problems is available via git discussions for EAMxx. The EAMxx staff isn’t funded to provide support, so professional answers may be slow in coming.
- Bugs can be reported by creating an issue on github, but since EAMxx isn’t officially supported yet bugs will only be fixed if they align with E3SM priorities
Quick Reference
- Guides: EAMxx User+Developer Guides
- Data: E3SM_data_docs
- Code: E3SM (see E3SM/components/eamxx)
- Doubly Periodic Mode: DPxx Documentation
- Regionally-Refined Mode: EAMxx-RRM documentation
- Forecast/Hindcast with EAMxx HICCUP
- Questions: git discussions for EAMxx
- Python interface: pyscream
- Bug Report: open a github issue
Related Articles
- Modeling the Climate at Exascale, Aug 2024
- E3SM wins Gordon Bell Prize for Climate Modeling, Nov 2023
- Overview Paper for the Doubly-Periodic SCREAM Configuration (DP-SCREAM), Aug 2023
- Exascale Performance of the Simple Cloud Resolving E3SM Atmosphere Model, Feb 2023
- Introduction to EAMxx and its Superior GPU Performance, Aug 2022
This article is a part of the E3SM “Floating Points” Newsletter, to read the full Newsletter check: