Explanation of Cell-Centered data when using NumPy Arrays in PyTecplot

Problem:

When reading data of ordered zones in PyTecplot, cell-centered data array lengths do not match the shape of the zone. A cell-centered variable with a 9,9,9 shape has a length of 900.

Solution:

This is to be expected. In Tecplot 360, for nodal ordered data, the number of nodes is the product of the I-, J-, and K-dimensions. For nodal data, the number of stored values is equal to IMAX * JMAX * KMAX. For cell-centered data, the number of stored values is (IMAX-1)(JMAX-1)(KMAX-1).

However, when cell-centered data arrays are created, the first two dimensions are kept the same size as nodal data in the background and the final dimension is as expected with cell-centered data (IMAX)(JMAX)(KMAX-1). This is what causes the inconsistency with the variable array lengths. The extra values are entered as zeros.

The same structure holds for 2D ordered blocks with nodal data, where data.shape=(ni,nj), but len(data)=(ni+1)*nj, values for cells (ni+1,j) equal to 0.

See the Tecplot Data Format Guide for more information.