A new meshing approach for realistic domains.
This code generates boundary representations with element identifications from arbitrary geophysical fields. It was originally used mask to generate a boundary along the coastlines and grounding line* (which is not positioned at a constant depth). The code is easily applied to boundaries along depth contours and to work with other NetCDF sources.
The new approach uses contouring routines (as opposed to the GSHHS Gmsh plugin, or a GMT approach). It would be useful to test this new code on a wide range of regions - particularly to check the contouring routines are behaving satisfactorily. It works very well in the Antarctic region (including the region inside ice shelf cavities).
Geophysical model domains typically contain irregular, complex fractal-like boundaries and physical processes that act over a wide range of scales. Constructing geographically constrained boundary-conforming spatial discretisations of these domains with flexible use of anisotropic, fully unstructured meshes is a challenge. The problem contains a wide range of scales and a relatively large, heterogeneous constraint parameter space. Approaches are commonly ad hoc, model or application specific and insufficiently described. Development of new spatial domains is frequently time-consuming, hard to repeat, error prone and difficult to ensure consistent due to the significant human input required. As a consequence, it is difficult to reproduce simulations, ensure a provenance in model data handling and initialisation, and a challenge to conduct model intercomparisons rigorously. Moreover, for flexible unstructured meshes, there is additionally a greater potential for inconsistencies in model initialisation and forcing parameters. This library introduces a consistent approach to unstructured mesh generation for geophysical models, that is automated, quick-to-draft and repeat, and provides a rigorous and robust approach that is consistent to the source data throughout. The approach is enabling further new research in complex multi-scale domains, difficult or not possible to achieve with existing methods.
The dependencies are all Python modules (e.g. GMT is not required).
The features include:
- Generate boundary representation from raw raster input (e.g. a NetCDF data file),
- Regions defined by arbitrary functions of longitude and latitude (given on the command line),
- Simpler definition of regions by boxes (such as 'longmin:longmax,latmin:longmax'),
- Define included paths by Gmsh ID number (useful to include or exclude specific islands/land masses),
- Deals with multiple open boundaries,
- Islands and boundaries split by the global boundary are treated,
- Automatically closes boundaries with parallels and meridians (with a prescribed length step),
- Applies different boundary IDs on open and closed boundaries,
- Exclude smaller islands - restricted by a given minimum area,
- Option to extend domain in latitude on open boundaries (e.g. for sponge regions, or large open regions in the open ocean),
- Command line used is saved in the Gmsh .geo file for reference,
- Projection type (e.g. options to generate a mesh to UTM coordinates,
- Option to generate the ACC average track line (and then to refine the mesh to this).
- Ice shelf inclusion options
Shingle 2.0: generalising self-consistent and automated domain discretisation for multi-scale geophysical models - https://arxiv.org/abs/1703.08504
A consistent approach to unstructured mesh generation for geophysical models - https://arxiv.org/abs/1703.08491
No comments:
Post a Comment