Versions Compared

Key

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

...

  1. TempestRemap: Create GLL, pg2, and pg4 grids. pg2 is our target. pg4 is a high-resolution intermediate grid.

    Code Block
    languagetext
    # Generate the element mesh.
    ${tempest_root}/bin/GenerateCSMesh --alt --res 30 --file topo2/ne30.g
    # Generate the target physgrid mesh.
    ${tempest_root}/bin/GenerateVolumetricMesh --in topo2/ne30.g --out topo2/ne30pg2.g --np 2 --uniform
    # Generate a high-res target physgrid mesh for cube_to_target.
    ${tempest_root}/bin/GenerateVolumetricMesh --in topo2/ne30.g --out topo2/ne30pg4.g --np 4 --uniform
    # Generate SCRIP files for cube_to_target.
    ${tempest_root}/bin/ConvertExodusToSCRIP --in topo2/ne30pg4.g --out topo2/ne30pg4_scrip.nc
    ${tempest_root}/bin/ConvertExodusToSCRIP --in topo2/ne30pg2.g --out topo2/ne30pg2_scrip.nc


  2. cube_to_target, run 1: Compute phi_s on the pg4 grid.

    Code Block
    languagetext
    ${e3sm_root}/components/cam/tools/topo_tool/cube_to_target \
      --target-grid topo2/ne30pg4_scrip.nc \
      --input-topography topo2/USGS-topo-cube3000.nc \
      --output-topography topo2/ne30pg4_c2t_topo.nc

    These warnings appear to be innocuous:

    Code Block
    languagetext
    sum of weights is negative - negative area? -1.8651290104823655E-009 675 3000


  3. homme_tool: Map phi_s on the pg4 grid to phi_s on the GLL grid. Smooth these GLL phi_s data. Finally, map these GLL phi_s data to pg2.

    Code Block
    languagetext
    $ cat input.nl
    &ctl_nl
    ne = 30
    smooth_phis_numcycle = 16
    smooth_phis_nudt = 28e7
    hypervis_scaling = 0 
    hypervis_order = 2
    se_ftype = 2 ! actually output NPHYS; overloaded use of ftype
    /
    &vert_nl
    /
    &analysis_nl
    tool = 'topo_pgn_to_smoothed'
    infilenames = 'ne30pg4_c2t_topo.nc', 'ne30np4pg2_smoothed_phis'
    /
    
    mpirun -np 8 ./homme_tool < input.nl

    Note that for RRM grids, mesh_file will need to be specified in the ctl_nl section as well, and ne should be set to 0.

  4. cube_to_target, run 2: Compute SGH, SGH30, LANDFRAC, and LANDM_COSLAT on the pg2 grid, using the pg2 phi_s data.

    Code Block
    languagetext
    ${e3sm_root}/components/cam/tools/topo_tool/cube_to_target \
      --target-grid ne30pg2_scrip.nc \
      --input-topography USGS-topo-cube3000.nc \
      --smoothed-topography ne30np4pg2_smoothed_phis1.nc \
      --output-topography USGS-gtopo30_ne30np4pg2_16xdel2.nc


  5. ncks: Append the GLL phi_s data to the output of step 4.

    Code Block
    languagetext
    ncks -A ne30np4pg2_smoothed_phis1.nc USGS-gtopo30_ne30np4pg2_16xdel2.nc


...

Regionally refined grids require no special steps when using the physgrid because the regional refinement happens at the element level, and the physgrid only changes the physics column arrangement within the element.  Note however that the input namelist for homme_tool will need to specify ne = 0 and mesh_file for RRM grids.

Steps to Interpolate Between Grids

...