| POSEIDON_TYPES_MODULE | Types |
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 |