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

further checkin of preliminary changes

File:
1 edited

Legend:

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

    r55 r56  
    44! Actual revisions:
    55! -----------------
    6 ! Wall functions now include diabatic conditions, call of routine wall_fluxes
     6! Wall functions now include diabatic conditions, call of routine wall_fluxes_e
    77!
    88! Former revisions:
     
    3131!------------------------------------------------------------------------------!
    3232
     33    USE wall_fluxes_mod
     34
    3335    PRIVATE
    3436    PUBLIC production_e, production_e_init
    35    
     37
    3638    LOGICAL, SAVE ::  first_call = .TRUE.
    3739
     
    6971                   k1, k2, theta, temp
    7072
    71        REAL, DIMENSION(nzb:nzt+1) ::  usvs, vsus, wsus, wsvs
    72 
     73!       REAL, DIMENSION(nzb:nzt+1,nys:nyn,nxl:nxr) ::  usvs, vsus, wsus, wsvs
     74       REAL, DIMENSION(nzb:nzt+1) ::   usvs, vsus, wsus, wsvs
     75
     76!
     77!--    First calculate horizontal momentum flux u'v', w'v', v'u', w'u' at
     78!--    vertical walls, if neccessary
     79!--    So far, results are slightly different from the ij-Version.
     80!--    Therefore, ij-Version is called further below within the ij-loops.
     81!       IF ( topography /= 'flat' )  THEN
     82!          CALL wall_fluxes_e( usvs, 1.0, 0.0, 0.0, 0.0, wall_e_y )
     83!          CALL wall_fluxes_e( wsvs, 0.0, 0.0, 1.0, 0.0, wall_e_y )
     84!          CALL wall_fluxes_e( vsus, 0.0, 1.0, 0.0, 0.0, wall_e_x )
     85!          CALL wall_fluxes_e( wsus, 0.0, 0.0, 0.0, 1.0, wall_e_x )
     86!       ENDIF
    7387
    7488!
     
    131145                      CALL wall_fluxes_e( i, j, k, nzb_diff_s_outer(j,i)-2, &
    132146                                          usvs, 1.0, 0.0, 0.0, 0.0 )
    133 
    134147                      dudy = wall_e_y(j,i) * usvs(k) / km(k,j,i)
     148!                      dudy = wall_e_y(j,i) * usvs(k,j,i) / km(k,j,i)
    135149                      CALL wall_fluxes_e( i, j, k, nzb_diff_s_outer(j,i)-2, &
    136150                                          wsvs, 0.0, 0.0, 1.0, 0.0 )
    137151                      dwdy = wall_e_y(j,i) * wsvs(k) / km(k,j,i)
     152!                      dwdy = wall_e_y(j,i) * wsvs(k,j,i) / km(k,j,i)
    138153                   ELSE
    139154                      dudy = 0.25 * ( u(k,j+1,i) + u(k,j+1,i+1) - &
     
    147162                                          vsus, 0.0, 1.0, 0.0, 0.0 )
    148163                      dvdx = wall_e_x(j,i) * vsus(k) / km(k,j,i)
     164!                      dvdx = wall_e_x(j,i) * vsus(k,j,i) / km(k,j,i)
    149165                      CALL wall_fluxes_e( i, j, k, nzb_diff_s_outer(j,i)-2, &
    150166                                          wsus, 0.0, 0.0, 0.0, 1.0 )
    151167                      dwdx = wall_e_x(j,i) * wsus(k) / km(k,j,i)
     168!                      dwdx = wall_e_x(j,i) * wsus(k,j,i) / km(k,j,i)
    152169                   ELSE
    153170                      dvdx = 0.25 * ( v(k,j,i+1) + v(k,j+1,i+1) - &
     
    185202                      IF ( wall_e_y(j,i) /= 0.0 )  THEN
    186203                         dudy = wall_e_y(j,i) * usvs(k) / km(k,j,i)
     204!                         dudy = wall_e_y(j,i) * usvs(k,j,i) / km(k,j,i)
    187205                         dwdy = wall_e_y(j,i) * wsvs(k) / km(k,j,i)
     206!                         dwdy = wall_e_y(j,i) * wsvs(k,j,i) / km(k,j,i)
    188207                      ELSE
    189208                         dudy = 0.25 * ( u(k,j+1,i) + u(k,j+1,i+1) - &
     
    195214                      IF ( wall_e_x(j,i) /= 0.0 )  THEN
    196215                         dvdx = wall_e_x(j,i) * vsus(k) / km(k,j,i)
     216!                         dvdx = wall_e_x(j,i) * vsus(k,j,i) / km(k,j,i)
    197217                         dwdx = wall_e_x(j,i) * wsus(k) / km(k,j,i)
     218!                         dwdx = wall_e_x(j,i) * wsus(k,j,i) / km(k,j,i)
    198219                      ELSE
    199220                         dvdx = 0.25 * ( v(k,j,i+1) + v(k,j+1,i+1) - &
     
    478499                   k1, k2, theta, temp
    479500
    480        REAL, DIMENSION(nzb:nzt+1) ::  usvs, vsus, wsus,wsvs
     501       REAL, DIMENSION(nzb:nzt+1) ::  usvs, vsus, wsus, wsvs
    481502
    482503!
Note: See TracChangeset for help on using the changeset viewer.