Ignore:
Timestamp:
Apr 11, 2014 5:15:14 PM (8 years ago)
Author:
hoffmann
Message:

new Lagrangian particle structure integrated

File:
1 edited

Legend:

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

    r1354 r1359  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! particle_attributes moved to mod_particle_attributes.f90
    2323!
    2424! Former revisions:
     
    11871187
    11881188
    1189  MODULE particle_attributes
    1190 
    1191 !------------------------------------------------------------------------------!
    1192 ! Description:
    1193 ! ------------
    1194 ! Definition of variables used to compute particle transport
    1195 !------------------------------------------------------------------------------!
    1196 
    1197     USE kinds
    1198 
    1199     CHARACTER (LEN=15)  ::  bc_par_lr = 'cyclic',  bc_par_ns = 'cyclic', &
    1200                             bc_par_b  = 'reflect', bc_par_t  = 'absorb', &
    1201                             collision_kernel = 'none'
    1202 
    1203     INTEGER(iwp) ::  deleted_particles = 0, deleted_tails = 0,                      &
    1204                      dissipation_classes = 10, ibc_par_lr,                          &
    1205                      ibc_par_ns, ibc_par_b, ibc_par_t, iran_part = -1234567,        &
    1206                      maximum_number_of_particles = 1000,                            &
    1207                      maximum_number_of_tailpoints = 100,                            &
    1208                      maximum_number_of_tails = 0,                                   &
    1209                      mpi_particle_type,                                             &
    1210                      number_of_sublayers = 20,                                      &
    1211                      number_of_initial_particles = 0, number_of_particles = 0,      &
    1212                      number_of_particle_groups = 1, number_of_tails = 0,            &
    1213                      number_of_initial_tails = 0, offset_ocean_nzt = 0,             &
    1214                      offset_ocean_nzt_m1 = 0, particles_per_point = 1,              &
    1215                      particle_file_count = 0, radius_classes = 20,                  &
    1216                      skip_particles_for_tail = 100, sort_count = 0,                 &
    1217                      total_number_of_particles, total_number_of_tails = 0,          &
    1218                      trlp_count_sum, trlp_count_recv_sum, trrp_count_sum,           &
    1219                      trrp_count_recv_sum, trsp_count_sum, trsp_count_recv_sum,      &
    1220                      trnp_count_sum, trnp_count_recv_sum
    1221 
    1222     INTEGER(iwp), PARAMETER ::  max_number_of_particle_groups = 10
    1223 
    1224     INTEGER(iwp), DIMENSION(:), ALLOCATABLE     ::  new_tail_id
    1225     INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE ::  prt_count, prt_start_index
    1226 
    1227     LOGICAL ::  hall_kernel = .FALSE., palm_kernel = .FALSE.,                  &
    1228                 particle_advection = .FALSE., random_start_position = .FALSE., &
    1229                 read_particles_from_restartfile = .TRUE.,                      &
    1230                 uniform_particles = .TRUE., use_kernel_tables = .FALSE.,       &
    1231                 use_particle_tails = .FALSE., use_sgs_for_particles = .FALSE., &
    1232                 wang_kernel = .FALSE., write_particle_statistics = .FALSE.
    1233 
    1234     LOGICAL, DIMENSION(max_number_of_particle_groups) ::                       &
    1235                 vertical_particle_advection = .TRUE.
    1236 
    1237     LOGICAL, DIMENSION(:), ALLOCATABLE ::  particle_mask, tail_mask
    1238 
    1239     REAL(wp)    ::  c_0 = 3.0_wp, dt_min_part = 0.0002_wp, dt_prel = 9999999.9_wp,          &
    1240                     dt_sort_particles = 0.0_wp, dt_write_particle_data = 9999999.9_wp,   &
    1241                     dvrp_psize = 9999999.9_wp, end_time_prel = 9999999.9_wp,             &
    1242                     initial_weighting_factor = 1.0_wp,                                &
    1243                     maximum_tailpoint_age = 100000.0_wp,                              &
    1244                     minimum_tailpoint_distance = 0.0_wp,                              &
    1245                     particle_advection_start = 0.0_wp, sgs_wfu_part = 0.3333333_wp,      &
    1246                     sgs_wfv_part = 0.3333333_wp, sgs_wfw_part = 0.3333333_wp,            &
    1247                     time_prel = 0.0_wp, time_sort_particles = 0.0_wp,                    &
    1248                     time_write_particle_data = 0.0_wp, z0_av_global
    1249 
    1250     REAL(wp), DIMENSION(max_number_of_particle_groups) ::  &
    1251                     density_ratio = 9999999.9_wp, pdx = 9999999.9_wp, pdy = 9999999.9_wp, &
    1252                     pdz = 9999999.9_wp, psb = 9999999.9_wp, psl = 9999999.9_wp,           &
    1253                     psn = 9999999.9_wp, psr = 9999999.9_wp, pss = 9999999.9_wp,           &
    1254                     pst = 9999999.9_wp, radius = 9999999.9_wp
    1255 
    1256     REAL(wp), DIMENSION(:), ALLOCATABLE     ::  log_z_z0
    1257 
    1258     REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  particle_tail_coordinates
    1259 
    1260 
    1261     TYPE particle_type
    1262        SEQUENCE
    1263        REAL(wp)    ::  age, age_m, dt_sum, dvrp_psize, e_m, origin_x, origin_y, &
    1264                        origin_z, radius, rvar1, rvar2, rvar3, speed_x, speed_y, &
    1265                        speed_z, weight_factor, x, y, z
    1266        INTEGER(iwp) ::  class, group, tailpoints, tail_id
    1267     END TYPE particle_type
    1268 
    1269     TYPE(particle_type), DIMENSION(:), ALLOCATABLE ::  initial_particles
    1270     TYPE(particle_type), DIMENSION(:), ALLOCATABLE, TARGET ::  part_1, part_2
    1271     TYPE(particle_type), DIMENSION(:), POINTER  ::  particles
    1272 
    1273     TYPE particle_groups_type
    1274        SEQUENCE
    1275        REAL(wp)    ::  density_ratio, radius, exp_arg, exp_term
    1276     END TYPE particle_groups_type
    1277 
    1278     TYPE(particle_groups_type), DIMENSION(max_number_of_particle_groups) ::&
    1279                    particle_groups
    1280 
    1281     SAVE
    1282 
    1283  END MODULE particle_attributes
    1284 
    1285 
    1286 
    1287 
    12881189
    12891190 MODULE pegrid
Note: See TracChangeset for help on using the changeset viewer.