equidistant and zoomed sigma-coordinates

INTERFACE:

    subroutine sigma_coordinates(first)
DESCRIPTION:

Here, the sigma coordinates layer distribution in T-, U- and V-points is calculated. The layer interfaces for each layer index have a fixed relative position $\sigma_k$ in the water column, which may be even equidistant or non-equidistant, see equations (14) and (16). The surface and bottom zooming factors $d_u$ and $d_l$ are read in via the domain namelist in getm.inp as ddu and ddl. In the first call to the sigma_coordinates, the relative interface positions dga are calculated as a one-dimensional vector (in case of non-equidistant $\sigma $ coordinates), and those are then multiplied with the water depths in all T-, U- and V-points to get the layer thicknesses. USES:

    use domain, only: imin,imax,jmin,jmax,kmax,H,HU,HV
    use domain, only: ga,ddu,ddl
    use variables_3d, only: kmin,kumin,kvmin,ho,hn,huo,hun,hvo,hvn
    use variables_3d, only: sseo,ssen,ssuo,ssun,ssvo,ssvn
    IMPLICIT NONE
INPUT PARAMETERS:
    logical, intent(in)                  :: first
REVISION HISTORY:
    Original author(s): Hans Burchard & Karsten Bolding
LOCAL VARIABLES:
    integer          :: i,j,k,rc
    REALTYPE         :: kmaxm1
    logical, save    :: equiv_sigma=.false.
    REALTYPE, save, dimension(:), allocatable  :: dga