Halos
De LMDZPedia
Révision de 4 novembre 2021 à 08:30 par Emillour (discussion | contributions)
Warning: Quite technical stuff here!!!
In the dynamics, the MPI/OpenMP assigned domains to a each core can be hard to keep up with... especially as it also depends on the grid (scalar, U, V) a given variable is
Some nomenclature:
- ijb_u => "ij": linear index (horizontal grid) "b": begin (i.e. index at which the domain starts) "_u": U grid
- ije_u => "ij": linear index (horizontal grid) "e": end (i.e. index at which the domain ends) "_u": U grid
- ijb_v => "ij": linear index (horizontal grid) "b": begin (i.e. index at which the domain starts) "_v": V grid
- ije_v => "ij": linear index (horizontal grid) "e": end (i.e. index at which the domain ends) "_v": V grid
These boundaries include halos (i.e. neighboring values at the junction with adjacent domains), whereas the ij_begin and ij_end don't (see parallel_lmdz.F90).
Scalars, which are not technically on the U grid, but on a grid with identical dimensions, are indexed as if they were on the U grid.
The Register_SwapField routines copy the inner boundary values of a domain to propagate them to the other domains and fill their respective halos.
04/11/2021