Atmosphere — EAM and EAMxx

E3SM has two atmosphere models:

  • EAM (E3SM Atmosphere Model) — the standard atmosphere model used in most E3SM configurations.

  • EAMxx (E3SM Atmosphere Model, next generation) — uses a different vertical grid (L128) and a different file format.

Relevant zppy tasks

The following zppy tasks are commonly used for atmosphere post-processing:

EAM configuration

For EAM (standard resolution), typical history streams are:

  • eam.h0 — monthly averages (most common for diagnostics)

  • eam.h1 — daily averages

  • eam.h2 — high-frequency output (used for TC analysis)

Typical [climo] and [ts] subsection configuration for EAM:

[climo]
active = True

  [[atm_monthly_180x360_aave]]
  input_files = eam.h0
  input_subdir = archive/atm/hist
  mapping_file = /path/to/map_ne30pg2_to_cmip6_180x360_aave.20200201.nc
  grid = 180x360_aave
  years = 1:100:20

[ts]
active = True

  [[atm_monthly_180x360_aave]]
  input_files = eam.h0
  input_subdir = archive/atm/hist
  mapping_file = /path/to/map_ne30pg2_to_cmip6_180x360_aave.20200201.nc
  grid = 180x360_aave
  years = 1:100:10

  [[atm_daily_180x360_aave]]
  input_files = eam.h1
  input_subdir = archive/atm/hist
  mapping_file = /path/to/map_ne30pg2_to_cmip6_180x360_aave.20200201.nc
  grid = 180x360_aave
  frequency = daily
  years = 1:100:10

  [[atm_monthly_glb]]
  input_files = eam.h0
  input_subdir = archive/atm/hist
  years = 1:100:10

EAMxx configuration

EAMxx uses a 128-level vertical grid (L128) and stores output differently from EAM. Key differences when configuring zppy for EAMxx:

  • Set input_component = eamxx in [climo] and [ts] sections.

  • The vrt_in_file parameter may be needed for vertical remapping. When input_component = eamxx, zppy defaults to a vert_L128.nc file under diagnostics_base_path.

  • Vertical remapping (vrt_remap_vars) is often needed to produce pressure-level data for diagnostics.

Example EAMxx configuration:

[ts]
active = True

  [[eamxx_monthly_180x360_aave]]
  input_component = eamxx
  input_files = eamxx.h0
  input_subdir = archive/atm/hist
  mapping_file = /path/to/map_ne30pg2_to_cmip6_180x360_aave.nc
  grid = 180x360_aave
  vrt_remap_vars = T,Q,U,V,Z3,OMEGA
  years = 1:50:10

Mapping files

Mapping files remap EAM/EAMxx output from the native spectral-element grid (e.g., ne30pg2) to a regular latitude-longitude grid (e.g., 180x360_aave). These files are typically pre-computed and available on supported machines under the diagnostics_base_path.

Machine-specific mapping file locations:

  • Chrysalis/Anvil (LCRC): typically under /home/ac.zender/data/maps/

  • Perlmutter (NERSC): typically under /global/homes/z/zender/data/maps/

  • Compy: typically under /compyfs/zender/maps/

Diurnal cycle

For diurnal cycle diagnostics in e3sm_diags, high-frequency (8× daily) climatologies are needed. Configure an additional [climo] subsection:

[climo]
  [[atm_monthly_diurnal_8xdaily_180x360_aave]]
  input_files = eam.h3
  input_subdir = archive/atm/hist
  frequency = diurnal_8xdaily
  mapping_file = /path/to/map_ne30pg2_to_cmip6_180x360_aave.nc
  grid = 180x360_aave
  years = 1:100:20

[e3sm_diags]
  [[atm_monthly_180x360_aave]]
  sets = diurnal_cycle,...
  climo_diurnal_subsection = atm_monthly_diurnal_8xdaily_180x360_aave
  climo_diurnal_frequency = diurnal_8xdaily
  dc_obs_climo = /path/to/obs/climatology