NCAR / DART

Data Assimilation Research Testbed
https://dart.ucar.edu/
Apache License 2.0
184 stars 138 forks source link

Feature request: Develop Aether cube sphere interface #665

Open johnsonbk opened 2 months ago

johnsonbk commented 2 months ago

Use case

Collaboration with Aaron Ridley (U Mich) requires development of an interface to the Aether upper atmosphere model. The Aether lat-lon grid interface was merged in pull request #635. The cube sphere version should also be tested and merged.

Describe your preferred solution

The cube sphere presents an uncommon grid topology because the spaces in between grid centers are not all logically rectangular. There are 8 cube vertices that are enclosed by a triangle of grid centers. The remaining grid sectors are enclosed by quadrilaterals.

The interface should be able to determine if an observation lies within a triangle at one of the cube vertices, and if so, use barycentric interpolation. Otherwise, if an observation lies within a quadrilateral, quad_bilinear_interp from the quad_utils mod should be used.

In order to implement this solution, an additional program should be included that creates a geometry file for the cube sphere grid that allows the model_mod to look up whether an observation is contained within a triangle or a quadrilateral.

Describe any alternatives you have considered

It would be possible to copy procedures from the CAM-SE model mod, however, there are two shortcomings to this approach:

  1. The CAM-SE model mod predates the quad_utils mod, so using procedures from CAM-SE would forgo the capabilities of the quad_utils mod.
  2. The CAM-SE model mod shares a lot of common code with the CAM-FV model mod, much of which is not pertinent to Aether.