Changeset 1128 for palm/trunk/SOURCE/prognostic_equations.f90
- Timestamp:
- Apr 12, 2013 6:19:32 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/prognostic_equations.f90
r1116 r1128 20 20 ! Current revisions: 21 21 ! ------------------ 22 ! 22 ! those parts requiring global communication moved to time_integration, 23 ! loop index bounds in accelerator version replaced by i_left, i_right, j_south, 24 ! j_north 23 25 ! 24 26 ! Former revisions: … … 223 225 CALL cpu_log( log_point(32), 'all progn.equations', 'start' ) 224 226 225 226 !227 !-- Calculate those variables needed in the tendency terms which need228 !-- global communication229 IF ( .NOT. neutral ) CALL calc_mean_profile( pt, 4 )230 IF ( ocean ) CALL calc_mean_profile( rho, 64 )231 IF ( humidity ) CALL calc_mean_profile( vpt, 44 )232 IF ( .NOT. constant_diffusion ) CALL production_e_init233 IF ( ( ws_scheme_mom .OR. ws_scheme_sca ) .AND. &234 intermediate_timestep_count == 1 ) CALL ws_statistics235 227 ! 236 228 !-- Loop over all prognostic equations … … 724 716 ENDIF 725 717 726 ENDIF 718 ENDIF 719 727 720 ! 728 721 !-- If required, compute prognostic equation for turbulent kinetic … … 811 804 REAL :: sbt 812 805 813 !814 !-- Calculate those variables needed in the tendency terms which need815 !-- global communication816 IF ( .NOT. neutral ) CALL calc_mean_profile( pt, 4 )817 IF ( ocean ) CALL calc_mean_profile( rho, 64 )818 IF ( humidity ) CALL calc_mean_profile( vpt, 44 )819 IF ( ( ws_scheme_mom .OR. ws_scheme_sca ) .AND. &820 intermediate_timestep_count == 1 ) CALL ws_statistics821 806 822 807 ! … … 1337 1322 1338 1323 CALL cpu_log( log_point(16), 'tke-equation', 'start' ) 1339 1340 !1341 !-- TKE-tendency terms with communication1342 CALL production_e_init1343 1324 1344 1325 sbt = tsc(2) … … 1464 1445 1465 1446 ! 1466 !-- Calculate those variables needed in the tendency terms which need1467 !-- global communication1468 IF ( .NOT. neutral ) CALL calc_mean_profile( pt, 4 )1469 IF ( ocean ) CALL calc_mean_profile( rho, 64 )1470 IF ( humidity ) CALL calc_mean_profile( vpt, 44 )1471 IF ( ( ws_scheme_mom .OR. ws_scheme_sca ) .AND. &1472 intermediate_timestep_count == 1 ) CALL ws_statistics1473 1474 !1475 1447 !-- u-velocity component 1476 1448 !++ Statistics still not ported to accelerators … … 1501 1473 !-- External pressure gradient 1502 1474 IF ( dp_external ) THEN 1503 DO i = nxlu, nxr1504 DO j = nys, nyn1475 DO i = i_left, i_right 1476 DO j = j_south, j_north 1505 1477 DO k = dp_level_ind_b+1, nzt 1506 1478 tend(k,j,i) = tend(k,j,i) - dpdxy(1) * dp_smooth_factor(k) … … 1516 1488 !$acc kernels present( nzb_u_inner, rdf, tend, tu_m, u, ug, u_p ) 1517 1489 !$acc loop 1518 DO i = nxlu, nxr1519 DO j = nys, nyn1490 DO i = i_left, i_right 1491 DO j = j_south, j_north 1520 1492 !$acc loop vector( 32 ) 1521 1493 DO k = 1, nzt … … 1563 1535 !-- External pressure gradient 1564 1536 IF ( dp_external ) THEN 1565 DO i = nxl, nxr1566 DO j = nysv, nyn1537 DO i = i_left, i_right 1538 DO j = j_south, j_north 1567 1539 DO k = dp_level_ind_b+1, nzt 1568 1540 tend(k,j,i) = tend(k,j,i) - dpdxy(2) * dp_smooth_factor(k) … … 1578 1550 !$acc kernels present( nzb_v_inner, rdf, tend, tv_m, v, vg, v_p ) 1579 1551 !$acc loop 1580 DO i = nxl, nxr1581 DO j = nysv, nyn1552 DO i = i_left, i_right 1553 DO j = j_south, j_north 1582 1554 !$acc loop vector( 32 ) 1583 1555 DO k = 1, nzt … … 1640 1612 !$acc kernels present( nzb_w_inner, rdf, tend, tw_m, w, w_p ) 1641 1613 !$acc loop 1642 DO i = nxl, nxr1643 DO j = nys, nyn1614 DO i = i_left, i_right 1615 DO j = j_south, j_north 1644 1616 !$acc loop vector( 32 ) 1645 1617 DO k = 1, nzt-1 … … 1734 1706 !$acc present( tend, tpt_m, pt, pt_p ) 1735 1707 !$acc loop 1736 DO i = nxl, nxr1737 DO j = nys, nyn1708 DO i = i_left, i_right 1709 DO j = j_south, j_north 1738 1710 !$acc loop vector( 32 ) 1739 1711 DO k = 1, nzt … … 1802 1774 ! 1803 1775 !-- Prognostic equation for salinity 1804 DO i = nxl, nxr1805 DO j = nys, nyn1776 DO i = i_left, i_right 1777 DO j = j_south, j_north 1806 1778 DO k = nzb_s_inner(j,i)+1, nzt 1807 1779 sa_p(k,j,i) = sa(k,j,i) + dt_3d * ( sbt * tend(k,j,i) + & … … 1890 1862 ! 1891 1863 !-- Prognostic equation for total water content / scalar 1892 DO i = nxl, nxr1893 DO j = nys, nyn1864 DO i = i_left, i_right 1865 DO j = j_south, j_north 1894 1866 DO k = nzb_s_inner(j,i)+1, nzt 1895 1867 q_p(k,j,i) = q(k,j,i) + dt_3d * ( sbt * tend(k,j,i) + & … … 1919 1891 1920 1892 CALL cpu_log( log_point(16), 'tke-equation', 'start' ) 1921 1922 !1923 !-- TKE-tendency terms with communication1924 CALL production_e_init1925 1893 1926 1894 sbt = tsc(2) … … 1984 1952 !$acc kernels present( e, e_p, nzb_s_inner, tend, te_m ) 1985 1953 !$acc loop 1986 DO i = nxl, nxr1987 DO j = nys, nyn1954 DO i = i_left, i_right 1955 DO j = j_south, j_north 1988 1956 !$acc loop vector( 32 ) 1989 1957 DO k = 1, nzt
Note: See TracChangeset
for help on using the changeset viewer.