MeteoSwiss-APN / dawn

Compiler toolchain to enable generation of high-level DSLs for geophysical fluid dynamics models
MIT License
28 stars 30 forks source link

Unstructured masked dimensions #414

Open lukasm91 opened 4 years ago

lukasm91 commented 4 years ago

Masked dimensions should also be supported in unstructured grids (we can have pure horizontal or pure vertical fields). --> Figure out how this can be done in atlas and adapt one of the atlas prototype examples showing how this can be done

Stagno commented 4 years ago

blocked by https://github.com/MeteoSwiss-APN/dawn/issues/415 maybe?

lukasm91 commented 4 years ago

only related. My idea was that we just figure out first how we would do it in the prototype, then present it in the review (such that all of us learn something about atlas), and then put it into code generation later. So this would be two preparatory tasks.

cosunae commented 4 years ago

so this would be only about the code generation, i.e construct Atlas fields that have 1 dimension only, and not the mask of the Field of dawn, did I get it right?

lukasm91 commented 4 years ago

So I think to support masked dimension, we need:

  1. Split (cartesian) horizontal and vertical masked dimensions in dawn (#415)
  2. Figure out how we can support masked dimensions in generated code. In order to do that, we can first just adapt a prototype. This does not require a change in the dawn repository. (this task)
  3. Integrate the findings of (2) in dawn code generator
  4. Add unstructured horizontal masked dimensions in dawn

With these four steps, we should have masked dimensions support in dawn. For point (3) and (4), there are no tasks yet, but from previous experience these tasks are usually good candidates for independent reasonably sized tasks.