Ignore:
Timestamp:
Feb 29, 2008 8:19:58 AM (16 years ago)
Author:
raasch
Message:

particle advection allowed for ocean runs

File:
1 edited

Legend:

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

    r61 r150  
    44! Actual revisions:
    55! -----------------
    6 !
     6! Vertical index calculations adjusted for ocean runs.
    77!
    88! Former revisions:
     
    1818!        reflection conditions is basically the same for all four cases, so it
    1919!        should be possible to further simplify/shorten it.
     20! THIS ROUTINE HAS NOT BEEN TESTED FOR OCEAN RUNS SO FAR! (see offset_ocean_*)
    2021!------------------------------------------------------------------------------!
    2122
     
    5455       i2 = ( particles(n)%x + 0.5 * dx ) * ddx
    5556       j2 = ( particles(n)%y + 0.5 * dy ) * ddy
    56        k2 = particles(n)%z / dz + 1
     57       k2 = particles(n)%z / dz + 1 + offset_ocean_nzt_m1
    5758
    5859       prt_x = particles(n)%x
     
    6970          i1 = ( pos_x_old + 0.5 * dx ) * ddx
    7071          j1 = ( pos_y_old + 0.5 * dy ) * ddy
    71           k1 = pos_z_old / dz
     72          k1 = pos_z_old / dz + offset_ocean_nzt_m1
    7273
    7374!
     
    132133                i3 = ( pos_x + 0.5 * dx ) * ddx   
    133134                j3 = ( pos_y + 0.5 * dy ) * ddy
    134                 k3 = pos_z / dz
     135                k3 = pos_z / dz + offset_ocean_nzt_m1
    135136
    136137                i5 = pos_x * ddx
    137138                j5 = pos_y * ddy
    138                 k5 = pos_z / dz
     139                k5 = pos_z / dz + offset_ocean_nzt_m1
    139140
    140141                IF ( k5 <= nzb_s_inner(j5,i3)  .AND. &
     
    246247                i3 = ( pos_x + 0.5 * dx ) * ddx
    247248                j3 = ( pos_y + 0.5 * dy ) * ddy
    248                 k3 = pos_z / dz
     249                k3 = pos_z / dz + offset_ocean_nzt_m1
    249250
    250251                i5 = pos_x * ddx
    251252                j5 = pos_y * ddy
    252                 k5 = pos_z / dz
     253                k5 = pos_z / dz + offset_ocean_nzt_m1
    253254
    254255                IF ( k5 <= nzb_s_inner(j3,i5)  .AND. &
     
    361362                i3 = ( pos_x + 0.5 * dx ) * ddx
    362363                j3 = ( pos_y + 0.5 * dy ) * ddy
    363                 k3 =  pos_z / dz
     364                k3 = pos_z / dz + offset_ocean_nzt_m1
    364365
    365366                i5 = pos_x * ddx
    366367                j5 = pos_y * ddy
    367                 k5 = pos_z / dz
     368                k5 = pos_z / dz + offset_ocean_nzt_m1
    368369
    369370                IF ( k5 <= nzb_s_inner(j5,i3)  .AND. &
     
    476477                i3 = ( pos_x + 0.5 * dx ) * ddx   
    477478                j3 = ( pos_y + 0.5 * dy ) * ddy
    478                 k3 = pos_z / dz
     479                k3 = pos_z / dz + offset_ocean_nzt_m1
    479480
    480481                i5 = pos_x * ddx
    481482                j5 = pos_y * ddy
    482                 k5 = pos_z / dz
     483                k5 = pos_z / dz + offset_ocean_nzt_m1
    483484
    484485                IF ( k3 <= nzb_s_inner(j3,i3)  .AND. &
Note: See TracChangeset for help on using the changeset viewer.