Proposed naming convention for E3SM V2 and newer compsets:
map_grida_to_gridb_ToolAlgorithm.nc
Where grida and gridb are existing grid naming conventions established by the respective component.
Here we propose to standardize the suffix to denote the Tool and Algorithm (Following recommendation from Charlie Zender for ncremap) :
Tool:
esmf: Earth System Modeling Framework
nco: NCO (nco can generate aave maps, and also serve as a frontend to esmf and tr maps)
tr: Tempest Remap
mbtr: (for MOAB-Tempest).
Algorithm: (FV to FV, used in E3SMv2 and higher)
aave: Maps which compute a common refinement (intersection) mesh and then integrate a piecewise-constant reconstruction.
can be produced by ESMF, NCO and TR/MBTR
pros: conservative, montonone, cell averaging good for fine-to-coarse maps.
cons: 1st order accurate, not suitable for coarse-to-fine maps (blocky results)
examples: esmfaave, ncoaave, traave
bilin: bilinear interpolation
can be produced by: ESMF, TR/MBTR
pros: monotone, 2nd order accurate
cons: non-conservative. not suitable for fine-to-coarse maps (aliasing errors)
examples: esmfbilin, trbilin
patch: patch based algorithm (L2 projection?).
pros: accurate. good for coarse-to-fine maps. not sure how it performance on fine-to-coarse maps.
cons: can have small non-monotone weights
examples: esmfpatch
intbilin: (TR/MBTR) Integrated bilinear or trilinear
pros: monotone, 2nd order, good for fine-to-coarse and coarse-to-fine maps.
cons: may have some issues when source grid has holes.
examples: trintbilin
What’s the new map used for nonlinear tweaks needed for trigrid? I think TR’s “np2” - 2nd order FV?
Examples:
Suffix = esmfaave, esmfbilin, ncoaave, trmono, trmonotrn, trintbilin, trhighorder, mbtrmono, ...
Algorithm: (SE to/from FV, no longer used by E3SM, but used for some analysis tasks)
mono: TR developed algorithms which use a spectral element with monotone basis functions. The degrees of freedom for the basis function (“np”) is usually denoted in the grid name, such as ne30np4. For FV grids, only np=1 is supported.
monoSE2FV: SE monotonic basis reconstruction integrated over FV (np=1) cells
monoSE2SE: projection between source and target grid monotonic reconstructions
monoFV2SE: does this exist?
pros: conservative, monotone, good for fine-to-coarse maps.
cons: 1st order accurate
coarse-to-fine maps? Probably good, except for FV source grids.
intbilin: Integrated bilinear. For finite element grids, the shape functions are replaced by a piecewise linear shape functions which are then integrated using a common refinement mesh
pros: monotone, 2nd order, good for fine-to-coarse and coarse-to-fine maps.
cons: only supported for SE2FV? Does it work SE2SE?
inttrilin: Integrated linear reconstruction using triangular grids?
pros: monotone, 2nd order(?), good for fine-to-coarse and coarse-to-fine maps
cons: does not exist yet!
volumetric: should we add a convention for TR’s volumetric maps?
might be useful for FV->SE maps. currently not used
highorder: Use of SE shape functions or higher order FV for reconstruction, projected onto SE shape functions, or integrated over FV cell (np=1)
The most accurate SE2SE and SE2FV maps.
Currently not recommended due to large negative weights
{algorithm}trn: For any map from gridA to gridB, one can compute an area weighted transpose map from gridB to gradA. In general, the transpose map will not preserve the properties of the original map. However, the transpose of a consistent map will be conservative and the transpose of a conservative map will be consistent. conservative map The transpose of a monotone conservative map will be monotone and conservative.
Historical usage:
_aave.nc: ESMF conservative/monotone "area averaged" maps
_bilin.nc: ESMF bilinear
_mono.nc TempestRemap conservative, monotone map
_highorder.nc TempestRemap high-order, conservative, non-monotone ( several TR options in this category )
_intbilin.nc TempestRemap integrated bilinear: monotone, non-conservative
_monotr.nc TempestRemap transpose of a mono map.
_highordertr.nc TempestRemap transpose of a highorder map. (not recommended)
_conserve.nc. Used for a short time for TR conservative, high-order, non-monotone maps. Confusing since "conserve" implies it's a replacement for an "aave" type map, when really that type of map is a replacement for "bilin".