Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

See also CAM-FV Grid Overview

...

Most native grid atmosphere output for E3SM V2 will be on the pg2 physgrid.  Native grid atmosphere output from E3SM V1 is on the np4 GLL grid.  

CAM-SE Native

...

Grid  (GLL data)

Here is a low-resolution CAM-SE grid.   This is a "ne4np4" grid, meaning that it has 4x4 spectral elements in each cube face (the "ne" value), and each spectral element has a grid of 4x4 (the "np" value) Gauss-Lobatto points inside it.  The blue lines show the edges of the spectral elements.  CAM-SE is collocated, meaning that all variables (U,V,T, etc...) are carried around on the GLL nodes.  CAM physics is computed in columns at GLL nodes.  Each column has a Gauss-Lobatto weight associated with it, which can also be interpreted as an area associated with each node.   The sum of these weights is 4pi (the area of the unit sphere).   One can see from the figure that GLL nodes are not quite equally spaced - they cluster at the edges of the spectral elements.

...

The PG2 "physgrid" 

In E3SM v2, we have the option to run the physics on a finite volume grid, where each spectral element cell is further divide into subcells.  PG2 computes the physics on a 2x2 FV grid within each spectral element (shown below).  On the physgrid, the physics columns are located at the cell center (green dots below), but should be considered cell average values over each FV cell,  rather than nodal values at the green points.     

...

The physgrid is a FV grid and can be used with any tool that works with cell centered FV data (such as ESMF map file algorithms).  



SE "subcell" grid (GLL data)

Most analysis tools and other tools cannot handle higher order elements such as used in CAM-SE.  For these codes, we produce metadata that divide each spectral element into subcells.  This subcell grid is shown below.  The GLL nodes are the vertices of the subcell grid.  This meta data can be used by Paraview and Visit to plot native grid CAM-SE output.  The metadata is stored in a grid template file that typically has a file name of the form "<gridname>_latlon_<date>.nc" in the grids directory of the E3SM inputdata server. From  Euler's polyhedron formula, we know if there are N physics columns (GLL nodes), there will be N-2 subcells (all quads) and N/2-1 subcell edges.  

   

SE "dual"

...

grid  (GLL data)

Some applications require treating the GLL nodal data as FV cell centered data.  To do this, we need to construct the "dual grid" of the GLL subcell grid, resulting in a grid where each polygon contains a single GLL nodal point.   This is not recommended and as one can see below is an unnatural representation of the GLL nodal data.  

...

  1. TempestRemap:  https://github.com/ClimateGlobalChange/tempestremap.   
    1. Used to make Exodus files (GLL and physgrid) and to make SCRIP files (physgrid only).
    2. Used to make mapping files for GLL grids directly from the Exodus file.
  2. Obsolete:  For quasi-uniform cubed-sphere grids, E3SM currently uses the "pentagons" option to construct the dual grid for making ESMF mapping files.  To create these meta data grid files,  we use a utility distributed with the E3SM code - see e3sm/components/homme/test/tool.
  3. Obsolete:  For RRM grids, E3SM v1 used the "cheveron" option to construct the dual grid for making ESMF mapping files.  To create these meta data grid files we use a Matlab program that performs a Newton interation.  This matlab code is in the E3SM PreAndPostProcessingScripts repo under regridding/spectral_elements_grid_utilities/

Using TempestRemap to create Exodus and SCRIP files: 

  1. To create the Exodus file.  For cubed sphere grids with a resolution of "NE":  
    1. GenerateCSMesh --alt --res $NE --file ne${NE}.g
    2. For RRM grids, the Exodus .g file is part of the model configuration and is stored along with the initial condition files in the E3SM input data server, inputdata/atm/cam/inic/homme
  2. To create a SCRIP file for PG2 grids from the Exodus file:
    1. GenerateVolumetricMesh --in ne${NE}.g --out ne${NE}pg2.g --np 2 --uniform 2
    2. ConvertExodusToSCRIP --in ne${NE}pg2.g  --out ne${NE}pg2.scrip.nc
  3. For E3SM V2, the physics is running on the "PG2" grid.  This means most output, and all coupled model mapping files need to work with PG2 grids.   
    1. Mapping files should be created using the SCRIP file 

...