Versions Compared

Key

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

...

2022/9 update:  newer versions of TR replace the --mono* options with --method mono*

E3SM v2 (all maps are FV->FV)

  • Bilinear maps:
    • With E3SMv2's transition to PG2, we now often need bilinear maps for state variables.  These currently are not supported by TR and need to be computed with the ESGF utility
    • ESGF options for bilinear maps:  ADD HERE.  
  • SE→SE mono FV→FV aave (conservative, monotone, 1st order)
    • The classic cell integrated piecewise constant map.  Equivalent to the ESMF "aave" map and NCO's built in map.  
    • ./GenerateOfflineMap --in_mesh $atmgrid $ocngrid --out_mesh $atmgrid2 $atmgrid --ov_mesh overlap_mesh.g --in_type cgll fv --in_np 4  --out_type cgll fv --out_np 4 --mono --correct_areas areas  --out_map map_atmgrid_to_atmgrid2ocn2atm_mono.nc
    SE→FV
  • FV→FV integrated bilinear
    • promising new capability in TR 2022/10, not yet tested in E3SM

E3SM v1 (maps with SE grids.  also sometimes used to produce E3SM v2 initial conditions which are on SE grids)

  • SE→SE mono (conservative, monotone, 1st order)
    • ./GenerateOfflineMap --in_mesh $atmgrid --out_mesh $ocngrid $atmgrid2 --ov_mesh overlap_mesh.g --in_type cgll --in_np 4  --out_type fv  cgll --mono out_np 4 --mono --correct_areas --out_map map_atmgrid_atm2ocnto_atmgrid2_mono.nc
  • SE→FV intbilin mono (nonconservativeconservative, monotone, higher 1st order)
    • ./GenerateOfflineMap --in_mesh $atmgrid --out_mesh $ocngrid --ov_mesh overlap_mesh.g --in_type cgll --in_np 4  --out_type fv fv  --mono3 -mono -noconserve --correct_areas --out_map map_atm2ocn_intbilinmono.nc
  • SE→FV highorder. (conservative, nonmonotoneintbilin (nonconservative, monotone, higher order)
    • ./GenerateOfflineMap --in_mesh $atmgrid --out_mesh $ocngrid --ov_mesh overlap_mesh.g --in_type cgll --in_np 4  --out_type fv --mono3 --noconserve --correct_areas --out_map map_atm2ocn_highorderintbilin.nc
    FV→SE monotr
  • SE→FV highorder. (conservative, monotone, 1st ordernonmonotone)
    • The transpose of the SE→FV mono map: 
    • ./GenerateTransposeMap --in map_atm2ocn_mono.nc --out map_ocn2atm_monotr.nc
    FV→SE highorder (conservative, non-monotone)
    • ././GenerateOfflineMap --in_mesh $ocngrid $atmgrid --out_mesh $atmgrid $ocngrid --ov_mesh overlap_mesh.g --in_type fv cgll --in_np 2 --out_type cgll fv --outcorrect_np 4  areas --out_map map_ocn2atmatm2ocn_highorder.nc
    • Do these maps need "–correct_areas" ?
    FV→SE mono
  • FV→SE monotr (conservative, monotone, 1st order)
    • The transpose of the SE→FV mono map: 
    • ./GenerateOfflineMap GenerateTransposeMap --in _mesh $ocngrid map_atm2ocn_mono.nc --out map_mesh $atmgrid --ov_mesh overlap_mesh.g --ocn2atm_monotr.nc
  • FV→SE highorder (conservative, non-monotone)
    • ./GenerateOfflineMap --in_mesh $ocngrid --out_mesh $atmgrid --ov_mesh overlap_mesh.g --in_type fv --in_np 2 --out_type cgll --out_np 4 --out_map map_ocn2atm_monohighorder.nc
    • Do these maps need "–correct_areas" ?
  • FV→SE intbilintr  mono (nonconservativeconservative, nonmonotonemonotone, higher 1st order)
    • The transpose of the SE→FV intbilin map.  No negative weights, but weights can be larger than 1.   
    • ./GenerateTransposeMap --in map_atm2ocn_intbilin.nc --out map_ocn2atm_intbilintr.nc
  • FV→FV aave (conservative, monotone, 1st order)
    • The classic cell integrated piecewise constant map.  Equivalent to the ESMF "aave" map and NCO's built in map.  
    • ./GenerateOfflineMap --in_mesh $ocngrid --out_mesh $atmgrid --ov_mesh overlap_mesh.g --in_type fv --in_np 1 --out_type fv --out_np 1 --correct_areas  --out_map map_ocn2atm_mono.nc
  • FV→FV highorder (conservative, non-monotone, high order)
    • ./GenerateOfflineMap --in_mesh $atmgrid --out_mesh $ocngrid --ov_mesh overlap_mesh.g  --in_np 2 --in_type fv  --out_type fv  --out_np 1 --correct_areas --out_map map_atm2ocn_highorder.nc
    • --in_np 2 means all the nearest neighbor cells will be used for a higher order reconstruction of the source data, which will then be integrated over the target cell.  Unlike the SE case, no mass matrix is used for an FV target grid, and thus --out_np is ignored (and will always be 1 internally).  
    • NOTE:  Check the min/max of the weights - if the values are far outside the "[0,1]" interval, may need more coefficients for Vandermonde inverse near poles: In the TR source code, edit LinearRemapFV.cpp: nRequiredFaceSetSize = 2*nCoefficients. ./GenerateOfflineMap --in_mesh $ocngrid --out_mesh $atmgrid --ov_mesh overlap_mesh.g --in_type fv --in_np 1 --out_type cgll --out_np 4 --out_map map_ocn2atm_mono.nc
    • Do these maps need "–correct_areas" ?
  • FV→SE intbilintr  (nonconservative, nonmonotone, higher order)
    • The transpose of the SE→FV intbilin map.  No negative weights, but weights can be larger than 1.   
    • ./GenerateTransposeMap --in map_atm2ocn_intbilin.nc --out map_ocn2atm_intbilintr.nc

The Overlap Mesh

IMPORTANT!!!: MAPS grids often have holes where there are no mesh points. When computing the TempestRemap overlap grid (step 1 below), the grid with less coverage must be the "a" grid, while the global grid should be the "b" grid.   To generate the overlap grid:

...