ExtrudedSigmaLevels Subroutine

public subroutine ExtrudedSigmaLevels(h, sigma, zLevels)

Fills the level heights for ExtrudedMesh with terrain-following (sigma) levels,

z_k = sigma_k h , k = 0..nz ,

at every geometry node, so z_0 = -h and z_nz = 0. This is ExtrudedHybridLevels with no flat interfaces. The levels are continuous across lateral faces when h is (see ExtrudedHybridLevels).

Input - h(1:nGeo+1,1:nGeo+1,1:nElem2D) : Water depth at the surface geometry nodes, in the length unit of the mesh, h > 0 - sigma(0:nz) : nz >= 1, sigma(0) = -1, sigma(nz) = 0, strictly increasing

Output - zLevels(1:nGeo+1,1:nGeo+1,0:nz,1:nElem2D) : Level heights

Arguments

TypeIntentOptionalAttributesName
real(kind=prec), intent(in) :: h(1:,1:,1:)
real(kind=prec), intent(in) :: sigma(0:)
real(kind=prec), intent(out) :: zLevels(1:,1:,0:,1:)

Calls

proc~~extrudedsigmalevels~~CallsGraph proc~extrudedsigmalevels ExtrudedSigmaLevels proc~extrudedhybridlevels ExtrudedHybridLevels proc~extrudedsigmalevels->proc~extrudedhybridlevels

Contents

Source Code


Source Code

  subroutine ExtrudedSigmaLevels(h,sigma,zLevels)
  !! Fills the level heights for ExtrudedMesh with terrain-following (sigma) levels,
  !!
  !!   z_k = sigma_k h ,  k = 0..nz ,
  !!
  !! at every geometry node, so z_0 = -h and z_nz = 0. This is ExtrudedHybridLevels with
  !! no flat interfaces. The levels are continuous across lateral faces when h is (see
  !! ExtrudedHybridLevels).
  !!
  !!  Input
  !!    - h(1:nGeo+1,1:nGeo+1,1:nElem2D) : Water depth at the surface geometry nodes, in
  !!      the length unit of the mesh, h > 0
  !!    - sigma(0:nz) : nz >= 1, sigma(0) = -1, sigma(nz) = 0, strictly increasing
  !!
  !!  Output
  !!    - zLevels(1:nGeo+1,1:nGeo+1,0:nz,1:nElem2D) : Level heights
    implicit none
    real(prec),intent(in) :: h(1:,1:,1:)
    real(prec),intent(in) :: sigma(0:)
    real(prec),intent(out) :: zLevels(1:,1:,0:,1:)
    ! Local
    real(prec) :: noDepths(1:0)

    call ExtrudedHybridLevels(h,noDepths,sigma,zLevels)

  endsubroutine ExtrudedSigmaLevels