Changeset 4669 for palm/trunk/SOURCE
- Timestamp:
- Sep 9, 2020 1:43:47 PM (4 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/land_surface_model_mod.f90
r4666 r4669 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 23 ! 22 ! 23 ! 24 24 ! Former revisions: 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Fix calculation of force_radiation_call 28 ! 29 ! 4666 2020-09-04 19:22:56Z maronga 27 30 ! Bugfix: wrong value for g_d for vegetation_type = 7 (0.13 -> 0.03) 28 31 ! … … 2196 2199 == intermediate_timestep_count_max-1 ) THEN 2197 2200 #if defined( __parallel ) 2198 IF ( collective_wait ) CALL MPI_BARRIER( comm2d, ierr ) 2199 CALL MPI_ALLREDUCE( force_radiation_call_l, force_radiation_call, & 2200 1, MPI_LOGICAL, MPI_LOR, comm2d, ierr ) 2201 IF ( .NOT. force_radiation_call ) THEN 2202 IF ( collective_wait ) CALL MPI_BARRIER( comm2d, ierr ) 2203 CALL MPI_ALLREDUCE( force_radiation_call_l, force_radiation_call, & 2204 1, MPI_LOGICAL, MPI_LOR, comm2d, ierr ) 2205 ENDIF 2201 2206 #else 2202 force_radiation_call = force_radiation_call _l2207 force_radiation_call = force_radiation_call .OR. force_radiation_call_l 2203 2208 #endif 2204 2209 force_radiation_call_l = .FALSE. -
palm/trunk/SOURCE/time_integration.f90
r4668 r4669 25 25 ! ----------------- 26 26 ! $Id$ 27 ! - Fix missing call of radiation after spinup 28 ! - Fix calculation of force_radiation_call 29 ! - Fix calculation of radiation times 30 ! 31 ! 4668 2020-09-09 13:00:16Z pavelkrc 27 32 ! Improve debug messages during timestepping 28 33 ! … … 1194 1199 ! 1195 1200 !-- If required, calculate radiative fluxes and heating rates 1196 IF ( radiation .AND. time_since_reference_point > skip_time_do_radiation ) THEN1201 IF ( radiation .AND. time_since_reference_point >= skip_time_do_radiation ) THEN 1197 1202 1198 1203 time_radiation = time_radiation + dt_3d … … 1202 1207 CALL cpu_log( log_point(50), 'radiation', 'start' ) 1203 1208 1204 IF ( .NOT. force_radiation_call) THEN1209 IF ( time_radiation >= dt_radiation ) THEN 1205 1210 time_radiation = time_radiation - dt_radiation 1206 1211 ENDIF … … 1211 1216 !-- solar positions 1212 1217 time_since_reference_point_save = time_since_reference_point 1213 time_since_reference_point = REAL( FLOOR( time_since_reference_point /&1214 dt_radiation ), wp ) * dt_radiation1218 time_since_reference_point = time_since_reference_point - & 1219 MODULO(time_since_reference_point, dt_radiation) 1215 1220 1216 1221 CALL radiation_control … … 1225 1230 !-- Return the current time to its original value 1226 1231 time_since_reference_point = time_since_reference_point_save 1232 ! 1233 !-- Reset forcing of radiation call 1234 force_radiation_call = .FALSE. 1227 1235 1228 1236 CALL cpu_log( log_point(50), 'radiation', 'stop' ) -
palm/trunk/SOURCE/time_integration_spinup.f90
r4668 r4669 25 25 ! ----------------- 26 26 ! $Id$ 27 ! - Fix missing call of radiation after spinup 28 ! - Fix calculation of force_radiation_call 29 ! - Fix calculation of radiation times 30 ! 31 ! 4668 2020-09-09 13:00:16Z pavelkrc 27 32 ! Improve debug messages during timestepping 28 33 ! … … 481 486 CALL radiation_interaction 482 487 ENDIF 488 ! 489 !-- Reset forcing of radiation call 490 force_radiation_call = .FALSE. 491 483 492 ENDIF 484 493 ENDIF … … 632 641 !-- Reset time step 633 642 dt_3d = dt_save 643 !-- Force radiation step in time zero 644 !-- It is performed at the end of init_radiation in case of run without spinup 645 time_radiation = dt_radiation 634 646 635 647 DEALLOCATE(pt_save) -
palm/trunk/SOURCE/urban_surface_mod.f90
r4668 r4669 27 27 ! ----------------- 28 28 ! $Id$ 29 ! Fix calculation of force_radiation_call 30 ! 31 ! 4668 2020-09-09 13:00:16Z pavelkrc 29 32 ! Limit vertical r_a similarly to horizontal 30 33 ! … … 8427 8430 IF ( intermediate_timestep_count == intermediate_timestep_count_max-1 ) THEN 8428 8431 #if defined( __parallel ) 8429 IF ( collective_wait ) CALL MPI_BARRIER( comm2d, ierr ) 8430 CALL MPI_ALLREDUCE( force_radiation_call_l, force_radiation_call, & 8431 1, MPI_LOGICAL, MPI_LOR, comm2d, ierr ) 8432 IF ( .NOT. force_radiation_call ) THEN 8433 IF ( collective_wait ) CALL MPI_BARRIER( comm2d, ierr ) 8434 CALL MPI_ALLREDUCE( force_radiation_call_l, force_radiation_call, & 8435 1, MPI_LOGICAL, MPI_LOR, comm2d, ierr ) 8436 ENDIF 8432 8437 #else 8433 force_radiation_call = force_radiation_call _l8438 force_radiation_call = force_radiation_call .OR. force_radiation_call_l 8434 8439 #endif 8435 8440 force_radiation_call_l = .FALSE.
Note: See TracChangeset
for help on using the changeset viewer.