The multigrid is constructed at the beginning in psmile_find_intersect and is based on the corners,

this way there is only one search for all the interpolations for one coupled (epioS,epioT).

It is stored in Grids(grid_id)%mg_infos.

When the interpolation is not conservative, a new grid (the method grid) has to be created from the points of the grid.

Reglonlat and irrlonlat are treated the same ???? see psmile_srch_coords_reg_21d_dble

When the application is parallel, it is necessary to have the neighbour points to the point on the partition,

located on hte other processes. This is what is called halos below.

For a gaussian reduced source grid, the connectivity (face) is calculated in psmile_gauss_get_neighbours

and the halos are calculated in psmile_gauss_setup_dble . The method grid is finally constructed in

psmile_mg_method_gauss2_dble (chmin1,chmin2, chmax1,chmax2)

For other source grid type (reglonlat and irrlonlat), there is no connectivity calculated as it is supposed to be

given implicitly : from (i,j), next point is (i+1,j) or (i,j+1) ...

The new grid (is the method grid), based on the coordinates, is calculated in psmile_bbcells_2d_dble.

The halos are calculated in prism_enddef for irrlonlatregvrt grids (not yet done for reglonlatregvrt grid) and

the new grid based on this halos is calculated in psmile_bbcells_virt_2d_dble.

Then there is a special treatment of the pole in psmile_bbcells_pole_dble : the cells found near the poles

(in psmile_set_corners_3D) are rotate to the equator to calculate the midpoints and the cells are extended

until +/- 90°

The method grid is then constructed in psmile_mg_method_2d_dble and the start point is found.