Skip to content

Add an example for --netcdf-dem-mesh-unstructured (Elmer/Ice XIOS output) #196

Closed

Description

@BenjaminRodenberg

EBFM can read the surface elevation and ice thickness of an Elmer mesh from Elmer/Ice output written by XIOS (--elmer-mesh ... --netcdf-dem-mesh-unstructured FILE, added in #12). The repository has no example file for this option.

Motivation: an example file is needed for

  • documentation: a runnable example of the option in examples/README.md,
  • testing: the option is not covered by any test, and an example is required to make it work in runs on several MPI ranks (see below),
  • specification: there is no description of what an XIOS file must contain for EBFM (variables, dimensions, order of the values). The example defines it.

Proposal: add an XIOS output file for the existing Elmer mesh examples/greenland_mesh_v0/MESH (195170 nodes, 372241 elements), e.g. as examples/greenland_mesh_v0/xios_dem.nc (Git LFS, with a .license file), and describe in examples/README.md how it was produced (Elmer/Ice setup, XIOS configuration).

Open questions about the file:

  • In which order are the per-vertex values zs and h stored: by Elmer node id, in the order of mesh.nodes, or otherwise?
  • Does the file contain the node ids?
  • Is it written for the whole mesh even when Elmer/Ice runs on several MPI ranks?

Why this matters for parallel runs: on several MPI ranks, EBFM splits the mesh, so each rank has to find its own vertices in the file. EBFM currently looks them up by their position in the whole mesh, which a rank does not know, and therefore rejects --netcdf-dem-mesh-unstructured in runs on several ranks. If the values are stored by node id, EBFM can read them by node id instead (zs[vertex_ids - 1]), and the example becomes the test for it.

This issue was drafted with the help of AI tools (Claude Code, claude-opus-5-5).

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationusabilityImproves the user experience

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions