The variable P is the Mass within the water column minus the depth of the ocean (If the ocean were homogeneous and the surface pressure were flat, P would be constant.) Hr, Hur and Hvr are kept for convenience.
We now allow the external mode to be computed on a C-grid even if the internal mode is on the B-grid. The Layout variable is similar to that in T_Poseidon_grid and may take on the same values. If it is 0 then it defaults to the same layout as the grid (You can now see that the layout is not really a property of the grid, but rather of the ocean object itself, and we should move it).
|LOGICAL :: created||Has this object been allocated?|
|LOGICAL :: initialized||Has this object been initialized?|
|INTEGER :: Layout||External mode grid layout may differ from g%Layout|
|TYPE T_POSEIDON_GRID,POINTER :: g||Poseidon grid object|
|REAL,POINTER :: p(:,:)||Mass - Depth (dyn m)|
|REAL,POINTER :: u(:,:)||x- velocity (m/s)|
|REAL,POINTER :: v(:,:)||y- velocity (m/s)|
|REAL,POINTER :: usb(:,:)||Mass fluxes on C-grid|
|REAL,POINTER :: vsb(:,:)||Mass fluxes on C-grid|
|REAL,POINTER :: uave(:,:)||time averaged velocity|
|REAL,POINTER :: vave(:,:)||time averaged velocity|
|REAL,POINTER :: ave_alpha(:,:)||Vertical average value of specific volume anomaly|
|TYPE T_STATE,POINTER :: state||State object with which this external mode is associated|
|End Type T_External_Mode|