Ignore:
Timestamp:
Jun 12, 2018 7:03:02 AM (6 years ago)
Author:
Giersch
Message:

New vertical stretching procedure has been introduced

File:
1 edited

Legend:

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

    r2969 r3065  
    2525! -----------------
    2626! $Id$
     27! dz values were replaced by dzw or dz(1) to allow for right vertical stretching
     28!
     29! 2969 2018-04-13 11:55:09Z thiele
    2730! Bugfix in Interpolation indices.
    2831!
     
    158161
    159162    USE arrays_3d,                                                             &
    160         ONLY:  de_dx, de_dy, de_dz, diss, e, km, u, v, w, zu, zw
     163        ONLY:  de_dx, de_dy, de_dz, diss, dzw, e, km, u, v, w, zu, zw
    161164
    162165    USE cpulog
     
    409412                            + ( gg-cc ) * u(k+1,j+1,i) + ( gg-dd ) *           &
    410413                            u(k+1,j+1,i+1) ) / ( 3.0_wp * gg ) - u_gtrans
    411                 u_int(n) = u_int_l + ( zv(n) - zu(k) ) / dz *                  &
     414                u_int(n) = u_int_l + ( zv(n) - zu(k) ) / dzw(k) *               &
    412415                           ( u_int_u - u_int_l )
    413416             ENDIF
     
    503506                          + ( gg-cc ) * v(k+1,j+1,i) + ( gg-dd ) * v(k+1,j+1,i+1) &
    504507                          ) / ( 3.0_wp * gg ) - v_gtrans
    505                 v_int(n) = v_int_l + ( zv(n) - zu(k) ) / dz * &
     508                v_int(n) = v_int_l + ( zv(n) - zu(k) ) / dzw(k) *              &
    506509                                  ( v_int_u - v_int_l )
    507510             ENDIF
     
    540543                            ( gg-dd ) * w(k+1,j+1,i+1) &
    541544                          ) / ( 3.0_wp * gg )
    542                 w_int(n) = w_int_l + ( zv(n) - zw(k) ) / dz * &
     545                w_int(n) = w_int_l + ( zv(n) - zw(k) ) / dzw(k) *              &
    543546                           ( w_int_u - w_int_l )
    544547             ENDIF
     
    611614                               ( gg - dd ) * e(k+1,j+1,i+1) &
    612615                            ) / ( 3.0_wp * gg )
    613                    e_int(n) = e_int_l + ( zv(n) - zu(k) ) / dz * &
     616                   e_int(n) = e_int_l + ( zv(n) - zu(k) ) / dzw(k) *            &
    614617                                     ( e_int_u - e_int_l )
    615618                ENDIF
     
    637640                                   ( gg - dd ) * de_dx(k+1,j+1,i+1) &
    638641                                  ) / ( 3.0_wp * gg )
    639                    de_dx_int(n) = de_dx_int_l + ( zv(n) - zu(k) ) / dz * &
     642                   de_dx_int(n) = de_dx_int_l + ( zv(n) - zu(k) ) / dzw(k) *    &
    640643                                              ( de_dx_int_u - de_dx_int_l )
    641644                ENDIF
     
    655658                                   ( gg - dd ) * de_dy(k+1,j+1,i+1) &
    656659                                  ) / ( 3.0_wp * gg )
    657                       de_dy_int(n) = de_dy_int_l + ( zv(n) - zu(k) ) / dz * &
     660                      de_dy_int(n) = de_dy_int_l + ( zv(n) - zu(k) ) / dzw(k) * &
    658661                                                 ( de_dy_int_u - de_dy_int_l )
    659662                ENDIF
     
    661664!
    662665!--             Interpolate the TKE gradient along z
    663                 IF ( zv(n) < 0.5_wp * dz )  THEN
     666                IF ( zv(n) < 0.5_wp * dz(1) )  THEN
    664667                   de_dz_int(n) = 0.0_wp
    665668                ELSE
     
    678681                                      ( gg - dd ) * de_dz(k+1,j+1,i+1) &
    679682                                     ) / ( 3.0_wp * gg )
    680                       de_dz_int(n) = de_dz_int_l + ( zv(n) - zu(k) ) / dz * &
     683                      de_dz_int(n) = de_dz_int_l + ( zv(n) - zu(k) ) / dzw(k) * &
    681684                                                 ( de_dz_int_u - de_dz_int_l )
    682685                   ENDIF
     
    699702                                  ( gg - dd ) * diss(k+1,j+1,i+1) &
    700703                                 ) / ( 3.0_wp * gg )
    701                    diss_int(n) = diss_int_l + ( zv(n) - zu(k) ) / dz * &
     704                   diss_int(n) = diss_int_l + ( zv(n) - zu(k) ) / dzw(k) *      &
    702705                                            ( diss_int_u - diss_int_l )
    703706                ENDIF
Note: See TracChangeset for help on using the changeset viewer.