Versions Compared

Key

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

...

Update to TR options 2020/2/21:  to fix precision issues, with row sums and conservation errors not close to machine precision at high resolution meshes, added the "–correct_areas" option to the recommendations.  

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

  • 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 (conservative, monotone, 1st order)
    • ./GenerateOfflineMap --in_mesh $atmgrid --out_mesh $atmgrid2 --ov_mesh overlap_mesh.g --in_type cgll --in_np 4  --out_type cgll --out_np 4 --mono --correct_areas --out_map map_atmgrid_to_atmgrid2_mono.nc
  • SE→FV mono (conservative, monotone, 1st order)
    • ./GenerateOfflineMap --in_mesh $atmgrid --out_mesh $ocngrid --ov_mesh overlap_mesh.g --in_type cgll --in_np 4  --out_type fv  --mono --correct_areas --out_map map_atm2ocn_mono.nc
  • SE→FV intbilin (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_intbilin.nc
  • SE→FV highorder. (conservative, nonmonotone)
    • ./GenerateOfflineMap --in_mesh $atmgrid --out_mesh $ocngrid --ov_mesh overlap_mesh.g --in_type cgll --in_np 4  --out_type fv --correct_areas --out_map map_atm2ocn_highorder.nc
  • FV→SE monotr (conservative, monotone, 1st order)
    • 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 --out_mesh $atmgrid --ov_mesh overlap_mesh.g --in_type fv --in_np 2 --out_type cgll --out_np 4  --out_map map_ocn2atm_highorder.nc
    • Do these maps need "–correct_areas" ?
  • FV→SE mono (conservative, monotone, 1st order)
    • ./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
  • 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. 

...