[x] Renaming write_halo -> halo_to_loc (halo field values exchanged with += to local fields; short: htl)
[x] Remove the check if it has lth or htl exchanges; always get these infos!
[x] [MPIDataHandler] Generic function exchange_loc_to_halo!(data_handler, fields) with also the method exchange_loc_to_halo!(data_handler) which gets the fields from the loc_to_halo_fields(storage) function
[x] [ThreadsDataHandler] Generic function exchange_loc_to_halo!(data_handler, fields) with also the method exchange_loc_to_halo!(data_handler) which gets the fields from the loc_to_halo_fields(storage) function
[x] [MPIDataHandler] Generic function exchange_halo_to_loc!(data_handler, fields) with also the method exchange_halo_to_loc!(data_handler) which gets the fields from the halo_to_loc_fields(storage) function
[x] [ThreadsDataHandler] Generic function exchange_halo_to_loc!(data_handler, fields) with also the method exchange_halo_to_loc!(data_handler) which gets the fields from the halo_to_loc_fields(storage) function
[x] Add a generic buffer which gets buffers if a field is a halo field (maybe checked with is_halo_field)
The current implementation of the halo functions is too limited. For the implementation of thermal models or surface correction, functions like
would be very helpful.
read_halo
->loc_to_halo
(local values exchanged to halo fields; short:lth
)write_halo
->halo_to_loc
(halo field values exchanged with+=
to local fields; short:htl
)lth
orhtl
exchanges; always get these infos!exchange_loc_to_halo!(data_handler, fields)
with also the methodexchange_loc_to_halo!(data_handler)
which gets the fields from theloc_to_halo_fields(storage)
functionexchange_loc_to_halo!(data_handler, fields)
with also the methodexchange_loc_to_halo!(data_handler)
which gets the fields from theloc_to_halo_fields(storage)
functionexchange_halo_to_loc!(data_handler, fields)
with also the methodexchange_halo_to_loc!(data_handler)
which gets the fields from thehalo_to_loc_fields(storage)
functionexchange_halo_to_loc!(data_handler, fields)
with also the methodexchange_halo_to_loc!(data_handler)
which gets the fields from thehalo_to_loc_fields(storage)
functionis_halo_field
)