Changeset 3832 for palm/trunk
- Timestamp:
- Mar 28, 2019 1:16:58 PM (6 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/land_surface_model_mod.f90
r3786 r3832 25 25 ! ----------------- 26 26 ! $Id$ 27 ! instrumented with openmp directives 28 ! 29 ! 3786 2019-03-06 16:58:03Z raasch 27 30 ! further unused variables removed 28 31 ! … … 1900 1903 i_off = surf%ioff 1901 1904 1905 !$OMP PARALLEL PRIVATE (m, i, j, k, lambda_h_sat, ke, lambda_soil, lambda_surface, & 1906 !$OMP& c_surface_tmp, f1,m_total, f2, e_s, e, f3, m_min, m_liq_max, q_s, & 1907 !$OMP& f_qsws_veg, f_qsws_soil, f_qsws_liq, f_shf, f_qsws, e_s_dt, dq_s_dt, & 1908 !$OMP& coef_1, coef_2, tend) 1909 !$OMP DO SCHEDULE (STATIC) 1902 1910 DO m = 1, surf%ns 1903 1911 … … 2396 2404 2397 2405 ENDDO 2406 !$OMP END PARALLEL 2398 2407 2399 2408 ! … … 2438 2447 REAL(wp) :: resistance !< aerodynamic and soil resistance term 2439 2448 2449 2450 !$OMP PARALLEL PRIVATE (m, i, j, k, e_s, q_s, resistance) 2451 !$OMP DO SCHEDULE (STATIC) 2440 2452 DO m = 1, surf%ns 2441 2453 … … 2474 2486 2475 2487 ENDDO 2488 !$OMP END PARALLEL 2476 2489 2477 2490 END SUBROUTINE calc_q_surface … … 5253 5266 ENDIF 5254 5267 5268 !$OMP PARALLEL PRIVATE (m, k, lambda_temp, lambda_h_sat, ke, tend, gamma_temp, h_vg, m_total) 5269 !$OMP DO SCHEDULE (STATIC) 5255 5270 DO m = 1, surf%ns 5256 5271 … … 5525 5540 5526 5541 ENDDO 5542 !$OMP END PARALLEL 5527 5543 5528 5544 END SUBROUTINE lsm_soil_model -
palm/trunk/SOURCE/transpose.f90
r3694 r3832 25 25 ! ----------------- 26 26 ! $Id$ 27 ! loop reordering for performance optimization 28 ! 29 ! 3694 2019-01-23 17:01:49Z knoop 27 30 ! OpenACC port for SPEC 28 31 ! … … 129 132 !$ACC PRESENT(f_inv, f_in) 130 133 #endif 131 DO i = 0, nx132 DO k = nzb_x, nzt_x134 DO k = nzb_x, nzt_x 135 DO i = 0, nx 133 136 DO j = nys_x, nyn_x 134 137 f_inv(j,k,i) = f_in(i,j,k) … … 856 859 !$ACC PRESENT(f_in, f_inv) 857 860 #endif 858 DO k = 1,nz859 DO i = nxl, nxr861 DO i = nxl, nxr 862 DO k = 1,nz 860 863 DO j = nys, nyn 861 864 f_inv(j,i,k) = f_in(k,j,i) … … 1020 1023 !$ACC PRESENT(f_out, f_inv) 1021 1024 #endif 1022 DO k = nzb_y, nzt_y1023 DO j = 0, ny1025 DO j = 0, ny 1026 DO k = nzb_y, nzt_y 1024 1027 DO i = nxl_y, nxr_y 1025 1028 f_out(j,i,k) = f_inv(i,k,j) -
palm/trunk/SOURCE/urban_surface_mod.f90
r3824 r3832 28 28 ! ----------------- 29 29 ! $Id$ 30 ! instrumented with openmp directives 31 ! 32 ! 3824 2019-03-27 15:56:16Z pavelkrc 30 33 ! Remove unused imports 31 34 ! … … 5332 5335 LOGICAL :: spinup !< if true, no calculation of window temperatures 5333 5336 5337 !$OMP PARALLEL PRIVATE (m, i, j, k, kw, wtend, wintend, win_absorp, wall_mod) 5334 5338 wall_mod=1.0_wp 5335 5339 IF (usm_wall_mod .AND. spinup) THEN … … 5341 5345 ! 5342 5346 !-- For horizontal surfaces 5347 !$OMP DO SCHEDULE (STATIC) 5343 5348 DO m = 1, surf_usm_h%ns 5344 5349 ! … … 5521 5526 ! 5522 5527 !-- For vertical surfaces 5528 !$OMP DO SCHEDULE (STATIC) 5523 5529 DO l = 0, 3 5524 5530 DO m = 1, surf_usm_v(l)%ns … … 5699 5705 ENDDO 5700 5706 ENDDO 5707 !$OMP END PARALLEL 5701 5708 5702 5709 END SUBROUTINE usm_material_heat_model … … 5734 5741 ! 5735 5742 !-- For horizontal surfaces 5743 !$OMP PARALLEL PRIVATE (m, i, j, k, kw, lambda_h_green_sat, ke, lambda_green_temp, gtend, & 5744 !$OMP& tend, h_vg, gamma_green_temp, m_total, root_extr_green) 5745 !$OMP DO SCHEDULE (STATIC) 5736 5746 DO m = 1, surf_usm_h%ns 5737 5747 … … 5980 5990 5981 5991 ENDDO 5992 !$OMP END PARALLEL 5982 5993 5983 5994 ! … … 7752 7763 ! 7753 7764 !-- First, treat horizontal surface elements 7765 !$OMP PARALLEL PRIVATE (m, i, j, k, lambda_surface, lambda_surface_window, & 7766 !$OMP& lambda_surface_green, qv1, rho_cp, rho_lv, drho_l_lv, f_shf, & 7767 !$OMP& f_shf_window, f_shf_green, m_total, f1, f2, e_s, e, f3, f_qsws_veg,& 7768 !$OMP& q_s, f_qsws_liq, f_qsws, e_s_dt, dq_s_dt, coef_1, coef_window_1, & 7769 !$OMP& coef_green_1, coef_2, coef_window_2, coef_green_2, stend_wall, & 7770 !$OMP& stend_window, stend_green, tend, m_liq_max) 7771 !$OMP DO SCHEDULE (STATIC) 7754 7772 DO m = 1, surf_usm_h%ns 7755 7773 ! … … 8197 8215 ENDDO 8198 8216 ! 8199 !-- Now, treat vertical surface elements 8217 !-- Now, treat vertical surface elements 8218 !$OMP DO SCHEDULE (STATIC) 8200 8219 DO l = 0, 3 8201 8220 DO m = 1, surf_usm_v(l)%ns … … 8574 8593 8575 8594 ENDDO 8595 !$OMP END PARALLEL 8596 8576 8597 ! 8577 8598 !-- Add-up anthropogenic heat, for now only at upward-facing surfaces … … 8586 8607 dtime = mod(simulated_time + time_utc_init, 24.0_wp*3600.0_wp) 8587 8608 dhour = INT(dtime/3600.0_wp) 8609 8610 !-- TO_DO: activate, if testcase is available 8611 !-- !$OMP PARALLEL DO PRIVATE (i, j, k, acoef, rho_cp) 8612 !-- it may also improve performance to move get_topography_top_index_ji before the k-loop 8588 8613 DO i = nxl, nxr 8589 8614 DO j = nys, nyn -
palm/trunk/SOURCE/wind_turbine_model_mod.f90
r3725 r3832 26 26 ! ----------------- 27 27 ! $Id$ 28 ! instrumented with openmp directives 29 ! 30 ! 3725 2019-02-07 10:11:02Z raasch 28 31 ! unused variables removed 29 32 ! … … 340 343 REAL(wp) :: w_int_l !< 341 344 REAL(wp) :: w_int_u !< 345 !$OMP THREADPRIVATE (cur_r, phi_rotor, pre_factor, torque_seg, u_int_l, u_int_u, u_rot, & 346 !$OMP& v_int_l, v_int_u, w_int_l, w_int_u) 342 347 ! 343 348 !- Tendencies from the nacelle and tower thrust … … 346 351 REAL(wp) :: tend_nac_y = 0.0_wp !< 347 352 REAL(wp) :: tend_tow_y = 0.0_wp !< 353 !$OMP THREADPRIVATE (tend_nac_x, tend_tow_x, tend_nac_y, tend_tow_y) 348 354 349 355 REAL(wp), DIMENSION(:), ALLOCATABLE :: alpha_attack !< … … 1731 1737 ! 1732 1738 !-- Loop over rings of each turbine: 1739 1740 !$OMP PARALLEL PRIVATE (ring, rseg, thrust_seg, torque_seg_y, torque_seg_z, sin_rot, & 1741 !$OMP& cos_rot, re, rbx, rby, rbz, ii, jj, kk, aa, bb, cc, dd, gg) 1742 !$OMP DO 1733 1743 DO ring = 1, nrings(inot) 1734 1744 … … 1919 1929 ENDDO 1920 1930 ENDDO 1931 !$OMP END PARALLEL 1921 1932 1922 1933 ENDDO … … 1960 1971 ! 1961 1972 !-- Loop over rings of each turbine: 1973 !$OMP PARALLEL PRIVATE (ring, rseg, sin_rot, cos_rot, re, rea, ren, rote, rota, rotn, & 1974 !$OMP& vtheta, phi_rel, lct, rad_d, alpha_attack, vrel, & 1975 !$OMP& chord, iialpha, iir, turb_cl, tl_factor, thrust_seg, & 1976 !$OMP& torque_seg_y, turb_cd, torque_seg_z, thrust_ring, & 1977 !$OMP& torque_ring_y, torque_ring_z) 1978 !$OMP DO 1962 1979 DO ring = 1, nrings(inot) 1963 1980 ! … … 2184 2201 ! 2185 2202 !-- Add the segment thrust to the thrust of the whole rotor 2203 !$OMP CRITICAL 2186 2204 thrust_rotor(inot) = thrust_rotor(inot) + & 2187 2205 thrust_seg(rseg) … … 2189 2207 2190 2208 torque_total(inot) = torque_total(inot) + (torque_seg * cur_r) 2209 !$OMP END CRITICAL 2191 2210 2192 2211 ENDDO !-- end of loop over ring segments … … 2201 2220 2202 2221 ENDDO !-- end of loop over rings 2222 !$OMP END PARALLEL 2203 2223 2204 2224 … … 2297 2317 eps_min ) / dy ) 2298 2318 2319 !$OMP PARALLEL PRIVATE (i, j, k, ring, rseg, flag, dist_u_3d, dist_v_3d, dist_w_3d) 2320 !$OMP DO 2299 2321 DO i = MAX( nxl, i_hub(inot) - i_smear(inot) ), & 2300 2322 MIN( nxr, i_hub(inot) + i_smear(inot) ) … … 2377 2399 ENDDO ! End of loop over j 2378 2400 ENDDO ! End of loop over i 2401 !$OMP END PARALLEL 2379 2402 2380 2403 CALL cpu_log( log_point_s(63), 'wtm_smearing', 'stop' )
Note: See TracChangeset
for help on using the changeset viewer.