Ignore:
Timestamp:
Mar 8, 2007 1:57:07 PM (17 years ago)
Author:
raasch
Message:

further checkin of preliminary changes

File:
1 edited

Legend:

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

    r53 r56  
    2828! Diffusion term of the w-component
    2929!------------------------------------------------------------------------------!
     30
     31    USE wall_fluxes_mod
    3032
    3133    PRIVATE
     
    5961       REAL    ::  z0(nys-1:nyn+1,nxl-1:nxr+1)
    6062       REAL    ::  tend(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1)
    61        REAL, DIMENSION(nzb:nzt+1)      ::  wsus, wsvs
    6263       REAL, DIMENSION(:,:,:), POINTER ::  km, u, v, w
    63 
     64       REAL, DIMENSION(nzb:nzt+1,nys:nyn,nxl:nxr) ::  wsus, wsvs
     65
     66
     67!
     68!--    First calculate horizontal momentum flux w'u' and/or w'v' at vertical
     69!--    walls, if neccessary
     70       IF ( topography /= 'flat' )  THEN
     71          CALL wall_fluxes( wsus, 0.0, 0.0, 0.0, 1.0, 0, 0, nzb_w_inner, &
     72                            nzb_w_outer, wall_w_x )
     73          CALL wall_fluxes( wsvs, 0.0, 0.0, 1.0, 0.0, 0, 0, nzb_w_inner, &
     74                            nzb_w_outer, wall_w_y )
     75       ENDIF
    6476
    6577       DO  i = nxl, nxr
     
    115127             IF ( wall_w_x(j,i) /= 0.0  .OR.  wall_w_y(j,i) /= 0.0 )  THEN
    116128
    117 !
    118 !--             Calculate the horizontal momentum fluxes w'u' and/or w'v'
    119                 IF ( wall_w_x(j,i) /= 0.0 )  THEN
    120                    CALL wall_fluxes( i, j, nzb_w_inner(j,i)+1,              &
    121                                      nzb_w_outer(j,i), wsus, 0.0, 0.0, 0.0, &
    122                                      1.0 )
    123                 ELSE
    124                    wsus = 0.0
    125                 ENDIF
    126 
    127                 IF ( wall_w_y(j,i) /= 0.0 )  THEN
    128                    CALL wall_fluxes( i, j, nzb_w_inner(j,i)+1,              &
    129                                      nzb_w_outer(j,i), wsvs, 0.0, 0.0, 1.0, &
    130                                      0.0 )
    131                 ELSE
    132                    wsvs = 0.0
    133                 ENDIF
    134 
    135129                DO  k = nzb_w_inner(j,i)+1, nzb_w_outer(j,i)
    136130!
     
    171165                          + kmxm_z * ( u(k+1,j,i)   - u(k,j,i)   ) * ddzu(k+1) &
    172166                                                   )                           &
    173                                      + wall_w_x(j,i) * wsus(k)                 &
     167                                     + wall_w_x(j,i) * wsus(k,j,i)             &
    174168                                   ) * ddx                                     &
    175169                                 + (   fwyp(j,i) * (                           &
     
    181175                          + kmym_z * ( v(k+1,j,i)   - v(k,j,i)   ) * ddzu(k+1) &
    182176                                                   )                           &
    183                                      + wall_w_y(j,i) * wsvs(k)                 &
     177                                     + wall_w_y(j,i) * wsvs(k,j,i)             &
    184178                                   ) * ddy                                     &
    185179                                 + 2.0 * (                                     &
Note: See TracChangeset for help on using the changeset viewer.