atlas
atlas copied to clipboard
A library for numerical weather prediction and climate modelling
* Add FieldSet functions for device memory management via Field * Add support for the copy-on-device of discontiguous host memory * Add support for MultiField on the device
During PR #218, I found myself writing two nested switch statements in order to create an `ArrayView` from an `Array`. I've found myself writing this same pattern multiple times throughout...
This is the last of this batch of PRs that refactors the `SphericalVector` interpolation method. Here we've used `std::visit` on `ArrayViewVariant` to resolve the rank and type of the arrays...
Whilst integrating `util::pack_vector_fields` into the `SphericalVector` interpolation method, I uncovered a bug in `StructuredColumns`. The methods `fixup_halos` and `halo_exchange.execute_adjoint` were called in the wrong order during a halo exchange adjoint....
Hi @wdeconinck This is part of issue #217. Here we've integrated the helper method from PR #218 into the `SphericalVector` interpolation method. Another `CASE` has been added to the interpolation...
This PR refactors `util::pack_vector_fields` to use `std::variant` with `std::visit`, as opposed to nested `switch` statements to resolve the possible `Value` types and `Rank` values for different arrays. I also found...
### 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...