Changeset 3560 for palm/trunk/SOURCE/lpm.f90
- Timestamp:
- Nov 23, 2018 9:20:21 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/lpm.f90
r2801 r3560 27 27 ! ----------------- 28 28 ! $Id$ 29 ! bugfix to guarantee correct particle releases in case that the release 30 ! interval is smaller than the model timestep 31 ! 32 ! 2801 2018-02-14 16:01:55Z thiele 29 33 ! Changed lpm from subroutine to module. 30 34 ! Introduce particle transfer in nested models. … … 172 176 USE particle_attributes, & 173 177 ONLY: collision_kernel, deleted_particles, deallocate_memory, & 174 dt_write_particle_data, dt_prel, end_time_prel, 175 grid_particles, merging, number_of_particles,&178 dt_write_particle_data, dt_prel, end_time_prel, grid_particles, & 179 last_particle_release_time, merging, number_of_particles, & 176 180 number_of_particle_groups, particles, particle_groups, & 177 prt_count, splitting, step_dealloc, time_ prel,&178 t ime_write_particle_data, trlp_count_sum, trlp_count_recv_sum,&179 trnp_count_ sum, trnp_count_recv_sum, trrp_count_sum, &180 tr rp_count_recv_sum, trsp_count_sum, trsp_count_recv_sum,&181 use_sgs_for_particles,write_particle_statistics181 prt_count, splitting, step_dealloc, time_write_particle_data, & 182 trlp_count_sum, trlp_count_recv_sum, trnp_count_sum, & 183 trnp_count_recv_sum, trrp_count_sum, trrp_count_recv_sum, & 184 trsp_count_sum, trsp_count_recv_sum, use_sgs_for_particles, & 185 write_particle_statistics 182 186 183 187 USE pegrid … … 274 278 ! 275 279 !-- If necessary, release new set of particles 276 IF ( time_prel >= dt_prel .AND. end_time_prel > simulated_time ) THEN 277 278 CALL lpm_create_particle(PHASE_RELEASE) 279 ! 280 !-- The MOD function allows for changes in the output interval with 281 !-- restart runs. 282 time_prel = MOD( time_prel, MAX( dt_prel, dt_3d ) ) 280 IF ( ( simulated_time - last_particle_release_time ) >= dt_prel .AND. end_time_prel > simulated_time ) & 281 THEN 282 283 DO WHILE ( ( simulated_time - last_particle_release_time ) >= dt_prel ) 284 285 CALL lpm_create_particle( phase_release ) 286 last_particle_release_time = last_particle_release_time + dt_prel 287 288 ENDDO 283 289 284 290 ENDIF … … 429 435 430 436 ! 431 !-- Increment time since last release432 IF ( dt_3d_reached ) time_prel = time_prel + dt_3d433 !434 437 !-- Apply splitting and merging algorithm 435 438 IF ( cloud_droplets ) THEN
Note: See TracChangeset
for help on using the changeset viewer.