Changeset 1685


Ignore:
Timestamp:
Oct 8, 2015 7:32:13 AM (6 years ago)
Author:
raasch
Message:

bugfix concerning vertical index calculation for particles in case of ocean runs

Location:
palm/trunk/SOURCE
Files:
4 edited

Legend:

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

    r1683 r1685  
    1919! Current revisions:
    2020! ------------------
    21 !
    22 !
     21! TKE check for negative values (so far, only zero value was checked)
     22! offset_ocean_nzt_m1 removed
     23!
    2324! Former revisions:
    2425! -----------------
     
    9495        ONLY:  block_offset, c_0, density_ratio, dt_min_part, grid_particles,  &
    9596               iran_part, log_z_z0, number_of_particles, number_of_sublayers,  &
    96                particles, particle_groups, offset_ocean_nzt,                   &
    97                offset_ocean_nzt_m1, sgs_wfu_part, sgs_wfv_part, sgs_wfw_part,  &
    98                use_sgs_for_particles, vertical_particle_advection, z0_av_global
     97               particles, particle_groups, offset_ocean_nzt, sgs_wfu_part,     &
     98               sgs_wfv_part, sgs_wfw_part, use_sgs_for_particles,              &
     99               vertical_particle_advection, z0_av_global
    99100       
    100101    USE statistics,                                                            &
     
    289290!--    Same procedure for interpolation of the v velocity-component
    290291       DO  n = start_index(nb), end_index(nb)
     292
    291293          IF ( prandtl_layer  .AND.  particles(n)%z < z_p )  THEN
    292294
     
    417419                ENDIF
    418420!
    419 !--             Needed to avoid NaN particle velocities
    420                 IF ( e_int(n) == 0.0_wp )  THEN
     421!--             Needed to avoid NaN particle velocities (this might not be
     422!--             required any more)
     423                IF ( e_int(n) <= 0.0_wp )  THEN
    421424                   e_int(n) = 1.0E-20_wp
    422425                ENDIF
     
    671674                ENDIF
    672675!
    673 !--             Needed to avoid NaN particle velocities
    674                 IF ( e_int(n) == 0.0_wp )  THEN
     676!--             Needed to avoid NaN particle velocities (this might not be
     677!--             required any more)
     678                IF ( e_int(n) <= 0.0_wp )  THEN
    675679                   e_int(n) = 1.0E-20_wp
    676680                ENDIF
     
    11341138             ENDIF
    11351139
    1136  !           kw = particles(n)%z / dz
    1137              kw = kp-1                                    ! ok for ocean??? ( + offset_ocean_nzt_m1 ???)
     1140             kw = kp - 1
    11381141
    11391142             IF ( k == 0 )  THEN
  • palm/trunk/SOURCE/lpm_exchange_horiz.f90

    r1683 r1685  
    1919! Current revisions:
    2020! ------------------
    21 !
     21! bugfix concerning vertical index offset in case of ocean
    2222!
    2323! Former revisions:
     
    8585               maximum_number_of_tailpoints, min_nr_particle,                  &
    8686               mpi_particle_type, number_of_tails, number_of_particles,        &
    87                offset_ocean_nzt, offset_ocean_nzt_m1, particles,               &
     87               offset_ocean_nzt, particles,                                    &
    8888               particle_tail_coordinates, particle_type, prt_count,            &
    8989               tail_mask, trlp_count_sum,                                      &
     
    10791079       ip = ( particle_array(n)%x + 0.5_wp * dx ) * ddx
    10801080       jp = ( particle_array(n)%y + 0.5_wp * dy ) * ddy
    1081        kp = particle_array(n)%z / dz + 1 + offset_ocean_nzt_m1
     1081       kp = particle_array(n)%z / dz + 1 + offset_ocean_nzt
    10821082
    10831083       IF ( ip >= nxl  .AND.  ip <= nxr  .AND.  jp >= nys  .AND.  jp <= nyn    &
  • palm/trunk/SOURCE/lpm_init.f90

    r1683 r1685  
    1919! Current revisions:
    2020! -----------------
    21 !
     21! bugfix concerning vertical index offset in case of ocean
    2222!
    2323! Former revisions:
     
    128128                number_of_initial_tails, number_of_particles,                  &
    129129                number_of_particle_groups, number_of_sublayers,                &
    130                 number_of_tails, offset_ocean_nzt, offset_ocean_nzt_m1,        & 
     130                number_of_tails, offset_ocean_nzt, offset_ocean_nzt_m1,        &
    131131                particles, particle_advection_start, particle_groups,          &
    132132                particle_groups_type, particles_per_point,                     &
     
    760760                            ip = ( tmp_particle%x + 0.5_wp * dx ) * ddx
    761761                            jp = ( tmp_particle%y + 0.5_wp * dy ) * ddy
    762                             kp = tmp_particle%z / dz + 1 + offset_ocean_nzt_m1
     762                            kp = tmp_particle%z / dz + 1 + offset_ocean_nzt
    763763
    764764                            IF ( seed_follows_topography )  THEN
  • palm/trunk/SOURCE/lpm_pack_arrays.f90

    r1683 r1685  
    1919! Current revisions:
    2020! ------------------
    21 !
     21! bugfix concerning vertical index calculation in case of ocean
    2222!
    2323! Former revisions:
     
    5858        ONLY:  deleted_tails, grid_particles, new_tail_id,                     &
    5959               number_of_particles, number_of_tails, offset_ocean_nzt,         &
    60                offset_ocean_nzt_m1, particles, particle_type, prt_count,       &
     60               particles, particle_type, prt_count,                            &
    6161               particle_tail_coordinates, tail_mask, use_particle_tails
    6262
     
    202202
    203203      USE control_parameters,                                                  &
    204           ONLY: dz,  atmos_ocean_sign
     204          ONLY: dz
    205205
    206206      USE indices,                                                             &
     
    214214      IMPLICIT NONE
    215215
    216       INTEGER(iwp), INTENT(IN)    :: ip
    217       INTEGER(iwp), INTENT(IN)    :: jp
    218       INTEGER(iwp), INTENT(IN)    :: kp
    219 
    220       INTEGER(iwp)                :: i
    221       INTEGER(iwp)                :: j
    222       INTEGER(iwp)                :: k
    223       INTEGER(iwp)                :: n
    224       INTEGER(iwp)                :: nn
    225       INTEGER(iwp)                :: m
    226       INTEGER(iwp)                :: sort_index
    227       INTEGER(iwp)                :: is
    228       INTEGER(iwp)                :: kk
    229 
    230       INTEGER(iwp),DIMENSION(0:7) :: sort_count
     216      INTEGER(iwp), INTENT(IN) :: ip
     217      INTEGER(iwp), INTENT(IN) :: jp
     218      INTEGER(iwp), INTENT(IN) :: kp
     219
     220      INTEGER(iwp)             :: i
     221      INTEGER(iwp)             :: is
     222      INTEGER(iwp)             :: j
     223      INTEGER(iwp)             :: k
     224      INTEGER(iwp)             :: n
     225      INTEGER(iwp)             :: nn
     226      INTEGER(iwp)             :: m
     227      INTEGER(iwp)             :: sort_index
     228
     229      INTEGER(iwp), DIMENSION(0:7) :: sort_count
    231230
    232231      TYPE(particle_type), DIMENSION(number_of_particles,0:7) :: sort_particles
     
    242241             i = particles(n)%x * ddx
    243242             j = particles(n)%y * ddy
    244              k = ( particles(n)%z + 0.5_wp * dz * atmos_ocean_sign ) / dz +    &
    245                  offset_ocean_nzt
    246              kk= particles(n)%z / dz + 1 + offset_ocean_nzt_m1
     243             k = ( particles(n)%z + 0.5_wp * dz ) / dz + offset_ocean_nzt
    247244             IF ( i == ip )  sort_index = sort_index+4
    248245             IF ( j == jp )  sort_index = sort_index+2
Note: See TracChangeset for help on using the changeset viewer.