Section on ndArray

Coupler library is build on the concept of exchanging 4D uniform grids of data. As a result, the first requirement is to setup a 4D array of data based on the number of cells on a given processes.

The most useful form of CPL_ndArray is a 4D array, that is a dimensionality (i.e. 3 for a vector, 9 for a stress tensor, 100 for a timeseries) and then the three physical dimensions in space, ordered as nd, icell, jcell, kcell. CPL_ndArray has a range of helper functions which mirror numpy or Fortran style arrays.