CF Mesh Coordinates Proposal

CF Mesh Coordinates Proposal

Presentation for June 10 CF Conventions meeting.

I won't be attending in person due to the #ShutdownSTEM #Strike4BlackLives: https://www.shutdownstem.com/

654d48d6c1c10c50c160954ba31207a2?s=128

Ryan Abernathey

June 10, 2020
Tweet

Transcript

  1. CF Conventions Meeting:
 Mesh Coordinate Discussion Ryan Abernathey rpa@ldeo.columbia.edu

  2. None
  3. Finite Volume Model Grids https://mitgcm.readthedocs.io/en/latest/algorithm/horiz-grid.html 90% of modern ocean models:

    • Orthogonal curvilinear grid with quad cells • Cells are contiguous • Variables are located at different points on the cells (e.g. center, corner, face)
  4. Model Internal Representation • Represent data as 2[+] dimensional arrays,

    i.e. thetao[time, depth, j, i] where 
 i and j are logical dimensions • Represent cell center coordinates as
 lon[j, i], lat[j, i] • Represent cell vertex coordinates 
 lon[jm, im], lat[jm, im]
 The size of these arrays is usually just 1 element longer in each dimension
 (or can be the same e.g. for periodic domains)

  5. Current CF Recommendation • Use “Cell Boundaries” convention:
 http://cfconventions.org/cf-conventions/cf- conventions.html#cell-boundaries

    • Requires four bounds for each cell:
 lon[j, i, nbound]

  6. “Cell boundaries” works,
 but is not ideal. • Obscures the

    geometry of the mesh and does not take advantage of the inherent contiguity of the cells • It requires data providers to take an extra step to generate cell boundaries (many don’t and simply ignore CF conventions) • It requires visualization software to decode boundaries back to contiguous mesh (possible errors / inconsistencies here) • It’s a waste of memory

  7. Example: Modern Ocean Model • i=12960, j=17280; 223 million cells

    • Native mesh representation of coords: 896 MB • “Cell boundaries” representation: 3.6 GB Torres et al. (2019); https://doi.org/10.1029/2018JC014438
  8. Proposal • Let’s find some way to officially support the

    representation of native mesh coordinates in CF. • While we’re at it, can we also deal with concepts such as “cell center variable,” “cell face variable,” etc.? • None of this needs replace the existing “cell boundaries” convention.
  9. SGRID • “SGRID conventions to define the core aspects of

    a structured staggered grid without trying to capture the details of finite element formulations” http://sgrid.github.io/sgrid/ • Many of the technical issues have been thought through already. • Can CF formally incorporate / reference SGRID?
  10. None
  11. Discussion Questions • Does SGRID fully meet our needs? •

    What is the governance of SGRID? How can the community propose changes / updates? • How do we describe periodic (i.e. “wraparound”) dimensions? Does this matter? • What about cubed-sphere type multi-faceted grids?