Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Document issues with our mapping file generation tool chain at high resolution.

Analysis Mapping files

Mapping files are needed for remapping native grid output to lat/lon grids for conventional analysis tools. Often exact conservation is not required making TR’s integrated bilinear a good option: it’s accurate, has built in downscaling and is monotone so it wont introduce spurious oscillations making it good for plotting.

SE GLL to SE GLL

These mapping files are mostly used to generate initial conditions. Remapping the cam.i file from a spunup NE30 simulation will generate a reasonably well spunup initial condition file for higher resolutions.

  • TR “mono”

    • ne30np4 → ne256np4

      • NaNs in weights.

      • issue: ncks --chk_map and AnalyzeMap ignore NaNs when computing weight min/max.

      • issue: AnalyzeMap ignores NaNs when computing row sum

      • Status: NOT USABLE

    • ne30np4->ne512np4

      • NaNs in weights.

      • Status: NOT USABLE

  • MBTR “mono”

    • MBtempest currently crashes for SE → SE maps. Possible fix 2020/1/10, need to retest.

    • Status: NOT USABLE

  • ESMF “bilin”

    • ne30np4->ne256np4

      • weights between [0,1]. row sums are perfect. mapping file frac_a=0 (BUG?), but frac_b=1

      • ncks --chk_map col sums “frac_a” min/max=0. (perhaps because file’s frac_a=0?)

      • Status: GOOD

    • ne120np4->ne1024np4

      • 10M out of 120M weights are bad, >> 1.0. max row sum = 5.0

      • Status: NOT USABLE

  • ESMF “aave”

    1. We dont consider these maps. We are trying to move away from these maps since they require the “dual grid”, which is difficult to produce and unnatural for GLL grids.

MPAS → pg2 grids

We expect SCREAM will ultimately be running on the ne1024pg2 “phys grid”. To create these compsets, we first need to create a domain file which needs the monotone map from the MPAS ocean grid to the pg2 grid.

Note that these maps are FV to FV maps and thus avoid the issue of having to construct GLL dual grids even for ESMF maps.

Note2: these maps have a “mask_a,mask_b” and “frac_a,frac_b” variables. It appears “mask” is used to mask out point not used by that component model, so mask=1 for all points on both grids. The MPAS grid has frac_a=1 for all points, but as it does not cover the whole globe, on the atmosphere grid face_b ranges from 0..1.

  • TR “mono”

    • oRRS18to6 → ne256pg2

      • takes about 7h to produce (single processor)

      • Weights are good. Row sums are bad (1.2e-6) Column sum error 1.1e-6

      • Status: usable for development. NOT USABLE FOR PRODUCTION

  • MBTR “mono”

    • oRRS18to6 → ne256pg2

    • Weights are good, but 316 MPAS grid points have weight=0. This is incorrect and corrupts other diagnostics.

    • Status: NOT USABLE

  • ESMF “aave”

    • oRRS18to6 → ne256pg2

      • weights are good. row sum error 1e-11. Conservation error 1.5e-11

      • Status: GOOD

    • oRRS18to6 → ne512pg2

      • weights are good. row sum error 1e-11. conservation error 1e-11

      • Status: GOOD

    • oRRS18to6 → ne1024pg2

      • weights are bad: max 2.6

      • issue: ncks --chk_map row sum error 3e-11 ( so not seeing the 2.6 weight - it’s probably in a region with frac_a or face_b << 1)

      • AnalyzeMap reports rowsum = 3 (consistent with 2.6 weight)

      • ncks --chk_map conservation error: 3.1e-11

      • AnalyzeMap:

      • Status: NOT USABLE

Outstanding issues

  • TR mono maps have large loss of precision. can be used for development, but not acceptable long term

  • MBTR maps have bugs (missing source points) and similar loss of precision as TR

  • ESMF “aave” and “bilin” maps are good up ot ne512pg2, but both produce too large weights with ne1024pg2

  • AnalyzeMap

    • for MPAS->SE map, row sum calculation reports large errors, probably because it does not mask with frac_b?

    • add min/max of frac_a, frac_b to output

    • check for NaNs when printing min/max

  • ncks --chk_map

    • add min/max of frac_a, frac_b to output

    • check of NaNs when printing min/max

  • No labels