Bill sent a schematic of the vertical gridding used in POP.  This gridding is also used in MOM.  The main point is that interface variables, such as vertical diffusivity, have a k-label corresponding to the bottom interface of a k-cell.  

This convention for labeling vertical interface arrays is not unique.  The alternative convention is to have interface arrays labeled k correspond to the top interface of a k-cell.  It turns out that this alternative convention is followed by the GOLD isopycnal model.  It is also the convention that MOM will transition to using.

I therefore recommend that all interface arrays be dimensioned array(1:nk+1).  Doing so will allow for either the POP or new-MOM conventions to be more readily used.  Diffusivities at the top of the top cell and the bottom of the bottom cell will be zero, so we will be wasting some memory.  But the translation between the two conventions will be facilitated by this dimensioning convention.  

Steve  

  • No labels

1 Comment

  1. https://wiki.ucar.edu/display/vmix/Vertical+Mixing+ProjectxThe foll
    Hi,

    The following comment, slightly edited by me, was offered by Alistair Adcroft in regards to his recommendations for how interface arrays should be dimensioned.

    Concerning the size of arrays:

    1/ The simplest argument for using nlevs+1 interfaces is that it avoids any ambiguity of where the data resides. Interface arrays of size nlevs could start at either the top or bottom of the first level and, despite documentation, the ambiguity will "getcha" one day. 

    2/ It doesn't matter so much whether interface arrays are dimensioned as 0:nlevs or 1:nlevs+1; there is only one way the data could be laid out relative to the tracer arrays that are declared 1:nlevs. The reason to recommend 1:nlevs+1 is that it simplifies a lot of the declarations and argument passing in Fortran.  

    I think these are sensible arguments.  I thus propose we incorporate this convention for the CVMix modules.  

    This is an important decision that will impact on how CVMix code is used by MOM, POP, and MPAS-ocean.  So please raise your voice if you feel otherwise.  

    Steve