Ignore:
Timestamp:
Feb 29, 2012 3:16:21 PM (12 years ago)
Author:
gryschka
Message:

Redefiend first u-level (k=0) in ocean in case of bc_uv_b='dirichlet'

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/init_grid.f90

    r819 r843  
    44! Current revisions:
    55! -----------------
    6 !
     6! gryschka
     7! In case of ocean and dirichlet bc for u and v at the bottom
     8! the first u-level ist defined at same height as the first w-level
    79!
    810! Former revisions:
     
    135137!
    136138!--    Grid for atmosphere with surface at z=0 (k=0, w-grid).
    137 !--    The first u-level above the surface corresponds to the top of the
     139!--    The second u-level (k=1) corresponds to the top of the
    138140!--    Prandtl-layer.
    139141
     
    159161!
    160162!--    Compute the w-levels. They are always staggered half-way between the
    161 !--    corresponding u-levels. The top w-level is extrapolated linearly.
     163!--    corresponding u-levels. In case of dirichlet bc for u and v at the
     164!--    ground the first u- and w-level (k=0) are defined at same height (z=0).
     165!--    The top w-level is extrapolated linearly.
    162166       zw(0) = 0.0
    163167       DO  k = 1, nzt
     
    168172    ELSE
    169173!
    170 !--    Grid for ocean with solid surface at z=0 (k=0, w-grid). The free water
    171 !--    surface is at k=nzt (w-grid).
    172 !--    Since the w-level lies always on the surface, the first/last u-level
    173 !--    (staggered!) lies below the bottom surface / above the free surface.
    174 !--    It is used for "mirror" boundary condition.
    175 !--    The first u-level above the bottom surface corresponds to the top of the
    176 !--    Prandtl-layer.
     174!--    Grid for ocean with free water surface is at k=nzt (w-grid).
     175!--    In case of neumann bc at the ground the first first u-level (k=0) lies
     176!--    below the first w-level (k=0). In case of dirichlet bc the first u- and
     177!--    w-level are defined at same height, but staggered from the second level.
     178!--    The second u-level (k=1) corresponds to the top of the Prandtl-layer.
    177179       zu(nzt+1) =   dz * 0.5
    178180       zu(nzt)   = - dz * 0.5
     
    192194!
    193195!--    Compute the w-levels. They are always staggered half-way between the
    194 !--    corresponding u-levels.
    195 !--    The top w-level (nzt+1) is not used but set for consistency, since
    196 !--    w and all scalar variables are defined up tp nzt+1.
     196!--    corresponding u-levels, except in case of dirichlet bc for u and v
     197!--    at the ground. In this case the first u- and w-level are defined at
     198!--    same height. The top w-level (nzt+1) is not used but set for
     199!--    consistency, since w and all scalar variables are defined up tp nzt+1.
    197200       zw(nzt+1) = dz
    198201       zw(nzt)   = 0.0
     
    200203          zw(k) = ( zu(k) + zu(k+1) ) * 0.5
    201204       ENDDO
     205
     206!
     207!--    In case of dirichlet bc for u and v the first u- and w-level are defined
     208!--    at same height.
     209       IF ( ibc_uv_b == 0 ) THEN
     210          zu(0) = zw(0)
     211       ENDIF
    202212
    203213    ENDIF
Note: See TracChangeset for help on using the changeset viewer.