Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Allow vector interpolation methods to pack and unpack vector fields. #217

Closed
odlomax opened this issue Aug 9, 2024 · 1 comment
Closed

Comments

@odlomax
Copy link
Contributor

odlomax commented Aug 9, 2024

Is your feature request related to a problem? Please describe.

Vector field components in NWP systems are often stored as pseudo-scalar fields. It would be useful if vector-based interpolation methods (e.g., "spherical-vector") could pack these components into higher rank vector fields, then unpack them before returning from the execute operation.

Describe the solution you'd like

Ideally, I think there should be a configurable tool that can do the packing and unpacking. This could live in the atlas::util namespace. It could then be used by the interpolation method implementation. Configuration could be supplied via either:

  • The configuration given to the Interpolation constructor.
  • The source or target field set metadata at the execute stage.

Of the two options, I think the first is cleaner.

Edit: I've found a neat solution by setting "vector field name" metadata in the component fields. See #218.

Describe alternatives you've considered

This could be implemented outside of Atlas, as an interpolation pre- and post-processing step. However, it does require some knowledge of Atlas arcana in order to properly handle the field data structures. I imagine there are also others who could benefit from this functionality.

Additional context

No response

Organisation

Met Office

@odlomax
Copy link
Contributor Author

odlomax commented Oct 15, 2024

All PRs merged. Closing this issue.

@odlomax odlomax closed this as completed Oct 15, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant